Разработка в Облик Saas>Програмирование в Oblik-SaaS>События документа>OnDeleteLine - Событие на удаление строки в табличной части документа
Начать работу

OnDeleteLine - Событие на удаление строки в табличной части документа

Событие на удаление строки в табличной части документа

Событие OnDeleteLine - приходит к документу после ручного удаления строки в табличной части документа. При удалении строки все низлежащие строки автоматически сдвигаются вверх ( номер строки уменьшается на 1 ). Вы можете перенумеровать поле "Номер строки" в табличной части, а также пересчитать итоговую сумму по документу, после удаления строки из табличной части.

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

Синтаксис события:

PROCEDURE OnDeleteLine:                                                          
  define input parameter rid-doc     as integer.                               
  define input parameter frm         as character.                             
  define input parameter row         as integer.                             

Где rid-doc - внутренний номер документа, frm - номер области табличной части документа для которой пришло событие (Документ может иметь несколько табличных частей), row - Номер удаляемой строки в табличной части документа.

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

PROCEDURE OnDeleteLine :                                                       
  define input parameter rid-doc as integer.                                   
  define input parameter frm as character.                                     
  define input parameter row as integer.                                       

  define variable i             as integer.
  define variable rows      as integer.
  define variable sum       as decimal.
  define variable nds        as decimal.
 
  run src/kernel/get_tr.p ( 2, rid-doc, OUTPUT rows ).
  DO i = row to rows:
    run src/kernel/set_ftv.p ( "2:1", rid-doc, i, STRING ( i ) ).
  END.
  run src/kernel/get_tfun.p ( "2:5", rid-doc, 1, OUTPUT sum ).
  run src/kernel/set_ffv.p ( "1:12", rid-doc, STRING ( sum ) ).
  run src/kernel/get_tfun.p ( "2:6", rid-doc, 1, OUTPUT nds ).
  run src/kernel/set_ffv.p ( "1:6", rid-doc, STRING ( nds ) ).  
END.