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.



