Операции для выполнения xml-пакета#

Примечание

Для корректной отправки файла xml, в атрибутах которого используются спецсимволы ", ', <, >, &, замените их соответствующей кодировкой:

"   &quot;
'   &apos;
<   &lt;
>   &gt;
&   &amp;

Операция set#

Операция set служит для присвоения значений полям объекта. Может присваивать как конкретное значение, так и результат других операций, например, find.

Операция find#

Операция find используется для поиска объекта в Системе по некоторым условиям для их последующего обновления, создания или установления связи между объектами. Операция возвращает ключ найденного или созданного объекта в Системе.

Все варианты операции find можно комбинировать. Если объект найден, его можно отредактировать (find-edit-existing). Если объект не найден, его можно создать (find-create).

Чтобы присвоить ссылочному полю значение (операция set), необходимо предварительно найти его с помощью операции find по указанным условиям. Например, установить в ссылочном поле значение справочника, найти которое можно по его наименованию или псевдониму.

Операция eq#

Операция eq может использоваться во всех операциях, которые поддерживаются при работе с API Jasper. Возвращает истину, если значение указанного поля равно значению, описанному в данной операции.

Операция create#

Операция create служит для создания в Системе объектов, связанных с корневым объектом.

Данная операция создаёт в Системе объект с алиасом ПсевдонимОбъекта и набором его полей. Поля задаются в параметре Fields, который может содержать любое количество различных операций.

У корневого элемента в xsd должен быть задан параметр scheme, который содержит в себе перечень всех схем проекта, доступных для данной xsd.

Операция ref#

Операция ref используется для создания в ссылочных полях связей типа Multi Relation («многие ко многим»). Может использоваться во всех операциях, которые поддерживаются при работе с API Jasper.

Синтаксически операция ref располагается в блоке Fields одного из связываемых объектов и описывает второй объект внутри себя (поиск или создание).

Операция clear#

В операции ref можно также задать атрибут clear, который может принимать значения true или false. Если значение атрибута задано true, то у найденного при выполнении xml-пакета объекта Системы будут предварительно удалены установленные ранее связи. После чего выполнится последующее условие, заданное для этого параметра в xml.

Операция find-create#

Операция find-create используется для сценария, когда необходимо найти объект и обновить его поля, или создать новый объект в случае, если его не удалось найти. Эта операция возвращает ссылку на найденный или созданный объект.

Важно

При создании объектов предпочтительно использование операции find-create во избежание создания дубликатов в Системе. Например, перед созданием субъектов следует проверить на соответствие поля [ИНН], [ОГРН] (для юридических лиц), [СНИЛС], [ОГРНИП] (для физических лиц), так как в Системе не должно быть двух субъектов в статусе «Актуальный» с одинаковыми значениями в указанных полях.

Операция find-create идентична комбинации операций find и edit-existing, применяемых совместно, и служит для упрощения записи. Операция find включает в себя возможность использования дополнительных атрибутов, с помощью которых можно задать условия на поиск объектов и на обновление найденных. Такими дополнительными атрибутами являются keyField и updateField.

Если для параметра задан атрибут keyField="true", то поиск объектов в Системе будет осуществляться по нему.

Если для параметра задан атрибут updateField="true", то у найденного в результате поиска объекта соответствующее поле будет обновлено значением из xml.

Если в результате поиска объектов не найдено, то будет создан новый со всеми указанными полями в xml, вне зависимости от указанных значений атрибутов.

Важно

С операцией find-create не следует использовать поле [Key]. Так как если указанный ключ не будет найден, Система создаст объект именно с этим ключом, тогда как ключи должны генерироваться автоматически.

В корневом теге с операцией find-create можно указать атрибут updateFields, который изменит режим обновления (по умолчанию – false) для всех полей.

Операция edit-existing#

Операция edit-existing используется для описания условий только в операции find. Используется для редактирования/обновления существующего объекта Системы.