Все настройки обмена задаются в конфигурационном файле  /linuxcash/cash/exchangesystems/exchangers/config/cash/exchnagers.ini.

Выгрузка продаж

Для выгрузки продаж в формате smag необходимо:

  • указать название конвертера в секции [UNLOAD]converter smag,
  • сконфигурировать секцию выгрузки [unload.converter.smag],
  • сконфигурировать секцию соответствия типов оплат в кассовой программе типам оплат в АСТУ: [unload.converter.smag.valut].
Наименование
Тип данных
Возможные значения
Описание
Примечания
salePathстроковый


Путь выгрузки продаж (директория)

Указывается полный путь выгрузки. В названии файлов и директорий могут быть использованы макросы
flagPathстроковый
Путь к файлу-флагу выгрузки продаж

Выгрузка продаж производится в соответствии с содержимым файла-флага

fileTypeстроковый
  • dat
  • dbf
Формат данных, в котором происходит обмен между кассой и товароучетной системой

Формат dat подразумевает обмен данными через текстовые файлы csv (данные, разделенные запятыми).
Формат dbf – обмен данными через dbf файлы

charset строковый
  • utf_8
  • U8
  • UTF
  • utf8
  • cp1251
  • windows-1251
  • cp866
  • 866
  • IBM866
Кодовая страница данныхЗначение по умолчанию cp866
currentSalesPathстроковый


Директория выгрузки данных текущих продаж


appendSaleFiles

логический
  • true
  • false

Дописывать файлы, расположенные в целевом каталоге с выгруженными продажами:

  • true – файлы выгрузки продаж дописываются,
  • false – добавление информации в файлы продаж не выполняется.
По умолчанию false

rewriteDestFile

логический
  • true
  • false

Перезапись целевого файла при копировании файлов из рабочей директории:

  • при значении параметра true целевой файл перезаписывается. Если файл продаж не был передан в товароучетную систему до новой выгрузки продаж, то данные будут потеряны,
  • при значении параметра false целевой файл не перезаписывается. Если файл продаж не был передан в товароучетную систему, то вновь полученные данные хранятся в рабочей директории до тех пор, пока данные предыдущей выгрузки не будут переданы в АСТУ.
По умолчанию false
distributePaymentsForPositionsлогический
  • true
  • false

Распределять оплаты и скидки по позициям в файлах выгрузки продаж cashSail.dat и cashDisc.dat:

  • true – при выгрузке продаж происходит распределение оплат и скидок по позициям,
  • false – при выгрузке продаж распределение оплат и скидок по позициям не происходит. В позицию записывается оплата, которая была применена первой в чеке, а скидка записывается общей суммой.
По умолчанию 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.

Настройка distributePaymentsForPositions выключена

Выгрузка продаж осуществляется в файл 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 поле - скидка в базовой валюте не разбивается.

Настройка distributePaymentsForPositions включена

Выгрузка продаж осуществляется в файл 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]convertersmag,
  • сконфигурировать соответствующую секцию выгрузки [unload.converter.smag],
  • указать директорию для выгрузки текущих продаж с помощью параметра currentSalesPath.
Пример настройки
[UNLOAD]
...
converter = smag
; интервал выгрузки текущих продаж (в секундах)
; если указать значение 0, то текущие продажи выгружаться не будут
unloadCurrentSalesInterval = 0
...
[unload.converter.smag]
; Директория, в которую выгружаются результаты продаж текущей смены, 
; предназначенные для товароучетной системы. 
;currentSalesPath = /tmp/currentSales

Для удаления данных о текущих продажах нужно выполнить скрипт с параметром "-o":

./unload_sales.sh -o
Результатом работы данного скрипта будет удаление данных о текущих продажах.
  • No labels