Все настройки обмена задаются в конфигурационном файле /linuxcash/cash/exchangesystems/exchangers/config/cash/exchnagers.ini
.
Выгрузка продаж в формате Smag
Для выгрузки продаж в формате smag
необходимо:
- указать название конвертера в секции
[UNLOAD]
:converter
= smag
, - сконфигурировать секцию выгрузки
[unload.converter.smag]
, - сконфигурировать секцию соответствия типов оплат в кассовой программе типам оплат в АСТУ:
[unload.converter.smag.valut]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
salePath | строковый | Путь выгрузки продаж (директория) | По умолчанию /tmp/sales/ | |
flagPath | строковый | Путь к файлу-флагу выгрузки продаж | Указывается полный путь. Выгрузка продаж производится в соответствии с содержимым файла-флага. По умолчанию | |
fileType | строковый |
| Формат данных, в котором происходит обмен между кассой и товароучетной системой | Формат Обмен данными через |
charset | строковый |
| Кодовая страница данных | По умолчанию cp866 |
currentSalesPath | строковый | Директория выгрузки данных текущих продаж | По умолчанию /tmp/currentSales | |
appendSaleFiles | логический |
| Дописывать файлы, расположенные в целевом каталоге с выгруженными продажами:
| По умолчанию false |
rewriteDestFile | логический |
| Перезапись целевого файла при копировании файлов из рабочей директории:
| По умолчанию false |
distributePaymentsForPositions | логический |
| Распределять оплаты и скидки по позициям в файлах выгрузки продаж
| По умолчанию false |
[UNLOAD] ; Список конвертеров данных разделенный запятыми (aif, aif-xml, oracle, shtrih, smag, smag-xml, atol, atol-astor, crystal, ns2000, pilot, sap, pilot-original) converter = smag ... [unload.converter.smag] ; <параметры_конвертера> ; Путь выгрузки продаж (директория) ;salePath = /tmp/sales/ ; Путь к файлу-флагу выгрузки продаж ;flagPath = /tmp/sales/sale.req ; Формат данных, которыми обмениваются касса и товароучетная система. Тип файлов ; dat означает обмен данными через текстовые файлы csv (данные разделенные запятыми), ; dbf - обмен данными через dbf файлы. ; По умолчанию dat ;fileType = dat ; Кодовая страница данных. Если значение параметра не установлено, используется cp866 ; Примеры кодировок: utf_8, U8, UTF, utf8, cp1251, windows-1251, cp866, 866, IBM866 и др. ;charset = cp866 ; Директория в которую касса выкладывает результаты продаж текущей смены, ; предназначенные для учетной системы. ;currentSalesPath = /tmp/currentSales ; Дописывать файлы, расположенные в целевом каталоге с выгруженными продажами ; По умолчанию: False ;appendSaleFiles = False ; Перезапись целевого файла при копировании файлов из рабочей директории ; True - перезаписывать, False - нет. ; По умолчанию False ;rewriteDestFile = False ; Распределять оплаты по позициям ; По умолчанию: False ;distributePaymentsForPositions = False [unload.converter.smag.valut] ; <Соотвествие типов оплат на кассе и учетной системе> ; <код_типа_оплаты_артикс>=<код_типа оплаты_асту> ;1 = 4 ...
Чек продажи на сумму 210.11
1-я позиция стоимостью 24.90
2-я позиция стоимостью 24.90
3-я позиция стоимостью 160.31
Применена скидка 10% на каждую позицию, итоговая сумма чека 189.10. Оплата наличными 40 руб и безналичная оплата 149.10.
Выгрузка продаж осуществляется в файл cashSail.dat
:
1,1,67,1,1,24/05/2019,0951,"102","NOSIZE",1.000,24.90,0,22.41,0,0,4,1,1,1,0,0,0
1,1,67,1,2,24/05/2019,0951,"105","NOSIZE",1.000,24.90,0,22.41,0,0,4,1,1,1,0,0,0
1,1,67,1,3,24/05/2019,0951,"1029","NOSIZE",1.000,160.31,0,144.28,0,0,4,1,1,1,0,0,0
где 10 поле - количество товара/вес не разбивается, 13 поле - сумма оплаты валютой равна стоимости позиции с учетом скидки, 20 поле - код валюты (имеет значение 0, т.к. в позицию записывается оплата, которая была применена первой в чеке, в данном случае наличные).
Выгрузка информации о скидках осуществляется в файл cashDisc.dat
:
1,1,67,1,1,2,10.00,2.49,0
1,1,67,1,2,2,10.00,2.49,0
1,1,67,1,3,2,10.00,16.03,0
где 8 поле - скидка в базовой валюте не разбивается.
Выгрузка продаж осуществляется в файл cashSail.dat
:
1,1,67,1,1,24/05/2019,0951,"102","NOSIZE",1.000,24.90,0,22.41,0,0,4,1,1,1,0,0,0
1,1,67,1,2,24/05/2019,0951,"105","NOSIZE",0.785,24.90,0,17.59,0,0,4,1,1,1,0,0,0
1,1,67,1,3,24/05/2019,0951,"105","NOSIZE",0.215,24.90,0,4.82,0,0,4,1,1,5,3,0,0
1,1,67,1,4,24/05/2019,0951,"1029","NOSIZE",1.000,160.31,0,144.28,0,0,4,1,1,5,3,0,0
где 10 поле - количество товара/вес разбивается пропорционально суммам, 13 поле - сумма оплаты валютой, 20 поле - код валюты (0 - для наличных, 3 - код способа оплаты, который назначен в настройках Валюты).
Выгрузка информации о скидках осуществляется в файл cashDisc.dat
:
1,1,67,1,1,2,10.00,2.49,0
1,1,67,1,2,2,10.00,1.95,0
1,1,67,1,3,2,10.00,0.54,0
1,1,67,1,4,2,10.00,16.03,0
где 8 поле - скидка в базовой валюте разбивается по позициям пропорционально суммам при оплате чека разными способами.
Выгрузка текущих продаж в формате Smag
Часто в сетях требуется производить выгрузку текущих продаж для отслеживания состояния имеющейся в наличии продукции.
Для настройки выгрузки текущих продаж требуется:
- указать название конвертера в секции
[UNLOAD]
:converter
=smag
, - сконфигурировать соответствующую секцию выгрузки
[unload.converter.smag]
, - указать директорию для выгрузки текущих продаж с помощью параметра
currentSalesPath
.
[UNLOAD] ... converter = smag ; интервал выгрузки текущих продаж (в секундах) ; если указать значение 0, то текущие продажи выгружаться не будут unloadCurrentSalesInterval = 0 ... [unload.converter.smag] ; Директория, в которую выгружаются результаты продаж текущей смены, ; предназначенные для товароучетной системы. currentSalesPath = /tmp/currentSales
Для удаления данных о текущих продажах нужно выполнить скрипт с параметром "-o
":
./unload_sales.sh -o
Результатом работы данного скрипта будет удаление данных о текущих продажах.
Выгрузка продаж в формате Smag-xml
На данный момент поддержана выгрузка смен и текущая выгрузка чеков (выгрузка поддержана для чеков продажи, чеков возврата и возврата по чеку продажи).
Для выгрузки продаж в формате smag-xml
необходимо:
- указать название конвертера в секции
[UNLOAD]
:converter
= smag-xml
, - сконфигурировать секцию выгрузки
[unload.converter.smag-xml]
, - сконфигурировать секцию соответствия типов оплат в кассовой программе типам оплат в АСТУ:
[unload.converter.smag-xml.paymentMapper]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
salePath | строковый | Путь выгрузки продаж (директория) | По умолчанию Файл продаж для каждой смены будет сформирован по шаблону [1] – номер выгрузки данной смены или чека. | |
rewriteDestFile | логический |
| Перезапись целевого файла при копировании файлов из рабочей директории | По умолчанию true |
dataType | строковый |
| Тип выгружаемых данных | По умолчанию sales |
flagPath | строковый | Путь к файлу-флагу выгрузки продаж | По умолчанию /tmp/sale.req | |
onlineSalePath | строковый | Путь выгрузки оперативных продаж (директория) | По умолчанию Файл продаж для каждого чека будет сформирован по шаблону [1] – номер выгрузки данной смены или чека. | |
withClosedShifts | логический |
| Выгружать закрытые смены если нет документов | По умолчанию true |
[UNLOAD] ; Список конвертеров данных разделенный запятыми (aif, aif-xml, oracle, shtrih, smag, smag-xml, atol, atol-astor, crystal, ns2000, pilot, sap, pilot-original) converter = smag-xml ... [unload.converter.smag-xml] ; <параметры_конвертера> ; Путь выгрузки продаж (директория) ; Файл продаж для каждой смены будет сформирован по шаблону: shift_[shopcode]_[cashcode]_[shiftnum]_[1].xml salePath = /tmp/sales/ ; Перезапись целевого файла при копировании файлов из рабочей директории ; True - перезаписывать, False - нет ; По умолчанию False rewriteDestFile = True ; Тип выгружаемых данных. sales - продажи, crights - журнал событий, all - и продажи и журнал событий. ; По умолчанию: sales ;dataType = sales ; Путь к файлу-флагу выгрузки продаж flagPath = /tmp/sale.req ; Путь выгрузки оперативных продаж ; Путь выгрузки продаж (директория) onlineSalePath = /tmp/salesOnline/ ; Выгружать закрытые смены если нет документов ; По умолчанию True ;withClosedShifts = True [unload.converter.smag-xml.paymentMapper] ; <Соотвествие типов оплат в ФР на кассе и учетной системе> ; <код_типа_оплаты_артикс>=<код_типа оплаты_асту> 1 = 0 2 = 101
Для выгрузки сумм продаж и возвратов по типам валют из ККМ необходимо задать соответствие типов оплат в секции [unload.converter.smag-xml.paymentMapper
].
Получение сумм продаж и возвратов по валютам из ККМ осуществляется следующим образом:
- При выгрузке оплат по смене значение валюты УКМ записывается в файл
.xml
в полеpaymentId
(например,101
– оплата банковской картой или0
– оплата наличными). - Данное значение сравнивается со значениями, заданными в маппинге. Если значение найдено в маппинге, то из данного значения будет получен код типа оплаты Artix (например,
2=101
). - Значения полей
sumSaleByPayment2
иsumBackByPayment2
из БДDocuments
таблицыKkm
записываются в файл.xml
в тегиkkm_paymentAmountSale
иkkm_paymentAmountReturn
соответственно.
Выгрузка текущих продаж в формате Smag-xml
Часто в сетях требуется производить выгрузку текущих продаж для отслеживания состояния имеющейся в наличии продукции.
Для настройки выгрузки текущих продаж требуется:
- указать название конвертера в секции
[UNLOAD]
:converter
=smag-xml
, - сконфигурировать соответствующую секцию выгрузки
[unload.converter.smag-xml]
, - указать директорию для выгрузки текущих продаж с помощью параметра
onlineSalePath
.
[UNLOAD] ... converter = smag-xml ; интервал выгрузки текущих продаж (в секундах) ; если указать значение 0, то текущие продажи выгружаться не будут unloadCurrentSalesInterval = 0 ... [unload.converter.smag-xml] ; Путь выгрузки оперативных продаж ; Путь выгрузки продаж (директория) onlineSalePath = /tmp/salesOnline/
Для удаления данных о текущих продажах нужно выполнить скрипт с параметром "-o
":
./unload_sales.sh -o
Результатом работы данного скрипта будет удаление данных о текущих продажах.