SetXFAFormFieldValueA

Поля форм

Описание

Завершающая A обозначает точку входа ANSI (char) в DLL; интерфейс ActiveX/COM открывает только Unicode-форму. Поведение идентично SetXFAFormFieldValue, а строковые аргументы интерпретируются в кодовой странице, заданной текущим режимом SetAnsiMode

Задаёт значение указанного поля формы XFA. Имя поля — относительный путь данных либо стандартный SOM-путь данных, начинающийся с $data, xfa.datasets.data или $record. В пакетах без обработки записей $record обновляет пути от внешнего элемента записи данных под $data. Селекторы классов Data DOM #dataGroup и #dataValue обновляют групповые или скалярные узлы по классу с числовыми или wildcard-селекторами вхождений. Простые предикатные селекторы в духе FormCalc вроде $data.Receipt.Detail.[Total_Price <= 200].Description обновляют совпадающие соседние узлы по скалярному значению потомка. Полные пакеты XDP принимаются, если пакет datasets содержит xfa:data или непрефиксованный элемент data. Узлы данных сопоставляются по локальному имени XML, поэтому бизнес-элементы могут иметь свой префикс пространства имён. API значений datasets принимают и SOM-свойство parent, поднимающееся от выбранного узла к контейнеру перед обновлением соседа, например $data.Receipt.Detail[0].parent.Tax. Селекторы потомков вроде $data..Total_Price обновляют первый совпавший узел ниже текущей области datasets, а child wildcard-селекторы вроде $data.Receipt.*.Total_Price обновляют совпадения под каждой прямой веткой-потомком

Синтаксис

Delphi

Function DLSetXFAFormFieldValueA(InstanceID: Integer; XFAFieldName, NewValue: PAnsiChar): Integer;

DLL

int DLSetXFAFormFieldValueA(int InstanceID, const char * XFAFieldName, const char * NewValue);

Параметры

XFAFieldNameИмя обрабатываемого поля datasets XFA; принимает относительные пути полей и SOM-корни $data..., xfa.datasets.data..., !data... и $record... с разделителями-точками или слэшами до или после корня. В путях со слэшами точки сохраняются буквально, точечные SOM-пути допускают экранированные точки вроде Line\.Item, повторяющиеся узлы выбираются путями с [*] вроде $data.Receipt.Detail[*].Total_Price, parent поднимается к родителю выбранного узла до продолжения пути, селекторы классов вроде #dataGroup и #dataValue адресуют группы и скаляры Data DOM, простые предикатные селекторы вроде .[Total_Price <= 200] фильтруют соседние узлы по скалярному значению потомка, селекторы потомков вроде $data..Total_Price ищут ниже текущей области datasets, а child wildcard-селекторы вроде $data.Receipt.*.Total_Price ищут под каждой прямой веткой-потомком
NewValueНовое значение поля XFA; если XFAFieldName содержит [*], child wildcard-селектор или предикатный селектор, значение записывается в каждый совпавший узел данных