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.



