![]() |
#2 |
Участник
|
помимо имени поля тебе надо в этом случае передавать ссылку на таблицу в которую хочешь записать. В общем решение может быть следующим:
//------------определение ф-ции--------------------------------------------------------------- WriteFileld(VAR RecRef : RecordRef, FieldNo : Integer; Value : Text[30]) { FldRef := RecRef.FIELD(FieldNo); FldRef.VALUE := Value; //локальная переменная типа FieldRef RecRef.MODIFY; //ссылка на таблицу куда пишем //либо для вставки новой записи: // FldRef := RecRef.FIELD(FieldNo); // RecRef.INIT; // FldRef.VALUE := Value; // RecRef.INSERT; } //---------------пример вызова------------------------------------------------------------------- DestTable.FIND('-'); RecRef.GETTABLE(DestTable); //RecRef - переменная типа RecordRef WriteFileld(RecRef, DestTable.FIELDNO(SurName), VarText2); //номер поля также можно узнать из таблицы Field //в данном случае WriteFileld запишет значение в уже существующую запись(первую) //-------------------------------------------------------------------------------------------------------- НО естественно перед присваиванием полю значения необходимо знать тип этого поля -то есть перед FldRef.VALUE := Value необходимо проанализировать тип поля. Это можно сделать заюзав таблицу Field по ключу таблицы куда ты пишешь значение пример: Field.TableNo := TableNo; Field."No," := FieldNo; //либо Field.FieldName := FieldName; IF Field.FIND('-') THEN CASE Field.Type OF Field.Type::Code : BEGIN ........//........в зависимости от типа делать преобразование END; -----//------- END вот в общем и весь подход. |
|
|
![]() |
||||
Тема | Ответов | |||
получить значение фильтра | 2 | |||
Имя сервера | 3 | |||
поле «Свернут. Пр. Мощ. Себест.» в таблице «Товар» | 1 | |||
Получить значение из формы | 1 | |||
поле OptionString | 2 |
|