Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Внимание! В данной статье приведены только некоторые настройки, необходимые для корректной работы конвертера Импорт XML. Ознакомиться с подробным описанием структуры файлов импорта можно здесь

Оглавление

Настройка выполняется в конфигурационном файле xml5_import.conf (services\converters\xml5_import.conf), расположенном на кассовом сервере по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:

Загрузка данных о кассирах

В настройках есть три параметра для управления загрузкой кассиров:

- defaultRoleIdForUser – роль по-умолчанию;

- roleIdMap;

createUserCard:

Блок кода
languagescala
themeRDark
[  {externalId = 1, internalId = 1}

   {externalId = 2, internalId = 2}  ]            (соответствие между ролями во внешней системе (externalId)
                                                   и в кассовой системе (internalId))

Правила загрузки параметров defaultRoleIdForUser и roleIdMap следующие:

- если в записи в файле storeCashiers отсутствует тег roleId или если тег roleId есть, но для него не указано мапирование во внутреннюю роль, то:

       - если в базе нет кассира с идентификатором id, то в базу будет добавлена новая запись с ролью, указанной в параметре  defaultRoleIdForUser=1;

       - если базе есть идентификатор с таким id, то назначенная ему роль изменена не будет, но в остальные параметры будут записаны значения из файла;

- если в записи присутствует тег roleId, и для него указано мапирование данной роли во внутреннюю роль, то:

       - если в базе нет кассира с идентификатором id, то в базу данных будет добавлена новая запись с ролью в соответствии с мапированием;

       - если базе есть идентификатор с таким id, то существующая запись будет полностью заменена.

Пример:

Блок кода
languagescala
themeEclipse
<?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 при ее создании или при изменении записи о кассире.

Пример:

Блок кода
languagescala
themeConfluence
<storeCashiers fullness="F" storeId="00-000001">

       <cashier>

             <id>12</id>

             <name>Лисник М. В.</name>

             <password>123345</password>

             <createUserCard="true">

       </cashier>
    
</storeCashiers>

Конвертирование из "внешнего" XML-формата во "внутренний" документ

Блок кода
languagescala
themeRDark
{

  "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}.

Здесь значения взяты из Справочника магазина:

Блок кода
languagescala
themeRDark
 roleIdMap:[                                 (соответствие идентификаторов ролей кассиров во внешней системе (externalId)
                                              и магазинов в УКМ 5 (internalId). Код роли во внешней системе – 
                                              это roleId в файле storeCashiers)

        {externalId = 1, internalId = 1}
        {externalId = 2, internalId = 2}

      ]

      defaultRoleIdForUser = 1               (роль, к которой будет привязана новая запись о кассире, если 
                                              в файле storeCashiers для неё не указан параметр roleId 
                                              (подробнее см. описание файла storeCashiers))

      createUserCard = true                  (если этот параметр установлен в true, то для всех загружаемых записей 
                                              будут созданы карты кассиров и в них будет записано содержание поля
                                              storeCashiers.password)

Описание, какую информацию необходимо загружать конвертеру

Блок кода
languagescala
themeRDark
      groupItemsConvertEnable = true – товарная иерархия

      itemsConvertEnable = true      – товары (и штрихкоды)

      pricesConvertEnable = true     – цены

      sellersConvertEnable = true    – продавцы

      taxesConvertEnable = true      – налоги

      usersConvertEnable = true      – кассиры

Если внешняя система выгружает файлы определенного типа, а конвертер их не загружает (из-за соответствующей настройки), то выгруженные файлы будут оставаться во входном каталоге (inputFolderName).