Внимание! В данной статье приведены только некоторые настройки, необходимые для корректной работы конвертера Импорт 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 при ее создании или при изменении записи о кассире.
Пример:
Блок кода | ||||
---|---|---|---|---|
| ||||
<storeCashiers fullness="F" storeId="00-000001"> <cashier> <id>12</id> <name>Лисник М. В.</name> <password>123345</password> <createUserCard="true"> </cashier> </storeCashiers> |
Конвертирование из "внешнего" 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).