Оглавление | |
---|---|
|
...
|
Экспорт
В программу «Редактор XML-схем почтовых объектов» добавлена возможность формировать описание схемы с функциями в качестве полей таблиц почтового объекта. Функции предназначены для формирования данных почтового объекта для отправки во внешние системы с иными, чем в Торговой системе требованиями к содержанию почтового объекта. Например, функция «MeasurementName» позволяет поместить в поле почтового объекта название единицы измерения, если в составе почтового объекта имеется код единицы измерения.
...
Наименование функции | Описание функции | Комментарий |
---|---|---|
BarcodeExternal | возвращает штриховой код артикула. Штриховой код ищется на единицу товара, не весовой, не простой, не начинающийся на 2, с сортировкой по убыванию значения Параметр: article – артикул товара. | |
LocationGLN | возвращает номер GLN (Global Location Number) места хранения для EDI. Параметр: locationId – код места хранения. | |
ClientGLN | возвращает номер GLN контрагента для EDI. Параметр: clientId – код контрагента. | |
CardFullName | Возвращает название товара по артикулу | |
CardMeasurementCode | Возвращает код ОКЕИ для единицы измерения по артикулу | |
CardMeasurementCodeISO | Возвращает код ISO для единицы измерения по артикулу | |
MeasurementName | Возвращает название единицы измерения по коду | |
MeasurementAbbreviation | Возвращает краткое название единицы измерения по коду | |
MeasurementCode | Возвращает Код ОКЕИ для единицы измерения по коду | |
MeasurementCodeISO | Возвращает код ISO для единицы измерения по коду | |
CountryNameByCode | Возвращает название страны по её буквенному коду | |
CountryCodeByName | Возвращает цифровой код страны (ОКСМ) по её названию | |
CurrencyCode | Возвращает цифровой код валюты ОКВ по её идентификатору | |
CurrencyCodeISO | Возвращает код валюты ISO по её идентификатору | |
LocationGLN | Возвращает номер GLN (Global Location Number) места хранения | |
ClientGLN | Возвращает номер GLN (Global Location Number) контрагента | |
SupplierArticle | Возвращает артикул поставщика для конкретного документа | |
SupplierArticleName | Возвращает название артикула поставщика для конкретного документа | |
BaseOrderID, BaseOrderDate, BaseOrderQuantity | В прошлых версиях были реализованы функции экспорта для занесения в XML файл экспортируемого документа данных из заказа поставщику - основания отсылаемого документа. Однако эти функции были недоступны для работы в редакторе XML схем. В текущей версии функции добавлены в перечень функций экспорта интерфейса редактора XML схем. | |
ArticleKeyByVariousUI | Функция ArticleKeyByVariousUI возвращает ключ товара Супермаг+ по артикулу Супермаг+, артикулу контрагента, штриховому коду, КИЗ или ОСУ пришедшего документа. Под ключом артикула понимается значение, например, штриховой код EAN, по которому в будущем можно будет опознать артикул, если при приеме документа артикул идентифицировать не удалось. Например, если в систему в будущем будет добавлен новый штриховой код, то по его совпадению с ключом артикула можно будет принять решение о проставлении артикула с таким штриховым кодом в ранее принятый документ. В текущей версии в функции изменен порядок поиска ключа. В прежней версии порядок поиска по содержанию документа был такой: артикул Супермаг+, артикул контрагента, штриховой код, штриховой код из КИЗ, штриховой код из ОСУ. В текущей версии порядок следующий: штриховой код, штриховой код из КИЗ, штриховой код из ОСУ, артикул Супермаг+, артикул контрагента. | |
ContractVATRate | Ставка НДС из документа «Контракт с поставщиком» - основания документа. Создана новая функция для формирования XML файлов при экспорте документов. Функция позволяет заполнить тэг значением ставки НДС. Ставка НДС для артикула спецификации берется из документа «контракт с поставщиком», который находится в основании отсылаемого документа. Аргументами функции является тип, номер отсылаемого документа и артикул спецификации. | |
FindCSDocDate | Функция экспорта «FindCSDocDate». Дата ближайшего документа «Продажи по кассе». Функция имеет два параметра – идентификатор документа типа «CR» (Возвраты по кассе) и артикул. Функция для артикула и места хранения возврата по кассе возвращает дату ближайшего документа «Продажи по кассе» с датой меньшей или равной дате возврата. Если такой документ не будет найден, то вернется значение «1970-01-01T00:00:00». | |
FindCSDocId | Функция экспорта «FindCSDocId». Идентификатор ближайшего документа «Продажи по кассе» Функция имеет два параметра – идентификатор документа типа «CR» (Возвраты по кассе) и артикул. Функция для артикула и места хранения возврата по кассе возвращает номер ближайшего документа «Продажи по кассе» с датой меньшей или равной дате возврата. | |
Почтовый модуль. Экспорт данных в формате XML.
Применение функции экспорта к полю аргументу.
В почтовом модуле при формировании файла в формате XML при экспорте данных разрешается использовать функции, которые на основании информации из тэгов аргументов позволяют заполнять другие тэги. В прошлых версиях это всегда были новые тэги, например, для выгрузки названия артикула надо было создать простое поле, например, «CARDFULLNAME», затем применить к нему функцию, указав в качестве аргумента поле «ARTICLE»:
В текущей версии для сохранения значения функции можно выбирать, в том числе тэг, который является аргументом функции, например:
Пользоваться новой возможностью следует с осторожностью. Поле, изменившее свое значение, не может быть источником информации для других функций. Также надо помнить, что порядок исполнения функций преобразования не определен. И, кроме того, тэг, входящий в первичный ключ таблицы не должен получать значений, нарушающих первичный ключ.
Схема с использованием тэга аргумента в качестве тэга результата не может быть использована в работе почтового модуля предыдущих версий Супермаг+.
Примечание: при отсылке документов по протоколу «УПД фильтр» при применении функции CorrectKIZ к полю markCode одновременно меняется формат тэга с BASE64 на STRING.
Примечание: при отсылке документов «УПД на приход», «УПД на отгрузку» и «Накладная поставщика» по протоколу «УПД фильтр» корректировка кода КИЗ по правилам ЦРПТ осуществляется автоматически.
Контроль заполнения тэгов с признаком обязательности заполнения.
В предыдущих версиях при отсылке XML объектов отсутствовала проверка, заполнено ли поле (тэг) или нет, при наличии в схеме ограничения "minOccurs="1" nillable="false"". То есть, можно было отсылать объект с пустым / отсутствующим значением тэга, когда в схеме указано, что тэг обязан иметь значение.
В текущей версии такая проверка реализована и отсылка объекта, нарушающего XSD схему, не допускается. При отсылке такого документа будет получена ошибка отсылки, например:
Импорт
Наименование функции | Описание функции | Комментарий |
---|---|---|
LocationByAnyGLNKPP | LocationByAnyGLNKPP для обработки XML-файлов при импорте документов. Функция возвращает место хранения Супермаг+ по значению КПП или GLN места хранения, в зависимости от того, что встретится во входном файле. Если при анализе значения КПП обнаруживается несколько мест хранения, то функция выбирает то, у которого есть собственный контрагент с заданным значением ИНН. Атрибуты функции: inn ИНН собственного контрагента. Может быть не задан. kpp КПП места хранения locationGLN GLN (Global Location Number) места хранения Функция создана в дополнение к функциям импорта GenerateDocUIDateAnyGLNINN и ClientByAnyGLNINN, чтобы можно было использовать одну и ту же XSD-схему для приема документов от разных контрагентов, которые могут заполнять либо один, либо другой комплект атрибутов для идентификации документа, контрагента и места хранения. | |
GenerateDocUIDateAnyGLNINN | GenerateDocUIDateAnyGLNINN для обработки XML файлов при импорте документов. Функция генерирует номер документа Супермаг+ с использованием ИНН и КПП или GLN контрагента, в зависимости от того, что встретится во входном файле, а также КПП места хранения или GLN места хранения, в зависимости от того, что встретится во входном файле, и с контролем даты документа. Атрибуты функции: locationKpp КПП места хранения locationGLN GLN (Global Location Number) места хранения clientInn ИНН контрагента clientKpp КПП контрагента (параметр КПП может быть не задан, если в БД есть только один контрагент с указанным ИНН и произвольным КПП) clientGLN GLN (Global Location Number) контрагента supplierDoc Накладная поставщика docDate Дата документа Примечание: контроль даты документа необходим в тех случаях, когда поставщик начинает нумерацию своих документов заново с некоторой даты, например, с начала года. | |
ClientByAnyGLNINN | ClientByAnyGLNINN для обработки XML файлов при импорте документов. Функция возвращает код контрагента по его ИНН и КПП или GLN, в зависимости от того, что встретится во входном файле. | |
ArticleByVariousUI | Функция импорта «ArticleByVariousUI». Артикул товара по информации об артикуле Супермаг+, артикуле контрагента, штриховом коде, КИЗ или ОСУ. Функция позволяет определить артикул по любому набору данных, который будет присутствовать во входном XML-файле и может быть использован для поиска артикула. Функция имеет 7 параметров:
В XSD-схеме должны быть описаны все поля, которые требуются для задания аргументов функции. В XML-файле почтового пакета могут присутствовать только те поля, которых достаточно для определения артикула. Если для определения артикула используются данные контрагента (артикул контрагента, ИНН и КПП), то в XML-файле поле «КПП» может отсутствовать, если для однозначного определения контрагента достаточно только ИНН. | |