ВНИМАНИЕ!
Данная статья содержит информацию по настройкам, релевантным только для обмена с кассами или модулем интеграции. Настройки импорта 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).