/linuxcash/cash/exchangesystems/exchangers/config/cash/exchnagers.ini.Загрузка справочников
Smag-ukm4
Для загрузки справочников в формате smag-ukm4 необходимо:
- указать название конвертера в секции
[UPLOAD]:converter= smag-ukm4, - сконфигурировать секцию загрузки
[upload.converter.smag-ukm4].
Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| flags | строковый | Список файлов-флагов, разделенный запятыми | В параметре указывается наименование файла-флага и полный путь до него. Наличие файла-флага в исходной директории указывает на то, что справочники полностью сформированы и могут быть загружены. Если файл-флаг отсутствует, то загрузка справочников не выполняется. Флаг Флаг | |
| data | строковый | Список файлов-справочников, разделенный запятыми | В параметре указывается наименование файлов-справочников и полный путь до них | |
| errorDest | строковый | Файл записи ошибок конвертирования | В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования. Если директория файла или сам файл не создан, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования | |
| charset | строковый |
| Кодовая страница данных | По умолчанию 866 |
| discount | строковый |
| Режим дисконтной системы | По умолчанию modern |
| defaultRoleCode | числовой | Код роли пользователя по умолчанию | По умолчанию 3 | |
| additionallyRoleCode | числовой | Код дополнительной роли пользователя | По умолчанию 2 | |
relationRolesBy | строковый |
| Связывать роль администратора с пользователем по его имени или коду | |
| substringInAdminName | строковый | Подстрока, которую необходимо искать в имени пользователя, чтобы он стал администратором | По умолчанию Администратор | |
| usersWithAdditionallyRole | числовой | Список кодов пользователей, имеющих дополнительные роли | По умолчанию ' ' |
[UPLOAD] ... ; список конвертеров данных, разделенный запятыми (aif, oracle, shtrih, smag-ukm, smag-ukm4, users, crystal, atol) converter = smag-ukm4 ... [upload.converter.smag-ukm4] ; Список файлов-флагов, разделенный запятыми ;flags = /tmp/dict/smag/*.cng, /tmp/dict/smag/*.upd ; Список файлов-справочников, разделенный запятыми ;data = /tmp/dict/smag/*.dat ; Файл в который будет записываться текст последней ошибки конвертирования ;errorDest = /tmp/dict/smag/error.txt ; Кодовая страница данных. ; Примеры кодировок: utf_8, U8, UTF, utf8, cp1251, windows-1251, cp866, 866, IBM866 и др. ; По умолчанию 866 ;charset = 866 ; Режим дисконтной системы (modern, legacy) ; По умолчанию modern ;discount = modern ; Код роли пользователя по умолчанию ; По умолчанию 3 ;defaultRoleCode = 3 ; Код дополнительной роли пользователя ; По умолчанию 2 ;additionallyRoleCode = 2 ; Связывать роль администратора с пользователем по его имени или коду (name, code) ;relationRolesBy = name ; Подстрока, которую необходимо искать в имени пользователя, что бы он стал администратором ; По умолчанию Администратор ;substringInAdminName = Администратор ; Список кодов пользователей, которые имеют дополнительные роли, разделенные через запятые ; По умолчанию '' ;usersWithAdditionallyRole = 1,2,3
Для указания местоположения справочников используется параметр data, в котором указывается полный путь до файлов-справочников. При перечислении наименования файлов (вместе с путем до каждого справочника) указываются через запятую.
Загрузка справочников производится при наличии файла-флага, указывающего на то, что справочники полностью сформированы и выгружены на кассу. При отсутствии файла-флага загрузка справочников в БД не производится. Список флагов определяется параметром flags, в котором прописывается полный путь до файлов-флагов. При использовании нескольких флагов они перечисляются через запятую (вместе с путем до каждого файла-флага).
При возникновении ошибок конвертирования справочников в формат AIF описание ошибки указывается в файле, заданном параметром errorDest. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.
При загрузке справочников дисконтных карт может быть указан тип дисконтной системы в параметре discount:
- при значении параметра
modernвыполняется загрузка справочников карт в объектную дисконтную систему (новый дисконт), - при значении параметра
legacyсправочники карт загружаются в традиционную дисконтную систему (старый дисконт).
Связывание роли администратора с пользователем производится по имени или коду. Правила связки определяются параметром relationRolesBy:
- при значении параметра
nameправа администратора назначаются пользователю, указанному в параметреsubstringInAdminName. Пользователю присваивается роль по умолчанию из параметраdefaultRoleCodeи дополнительная роль из параметраadditionallyRoleCode, - при значении параметра
codeправа администратора получает пользователь с кодом, указанным в параметреusersWithAdditionallyRole. Пользователю присваивается роль по умолчанию из параметраdefaultRoleCodeи дополнительная роль из параметраadditionallyRoleCode.
Подробнее о ролях пользователей и их взаимодействии можно прочитать в разделе "Роли".
Связка товара с каталогом по коду группы
При загрузке справочников товаров группе товаров с указанным кодом назначаются атрибуты каталога с указанным кодом. Если в связке указать несуществующий каталог, то в БД программы запись tmccatalog не будет добавлена.
[upload.converter.smag-ukm4.group2catalog] ; Связать товар с каталогом по коду группы ; Если товар входит в группу 1, а у группы 1 есть связка с каталогом 2, то в tmccatalog будет связка (код товара, код каталога 2) ; <код группы товара> = <код каталога> ;410 = 16 ;413 = 17
О связке товара с каталогом по коду группы при задании формата обмена на кассовом сервере можно прочитать в статье "SUPERMAG, SUPERMAG4, SUPERMAG_XML / Супермаг (КС)".
Smag-ukm
Для загрузки справочников в формате smag-ukm необходимо:
- указать название конвертера в секции
[UPLOAD]:converter=smag-ukm, - сконфигурировать секцию загрузки
[upload.converter.smag-ukm].
Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| flags | строковый | Список файлов-флагов, разделенный запятыми | В параметре указывается наименование файла-флага и полный путь до него. Наличие файла-флага в исходной директории указывает на то, что справочники полностью сформированы и могут быть загружены. Если файл-флаг отсутствует, то загрузка справочников не выполняется. Флаг Флаг | |
| data | строковый | Список файлов-справочников, разделенный запятыми | В параметре указывается наименование файлов-справочников и полный путь до них | |
| errorDest | строковый | Файл записи ошибок конвертирования | В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования. Если директория файла или сам файл не создан, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования | |
| charset | строковый |
| Кодовая страница данных | По умолчанию 866 |
| format | строковый |
| Формат данных | Формат dat подразумевает обмен данными через текстовые файлы csv (данные, разделенные запятыми).Формат dbf – обмен данными через dbf файлы |
| defaultRoleCode | числовой | Код роли пользователя по умолчанию | ||
| additionallyRoleCode | числовой | Код дополнительной роли пользователя | ||
relationRolesBy | строковый |
| Связывать роль администратора с пользователем по его имени или коду | |
| substringInAdminName | строковый | Подстрока, которую необходимо искать в имени пользователя, чтобы он стал администратором | По умолчанию Администратор | |
| usersWithAdditionallyRole | числовой | Список кодов пользователей, имеющих дополнительные роли | ||
| setMinPriceIfDiscountRestrictMissing | логический |
| Устанавливать минимальную цену при отсутствии ограничения по скидке | По умолчанию true |
[UPLOAD] ... ; список конвертеров данных, разделенный запятыми (aif, oracle, shtrih, smag-ukm, smag-ukm4, users, crystal, atol) converter = smag-ukm ... [upload.converter.smag-ukm] ; Список файлов-флагов, разделенный запятыми ;flags = /tmp/dict/smag/*.cng, /tmp/dict/smag/*.upd ; Список файлов-справочников, разделенный запятыми ;data = /tmp/dict/smag/*.dat ; Файл в который будет записываться текст последней ошибки конвертирования ;errorDest = /tmp/dict/smag/error.txt ; Кодовая страница данных. ; Примеры кодировок: utf_8, U8, UTF, utf8, cp1251, windows-1251, cp866, 866, IBM866 и др. ; По умолчанию 866 ;charset = 866 ; Формат данных (dat, dbf) ; По умолчанию dat ;format = dat ; Код роли пользователя по умолчанию ; По умолчанию 3 ;defaultRoleCode = 3 ; Код дополнительной роли пользователя ; По умолчанию 2 ;additionallyRoleCode = 2 ; Связывать роль администратора с пользователем по его имени или коду (name, code) relationRolesBy = code ; Подстрока, которую необходимо искать в имени пользователя, что бы он стал администратором ; По умолчанию Администратор ;substringInAdminName = Администратор ; Список кодов пользователей, которые имеют дополнительные роли, разделенные через запятые ; По умолчанию '' usersWithAdditionallyRole = 1,2,3 ; Устанавливать минимальную цену при отсутствии ограничения по скидке ; По умолчанию True ;setMinPriceIfDiscountRestrictMissing = True
Для указания местоположения справочников используется параметр data, в котором указывается полный путь до файлов-справочников. При перечислении наименования файлов (вместе с путем до каждого справочника) указываются через запятую.
Загрузка справочников производится при наличии файла-флага, указывающего на то, что справочники полностью сформированы и выгружены на кассу. При отсутствии файла-флага загрузка справочников в БД не производится. Список флагов определяется параметром flags, в котором прописывается полный путь до файлов-флагов. При использовании нескольких флагов они перечисляются через запятую (вместе с путем до каждого файла-флага).
При возникновении ошибок конвертирования справочников в формат AIF описание ошибки указывается в файле, заданном параметром errorDest. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.
Связывание роли администратора с пользователем производится по имени или коду. Правила связки определяются параметром relationRolesBy:
- при значении параметра
nameправа администратора назначаются пользователю, указанному в параметреsubstringInAdminName. Пользователю присваивается роль по умолчанию из параметраdefaultRoleCodeи дополнительная роль из параметраadditionallyRoleCode, - при значении параметра
codeправа администратора получает пользователь с кодом, указанным в параметреusersWithAdditionallyRole. Пользователю присваивается роль по умолчанию из параметраdefaultRoleCodeи дополнительная роль из параметраadditionallyRoleCode.
Подробнее о ролях пользователей и их взаимодействии можно прочитать в разделе "Роли".
При загрузке справочников товаров можно определять правило установки минимальной цены при отсутствии ограничения по скидке при помощи параметра setMinPriceIfDiscountRestrictMissing:
- при значении параметра
trueминимальная цена товара принимает значение основной цены, - при значении параметра
falseв значение минимальной цены товара устанавливается0.
Если ограничение по скидке задано, то правило установки минимальной цены игнорируется.
Связка товара с каталогом по коду группы
Начиная с версии кассового ПО 4.6.80 связка товара с каталогом по коду группы задается в секции [upload.converter.smag-ukm.group2catalog].
При загрузке справочников товаров группе товаров с указанным кодом назначаются атрибуты каталога с указанным кодом. Если в связке указать несуществующий каталог, то в БД программы запись tmccatalog не будет добавлена.
[upload.converter.smag-ukm.group2catalog] ; Связать товар с каталогом по коду группы ; Если товар входит в группу 1, а у группы 1 есть связка с каталогом 2, то в tmccatalog будет связка (код товара, код каталога 2) ; <код группы товара> = <код каталога> ;0000.0000.0000.0000.0001 = 1 ;0000.0000.0000.0000.0002 = 2
О связке товара с каталогом по коду группы при задании формата обмена на кассовом сервере можно прочитать в статье "SUPERMAG, SUPERMAG4, SUPERMAG_XML / Супермаг (КС)".
Smag-ukm-xml
Для загрузки справочников в формате smag-ukm-xml необходимо:
- указать название конвертера в секции
[UPLOAD]:converter = smag-ukm-xml, - сконфигурировать секцию загрузки:
[upload.converter.smag-ukm-xml].
Дополнительно можно сконфигурировать секции:
- соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара:
[upload.converter.smag-ukm-xml.tmcTypeMapper], - cоотнесение кодов единиц измерения Artix и наименований единиц измерения SuperMag UKM:
[upload.converter.smag-ukm-xml.measureMapper], соотнесение наименований единиц измерения и опций количества товара:
[upload.converter.smag-ukm-xml.quantityOptionsMapper],- соотнесение кодов групп товаров и свойств товара/штрих-кода:
[upload.converter.smag-ukm-xml.tmcRestrictionsMapper].
Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| flags | строковый | Список файлов-флагов, разделенный запятыми | В параметре указывается наименование файла-флага и полный путь до него. Наличие файла-флага в исходной директории указывает на то, что справочники полностью сформированы и выгружены. Если файл-флаг отсутствует, то загрузка справочников не выполняется. По умолчанию | |
| data | строковый | Список файлов-справочников, разделенный запятыми | В параметре указывается наименование файлов-справочников и полный путь до них. По умолчанию | |
| errorDest | строковый | Файл в который будет записываться текст последней ошибки конвертирования | В параметре указывается полный путь до файла, в который записывается текст последней ошибки конвертирования. Если директория файла не создана, то запись ошибки не производится. Файл удаляется при следующем запуске конвертирования | |
| picklistPicturesPath | строковый | Директория с изображениями товаров, входящих в состав пиклиста | В параметре указывается полный путь до директории с изображениями товаров. По умолчанию | |
| cleaningFlagDicts | строковый | Список справочников, для которых нужно учитывать флаг очистки | В параметре указывается список справочников, разделенный запятыми. | |
| loadMRC | логический |
| Загружать альтернативные цены | Если настройка включена, то в качестве итоговой цены используется максимальное значение из списка МРЦ (поле |
[upload.converter.smag-ukm-xml]
; Список файлов-флагов, разделенный запятыми
flags = /tmp/dict/smag-ukm-xml/pos*.flz
; Список файлов-справочников, разделенный запятыми
data = /tmp/dict/smag-ukm-xml/*.xml
; Файл в который будет записываться текст последней ошибки конвертирования
;errorDest = /tmp/dict/smag-ukm-xml/error.txt
; Директория с изображениями товаров, входящих в состав пиклиста
;picklistPicturesPath = /tmp/picklist/
; Список справочников, для которых нужно учитывать флаг очистки.
; В качестве разделителя названий справочников используются запятые
; Справочники доступные к очистке: updateItems,storePrices,storePricesAdd,taxes,
; alcocode (очищаются ещё и Items),classif,kit (очищаются ещё и items),storeCashiers,picklists
; cleaningFlagDicts =
; Загружать альтернативные цены
; По умолчанию True
;loadMRC = True
[upload.converter.smag-ukm-xml.tmcTypeMapper]
; <соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара>
; <код типа ШК - артикс> = <коды групп ТН ВЭД от ukm через запятую>
;2 = 100,200,1020
;3 = 900,1020,7890
[upload.converter.smag-ukm-xml.measureMapper]
; Соотнесение кодов единиц измерения Artix и наименований единиц измерения SuperMag UKM
; <код единицы измерения - Artix> = <код единицы измерения - SuperMag UKM>
1 = шт
2 = кг
[upload.converter.smag-ukm-xml.quantityOptionsMapper]
; Соотнесение наименований единиц измерения и опций количества товара
;кг = requirequantityscales,enablequantityscales
[upload.converter.smag-ukm-xml.tmcRestrictionsMapper]
; Соотнесение кодов групп товаров и свойств товара/штрих-кода
;EGAIS = {"tmctype": 1, "age": 18, "alcoholpercent": 1.0, "ageverify": 1, "requiresalerestrict": 1, "egaisverify": 1}
;TOBACCO = {"tmctype": 3, "age": 18, "ageverify": 1, "requiresalerestrict": 1, "tobacco": 1, "priceoptions" : {"enableexcisemarkprice": 1}}
;MARKED_GOODS = {"tmctype": 7}
Для указания местоположения справочников используется параметр data, в котором указывается полный путь до файлов-справочников. При перечислении наименования файлов (вместе с путем до каждого справочника) указываются через запятую.
Загрузка справочников производится при наличии файла-флага, указывающего на то, что справочники полностью сформированы и выгружены на кассу. При отсутствии файла-флага загрузка справочников в БД не производится. Список флагов определяется параметром flags, в котором прописывается полный путь до файлов-флагов. При использовании нескольких флагов они перечисляются через запятую (вместе с путем до каждого файла-флага).
При возникновении ошибок конвертирования справочников в формат AIF описание ошибки указывается в файле, заданном параметром errorDest. В параметре указывается полный путь до файла. Файл с ошибкой конвертирования удаляется при следующем запуске процедуры. Если параметр не определен или директория для размещения файла отсутствует, то файл с ошибками не создается.
При загрузке справочника с единицами измерения могут быть добавлены опции количества товара. Для этого необходимо в секции [upload.converter.smag-ukm-xml.quantityOptionsMapper] задать соотнесение наименований единиц измерения и опций количества товара.
Пусть необходимо добавить следующие опции для штук:
- enabledefaultquantity – "Использовать количество по умолчанию из товара",
- enablequantitymanual – "Разрешить ввод количества вручную".
Пусть необходимо добавить следующие опции для килограммов:
- enabledefaultquantity – "Использовать количество по умолчанию из товара",
- enablequantitybarcode – "Разрешить установку количества из штрих-кода".
Тогда соотнесение примет вид
[upload.converter.smag-ukm-xml.quantityOptionsMapper] ; Соотнесение наименований единиц измерения и опций количества товара шт = enabledefaultquantity,enablequantitymanual кг = enabledefaultquantity,enablequantitybarcode
Загрузка справочников с маркированными товарами
Существует возможность загрузки справочников с маркированными товарами, данная возможность может задаваться как в настройках кассы, так и в настройках Artix Control Center.
При загрузке справочников для алкогольной, табачной продукции и остальных маркированных товаров могут быть добавлены свойства товара/штрих-кода. Для этого необходимо в секции [upload.converter.smag-ukm-xml.tmcRestrictionsMapper] задать соотнесение кодов групп товаров и свойств товара/штрих-кода. Для группы/групп товаров может быть задан собственный набор свойств.
Пусть есть группы товаров с кодами 123, 456, abc и marked.
[upload.converter.smag-ukm-xml.tmcRestrictionsMapper]
; Соотнесение кодов групп товаров и свойств товара/штрих-кода
;Для алкогольной продукции
123,456 = {"tmctype": 1, "age": 18, "alcoholpercent": 40.0, "ageverify": 1, "requiresalerestrict": 1, "egaisverify": 1}
;Для табачной продукции
abc = {"tmctype": 3, "age": 18, "ageverify": 1, "requiresalerestrict": 1, "tobacco": 1, "priceoptions" : {"enableexcisemarkprice": 1}}
;Для любых маркированных товаров
marked = {"tmctype": 7}
Соответствие кодов групп ТН ВЭД типам штрих-кодов для реализации маркированных товаров настраивается в секции [upload.converter.smag-ukm-xml.tmcTypeMapper]. Для корректного соответствия необходимо загружать файл-справочник с ТН ВЭД кодами.
В секции [upload.converter.smag-ukm-xml.tmcTypeMapper] настроено соответствие:
[upload.converter.smag-ukm-xml.tmcTypeMapper] ; <соответствие кодов групп ТН ВЭД типам ШК для реализации маркированного товара> ; <код типа ШК - артикс> = <коды групп ТН ВЭД от ukm через запятую> 1 = 0404
Из справочника товара получено значение поля TNVDcode:
<item>
<article>004525</article>
<name>СИДР 1 ШТ</name>
<measure>шт</measure>
<measprec>1</measprec>
<groupId>4</groupId>
<egaisType>1</egaisType>
<TNVDcode>15</TNVDcode>
<barcode>
<id>4606419017460</id>
<quantity>1</quantity>
</barcode>
<SubExcise>0</SubExcise>
</item>
</updateItems>
По значению поля TNVDcode получено значение поля id в справочнике ТН ВЭД. По значению поля <id>15</id> определяется значение кода группы найденного товара:
<group>
<id>15</id>
<code>0404</code>
<name>Сидры и прочие напитки сброженные</name>
</group>
Осуществляется поиск типа товара по значению поля <code>0404</code>, заданного в секции [upload.converter.smag-ukm-xml.tmcTypeMapper]. При загрузке штрих-кодов товара в БД Dictionaries в таблицу Barcodes в поле tmctype будет загружено значение 1.
Загрузка справочников с альтернативными ценами
Существует возможность использовать разные способы заполнения цен для переоценок и дополнительных цен товаров при загрузке справочников.
Если настройка loadMRC ("Загружать альтернативные цены") включена (поведение по умолчанию), то в качестве итоговой цены используется максимальное значение из списка МРЦ (поле MRCValue).
<item article="3154">
<price>
<value>253</value>
<minprice>135</minprice>
<is_promo_price>0</is_promo_price>
<MRC>
<MRCValue>253</MRCValue>
<MRCValue>243</MRCValue>
</MRC>
</price>
</item>
Если настройка выключена, то в качестве итоговой цены:
- для переоценок используется значение поля
minprice, - для дополнительных цен используется максимальное значение среди полей
minpriceиvalue.
<item article="3154">
<price>
<value>253</value>
<minprice>135</minprice>
<is_promo_price>0</is_promo_price>
<MRC>
<MRCValue>253</MRCValue>
<MRCValue>243</MRCValue>
</MRC>
</price>
</item>