Все настройки обмена задаются в конфигурационном файле /linuxcash/cash/exchangesystems/exchangers/config/cash/exchnagers.ini
.
Выгрузка продаж
Для выгрузки продаж в формате smag
необходимо:
- указать название конвертера в секции
[UNLOAD]
:converter
= smag
, - сконфигурировать секцию выгрузки
[unload.converter.smag]
, - сконфигурировать секцию соответствия типов оплат в кассовой программе типам оплат в АСТУ:
[unload.converter.smag.valut]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
salePath | строковый | Путь выгрузки продаж (директория) | Указывается полный путь выгрузки. В названии файлов и директорий могут быть использованы макросы | |
flagPath | строковый | Путь к файлу-флагу выгрузки продаж | Выгрузка продаж производится в соответствии с содержимым файла-флага | |
fileType | строковый |
| Формат данных, в котором происходит обмен между кассой и товароучетной системой | Формат Обмен данными через |
charset | строковый |
| Кодовая страница данных | Значение по умолчанию cp866 |
currentSalesPath | строковый | Директория выгрузки данных текущих продаж | ||
appendSaleFiles | логический |
| Дописывать файлы, расположенные в целевом каталоге с выгруженными продажами:
| По умолчанию false |
rewriteDestFile | логический |
| Перезапись целевого файла при копировании файлов из рабочей директории:
| По умолчанию false |
distributePaymentsForPositions | логический |
| Распределять оплаты и скидки по позициям в файлах выгрузки продаж
| По умолчанию false |
[UNLOAD] ; список конвертеров данных, разделенный запятыми (aif, oracle, shtrih, smag, atol, atol-astor, crystal, ns2000, pilot) 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 поле - скидка в базовой валюте разбивается по позициям пропорционально суммам при оплате чека разными способами.
Выгрузка текущих продаж
Часто в сетях требуется производить выгрузку текущих продаж для отслеживания состояния имеющейся в наличии продукции.
Для настройки выгрузки текущих продаж требуется:
- указать название конвертера в секции
[UNLOAD]
:converter
=smag
, - сконфигурировать соответствующую секцию выгрузки
[unload.converter.smag]
, - указать директорию для выгрузки текущих продаж с помощью параметра
.currentSalesPath
[UNLOAD] ... converter = smag ; интервал выгрузки текущих продаж (в секундах) ; если указать значение 0, то текущие продажи выгружаться не будут unloadCurrentSalesInterval = 0 ... [unload.converter.smag] ; Директория, в которую выгружаются результаты продаж текущей смены, ; предназначенные для товароучетной системы. ;currentSalesPath = /tmp/currentSales
Для удаления данных о текущих продажах нужно выполнить скрипт с параметром "-o
":
./unload_sales.sh -o