Удаление записи в Browse c EIP

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Удаление записи в Browse c EIP

Сообщение Игорь Столяров »

Привет всем !

C63 ABC, Browse c EIP. Подскажите, в какой точке (Embed) можно поймать удаление записи,
что бы проверить была удалена запись или пользователь отказался от удаления ?
Make Clarion Great Again ! 😎
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Удаление записи в Browse c EIP

Сообщение Yufil »

При удалении удаление записи в Browse срабатывает Relate.File.Delete() .
Поставь какой-нить флажок в этот метод после вызова родителя и проверяй, как там оно...
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Удаление записи в Browse c EIP

Сообщение kreator »

Есть метод BRW1::EIPManager.Run. Есть свойство менеджера self.Req (то бишь Request). И родительский метод что-то там возвращает, правда, не уверен, что Response.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Удаление записи в Browse c EIP

Сообщение Игорь Столяров »

kreator писал(а): Есть метод BRW1::EIPManager.Run
Это было первое, что я проверил. К сожалению, в этот метод при удалении записи мы не попадаем .... :(
Make Clarion Great Again ! 😎
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Удаление записи в Browse c EIP

Сообщение Yufil »

Тогда проверь TakeAction и TakeCompleted.

В TakeCompleted имеет смысл проверить, не завершилась ли операция нажатием ?Close или Esc
Например,

IF ACCEPTED() = ?Close
Force = EditAction:Cancel
END
PARENT.TakeCompleted(Force)

Не это надо?
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Удаление записи в Browse c EIP

Сообщение kreator »

Игорь Столяров писал(а):Это было первое, что я проверил. К сожалению, в этот метод при удалении записи мы не попадаем .... :(
Быть того не может, у меня работает. Посмотри - метод Run в EIPManager, и тот, который без входных параметров (Number, Request). на всякий случай вот работающий кусок (ничего не правил, беру как есть):

Код: Выделить всё

BRW1::EIPManager.Run PROCEDURE

ReturnValue          BYTE,AUTO

! Start of "Browse EIP Manager Method Data Section"
! [Priority 5000]

! End of "Browse EIP Manager Method Data Section"
  CODE
  ! Start of "Browse EIP Manager Method Executable Code Section"
  ! [Priority 4500]
  if self.Req=DeleteRecord
    get(BRW1.Q, choice(?List))
    LOC:Queue.LOC:ID_SPR = BRW1.Q.SPR:ID_SPR
    get(LOC:Queue, LOC:Queue.LOC:ID_SPR)
    if ~error()
      LOC:Queue.LOC:Time = 0
      put(LOC:Queue)
      if error()
        stop(error())
      end  
    else
      stop(error())
    end  
    BRW1.ResetQueue(Reset:Queue)
    ReturnValue = 2
    return ReturnValue  
  end
  
  ! Parent Call
  ReturnValue = PARENT.Run()
  ! [Priority 7500]
  
  ! End of "Browse EIP Manager Method Executable Code Section"
  RETURN ReturnValue

We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Удаление записи в Browse c EIP

Сообщение Игорь Столяров »

Супер ! Да ! Спасибо ! :)
Я как раз и копал Run с (Number, Request) - по аналогии с удалением через форму.
Кто же знал, что в EIP так хитро все запрятано ...
Make Clarion Great Again ! 😎
Ответить