Как настроить подарочные сертификаты в РИБ и исправить ошибку ККТ 36h в 1С:Розница

Программист 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

В розничной торговле подарочные сертификаты являются мощным инструментом привлечения покупателей и увеличения среднего чека. Однако при работе в распределенной розничной сети (РИБ) с использованием нескольких кассовых аппаратов технические специалисты часто сталкиваются со специфическими трудностями. В этой статье мы подробно разберем, как устроена логика гашения сертификатов в разных магазинах одной сети, и как решить распространенную проблему с ошибкой ККТ 36h («Некорректные параметры в команде») при продаже нескольких сертификатов на кассе.

---

1. Как устроена логика гашения подарочных сертификатов в сети магазинов (РИБ)

Для начала разберем бизнес-логику работы с подарочными сертификатами в «1С:Розница». С технической точки зрения подарочный сертификат не является классическим товаром. Это бланк строгой отчетности, подтверждающий получение компанией авансового платежа от покупателя. Учет номиналов и жизненного цикла сертификатов ведется в разрезе серийных номеров.

Каждый подарочный сертификат имеет определенный статус в системе:

Возможно ли продать сертификат в одном магазине, а погасить в другом?

Да, типовой функционал «1С:Розница 2.2 / 2.3» полностью поддерживает кросс-магазинную оплату. Но для корректной работы этой схемы в распределенной информационной базе (РИБ) необходимо учитывать два важнейших фактора: синхронизацию данных и механизм списания серийных номеров.

Аспекты синхронизации данных:
Если покупатель приобретает сертификат в Магазине №1, документ Чек ККМ (или документ реализации) фиксирует смену статуса серийного номера на Продан. Чтобы этот сертификат можно было принять к оплате в Магазине №2, информация о продаже должна быть передана через центральный узел РИБ в базу Магазина №2.

Если обмен данными между точками происходит редко (например, раз в день), возникнет классическая коллизия: покупатель, мгновенно приехавший в другой магазин сети, не сможет отоварить карту. Касса Магазина №2 выдаст ошибку, так как в локальной базе этот серийный номер все еще имеет статус Создан, а не Продан.

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

  1. Настройка регламентного обмена РИБ с высокой частотой (каждые 10–15 минут).
  2. Использование централизованного Сервера лояльности. Это специализированный веб-сервис в рамках экосистемы 1С, который позволяет кассам в режиме реального времени запрашивать актуальный статус подарочного сертификата напрямую из центральной базы, минуя задержки обменов РИБ.

Развенчиваем миф о блокировке складов:
У многих начинающих специалистов возникает вопрос: если в регистре накопления ДвиженияСерийныхНомеров отправителем и получателем значатся конкретные склады торговых точек, не заблокирует ли система гашение сертификата на «чужом» складе?

Выясним причину: регистр ДвиженияСерийныхНомеров отвечает исключительно за складской учет физических «болванок» (пластиковых карт как бланков строгой отчетности). При продаже сертификата происходит физическое списание пластиковой карточки со склада Магазина №1. В Магазине №2 при гашении сертификата физическое движение пластика не происходит (он уже находится на руках у клиента). На кассе Магазина №2 оформляется финансовый зачет аванса. Система проверяет только финансовый статус серийного номера (что он действительно Продан), складской учет бланка на этой точке контролировать не требуется.

Как обрабатывать «директорские» подарки в обход стандартной продажи?

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

Для реализации этой схемы необходимо выполнить ручную корректировку статусов. Мы можем использовать один из следующих вариантов:

  1. Оформить документ Реализация товаров и услуг на контрагента (например, на самого директора или на статью представительских расходов) со 100% скидкой. Это переведет сертификат в статус Продан.
  2. Использовать документ Корректировка регистров для принудительного изменения состояния серийного номера в регистре сведений, отвечающем за статусы сертификатов.

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


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	СостоянияПодарочныхСертификатовСрезПоследних.Состояние КАК Состояние,
    |	СостоянияПодарочныхСертификатовСрезПоследних.Номинал КАК Номинал
    |ИЗ
    |	РегистрСведений.СостоянияПодарочныхСертификатов.СрезПоследних(&Период, ПодарочныйСертификат = &Сертификат) КАК СостоянияПодарочныхСертификатовСрезПоследних";

Если срез последних возвращает состояние, отличное от разрешенного для продажи или гашения, кассир получит отказ в проведении операции.

---

2. Природа ошибки 36h («Некорректные параметры в команде для данной реализации ККТ»)

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

36h Некорректные параметры в команде для данной реализации ККТ

Эта ошибка характерна для фискальных регистраторов марок Атол и Штрих-М, работающих по протоколам ФФД 1.05 и ФФД 1.2.

Проанализируем ситуацию и выясним причину сбоя. Проблема кроется в математических округлениях и жестких правилах форматно-логического контроля (ФЛК), встроенных в прошивку самой кассы:

---

3. Пошаговая инструкция по исправлению ошибки 36h

Для устранения этой ошибки не требуется переписывать программный код или менять конфигурацию. Все необходимые инструменты уже встроены в типовой функционал интеграции ККТ с «1С:Розница».

Разберем по шагам процесс исправления настройки интеграции:

  1. Откройте программу «1С:Розница» с правами администратора системы.
  2. Перейдите в раздел Администрирование, далее выберите пункт Подключаемое оборудование.
  3. Найдите в списке используемый фискальный регистратор (ККТ с передачей данных) и откройте его карточку двойным кликом мыши.
  4. В открывшемся окне нажмите кнопку Настроить... для перехода к параметрам связи с драйвером ККТ.
  5. В форме настроек найдите параметр «Способ форматно-логического контроля» (ФЛК). По умолчанию это поле может быть пустым или иметь значение «Не контролировать».
  6. Принудительно установите значение параметра ФЛК в режим «Разделять строки».
  7. Нажмите кнопку Записать и закрыть для сохранения внесенных изменений. Повторите процедуру для всех касс в сети.

Как работает режим «Разделять строки»?

Рассмотрим подробнее физику процесса. Когда включен режим Разделять строки, алгоритм подготовки XML-пакета чека в 1С начинает работать следующим образом. Если система фиксирует математическую погрешность округления при расчете множества позиций, она программно дробит одну номенклатурную позицию на несколько строк в чеке с разными ценами (разница составит 1 копейку).

Например, вместо передачи в ККТ строки:
Подарочный сертификат 1000 руб. — 2 шт. на общую сумму 1999.99 руб. (скидка 1 коп.)
Программа передаст ККТ две раздельные строки:
1. Подарочный сертификат 1000 руб. — 1 шт. по цене 1000.00 руб.
2. Подарочный сертификат 1000 руб. — 1 шт. по цене 999.99 руб.

С точки зрения покупателя и итоговой суммы чека ничего не меняется — общая сумма к оплате остается абсолютно точной. Но с точки зрения логических проверок кассы математическое равенство 1 * Цена = Сумма выполняется идеально для каждой строчки. Конфликт округления внутри ККТ полностью исчерпывается, и ошибка 36h гарантированно пропадает.

---

4. Дополнительные рекомендации для стабильной работы ККТ

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

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

← На главную