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

src/kernel/set_ftv.p Установить значение поля в таблице документа

src/kernel/set_ftv.p
Установить новое значение поля в таблице  документа.   Данная функция применяется для табличных частей документа. Поле всегда записывается в символьном значении. Если поле является справочником, то записывать необходимо внешний ключ справочника. Так для контрагента - это номер контрагента, для Номенклатуры - это Код Номенклатуры.                                    
define input parameter ff as character.
define input parameter rid-doc as integer.  
define input parameter row as integer.
define input parameter fvalue as character.
Где ff - поле документа, которое может быть задано как НомерОбласти:Номер поля в области, либо через Алиас, Например "Контрагент".
rid-doc - внутренний номер документа,
row - строка в табличной части документа в которую записываются данные.
fvalue - значение устанавливаемое в поле.

Замечание 1. Запись значения в поле вызывает событие OnModifyField, если новое значение поля отличается от предыдущего значения поля. Вы можете отключить вызов события OnModifyMode, установив переменную ModifyMode = no.

Замечание 2. В системе поддерживается также сокращенная функция записи в поле set_ftv ( "Поле", rid-doc, row, fval).

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

  FOR EACH rez1 BREAK BY rez1.rid-dog BY Rez1.account :
      /* заполнить сальдо на начало */
      if FIRST-OF ( rez1.account )
      then do:
       i = i + 1.
       run src/kernel/set_ftv.p ( "2:1", rid-doc, i, STRING(i) ).
       run src/kernel/set_ftv.p ( "2:2", rid-doc, i, STRING(rez1.account) ).

       run src/kernel/get_ffv.p ( "Дата от", rid-doc ).
       run src/kernel/set_ftv.p ( "2:3", rid-doc, i, RETURN-VALUE ).
       run src/kernel/set_ftv.p ( "2:6", rid-doc, i, STRING(rez1.sum-d-start) ).
       run src/kernel/set_ftv.p ( "2:7", rid-doc, i, STRING(rez1.sum-k-start) ).

       rest = rez1.sum-d-start - rez1.sum-k-start.
       set_ftv ( "2:8", rid-doc, i, STRING(rest) ).
       set_ftv( "2:9", rid-doc, i, STRING(rez1.rid-dog) ).

      end.
      ....

  END.