Файл загрузки данных формата SPR

Файл предназначен для передачи справочных данных от товароучетной системы к кассовому ПО.
Синоним — «Файл справочников».
Формат файла является модификацией CSV формата. Используется определенный формат полей файла.

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

Шапка файла

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

первая строка — строка инициализации файла «##@@&&» (6 обязательных символов);

вторая строка — признак загрузки данного файла «#» или «@» (1 символ).

Работа с признаком загрузки файла осуществляется по следующему сценарию.
Товароучетная система формирует файл справочников с признаком загрузки «#».
Кассовое ПО открывает файл монопольно, загружает файл и меняет признак загрузки на «@».
После обработки файл освобождается.

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

Таблица допустимых служебных команд.

Команда	Описание
$$$ADD	добавление количества товара
$$$RPL	замещение количества товара
$$$CLR	очистка справочников перед загрузкой

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

Таблица дополнительных флагов команды очистки.

Имя флага	Описание	ПО1) Определяет принадлежность к специализированному ПО. Обозначения: Пусто -- используется для всех, Б -- Бармен, Официант.
{NO_TOV}	запрещает очистку справочника товаров
{GR_TOV}	очистка скидочных групп товаров2) Флаг используется только для очистки скидочных групп товара при загрузке с флагом {NO_SUBORD_CLR}
{AUT_S}	очистка схем автоматических скидок
{DIS_C}	очистка списка дисконтных карт
{USR}	очистка справочника пользователей
{NAB_P}	очистка наборов прав
{FIX_S}	очистка фиксированных скидок
{V_SHK}	очистка весовых штрихкодов
{PAY_C}	очистка списка платежных карт
{PAY_T}	очистка видов платежных карт
{NAL}	очистка списка налогов
{GR_NL}	очистка налоговых групп
{PROD}	очистка списка продавцов
{B_CRD}	очистка списка банковских кредитных карт
{MES}	очистка списка сообщений по дисконтным картам
{VAL}	очистка списка валют
{HOT_K}	очистка «горячих» клавиш
{MOB_OP}	очистка справочника операторов связи
{COM_GR_TOV}	очистка групп товаров
{COM_GR_DC}	очистка групп дисконтных карт
{COM_GR_PT}	очистка групп видов оплат
{SKL}	очистка складов
{DIS_P}	очистка реквизитов дисконтных карт
{DOC_TYPE}	очистка типов документов
{DOC_REC}	очистка типов реквизитов документов
{SPR_TYPE}	очистка типов справочников документов
{SPR_DOC}	очистка справочников документов
{SERT}	очистка сертификатов
{PAY_TYPE}	очистка видов оплат
{APP_SCH}	очистка схем применимости
{LBL_CPLX}	очистка комплексов этикетирования
{MES_ATTR}	очистка атрибутов сообщений
{COM_GR_GF}	очистка групп разрезов характеристик
{GOOD_F}	очистка справочника характеристик
{TOV_F}	очистка справочника разрезов характеристик
{PRAVA_P}	очистка определяемых пользователем прав
{STOL_TYPE}	очистка типов столов	Б
{ZAL}	очистка залов и столов	Б
{MODIF}	очистка модификаторов	Б
{MENU}	очистка меню	Б
{PRICH_OTKAZ}	очистка причин отказов	Б
{KAT_TOV}	очистка категорий блюд	Б
{MENU_DOST}	очистка условий доступности меню	Б
{PECH_NAPR}	очистка направлений печати	Б
{INC_FLOW}	Очистка справочника причин внесения/выплаты
{NO_SUBORD_CLR}	Отключает очистку всех подчинённых при загрузке владельца
{MES_USR}	Очистка регистра сообщений кассиру
{PRODUCER}	Очистка справочника Производители ЕГАИС алкогольной продукции
{SDDS}	Очистка справочника Статьи движения денежных средств
{PST}	Очистка справочника Причины списания товаров
{HK_DECOR}	Очистка справочника Оформление горячих клавиш
{HK_SSCO}	Очистка справочника Горячие клавиши КСО
{PLAYLIST}	Очистка справочника Плейлисты
{PRICH_OPER}	Очистка справочника Причины операции
{RS}	Очистка справочника Наборы прав по расписанию
{ORG}	Очистка справочника Организации
{FIRM}	Очистка справочника Фирмы
{PRICH_VOZVRAT}	Очистка справочника Причины возвратов от покупателей
{PRICH_VOZVRAT_POST}	Очистка справочника Причины возврата поставщикам
{PRICH_PEREM}	Очистка справочника Причины перемещения
{PRICH_OPRIH}	Очистка справочника Причины оприходования товаров
{KRAN}	Очистка справочника Краны
{LOTTERY}	Очистка Товаров для продажи лотерейных билетов
{PAY_P}	Очистка справочника свойств платежных карт

Состав файла

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

В одной строке файла записывается информация об одном элементе справочника или одна управляющая команда. Реквизиты загружаемых данных разделяются «;».

Строка начинается с символа «<». Далее до пробела следует имя открывающегося тега. Текущая строка или несколько следующих (до закрывающегося тега) содержат информацию о загружаемом элементе, согласно формату реквизитов этого элемента в файле. В строках с таким форматом символ

"

(двойная кавычка) в значениях реквизитов нужно заменять на последовательность символов

&qout;

, чтобы Кассир 5 мог корректно загрузить кавычки в значениях 3) Реализовано в релизах Кассир 5.1.7.16+ .

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

Строка без префикса содержит реквизиты товара.

Таблица префиксов, используемых в файле справочников.

Префикс	Загружаемый объект	ПО1)
#	Единицы измерения товара
?	Дополнительные цены товара
!	Схемы автоматических скидок/надбавок
@	Автоматические скидки/надбавки
%	Дисконтные карты
^	Фиксированные скидки
)	Платежные (кредитные) карты
~	Наборы прав
~~	Добавить право в набор прав
~*	Права пользователей
&	Пользователи
(	Весовые штрихкода
+	Налоги
*	Налоговые группы
}	Сообщения по дисконтным картам
[	Продавцы
’	Горячие клавиши
«	Товары на горячих клавишах
'{	Оформление горячих клавиш
'$	Горячие клавиши КСО
{+	Товары-условия товарных скидок
{-	Товары-результаты товарных скидок
\	Виды сертификатов
/	Сертификаты
\+	Группы товаров, являющихся условиями применения сертификата
\*	Товары для продажи сертификатов
\\	Товары для продажи лотерейных билетов (НЛ)
\\*	Товар для выплаты выигрыша (НЛ)
{*	Справочники документов
<appscheme	Схемы применимости оплаты
{!	Схемы применимости оплаты
{!*	Применимость оплаты
{&	Комплекс этикетирования
{&#	Товары комплекса этикетирования
{&%	Сообщения комплекса этикетирования
{^^	Сообщения
{^%	Атрибуты сообщений
{%^!	Типы столов	Б
{%^@	Залы	Б
{%^#	Столы	Б
{%^$	Модификаторы	Б
{%^%	Меню	Б
{%^^	Причины отказов	Б
{%^&	Категории блюд	Б
{%^*	Условия доступности меню	Б
{%^(	Направления печати	Б
{%^)	Единицы тарификации	Б
{%^+	Заказы	Б
{%^++	Транзакции заказов	Б
{%^-	Схемы тарификации	Б
{%^--	Тарифицируемые товары схем тарификации	Б
{%^=	Тарифы	Б
{%^==	Товары-условия тарифов	Б
{@	Параметры разрезов характеристик товара
{#	Разрезы характеристик товара
{№	Цены и остатки разрезов характеристик товара
{^$	Причины внесения/выплаты
{^#	Статьи движения денежных средств
{^!	Причины списания товаров
{^@	Причины операции
{^&	Причины возвратов от покупателей
{^*	Причины возврата поставщикам
{^}	Причины перемещения
{^{	Причины оприходования товаров
!!	Напоминания
$	Краны оборудования для розлива
<description	Описание товара
<sticker	Текст для этикетки товара
<goods_attr	Дополнительный реквизит товара
<htmldescription	html описание товара (URL)
<payment_type	Виды оплаты
<store	Склады
<price_change	Документ «Переоценка»
<discount_card_property	Справочник свойств дисконтных карт
<discountcard	Дополнительные реквизиты дисконтных карт
<group_tov	Справочник «Группы товаров»
<group_dc	Справочник «Группы дисконтных карт»
<group_pt	Справочник «Группы видов оплат»
<group_gf	Справочник «Группы разрезов характеристик»
<document_type	Справочник «Типы документов»
<document_fields_type	Справочник «Типы реквизитов документов»
<document_catalogs_type	Справочник «Типы справочников документов»
<document_object	Универсальный документ
<good_feature	Справочник «Характеристики»
<delete	Удалить элемент справочника
<delete_document	Удалить документ
|	Константы/настройки
{=	Изменение цены и остатка товара
{=)	Изменение кредита платежной карты
{=%	Изменение накоплений дисконтной карты
<paymentcard_limit	Ограничения оплаты товаров кредитной картой
<paymentcard_type	Виды платежных карт
<goods_set	Состав набора
]+	Производители ЕГАИС алкогольной продукции
]-	Товары ЕГАИС производителей алкогольной продукции
{\	Организации
<playlist	Рекламные плейлисты
<rights_override	Наборы прав по расписанию
<firms	Фирмы
<product_group	Товарные группы
<period_attr	Периодические реквизиты товаров
<paymentcard_card_property	Справочник свойств платежных карт
<paymentcard	Значения свойств платежных карт