Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.27.1719)
Расширение содержит структуры и алгоритмы для работы с маркировкой в самописной конфигурации:
- API ТС "ПИоТ" v2:
- Проверка кода (/api/v2/codes/check).
- Регистрация продажи (/api/v2/lmSell).
- Регистрация возврата (/api/v2/lmReturn).
- Форма сканирования марок:
- Работа со сканером штрихкодов.
- Автоматическая проверка дублей.
- Цветовая индикация статуса ввода.
- Пример для ККТ:
- Готовый кусок кода получения Base64 марки для встраивания в вашу фискализацию.
- Сама отправка в ККТ не реализована (только шаблон).
Что нужно доделать программисту
- Перенести недостающие реквизиты в ваш документ “Чек”.
- Настроить условное оформление строк.
- Встроить получение Base64 в процедуру печати фискального чека вашей конкретной ККТ.
Для применения этого расширения к вашей конфигурации требуются интеграционные работы.
В данном расширении нет реализации ФФД. Подразумевается, что формат ФФД 1.2 уже реализован в вашей конфигурации. В модуле формы документа r1065_Чек в области ДляККТ оставлен пример получения кода маркировки в формате Base64 для передачи в ККТ.

Расширение НЕ отправляет теги ФФД в ККТ. Разработчик должен самостоятельно встроить полученный Base64 (из примера в модуле) в структуру фискального документа согласно требованиям вашей ККТ.
В этом расширении реализованы три api ТС “ПИоТ” версии v2 на основании документа “Протокол интеграции ЕСМ для разработчиков ПМСР v1.1” скачать протокол
- /api/v2/codes/check - проверка кода.
- /api/v2/lmSell - регистрация продажи.
- /api/v2/lmReturn - регистрация возврата.
Вы можете самостоятельно запросить актуальную версию протокола и другую информацию для организации взаимодействия с ТС “ПИоТ”, отправив запрос на адрес эл. почты разработчика integration@ao-esp.ru.
Тесты проводились только на эмуляторе “ЕСМ” https://esm-emu.ao-esp.ru/.
в онлайн: https://esm-emu.ao-esp.ru/api/v2/codes/check
в офлайн: https://esm-emu.ao-esp.ru/api/v2/codes/ checkoffline.
Подготовительный этап для внедрения расширения
- Для наглядного отображения строк табличной части вашего документа добавьте условное оформление как в образце (документ расширения r1065_Чек). Условное оформление не влияет на логику работы, но необходимо для корректного отображения статуса строки оператору.
- Условное оформление строк ТЧ Товары:
- Если Маркировка = Истина И МаркировкаЗаполнена = Истина - светло зеленый.
- Если Маркировка = Истина И МаркировкаЗаполнена = Ложь И КодМаркировкиОтсутствует = Истина - светло зеленый.
- Если Маркировка = Истина И МаркировкаЗаполнена = Ложь И КодМаркировкиОтсутствует = Ложь - светло красный.
- Если при попытке проведения документа будет не заполнена маркировка или не установлена галочка КодМаркировкиОтсутствует, тогда автоматически откроется форма ввода маркировки и документ не будет проведен. Допишите код, чтобы перед фискализацией выполнялась такая проверка.
- В табличную часть документа Чек добавить следующие реквизиты (пример и типы данных см. в расширении):
- УидСтроки
- Маркировка - если товар подлежит маркировке, тогда этот реквизит имеет значение Истина.
- КодМаркировкиОтсутствует - в этом реквизите галочка Истина если товар маркируемый, но код отсутствует. Если товар не маркируемый, тогда эта галочка недоступна.
- Условное оформление строк ТЧ Товары:
- Если Маркировка = Истина И МаркировкаЗаполнена = Истина - светло зеленый.
- Если Маркировка = Истина И МаркировкаЗаполнена = Ложь И КодМаркировкиОтсутствует = Истина - светло зеленый.
- Если Маркировка = Истина И МаркировкаЗаполнена = Ложь И КодМаркировкиОтсутствует = Ложь - светло красный.
- УидСтроки
- Маркировка - если товар подлежит маркировке, тогда этот реквизит имеет значение Истина.
- КодМаркировкиОтсутствует - в этом реквизите галочка Истина если товар маркируемый, но код отсутствует. Если товар не маркируемый, тогда эта галочка недоступна.
Форма ввода кода маркировки
- Для ввода кода маркировки в форме документа Чек нажмите команду ДобавитьДанныеМаркировки. Ее нажатие открывает специальную форму, в которой отображается информация о текущей номенклатуре:
- наименование
- наименование производителя
- номер производителя

- Код маркировки вводится сканером. Ввод тестировался на драйвере “1С:Сканеры штрихкода (COM)” скачать драйвер.

- Код маркировки хранится в регистре сведений ДанныеМаркировкиНоменклатуры.
- После сканирования перед добавлением кода выполняется автоматическая проверка:
- Не был ли такой код добавлен ранее другой номенклатуре в текущем чеке. Если был, то выводится сообщение: "Такой код маркировки уже присвоен!" и код не присваивается повторно.
- Не был ли присвоен код номенклатуре ранее в текущем чеке. Если был, то выводится сообщение: "Этой номенклатуре уже присвоен код маркировки!" и код не присваивается повторно.
- Если код был присвоен по ошибке, то красным крестиком отменяется его связь с номенклатурой.
- наименование
- наименование производителя
- номер производителя


- Не был ли такой код добавлен ранее другой номенклатуре в текущем чеке. Если был, то выводится сообщение: "Такой код маркировки уже присвоен!" и код не присваивается повторно.
- Не был ли присвоен код номенклатуре ранее в текущем чеке. Если был, то выводится сообщение: "Этой номенклатуре уже присвоен код маркировки!" и код не присваивается повторно.
- Если код был присвоен по ошибке, то красным крестиком отменяется его связь с номенклатурой.

- Кнопками Далее и Назад можно переключаться между номенклатурой, для которой требуется присвоить код маркировки.
- Маркировка присваивается “на лету”, т.е. при чтении кода она автоматически записывается в регистр сведений ДанныеМаркировкиНоменклатуры.
- Если код не присвоен, то напротив наименования номенклатуры отображается желтый восклицательный знак.

- Если маркировка для номенклатуры присвоена, то рядом с названием номенклатуры отображается зеленая галочка.

- После присвоения кода зеленая галочка отображается одну секунду и выполняется автоматический переход к следующей номенклатуре.
- Нажатие кнопки Ок закрывает форму ввода маркировки и обновляет условное оформление в форме документа Чек.
.
- Если в документе нет номенклатуры, подлежащей маркировке, тогда после нажатия команды ДобавитьДанныеМаркировки открывается окно с сообщением: “Отсутствует маркируемая номенклатура”.

- Рекомендованный порядок заполнения данных маркировки.
- Сначала через форму ввода маркировки вводятся коды сканером.
- Затем устанавливаются галочки об отсутствии маркировки в форме документа (если это актуально).
ТС ПИоТ
- Для работы с “ТС ПИоТ” используется стандарт API v2.
- Для активации проверки кодов маркировки требуется установить галочку Использовать "ТС ПИоТ".

- Проверка выполняется (/api/v2/codes/check):
- В форме ввода маркировки.
- Если введена маркировка которую невозможно продать, тогда появляется сообщение с описанием причины запрета или с описанием ошибки, препятствующей этому и маркировка не присваивается.
- Если запись в РС ДанныеМаркировкиНоменклатуры существует, значит проверка была пройдена успешно. В комментарии сохраняется история добавления строки.
- В форме ввода маркировки.

- Также в карточке записи регистра сведений ДанныеМаркировкиНоменклатуры можно выполнить все три запроса - check, lmSell, lmReturn.

- Учитывая то, что есть условия при которых ТС “ПИоТ” может разрешить продажу маркировки в ОнЛайн, ОффЛайн и в Аварийном режиме (без ее проверки), то в записи регистра сведений ДанныеМаркировкиНоменклатуры в поле Комментарий ведется история и результаты выполнения запросов ТС “ПИоТ”.

- Перед отправкой чека на фискализацию проверка кодов маркировки не выполняется, т.к. они проверяются перед добавлением в Чек в форме ввода маркировки.
- Рекомендуется в случае ошибок lmSell, lmReturn при закрытии кассовой смены или регламентным заданием выполнять повторную отправку запроса. В расширении реализована обработка только отправки запроса в момент фискализации. Механизм повторной отправки (регламентное задание) не входит в данное расширение и должен быть реализован отдельно.

- Если ТС “ПИоТ” не используется тогда:
- Проверка кода маркировки выполняться не будет. В регистр сведений ДанныеМаркировкиНоменклатуры будет добавляться маркировка с соответствующем Комментарием.

- При продаже или возврате такой маркировки обращение к ТС “ПИоТ” тоже не будет выполняться, а в регистр сведений ДанныеМаркировкиНоменклатуры будут добавлены соответствующие сообщения с признаком “Ошибка”.
- Запросы в ЛМ ЧЗ lmSell, lmReturn выполняются только после успешной фискализации чека на ККТ.
Если используется ТС “ПИоТ”, то при недоступности сервера ТС “ПИоТ” выводится сообщение об ошибке и маркировка не присваивается номенклатуре.
Вступайте в нашу телеграмм-группу Инфостарт