Обмен данными

Обмен данными между АСТУ и программой происходит с помощью текстовых файлов. Обмен данными возможен в двух режимах:

- автоматическом – без участия оператора ККМ,

- ручном – с участием оператора ККМ.

С технической точки зрения первый режим отличается от второго только необходимостью формирования товароучетной программой запросов на обмен, а сам формат файлов передачи данных абсолютно одинаков.

Формату файлов передачи данных и механизму работы в автоматическом и ручном режимах обмена посвящены следующие разделы.

Формат файлов передачи данных

Формат даты - ДД.ММ.ГГ

Формат времени – ЧЧ:ММ:СС

Разделитель целой и дробной части – "."

Используемые обозначения:

"Строка X" – строка в кодировке Win1251, длина до X символов.

"Дробное X.Y" – тип поля "Дробное2, длина (X + Y + 1), где X – количество целых разрядов, Y – количество дробных разрядов.

Файл загрузки

Файл загрузки служит для загрузки в рабочее место кассира справочника товаров, автоматических скидок и накоплений по дисконтным картам. Файл состоит из двух частей: шапки файла и непосредственно информации.

Шапка файла состоит из двух строк:

- Первая строка – строка инициализации файла "##@@&&" (6 символов)

- Вторая строка – признак загрузки данного файла "#" (1 символ).

После того, как файл успешно загружен программой рабочего места кассира признак загрузки файла меняется с "#" на "@". После шапки файла следует информация о реквизитах товара и управляющие команды.

В одной строке файла записывается информация об одном товаре. Реквизиты товара разделяются ";" и располагаются в порядке, приведенном в таблице ниже:

Для загрузки единиц измерения товаров (упаковки, пачки и т.п.), имеющих свой штрих-код, строка начинается со знака "#", а формат строки следующий:

Для загрузки схем автоматических скидок/надбавок строка начинается со знака "!", а формат строки следующий:

Для загрузки автоматических скидок/надбавок каждой из схем строка начинается со знака "@", а формат строки следующий:

Пропущенные поля не используются.

Для полей 12,13: "0" и "7"-воскресенье, "1"-понедельник, "2"-вторник, "3"-среда, "4"-четверг, "5"-пятница, "6"-суббота.

Для загрузки товаров-условий в автоматических скидках строка начинается со знака "{+", а формат строки следующий:

Для загрузки товаров-результатов в автоматических скидках строка начинается со знака "{-", а формат строки следующий:

Для загрузки дисконтных карт строка начинается со знака "%", а формат строки следующий:

Для загрузки накопительных скидок и их схем строка начинается со знака "№", а формат строки следующий:

Примечание: Если загружается несколько скидок с одинаковом кодом схемы, то название схемы скидок будет считаться по соответствующему полю в последней из загруженных скидок схемы.

Для загрузки фиксированных скидок строка начинается со знака «^», а формат строки следующий:

Для загрузки платежных карт строка начинается со знака ")", а формат строки следующий:

Для загрузки наборов прав строка начинается со знака "~", а формат строки следующий:

Для загрузки пользователей строка начинается со знака "&", а формат строки следующий:

Для загрузки весовых штрих-кодов строка начинается со знака "(", а формат строки следующий:

Налоговые схемы загружаются так, на одну позицию в налоговой схеме идет одна строка, начинающаяся со знака "*". Формат строки следующий:

Например, нам нужна группа с кодом 1 и названием "Моя группа", порядок начисления налогов: "А_БВ", Тогда нужно три строки:

*1;Моя группа;1;1

*1;Моя группа;3;2

*1;Моя группа;4;3

Для загрузки продавцов строка начинается со знака "[", а формат строки следующий:

Для загрузки дополнительных цен строка начинается со знака "?", а формат строки следующий:

Для загрузки схем бонусов строка начинается со знака "_", а формат строки следующий:

Для загрузки сертификатов строка начинается со знака ",", а формат строки следующий:

Для загрузки схем синхронизации товаров строка начинается с 2-х знаков "{=", а формат строки следующий:

Для загрузки изменений накоплений по дисконтной карте строка начинается со символов "{=%", а формат строки следующий:

Для загрузки изменения кредита платежной (кредитной) карты строка начинается со символов "{=)", а формат строки следующий:

Для загрузки контрагентов и видов алкогольной продукции строка начинается с 2-х знаков "{*", а формат строки следующий:

Для загрузки дополнительных реквизитов товара формат файла следующий:<goods_attr id="code" attr_id="attr"> где: code – код товара, реквизит которого загружается, attr – код типа реквизита документа.

Могут быть следующие типы:

- 22 Вид алкогольной продукции

- 23 Емкость тары

- 24 Неакцизная алкогольная продукция

- 25 ИНН производителя

- 26 КПП производителя

- 27 Содержание спирта

- 28 Запрашивать цену

- 29 Код проверки при добавлении

- 30 Код ЕГАИС

- 39 Код поставщика

- 33 Разливной алкоголь

- 34 Запрашивать штрихкод

- 42 Тип агента

Для загрузки правил запрета продажи алкоголя строка начинается со знаков "`b", а формат строки следующий:

Также имеется возможность загружать константы-настройки в следующем формате:

|<ИмяКонстанты>=<Значение> где <ИмяКонстанты> - идентификатор константы-настройки, как задан в конфигураторе (знакозависим), <Значение> - значение данной константы.

Имена констант:

ОСНОВНЫЕ

  • ККМПоУмолчанию

  • СекцияПоУмолчанию

  • ВыборСекции

ВИД ЧЕКА

  • ПечататьИмяКассираПечататьНумерациюПозицийПечататьОтступОднаСтрокаНаПРодажу ПечататьКредитнуюКарту

  • ПечататьПодытогПриСкидкеНадбавкеНаЧекПечататьНаименованиеТовараПереноситьДлинныеНазванияТоваровПечататьКодТовараПечататьЦифрыШтрихКодаТовараПечататьШтрихКодЕАНПечататьНазваниеСкидокНадбавокПечататьРазделительМеждуПродажами

РЕЖИМЫ

  • РазрешитьБлокировкуРабочегоМестаРазрешитьСменуПользователяПриБлокировкеАвторизацияПослеКаждогоЧекаВыгружатьПродажиПриZОтчетеПодаватьНаККМЗвуковойСигналПриОшибкеИгнорироватьТочкуВКоличествеИгнорироватьТочкуВСуммеСоздаватьТоварыПриВозвратеЗапретитьПродажиПоНулевойЦенеЗапретитьОплатуБезВводаСуммыКонтрольПродажиДробногоКоличестваЗапретитьОтрицательныеОстаткиДополнятьШтрихКодНулямиДо13ЗнаковВыбиратьЕдиницуПриРегистрацииПоКодуЗапрашиватьКоличествоПриПодбореРазделятьТриадыЗапретитьВводКоличестваРазрешитьПродажуПоСвободнойЦенеЗапретитьЗакрытиеНулевогоЧека

ДОПОЛНИТЕЛЬНЫЕ

  • РазрешитьВидОплаты2НазваниеВидаОплаты2

  • РазрешитьВидОплаты3НазваниеВидаОплаты3

  • РазрешитьВидОплаты4НазваниеВидаОплаты4

  • ПечататьШтрихКодЧекаПрефиксШтрихКодаЧека

  • ВыборПлатежнойКартыПриОплате

ОБМЕН

  • СпособОбменаДанными

  • ВремяВозобновленияСвязи

  • АвтоматическаяЗагрузка

  • АвтоматическаяВыгрузка

  • ИмяФлагаЗагрузки

  • ИмяФлагаВыгрузки

  • ИмяФайлаСправочника

  • ИмяФайлаОтчета

  • ЗапросРеквизитов

  • ИмяФайлаЗапросаРеквизитов

  • ИмяФайлаВыгрузкиРеквизитов

ОБОРУДОВАНИЕ

  • ИспользоватьККМ

  • ТипСканера

  • РаботаСДисплеем

  • ТипДисплея

  • СтрокаПриПростое1

  • СтрокаПриПростое2

  • ИнтервалСтрокиПриПростое

  • СообщениеВНерабочемСостоянии1

  • СообщениеВНерабочемСостоянии2

  • ВыводитьПромИтогНаДисплей

  • РаботаСВесами

СКИДКИ

  • МаксПроцентнаяСкидкаНаПозицию

  • МаксПроцентнаяНадбавкаНаПозицию

  • МаксСуммоваяСкидкаНаПозицию

  • МаксСуммоваяНадбавкаНаПозицию

  • МаксПроцентнаяСкидкаНаЧек

  • МаксПроцентнаяНадбавкаНаЧек

  • МаксСуммоваяСкидкаНаЧек

  • МаксСуммоваяНадбавкаНаЧек

  • РазрешитьАвтоматическиеСкидкиАвтоматическаяСкидкаНаПозицию

  • АвтоматическаяСкидкаНаЧек

  • РазрешитьФиксированныеСкидкиРазрешитьНакопительныеСкидкиОбъединениеСкидокНаЧек

ДИСКОНТНАЯ СИСТЕМА «AVANTAGE»

  • AvantageКодМагазина

  • AvantageТерминал

  • AvantageПрефикс

  • AvantageФИО

  • AvantageТекст

  • AvantageСервер

  • AvantageЛогин

  • AvantageПароль

  • AvantageОкругление

  • AvantageНазваниеОплаты

  • AvantageДопРеклама

  • AvantageТаймаут

  • AvantageСтрокаКлише

  • AvantageСтрокаМультипликатора

ДЛЯ ЗАГРУЗКИ

  • ВключитьЗапретПродажиАлкоголя

  • AvantageПрефиксПартнера1

  • AvantageПрефиксПартнера2

  • ПечататьОтчетПоНалогамПередСнятиемZОтчета

  • ПечататьОтчетПоСекциямПередСнятиемZОтчета

  • ПечататьИННкассира

  • ИспользоватьВесовыеШтрихкоды

  • СНПоУмолчанию

  • СНПоСекциям

  • ОтключениеПечатиНаЧековойЛенте

  • ОтключениеПечати_ЗадаватьВопрос

  • ОтключениеПечати_ФискальныеОтчеты

  • ОтключениеПечати_ВнесениеВыплата

  • ОтключениеПечати_НефискальныеОтчеты

  • ОтключениеПечати_БанковскиеСлипы

  • ПрименятьДанныеПокупателяИзДК

  • СохранятьДанныеПокупателяВДК

  • ВводДанныхПокупателяПередЗакрытиемЧека

  • ОтключениеПечати_ПочтаПоУмолчанию

  • ОтключениеПечати_ОтложенныеЧеки

  • ОтключениеПечати_СкладскиеДокументы

  • РазрешитьОтказОтВводаМарки

  • ОтказОтВводаМарки_ТипыМаркировки

РАБОТА С КАРТАМИ

  • АвтоматическаяСкидкаНаКарту

  • УчитыватьСуммуТекущегоЧекаВестиУчетКредитаПоКартамКонтрольКредитаПоказы атьРеквизитыКартыСпособВыбораПлатежнойКарты

НАЛОГИ

  • ИспользоватьНалогиНалоговаяСхемаПоУмолчанию

ПРОДАВЦЫ

  • ОбязательныйВыборПродавцаСпособВыбораПродавца

  • ВыбиратьПродавца

*- данные константы могут принимать значение 0 или 1. 0 – соответствует выключенному состоянию (у константы флаг сброшен), 1 – включенному.

Кроме нужных данных файл загрузки может содержать служебные команды, необходимые для корректной загрузки данных. Служебные команды располагаются или в первой или в последней строке файла загрузки и начинаются с символов "$$$".

Допускаются следующие служебные команды:

"$$$ADD" - добавление количества товара;

"$$$RPL" - замещение количества товара;

"$$$CLR" - очистка справочника товаров перед загрузкой;

"$$$DEL" - выборочное удаление.

Вместе с командой "$$$CLR" допустимы следующие команды (должны содержаться в той же строке, что и "$$$CLR"):

{NO_TOV} – очистка справочника товаров не производится

{AUT_S} – очистка схем автоматических скидок

{ACC_S} – очистка накопительных скидок

{DIS_C} – очистка списка дисконтных карт

{USR} – очистка справочника пользователей

{NAB_P} – очистка наборов прав

{FIX_S} – очистка фиксированных скидок

{V_SHK} – очистка весовых штрих-кодов

{PAY_C} – очистка списка платежных карт

{GR_NL} – очистка налоговых групп

{PROD} – очистка списка продавцов

Файл выгрузки продаж

Файл отчета о продажах товара состоит из двух частей: шапки файла и информации о продажах.

Шапка файла состоит из двух строк:

- Первая строка – признак обработки данного файла товароучетной программой "#" (1 символ). После обработки файла АСТУ символ "#" должен быть заменен на "@" для возможности выгружать другие отчеты в файл с тем же именем.

- Вторая строка содержит логический номер ККМ.

- Третья строка содержит порядковый номер отчета.

После шапки файла следует информация о продажах товара. Отчет о продажах представлен в виде последовательности транзакций, правила формирования которых представлены ниже. Одна строка текстового файла содержит информацию об одной транзакции. Данные в строке разделяются «;» и располагаются в порядке, приведенном в таблице ниже:

Назначение 1-7 полей фиксированное, а 8-12 зависит от типа транзакции и приводится в следующей таблице:

Расшифровка параметров:

(1) Вид скидки: 0 – ручная скидка, 1 – фиксированная скидка, 2 – автоматическая скидка, 3 – скидка по дисконтной карте;

(2) Параметр скидки 1 = код схемы скидки в случае автоматической скидки, код дисконтной карты в случае скидки по дисконтной карте;

(3) Параметр скидки 2 = код автоматической скидки в случае автоматической скидки, сумма чека в случае скидки по дисконтной карте при скидке на чек в 71 транзакции;

(4) Вид отчета: 1 – отчет по кассирам, 2 – отчет по часам, 3 – отчет по товарам, 4 – отчет по секциям.

(5) Код плат. cистемы: 0 – отчет по картам Сбербанка, 1 – отчет по картам STB.

Расшифровка принятых цветовых обозначений:

Товароучет для ШТРИХ-М: Торговое предприятие*

При выгрузке транзакций сразу после одной из этих транзакций идет выгрузка самого документа в одном из следующих форматов:

Для транзакций 301, 302, 308, 310:

<Document store=”КодСклада”>

КодТовара;Количество;

КодТовара;Количество;

КодТовара;Количество;

</Document>

Для транзакций 307:

<Document store=”КодСклада” storeto=КодСкладаПолучателя”>

КодТовара;Количество;

КодТовара;Количество;

КодТовара;Количество;

</Document>

Где: КодСклада – числовой код склада из документа

КодСкладаПполучателя – числовой код склада получателя из документа

КодТовара – код товара из строки табличной части документа

Количество – количество товара из строки табличной части документа

СтараяЦена – старая цена товара из строки табличной части документа переоценки

НоваяЦена –новая цена товара из строки табличной части документа переоценки

Файл прихода товара

Файл создается АСТУ и обрабатывается РМК при переходе в режим "Приход товара". Файл состоит из двух частей: шапки файла и информации о поступившем товаре.

Шапка файла состоит из трех строк:

- Первая строка содержит признак загрузки файла (# - файл не загружался, @ - файл загружался).

- Вторая строка содержит логический номер ККМ.

- Третья строка содержит идентификатор и порядковый номер приходной накладной.

После шапки файла следует информация о приходе товара. Данные в строке разделяются ";" и располагаются в порядке, приведенном в таблице ниже:

Файл результатов прихода товара

Файл создается РМК после закрытия документа "Приход товара". Файл создается с тем же именем и в той же папке, что и соответствующий файл прихода товара, только меняется расширение на '.out".

Файл состоит из двух частей: шапки файла и списка оприходованных товаров.

Шапка файла состоит из трех строк:

- Первая строка содержит признак загрузки файла (# - файл не загружался, @ - файл

загружался).

- Вторая строка содержит логический номер ККМ.

- Третья строка содержит идентификатор и порядковый номер приходной накладной.

После шапки файла идет список оприходованных товаров. Данные в строке разделяются ";" и располагаются в порядке, приведенном в таблице ниже:

При создании файла результатов в соответствующем файле прихода товаров выставляется признак загрузки @ - файл загружался

Файл результатов инвентаризации

Файл создается РМК после закрытия документа "Инвентаризация". Файл создается в папке, указанной в поле "Каталог обмена" с именем 'inv.out".

Файл состоит из двух частей: шапки файла и списка инвентаризованных товаров. Шапка файла состоит из трех строк:

- Первая строка содержит признак загрузки файла (# - файл не загружался, @ - файл загружался).

- Вторая строка содержит логический номер ККМ.

- Третья строка зарезервирована для будущего использования.

После шапки файла идет список инвентаризированных товаров. Данные в строке разделяются ";" и располагаются в порядке, приведенном в таблице ниже:

Файл остатков товара

Файл остатков товара состоит из двух частей: шапки файла и информации о продажах.

Шапка файла состоит из двух строк:

- Первая строка содержит идентификатор что это "Остатки товара" .

- Вторая строка содержит логический номер ККМ.

После шапки файла следует информация об остатках товара. Данные в строке разделяются ";" и располагаются в порядке, приведенном в таблице ниже:

Файл прихода алкогольной продукции

Файл создается АСТУ и обрабатывается РМК при переходе в режим "Приход алкогольной продукции". Формат файла следующий:

....

<document_object store="store" date="date" doctype="8"

supplier=”supplier” inn=”inn”>

КодТовара;Количество;

КодТовара;Количество;

. . .

КодТовара;Количество;

</document_object>

....

где:

store – код склада,

date – дата документа,

doctype - тип документа (для прихода алкогольной продукции равен 8), supplier – код контрагента, inn – ИНН контрагента.

Автоматический обмен данными

В автоматическом режиме обмена возможны два вида передачи данных:

- загрузка данных (товаров);

- выгрузка данных (продаж);

- Во всех случаях инициатором обмена выступает АСТУ. Командами о необходимости загрузить или выгрузить данные являются служебные файлы, настраиваемые в Настройках программы/Обмен/Загрузка данных (или Выгрузка данных соответственно). После выполнения команды или в случае возникновения ошибки в процессе ее выполнения программа удаляет служебный файл-флаг.

Загрузка данных (товаров)

Последовательность передачи товаров в программу следующая:

1) Если служебный файл-флаг уже находится по указанному пути, программа осуществляет обработку предыдущей команды, возможно сформированной другой рабочей станцией. В этом случае необходимо в течение определенного времени (рекомендуется 10 сек) подождать, пока программа обработает "чужой" запрос, т.е. дождаться удаления служебного файла.

2) АСТУ формирует файл с загружаемыми товарами.

3) АСТУ создает служебный файл-флаг.

4) Программа загружает файл с товарами.

5) Программа удаляет служебный файл-флаг.

Выгрузка данных (продаж)

Последовательность выгрузки продаж из программы следующая:

1) Если служебный файл уже находится по указанному пути, программа осуществляет обработку команды, сформированной другой рабочей станцией. В этом случае необходимо в течение определенного времени (рекомендуется 10 сек) подождать, пока программа обработает чужой запрос, т.е. дождаться удаления служебного файла.

2) АСТУ создает служебный файл-флаг, в котором можно указать какие транзакции выгружать в отчете.

3) Программа записывает файл с продажами.

4) Программа удаляет служебный файл-флаг.

5) АСТУ в течение определенного времени (рекомендуется 30 сек) ожидает обработки своего запроса, т.е. дожидается удаления служебного файла.

Файл-флаг

Файл-флаг может содержать от 0 до 3-х строк и иметь следующий формат:

Если в строке с диапазоном не указан первый параметр, то выгрузка будет произведена с самой первой транзакции в таблице; если не указан второй параметр, то выгрузка будет произведена по самую последнюю транзакцию.

Ручной обмен данными

В ручном режиме обмена возможны два вида передачи данных:

- Загрузка данных (товаров).

- Выгрузка данных (продаж).

Загрузка данных (товаров)

Последовательность передачи товаров в программу следующая:

1) АСТУ записывает файл с товарами.

2) Оператор ККМ выполняет функцию "Загрузить справочник"

Выгрузка данных (продаж)

Последовательность выгрузки продаж из программы следующая:

1) Оператор ККМ выполняет функцию "Выгрузка отчета".

2) АСТУ загружает файл с продажам.