Начать работу

OnIntegrity - Событие открытия документа

Событие открытия документа

Событие OnIntegrity – событие, приходящее к документу во время повторного вызова документа в режим редактирования. Данное событие предназначено для 2-х целей

1) согласование данных текущего документа и связанных с ним документов.

2) Инициализация данных документов програмными механизмами. Эта функция может быть задействована при переносе данных из другой системы, либо инициализации данных документов программным путем. Например если Вы поменяли логику документа или добавили несколько новых полей в него и хотите иницировать данные в уже существующих документах, то Вы можете использовать следующую технику инициализации.

  •  Временно в код события OnIntegrity добавить код инициализации поля каким то значение по умолчанию
  •  Применить групповую операцию с документами (Пересчет документов)
  •  Удалить код инициализации или закоментарить его

Синтаксис:

PROCEDURE OnIntegrity :
  define input parameter rid-doc as integer.

где rid-doc - внутренний номер документа.

Пример использования:

PROCEDURE OnIntegrity :
  define input parameter rid-doc as integer.

  def var sum as decimal.
  def var sumdoc as decimal.

  run src/kernel/get_ffv.p ( "1:12", rid-doc ).
  sumdoc = DECIMAL ( RETURN-VALUE ).
  run src/kernel/rel_sum.p (rid-doc,"Оплата","", output sum).
  if sum >= sumdoc and sum > 0
   then run src/kernel/set_ffv.p ("1:50", rid-doc, "Yes"). /* Установка признака оплачен */
   else do:
     if get_ffv("1:50", rid-doc) <> "yes" /* поставлено вручную - не убираем */
     then run src/kernel/set_ffv.p ("1:50", rid-doc, "No").
   end.
 END.