Розробка в Облік Saas>Програмування в Облік SaaS>Функции ядра>Работа с документами>src/kernel/sendevnt.p - Выполнить событие-операцию с документом
Начать работу

src/kernel/sendevnt.p - Выполнить событие-операцию с документом

src/kernel/sendevnt.p

Выполнить событие-операцию с документом програмным способом. В отличие от функции src/kernel/doctask.p - функция выполняет действие сразу.

define input parameter rid-doc as integer.
define input parameter event   as integer.
Где rid-doc - внутренний номер документа.
Event – код события-операции на исполнение.

Поддержаны следующие коды событий:

1 - Вызвать событие OnNewDocument
2 - Вызвать событие OnIntegrity
3 - Вызвать событие OnCloseDocument
6 - Вызвать событие PrintDocument (функция обработчик печати)
8 - Вызвать событие OnAfterCLose
20 - Отложить документ (PUT-OFF)
21 - Провести документ (PUT-ON)
22 - Снять документ с Хранения (KEEP-OFF)
23 - Поставить документ на хранение (KEEP-ON)
 

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

  for each t_rest where t_rest.type-d = 1
    break by t_rest.count1:
    if first-of( t_rest.count1 ) then /* По каждому счету создавать свой документ */
    do:
      run src/kernel/new_doc2.p ( system.typedoc.rid-typedoc, output rid-new ).
 
      run src/kernel/sendevnt.p ( rid-new, 1). /* InitDocument */
      run src/kernel/set_ffv.p ( "1:1", rid-new, string( DATE-TO ) ).
      run src/kernel/set_ffv.p ( "1:3", rid-new, t_rest.count1 ).
      run src/kernel/set_ffv.p ( "1:4", rid-new, "yes" ).
      run src/kernel/set_ffv.p ( "1:5", rid-new, "1" ).
      i = 1.
    end.
    run src/kernel/set_ftv.p ( "2:2",  rid-new, i, string(t_rest.rid-anobject) ).  
    run src/kernel/set_ftv.p ( "2:4",  rid-new, i, string(t_rest.sum) ).  
    run src/kernel/set_ftv.p ( "2:5",  rid-new, i, string(t_rest.id-curr) ).  
    run src/kernel/set_ftv.p ( "2:6",  rid-new, i, string(t_rest.sum-curr) ).  
    run src/kernel/set_ftv.p ( "2:7",  rid-new, i, string(t_rest.quantity) ).  
    i = i + 1.
    if last-of( t_rest.count1 ) then do:
      run src/kernel/sendevnt.p ( rid-new, 3).   /* Сохранить */
      run src/kernel/sendevnt.p ( rid-new, 21). /* Провести   */
    end.
  end.