ВНИМАНИЕ!
Данная статья содержит информацию по настройкам, релевантным только для обмена с кассами или модулем интеграции. Настройки импорта XML для обмена через сервер доступны по обращению к команде техподдержки УКМ 5.
В данной статье приведены только некоторые настройки, необходимые для корректной работы конвертера Импорт XML. Ознакомиться с подробным описанием структуры файлов импорта можно ЗДЕСЬ.
Настройка выполняется в конфигурационном файле xml5_import.conf (services\converters\xml5_import.conf), расположенном на кассовом сервере по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:
Загрузка данных о кассирах
В настройках есть три параметра для управления загрузкой кассиров:
- defaultRoleIdForUser – роль по умолчанию;
- roleIdMap;
- createUserCard:
[  {externalId = 1, internalId = 1}
   {externalId = 2, internalId = 2}  ]            (соответствие между ролями во внешней системе (externalId)
                                                   и в кассовой системе (internalId))
Правила загрузки параметров defaultRoleIdForUser и roleIdMap следующие:
- если в записи в файле storeCashiers отсутствует тег roleId или если тег roleId есть, но для него не указано мапирование во внутреннюю роль, то:
- если в базе нет кассира с идентификатором id, то в базу будет добавлена новая запись с ролью, указанной в параметре defaultRoleIdForUser=1;
- если базе есть идентификатор с таким id, то назначенная ему роль изменена не будет, но в остальные параметры будут записаны значения из файла;
- если в записи присутствует тег roleId, и для него указано мапирование данной роли во внутреннюю роль, то:
- если в базе нет кассира с идентификатором id, то в базу данных будет добавлена новая запись с ролью в соответствии с мапированием;
- если базе есть идентификатор с таким id, то существующая запись будет полностью заменена.
Пример:
<?xml version="1.0" encoding="UTF-8"?> <storeCashiers fullness="F" storeId="00-000001"> <cashier> <id>12</id> <name>Лисник М. В.</name> <password>123345</password> </cashier> <cashier> <roleId>3</roleId> <id>10</id> <name>Иванюк И. В.</name> <password>34567</password> </cashier> </storeCashiers>
Если параметр createUserCard установлен в значении true, то для каждого кассира создается карта. В дальнейшем, кассир может индентифицироваться на кассе по данной карте (либо по имени и паролю). В содержимое карты записывается содержимое поля password при ее создании или при изменении записи о кассире.
Конвертирование из "внешнего" XML-формата во "внутренний" документ
{
  "converters.xml5_import_converter_plugin": {
    params : {
      inputFolderName = "/home/ukm5/mint/exchange/converters/in"                 (каталог, куда торговая система выкладывает данные)
      outputFolderName = "/home/ukm5/mint/exchange/items/in"                     (каталог, куда конвертер выгружает входную информацию,
                                                                                  преобразованную во внутренний формат)
       archiveFolderName = "/home/ukm5/mint/exchange/converters/xml_in_archive"  (каталог, куда конвертер «складывает» обработанные файлы)
      tempFolderName = "/home/ukm5/mint/exchange/converters/xml_in_tmp"
      scanDelay = 60 seconds                                                     (частота, с которой конвертер просматривает входной каталог
                                                                                  inputFolderName)
      storeIdMap: [                                                              (соответствие кодов магазинов во внешней системе (externalId) и 
                                                                                  магазинов в УКМ 5 (internalId). Коды магазинов во внешней системе –
                                                                                  это storeId в описанных выше файлах)
        {externalId = 11, internalId = 1}
        {externalId = 22, internalId = 2}
        {externalId = 33, internalId = 3}
        {externalId = 44, internalId = 4}
      ]
roleIdMap: [ 
{externalId = 1, internalId = 1}
{externalId = 2, internalId = 2}
]
defaultRoleIdForUser = 1
createUserCard = true
groupItemsConvertEnable = true
itemsConvertEnable = true
pricesConvertEnable = true
sellersConvertEnable = true
taxesConvertEnable = true
usersConvertEnable = true
}
}
}
Если для магазина мапирование не указано, то файлы будут загружаться с идентификатором, указанным в настройках магазина на кассовом сервере по адресу Магазин – Описание – Интеграция – Id во внешней системе:
Другими словами, отсутствие записи для магазина в данном параметре эквивалентно следующей записи:
{externalId = 1144, internalId = 39}.
Здесь значения взяты из справочника магазина:
 roleIdMap:[                                 (соответствие идентификаторов ролей кассиров во внешней системе (externalId)
                                              и магазинов в УКМ 5 (internalId). Код роли во внешней системе – 
                                              это roleId в файле storeCashiers)
        {externalId = 1, internalId = 1}
        {externalId = 2, internalId = 2}
      ]
      defaultRoleIdForUser = 1               (роль, к которой будет привязана новая запись о кассире, если 
                                              в файле storeCashiers для неё не указан параметр roleId 
                                              (подробнее см. описание файла storeCashiers))
      createUserCard = true                  (если этот параметр установлен в true, то для всех загружаемых записей 
                                              будут созданы карты кассиров и в них будет записано содержание поля
                                              storeCashiers.password)
Описание, какую информацию необходимо загружать конвертеру
groupItemsConvertEnable = true – товарная иерархия itemsConvertEnable = true – товары (и штрихкоды) pricesConvertEnable = true – цены sellersConvertEnable = true – продавцы taxesConvertEnable = true – налоги usersConvertEnable = true – кассиры
Если внешняя система выгружает файлы определенного типа, а конвертер их не загружает (из-за соответствующей настройки), то выгруженные файлы будут оставаться во входном каталоге (inputFolderName).


