Внимание! В данной статье приведены только некоторые настройки, необходимые для корректной работы конвертера Импорт XML. Ознакомиться с подробным описанием структуры файлов импорта можно здесь.
Настройка выполняется в конфигурационном файле xml5_import.conf (services\converters\xml5_import.conf), расположенном на кассовом сервере по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:
Загрузка данных о кассирах
В настройках есть два параметра для управления загрузкой кассиров:
- defaultRoleIdForUser – роль по-умолчанию;
- roleIdMap:
[ {externalId = 1, internalId = 1}
{externalId = 2, internalId = 2} ] (соответствие между ролями во внешней системе (externalId) и в кассовой системе (internalId))
Правила загрузки следующие:
- если в записи в файле 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>
Конвертирование из "внешнего" 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) и магазинов в УКМ (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).