Обновление конфигурации Управление торговлей 10.3 для маркировки (Локальный модуль ЧЗ + ПиоТ)
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
- В обновлении поднят релиз до 10.3.88.4. Необходимо для того, чтобы запустились обработчики обновлений модулей ИСМП. Если используете клиент-серверную архитектуру, то в администрировании 1С в настройках БД разрешите рег.задания.
- Обязательно сделайте резервную копию, т.к. поднят режим совместимости конфигурации до "Версия 8.3.25". После обновления конфигурации обязательно выполнить тестирование и исправление, т.к. архитектура внутренних таблиц изменится.
- для пользователя, под которым выполняется обновление, требуется установить все базовые/основные роли ИСМП, ЕГАИС, ЭДО, МЧД и т.п.
- Для контроля успешности обновления подсистем ИСМП смотрите регистр сведений "Версии подсистем". БиблиотекаИнтеграцииИСМП должна быть свежей версии 10.1.30.108. УправлениеТорговлей = 10.3.88.4.
- Если обновление не прошло, смотрите журнал регистрации на наличие ошибок.
- Все важные изменения ищите в коде по комментарию //sweetand. Например для добавления нового вида маркируемой продукции.
- Обязательно обновите локальный модуль ЧЗ до последнего релиза и в настройке подключения к ЛМ ЧЗ измените версию обмена на V2.
- В настройке подключения ТС ПиоТ также укажите версию обмена V2.
- Поставьте галочку "Использовать токен формата UUID".
- Обмен с ЛМ ЧЗ и ТС ПиоТ происходит через api, не через драйвер ККТ.
- В архиве обновление конфигурации 10.3.88.4 + обработки обслуживания торгового оборудования для PosCenterkkt с поддержкой ПиоТ.
Гарантий никаких на успешное обновление не даю! Релиз предназначен для технических специалистов, которые могут разобрать появившиеся ошибки при обновлении и могут их поправить самостоятельно.
Версия 2.3
- исправлены ошибки работы с марками в оптовом звене.
Версия 2.2
- Честный знак с 13.10.2026 стал полностью закрывать доступ проверки марки в розничной торговле через true api. Все модули переведены на проверку только через ПиоТ.
Версия 2.1
- изменился алгоритм авторизации open api ЧЗ. Переход на новый механизм. Теперь нет токенов на год. При авторизации требуется запрашивать данные нового токена.
Версия 2.0
- исправлены ошибки работы клиент-серверной базы.
Версия 1.9
- Отлажен механизм работы с ПиоТ. Обновлены версии обработок обслуживания ККТ Атол + Постцентр.
Добавлена обработка групповых упаковок.

Версия 1.8
- Протестирован ККТ Атол. Запросы в ПиоТ, передача результата проверки оффлайн/онлайн в ЛК ЧЗ.
Версия 1.7
- исправлены модули по работе с ПиоТ.
Версия 1.6
- доработаны модули + обработка обслуживания для ККТ Атол.
Версия 1.5
- Убрана принудительная проверка марки через драйвер ККТ. NotSendToServer=False Убрано, т.к. ККТ Атол не отражает в ОФД марку М+.
Версия 1.4
- исправлена ошибка при повторном открытии проверки и подбора маркируемой продукции, терялся активный ключ сессии.
Версия 1.3
- исправлены ошибки при сканировании марки в документе Чек ККМ.
Версия 1.2
- исправлена ошибка при переходе по навигационной ссылке (недоступность метода в обычном приложении)
Версия 1.1
- Обновлены процедуры/функции в глобальных модулях маркировки.
- Добавлены новые виды продукции ИС.
- Исправлены ошибки при работе с ТСД.
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Обмен с ГосИС Бюджетный учет Регламентированный учет и отчетность Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление холдингом Химическая промышленность Государственные, бюджетные структуры Электротехника и микроэлектроника Машиностроение и приборостроение Металлургическая промышленность Россия Бухгалтерский учет Бюджетный учет Платные (руб)
Автоматизация раздельного учета в 1С:Бухгалтерии по ГОЗ в соответствии с 275-ФЗ. Готовое решение для учета госконтрактов, формирования отчетности и контроля исполнения. Поддержка военной приемки, НИОКР и требований Минпромторга. Профессиональный консалтинг и регулярные обновления продукта
40000 руб.
28.08.2020 576132 4228 145
Бюджетный учет Обмен с ГосИС Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)
Доработка конфигурации 1С:Бухгалтерия предприятия, редакция 3.0. реализована в виде расширения. Предназначена для ведения раздельного учета и автоматизации заполнения отчетности исполнения контрактов ГОЗ в конфигурациях 1С БП КОРП, ПРОФ, Базовая, БИТ.ФИНАНС.
62220 руб.
16.08.2019 108345 338 97
Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)
Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта алкогольной продукции. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.
1091 руб.
15.12.2015 188336 1403 374
Оптовая торговля Розничная торговля Обмен с ГосИС Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)
Решение создано для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Задавайте вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, накоплен опыт и знания по данным темам.
20900 руб.
18.03.2019 128301 108 115
Обмен с ГосИС Бухгалтер Пользователь 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 1С:РМК Ювелирная промышленность и торговля Россия Управленческий учет Платные (руб)
Интеграция для работы 1С с ГИИС ДМДК. Государственная интегрированная информационная система в сфере контроля за оборотом драгоценных металлов, драгоценных камней и изделий из них на всех этапах этого оборота.
80000 руб.
12.04.2022 27992 216 34
Обмен с ГосИС Логистика, склад и ТМЦ Разработчик Пользователь 1С:Предприятие 8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)
Внешняя обработка для инвентаризации кодов маркировки в системе "Честный знак". Позволяет быстро определить и списать коды маркировки проданного, испорченного, утраченного (полный перечень причин списания указан ниже) товара, которые всё ещё числятся за организацией. Привести в соответствие остатки маркированного товара программы 1С и системы "Честного знака".
6649 руб.
09.01.2024 22086 227 30
Обмен с ГосИС Разработчик 1С:Предприятие 8 1C:Бухгалтерия Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)
Универсальная конфигурация ХамелеонЗерно для взаимодействия с системой ФГИС Зерно (тестовый+рабочий контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Работа через API 1.0.7 и на API 1.0.8. Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом ФГИС Зерно, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе ФГИС Зерно и наоборот.
25498 руб.
27.06.2023 9798 52 2
Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)
Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий (тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.
11000 руб.
08.11.2017 132000 293 153
товар корректно сканируется, проверки в ОСИМ, ПИОТ и ГИС МТ проходят, чек корректно уходит в ОФД, марка выбывает из оборота - в лк чз статус проверки горит зеленым - на скрине (снимок6). также исправлен баг "владелец неопределен" - снимок4.
Также теперь корректно сканирует воду в бутылках - ранее из-за особенностей видов упаковки товар не попадал в форму.
В общем как-то так..
Тестировали и отлаживали на последней версии ЕСМ и ЛМ ЧЗ.
думаю Автор скоро сюда зальет последнее исправленное обновление.
Огромное спасибо!!!!
{Документ.ЧекККМ.Форма.ФормаДокумента.Форма(2740)}: РезультатОбработкиШтрихкода = ШтрихкодированиеИС.ОбработатьВводШтрихкода(
{Документ.ЧекККМ.Форма.ФормаДокумента.Форма(2731)}: РезультатОбработки = ОбработатьВводШтрихкода(ШтрихкодКоличество, Неопределено, ПараметрыСканирования);
{Документ.ЧекККМ.Форма.ФормаДокумента.Форма(1263)}: ОбработатьКодМаркировки(ДанныеШтрихкода);
{Обработка.ТОСервер.МодульОбъекта(397)}: Ответ = Клиент.СШКНеизвестныйКод(ШК, ТипШК, СШК);
{Документ.ЧекККМ.Форма.ФормаДокумента.Форма(2358)}: ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
многих методов нет в общих модулях
Если какие-то претензии можешь из коробки взять УТ 11 и переложить кучу модулей в УТ 10. Я не препятствую.
Локальный модуль ЧЗ интеграция rest API находится здесь: ОМ.ИнтерфейсИСМПОбщегоНазначенияКлиентСервер.
Модуль ПиОТ интеграция rest API находится здесь: ОМ.ИнтеграцияТСПИоТКлиентСервер.
Глобально можете искать по "Перечисление.ВерсииФорматаОбменаЛокальногоМодуляИСМП.V2".
Набили первый чек при пробитии пишет "Контрольная марка не проверена" и все... куда копать не понятно...
ЭЦП в 1С нет, только розничный токен, попробовал удалить его ничего не изменилось. ЭЦП вроде как и не нужна если ПИоТ и ЛМЧЗ стоит локально.
Возможно сканер не настроен и не передает скрытые управляющие символы, возможно сама марка не валидна (проверяйте в личном кабинете честного знака).
Также должны быть актуализированы CDN-площадки ГИС МТ и указаны токены авторизации.
Если НеобходимоОбращениеКСервисуИСМП(ПараметрыСканирования, ПараметрыПроверкиКодовМаркировки)
Или ПараметрыПроверкиКодовМаркировки.ПроверятьЗаполнениеИдентификатораГИСМТ Тогда
ПараметрыПроцедуры.Вставить("ДанныеКлючаСессииИСМП", ПараметрыСеанса.ДанныеКлючаСессииИСМП);
ПараметрыПроцедуры.Вставить("ПараметрыЛогированияЗапросовИСМП", ПараметрыСеанса.ПараметрыЛогированияЗапросовИСМП);
КонецЕсли;
//sweetand
Если ЗначениеЗаполнено(ПараметрыСканирования.Владелец)
И НЕ ЗначениеЗаполнено(ПараметрыСканирования.Организация) Тогда
ПараметрыСканирования.Организация = ПараметрыСканирования.Владелец;
КонецЕсли;
//sweetand
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Фоновое заполнение данных проверки и подбора маркируемой продукции'");
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПоказатьЕще это вдруг кому пригодиться если не поправили, поправил ОМ.ИнтеграцияТСПИоТКлиентСервер, чтобы статус ТСПиот отображался в 1С:
//Если ПараметрыПодключения.ФорматОбмена = ПредопределенноеЗначение("Перечисление.ВерсииФорматаОбменаЛокальногоМодуляИСМП.V2") Тогда
// URLЗапроса = "api/v2/info";
// Иначе
URLЗапроса = "api/v1/info";
// КонецЕсли;
Лучше отключить, чтобы 1С сама проверяла марки.
1. Прошивка, драйвер ККТ должны быть свежие. Обработка обслуживания под 1С свежая (с свежими dll).
2. В настройках поставьте параметры при сканировании и игнорировать результаты проверки.
3. В документе нажимаем "Проверка маркируемой продукции" - пикаем марки. 1С шлет запросы в ЛМ ЧЗ, ПиоТ. Если все ок и ошибок нет, значит марка валидна.
4. Далее марка шифруется сертификатом и отправляется в ККТ.
5. Вот на этом этапе ККТ начинает самостоятельно делать еще раз проверку марки.
6. Отключить проверку марок в драйвере ККТ.
Рекомендации выше постарался сделать, кроме "Отключить проверку марок в драйвере ККТ".
Не нашел такой возможности в драйвере Атол. Возможно, такого параметра и нет.
Использую драйвер Атол 10.10.8.24 с поставки ПИоТа.
Обработка обслуживания ATOLkkt (версия 3,15).
Ошибка возникает в процедуре обработки обслуживание ФискализироватьЧек при обращении к драйверу.
Какие именно параметры не нравятся драйверу сложно сказать.
Их очень много, в том числе позиции чека.
Взяли паузу.
Но, насколько я понял, проблема возникает не при пробитии марки, а еще при проверке.
ПИоТ при проверке возвращает ошибку 404 при сканировании марки.
Сразу не вышел на эту ошибку, т.к. никакого сообщения не выходит и то, что проверка не прошла понять невозможно.
Через отладку минимум информации (404 и все).
При этом проверка связи с ПИоТ через 1с работает нормально, марки отдельно через АРМ тоже проверяются.
Добавляете позицию в чек, далее кнопка "Проверить-Маркируемую продукцию", выбираете вид маркируемой продукции. Там можно пикать марки.
В чеке в форме проверки маркированной продукции все проверяется.
Через сервис проверка кодов маркировки все проверяется, все ОК.
Актуализированы CDN-площадки ГИС МТ и указаны токены авторизации, ЭЦП есть.
Обработка обслуживания Атол 3.16
"Отладчиком ловите какой запрос и тело летит в ЛМ ЧЗ и ПиоТ и какой ответ на выходе." В какой процедуре это ловить?
Как понять отправляется запрос в Пиот или нет?
Заранее благодарю!
Откуда Вы брали общую форму там и смотрите что прилетает на входе в процедуру ВыполнениеШагаПроверкиСредствамиККТ(ЭтаФорма).
Помочь ни чем не смогу.
Подтверждение
По мимо обновления УТ еще требуется нормально настроить ККТ и хоть немного понимать принцип работы ЛМ ЧЗ, ПиоТ и.т.п.
Прежде чем писать комментарии, не ленитесь читать описание. Также в коментах пишу всем в чем могут быть ошибки.
Ошибка при выполнении файловой операции 'C:\Users\User\Downloads\10.3.88.4.cfu'
по причине:
Неверный формат хранилища данных 'file://C:/Users/User/Downloads/10.3.88.4.cfu'
Если обновить УТ по указанной разработке до 10.3.88.4
АТОЛ 10.10.8.24
Прошивка кассы 5.17
Обработка обслуживания ATOLkkt (версия 3.15)
и при этом не выполнять настройки ПИОТ
то будут пробиваться чеки как раньше?
На текущем этапе на обычном товаре (без маркировки) всё проходит успешно.
А на товаре с маркировкой выходит ошибка "Неверный формат команды"
И тут я теряюсь, мне дальше обязательно надо настроить ПИОТ или есть способ понять, что именно не так передано в кассу? Вроде дошла до обработки обслуживания, и уже при выполнении команды в ОМ ПодключаемоеОборудованиеУниверсальныйДрайверКлиент
Результат = ОбъектДрайвера.СформироватьЧек(ПараметрыПодключения.ИДУстройства, ПараметрыФискализации.Электронно, ДанныеЧекаXML, ПараметрыФискализации.РезультатОперацииXML);Выходит указанная ошибка.
ДанныеЧекаXML передаются в таком виде:
<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
<Parameters CashierName="" OperationType="1" TaxationSystem="1" GroupingPositionsWhenPrinting="false" OperationOnline="false" TimeZone="7" CustomerEmail="" CustomerPhone="">
<AgentData/>
<VendorData/>
<CustomerDetail/>
<OperationalAttribute/>
<IndustryAttribute/>
</Parameters>
<Positions>
<FiscalString Name="BADEN-ANTISTRESS NU513-022 (п, 40), Лаковая кожа, Иск.кожа" Quantity="1" PriceWithDiscount="4640" AmountWithDiscount="4640" DiscountAmount="0" Department="1" VATRate="5" VATAmount="220.95" PaymentMethod="4" CalculationSubject="33" MeasurementUnit="п" MeasureOfQuantity="255">
<GoodCodeData GS1.M="MDEwNDYxMDE2MzMzMTA1NTIxNW0uWlcsZnJORnoiKQ=="/>
<AgentData/>
<VendorData/>
<IndustryAttribute/>
</FiscalString>
<TextString Text=" "/>
</Positions>
<Payments Cash="4640" ElectronicPayment="0" PrePayment="0" PostPayment="0" Barter="0"/>
</CheckPackage> ПоказатьПопробуйте в самом драйвере Атол загнать xml-ку и пробить. Может драйвер сразу скажет что ему не нравится.
В целом выше уже писал что драйвера от Атол сырые.
Еще скажите какая ревизия интерфейса ККТ?
Но я не знаю передает ли при этом ККТ информацию о маркировке корректно дальше. В налоговую чек уходит, тут всё ок. Сейчас пробуем смотреть, что там в Честном знаке..
Версия ФФД ККТ: 1.05
Версия ФФД ФН: 1.2
(сегодня клиент внезапно узнал, что у него уже год чеки вообще не приходят в ЧЗ... занавес..)
хотя до этого всё было долго стабильно, торгует обувью с маркировкой давно
Сразу не вышел на эту ошибку, т.к. никакого сообщения не выходит и то, что проверка не прошла понять невозможно.
Через отладку минимум информации (404 и все).
Подскажите, в какой процедуре/модуле отлаживать?
В ней есть блок где рассматривается ошибка Ошибка 420 «Контрольная марка не проверена». Пункт 3.4.
Вывод: нужна доработка обработки торгового оборудования для ККТ Атол.
В ней есть блок где рассматривается ошибка Ошибка 420 «Контрольная марка не проверена». Пункт 3.4.
Вывод: нужна доработка обработки торгового оборудования для ККТ Атол.
ЗаписьXML.ЗаписатьАтрибут("WaitForResult", ?(ПараметрыОперации.ОжидатьПолучениеОтветаОИСМ, "True", "False"));
ЗаписьXML.ЗаписатьАтрибут("NotSendToServer", ?(НЕ ПараметрыОперации.ОтправлятьНаСерверОИСМ, "True", "False"));на
ЗаписьXML.ЗаписатьАтрибут("WaitForResult", ?(ПараметрыОперации.ОжидатьПолучениеОтветаОИСМ, "False", "False"));
ЗаписьXML.ЗаписатьАтрибут("NotSendToServer", ?(НЕ ПараметрыОперации.ОтправлятьНаСерверОИСМ, "False", "False"));Как и не заходит в ИнтерфейсИСМП.СокращеннаяИнформацияПоКМПриРозничнойПродаже
Вызов СокращеннаяИнформацияПоКМПриРозничнойПродаже я нашла только в ОМ.ИнтерфейсИСМПВызовСервера в Процедуре ПолучитьСокращеннуюИнформациюПоКМДлительнаяОперация()
А уже вызова этой процедуры вообще нигде нет в конфигурации...
Есть другой модуль - ИнтерфейсИСМПОбщегоНазначения.СокращеннаяИнформацияПоКМПриРозничнойПродаже
И туда заходит из обработки проверки марок. но..
Для этого необходим параметр ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ = истина
а у меня там Ложь.
(в настройка ГИС МТ стоит Что проверять средствами ККТ)
найти при каких условиях туда встает Истина я просто не смогла, искала долго.
пробовала принудительно поставить истина, ругается что не указан ИдентификаторУстройства, а он как понимаю есть только у Подключаемого оборудования, а тут обычное подключение ккм...
1. Пиот работает через api интерфейс, ему без разницы какая ККТ подключена. Подключение ККТ по старому интерфейсу.
2. Легкой промышленности в конфигурации есть три вида (старая, с 2025, с 2026), см. скрин, у них разные признаки которые летят в ККТ. Поиском по комменту //sweetand ищи куски кода где добавляются новые виды продукции (не сложно, разберетесь).
3. В общей форме ВыборВидаПродукцииИСУТ добавьте новые виды продукции.
Я вообще не понимаю, кто-нибудь тут смог запустить работу ПИОТ?
Касса Атол, драйвера 10.10.8.24, Прошивка кассы 5.17
Обработка обслуживания ATOLkkt (версия 3.16) - новее вроде нету
Подключение к ПИОТ в 1С выполнено, подключение к ЛМ ЧЗ выполнено, в модуле ЕСМ всё корректно
Работаю в форме документа ЧекККМ.
Но в 1С ничего не происходит и при отправке Чека на ККМ у меня по прежнему "Контрольная марка не проверена"
Отладчиком в процедуру СформироватьXMLДляЗапросаКМ вообще не попадает.. то есть явно в ПИОТ вообще ничего не запрашивается и не происходит. Я уже неделю бьюсь с этим.. просто всё уже, мозг кипит...
И я так и не понимаю зачем подключать Сертификат эл.подписи, если при рознице проверка должна быть средствами ККМ...
Вот здесь отладчиком ловите почему не срабатывает подтверждение марки в ККТ, она должна положится в буфер ФН. Рекомендации выше изменения в СформироватьXMLДляЗапросаКМ.
ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ФискализацияЧека()
Если ПараметрыФискализации.РевизияИнтерфейса >= 3004 Тогда
Если ПараметрыПодключения.Свойство("ИдентификаторУстройства") Тогда
ТекущийСтатус = МенеджерОборудованияКлиент.ПроверкаКодаМаркировки(ПараметрыПодключения.ИдентификаторУстройства);
// Если есть текущая проверка КМ
Если НЕ ПустаяСтрока(ТекущийСтатус.ИдентификаторЗапроса) Тогда
Попытка
ОбъектДрайвера.ПодтвердитьКМ(ПараметрыПодключения.ИДУстройства, ТекущийСтатус.ИдентификаторЗапроса, 0);
МенеджерОборудованияКлиент.УстановитьПроверкуКодаМаркировки(ПараметрыПодключения.ИДУстройства);
Исключение
СформироватьОшибкуДрайвера(ВыходныеПараметры, "ЗапросКМ", ОписаниеОшибки());
Возврат Результат;
КонецПопытки;
КонецЕсли;
КонецЕсли;
КонецЕсли; ПоказатьХм..
В параметрах подключения есть только ИдентификаторТО и ИДУстройства
И там проверка идет по списку Подключаемого оборудования (через глПодключаемоеОборудование.ФискальныеУстройства)..
А тут касса ККМ Подключена не через подключаемое оборудование
Поздравляю Вы нашли баг. В архиве приложенном к публикации есть файлы PosCenterkkt_ПиоТ_x32.epf (PosCenterkkt_ПиоТ_x64.epf). В них смотрите как сделаны методы проверки КМ и остальные.
Вывод в Ваша обработка обслуживания для Атол не адаптирована под УТ 10.3 и новых модулей для работы с Пиот И ЛМ ЧЗ.
Функция ПодтвердитьКМ(Объект, ПараметрыККТ, ПараметрыПроверки, ВыходныеПараметры, Идентификатор) Экспорт
мПараметрыПодключения.Вставить("ПараметрыРегистрации", ПараметрыККТ);
мПараметрыПодключения.Вставить("ТипОборудования", "ККТ");
мПараметрыПодключения.Вставить("ИдентификаторУстройства", Идентификатор);
РезультатВыполнения = ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ВыполнитьКоманду("ПодтвердитьКМ",
ПараметрыПроверки, ВыходныеПараметры, Объект.Драйвер, мПараметрыУстройства, мПараметрыПодключения);
Если Не РезультатВыполнения Тогда
Результат = Ложь;
Объект.ОписаниеОшибки = ВыходныеПараметры[1];
Иначе
Результат = Истина;
Объект.Вставить("ВыходныеПараметры", ВыходныеПараметры);
КонецЕсли;
Возврат Результат;
КонецФункции ПоказатьОбработка адаптирована, там есть методы проверки КМ и они буква в букву такие же.
Вопрос в другом, что при выполнении процедуры Фискализации в параметрах устройства нет такого реквизита как ИдентификаторУстройства.
Он нужен, чтобы получить ИдентификаторЗапроса и далее это всё передать уже в ПодтвердитьКМ
ТекущийСтатус = МенеджерОборудованияКлиент.ПроверкаКодаМаркировки(ПараметрыПодключения.ИдентификаторУстройства);Зато есть реквизит ИдентификаторТО, который судя по всему и есть тот самый ИдентификаторУстройства.
Идем далее, он нужен вот в этой процедуре:
Функция ПроверкаКодаМаркировки(ИдентификаторУстройства) Экспорт
Результат = Новый Структура();
Результат.Вставить("ИдентификаторСессии");
Результат.Вставить("ИдентификаторЗапроса");
ФискальныеУстройства = глПодключаемоеОборудование.ФискальныеУстройства;
Для Каждого ФискальноеУстройство Из ФискальныеУстройства Цикл
Если ФискальноеУстройство.ИдентификаторУстройства = ИдентификаторУстройства Тогда
Результат.ИдентификаторСессии = ФискальноеУстройство.ИдентификаторСессии;
Результат.ИдентификаторЗапроса = ФискальноеУстройство.ИдентификаторЗапроса;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
ПоказатьИ вот тут ключевое, в ФискальныеУстройства пусто.. нет тут моей кассы ККМ, чтобы получить ИдентификаторЗапроса.
Вероятно дело в том, что не вызывается процедура, которая бы инициализировала сессию проверки КМ. Она есть в процедуре МенеджерОборудованияКлиент.ЗапросКМ()
но судя по всему она ниоткуда не вызывается..
поэтому нет ни Сессии, ни ИдентификаторЗапроса..
а без них Подтверждение КМ не пройдет.
Вот и возникает вопрос - а где собственно формируется запрос по КМ?? При сканировании QR кода этого точно нет. Вот поэтому у меня и в процедуру СформироватьXMLДляЗапросаКМ отладчик не попадает..
Ну я точно на финишной прямой. Но пока не понимаю как это корректно всё вызвать..
Вчера посмотрел, проблема действительно здесь
ФискальныеУстройства = глПодключаемоеОборудование.ФискальныеУстройства;глПодключаемоеОборудование - это подключаемое оборудование. Необходимо дорабатывать подключение ККТ по новому механизму как в УТ 11. Сейчас пока руки не доходят, много доработок. Поэтому в эту сторону копать не стоит.
Лучше добивать обработку обслуживания которую я приложил под ККТ Атол.
С ККТ Атол оказалось все сложнее, он требует чтобы марка была обязательно в буфере ФН + играться надо с NotSendToServer + WaitForResult
На сейчас Чеки формируются, из Честного знака маркировка уходит, но в ОФД прилетает так:
Результат проверки маркированных товаров - КМ?
То есть что-то при проверке Кода маркировке Атолу не нравится.
ПараметрыОперацииXML
<?xml version="1.0" encoding="UTF-8"?>
<RequestKM GUID="734d8b8a-25f0-4eed-9bc2-8011c1952e7e" WaitForResult="False" NotSendToServer="True" MarkingCode="MDEwMjkwMDE5MzcwNjc4MDIxNW0hUSdPbW1EQ21sZR05MTA wQkUdOTJnRmVWU2w5VjRJa2NvSktpMi9rTUhZeUFpUUJhRmhEZjhjeElWWHF HWUxUVUREeHVzcURwbEFNWExaandFMGtoK2VJRzRkTmxEKzc0am9oME4zWGV yUT09" PlannedStatus="1"/>РезультатОперацииXML
<?xml version="1.0" encoding="UTF-8"?>
<RequestKMResult Checking="False" CheckingResult="False"/>Да, попробую другие параметры задать NotSendToServer + WaitForResult
в функции СформироватьXMLДляЗапросаКМ строки вернуть как было:
ЗаписьXML.ЗаписатьАтрибут("WaitForResult", ?(ПараметрыОперации.ОжидатьПолучениеОтветаОИСМ, "True", "False"));
ЗаписьXML.ЗаписатьАтрибут("NotSendToServer", ?(НЕ ПараметрыОперации.ОтправлятьНаСерверОИСМ, "True", "False"));Чуть доработала условие в функции ПроверитьКодыКМ()
Для Каждого СтрокаПроверки из МассивПроверки Цикл
ОписаниеОшибки = "";
Если СтрокаПроверки.Свойство("ФискальнаяСтрока") Тогда //++ могут быть и не фискальные строки в массиве
Если СтрокаПроверки.Свойство("КонтрольнаяМарка") И ЗначениеЗаполнено(СтрокаПроверки.КонтрольнаяМарка) Тогда
//Запрос на проверку КМ на ККТ. ПоказатьНа сейчас все равно не ушла маркировка в ЧЗ.
Получила результат проверки маркированных товаров "КМ?"
Вот есть форма документа Чек ККМ, я добавила товар, система подсветила, что есть маркировка.
Нажимаю - "Проверить" - "Маркируемую продукцию" - открывается форма и далее сканером считываю QR код маркировки.
Вот после этого в какой процедуре, модуле происходит запрос в ЛМ ЧЗ? Кто-то может мне подсказать куда искать?
У меня полное ощущение, что я что-то недостаточно передаю в ККМ..
Ведь проверка же проходит успешно, а в каком реквизите передается результат этой проверки в кассу? Если есть только сам QR код, который передается в зашифрованном виде?
Или результат проверки сохраняется в ККМ в Обработке обслуживания при вызове ПроверитьКодыКМ() ?
У меня XML выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
<Parameters CashierName="" OperationType="1" TaxationSystem="1" SaleLocation="ИП Ринас С.Э." GroupingPositionsWhenPrinting="false" OperationOnline="false" TimeZone="7" CustomerEmail="" CustomerPhone="">
<AgentData/>
<VendorData/>
<CustomerDetail/>
<OperationalAttribute/>
<IndustryAttribute/>
</Parameters>
<Positions>
<TextString Text="ДОК:Пр000000036 "/>
<TextString Text="30.07.2026 15:56"/>
<TextString Text="СКЛАД:ЛИТВИНОВА "/>
<TextString Text="------------------------------------------------"/>
<TextString Text="Сумма без скидки: 1520.00"/>
<TextString Text=" "/>
<FiscalString Name="BELSTA-AMORA 04-081-519-1-0-0 (п, 45), Текстиль, Текстиль" Quantity="1" PriceWithDiscount="1520" AmountWithDiscount="1520" DiscountAmount="0" Department="1" VATRate="5" VATAmount="72.38" PaymentMethod="4" CalculationSubject="33" MarkingCode="MDEwNDYyMDIwOTI5ODU0OTIxNUhkZFVzKWVSSFAvcB05MTg wQzEdOTJLWkxGMjNlVTJIeTAyL05MQWE3azVMK3ZPWnV0UHpGbVMremwwSmF 4VDgvU3kzd3BuN0NXQVdRWFhBbVhXN0dkaWsrREpPOXppS3MrbEh5MlducnI 3Zz09" MeasureOfQuantity="255">
<AgentData/>
<VendorData/>
<IndustryAttribute/>
</FiscalString>
<TextString Text=" "/>
</Positions>
<Payments Cash="1520" ElectronicPayment="0" PrePayment="0" PostPayment="0" Barter="0"/>
</CheckPackage> ПоказатьПосмотрите коммент 82. У Вас в чеке лег.пром. В 1С есть несколько видов этой маркированной продукции. Необходимо дополнить остальные виды.
В этой процедуре марки просто кладутся в буфер ККТ. Это не моя идея, а идея
Попробуйте в обработке обслуживания поставить отправку проверки на сервера ЧЗ.
ПараметрыОперации.Вставить("ОжидатьПолучениеОтветаОИСМ" , Истина);
ПараметрыОперации.Вставить("ОтправлятьНаСерверОИСМ" , Истина);
ПараметрыОперацииXML
<?xml version="1.0" encoding="UTF-8"?>
<RequestKM GUID="ae99fd76-460b-43b9-b351-8e81e9cec676" WaitForResult="True" NotSendToServer="False" MarkingCode="MDEwNDYyMDIwOTI5ODU0OTIxNUhkZFVzKWVSSFAvcB05MTg
РезультатОперацииXML
<?xml version="1.0" encoding="UTF-8"?>
<RequestKMResult Checking="False" CheckingResult="False"/>
Счетчик = 0
РезультатОперацииXML и СтатусЗапроса
Счетчик = 1
РезультатОперацииXML и СтатусЗапроса
Счетчик = 2
РезультатОперацииXML и СтатусЗапроса
<?xml version="1.0" encoding="UTF-8"?>
<ProcessingKMResult GUID="ae99fd76-460b-43b9-b351-8e81e9cec676" Result="True" ResultCode="15" StatusInfo="1" HandleCode="0"/>
ПодтвердитьКМ (01)04620209298549(21)5HddUs)eRHP/p
В итоге в Чеке получила [М+]
та дааааа!!!!
Получила информацию, что в ЕСП не отображается, что марка была проверена Онлайн или офлайн...
То есть по прежнему что-то не так. Вернее, не всё так как нужно.
Как мне убедиться, что идет запрос через токен ЕСМ? Где в отладчике это поискать? В каком модуле?)
Правильно же я понимаю, что это должно быть в форме обработки ПроверкаИПодборПродукцииИСМП ?
У меня вопрос относительно самой ЕСМ. В ней не отображается, что были какие-то запросы проверок, а они должны быть.
То есть, когда мы именно сканируем QR код - марка должна быть проверена через ТС ПИОТ.
Если есть интернет есть - то через Токен по api, если связи нет, то через ЛМ ЧЗ.
В первом случае должен быть статус проверки Онлайн, во втором Офлайн.
И, так как этот запрос выполняется перед продажей, то продажи ведь может и не быть, так как срок годности закончился или марка уже не в обороте. При этом сам запрос должен в системе сохраниться. У меня ни запросов нет, ни в ЧЗ не отображается статус.
У вас в личном кабинете вот этом:
отображаются запросы?
1. ОткрытьСессиюРегистрацииКМ
2. ЗапросКМ
3. ПолучитьРезультатыЗапросаКМ
4. ПодтвердитьКМ
как раз в ПодтвердитьКМ летит идентификатор запроса после успешной проверки марки на предыдущих этапах.
Возникает вопрос: в логах ККТ какие данные по обращением к драйверу по п.1-3?
В чеке стоит метка М+, в кабинете ЧЗ марка выбыла из оборота, но разрешительный режим "Не проверен", в кабинете ESM тишина.
в ОМ.МенеджерОборужованияВызовСервера:
Функция ПолучитьРезультатыЗапросаКМИзXMLПакета(ДанныеXML) Экспорт
Параметры = Новый Структура();
Параметры.Вставить("КодМаркировкиПроверен", Ложь);
Параметры.Вставить("РезультатПроверки", Ложь);
Если Не ПустаяСтрока(ДанныеXML) Тогда
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(ДанныеXML);
ЧтениеXML.ПерейтиКСодержимому();
Если ЧтениеXML.Имя = "RequestKMResult" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Параметры.КодМаркировкиПроверен = ВРег(ЧтениеXML.ЗначениеАтрибута("Checking")) = "TRUE";
Параметры.РезультатПроверки = ВРег(ЧтениеXML.ЗначениеАтрибута("CheckingResult")) = "TRUE";
КонецЕсли;
КонецЕсли;
Возврат Параметры;
КонецФункции
ПоказатьВозвращает следующее:
Параметры Структура Структура
КодМаркировкиПроверен Ложь Булево
РезультатПроверки Ложь Булево
Кто-то знает куда копать?
Проверил на ККТ Посцентр с ПиоТ + ЛМ ЧЗ - у меня ККТ возвращает что марка прошла проверку., оба статуса в ИСТИНА.
Лови отладчиком в драйвере оборудования ATOLkkt22_3.16.epf есть функция ПроверитьКодыКМ, там ОбъектДрайвера.ЗапросКМ - там как раз ККТ возвращает ответ по марке.
Объект.Выходные Параметры.ПоддержкаТСПИоТ = ЛОЖЬ
Так и должно быть?
если РевизияИнтерфейса ККТ >= 4007 то ККТ должна вернуть параметр SupportFNPiot, в котором отражено ККТ поддерживает ПиоТ или нет.
у тебя получается что ККТ возвращает ЛОЖЬ.
попробуй ловить в ОМ.МенеджерОборудованияВызовСервера.СформироватьТаблицуПараметровДляОперацииФН() - в ней читаются параметры из ККТ и записываются в объект драйвера.
Также в драйвере ККТ есть где-либо галка с параметром SupportFNPiot?
Если ничего не поможет надо будет думать как в ATOLkkt22_3.16.epf добавить SupportFNPiot=True, хотя это сомнительно.
У меня почему-то эта процедура не проходит вообще в процессе пробития чека...
У меня также вопрос с этим признаком. И тут возникает вопрос: это на стороне драйвера или на стороне обработки обслуживания проблема?
У меня в списке оборудования отображается Поддержка ТС ПИОТ false..
В общем SupportFNPiot=True я прописал вручную принудительно.
В обработке вот тут выдает :
Результат = ОбъектДрайвера.ЗапросКМ(мПараметрыПодключения.ИДУстройства, ПараметрыОперацииXML, РезультатОперацииXML);
РезультатОперацииXML - код маркировки и результат проверки ложь.
Вопрос почему?
Когда в чек пикаешь марку все нормально проходит и уходит из оборота после пробития...
ESM настроен, настройки ПИОТ в 1с выполнены...
Короче пока топчусь на месте...
Опять же не пойму почему эти ошибки...
Зелёная галка в 1с стоит что товар в наличии и проверен.
А в лк есм пиот тишина.
Не могу понять что не так.
Все настройки сделаны в1с верно.
Понять бы где 1с делает выбор через что проверять марку..
НастройкиПодключенияТСПИоТ = ИнтеграцияТСПИоТ.НастройкиПодключенияЭкземпляраТСПИоТ(ПараметрыСканирования);
Если НастройкиПодключенияТСПИоТ.Настроено Тогда
ИнтеграцияТСПИоТ.ЗаполнитьДанныеИдентификатораРозничнойПродажиПоДаннымТСПИоТ(
ДанныеПоШтрихкодам,
ДанныеКМ,
НастройкиПодключенияТСПИоТ,
ПараметрыСканирования);
Возврат;
КонецЕсли;
параметр НастройкиПодключенияТСПИоТ.Настроено
И там есть такой интересное условие в начале процедуры
Если Не ОбщегоНазначенияИСМПКлиентСервер.ЗначениеПараметраСканированияЗапрашиватьДанныеСервисаИСМП(ПараметрыСканирования)
Или Не ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ Тогда
Возврат;
КонецЕсли;Так вот ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ = Ложь
Этот параметр переводится в значение Истина только в 1м случае, когда есть некая форма просмотра.
Проверка эта выполняется в ОМ.РозничныеПродажиКлиент.ПроверитьКодМаркировкиСредствамиККТ()
Если ФормаПросмотра <> Неопределено
И МенеджерОборудованияВызовСервера.ФискальноеУстройствоПоддерживаетПроверкуКодовМаркировки(ФормаПросмотра.ОборудованиеККТ, ПараметрыККТ) Тогда
ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ = Истина;
ПараметрыСканирования.ККТФФД12ИСМП = ФормаПросмотра.ОборудованиеККТ;
КонецЕсли;Эта форма просмотра есть только в документе ПриходныйКассовыйОрдер, в случае с ЧекККМ такой формы нет.
Я пробовала принудительно заполнить в Истина и как-то заполнить ККТФФД12ИСМП, но ничего из этого не вышло, выходят другие ошибки после этого.
То есть получается, что проверки через ПИОТ не происходит.
Я убила огромное количеств времени на решение, которое по факту не работает.
Настройки берутся из РС.НастройкиПодключенияТСПИоТ.
Проверка: ИнтеграцияТСПИоТКлиентСервер.ДанныеПоКодуМаркировкиПриРозничнойПродаже → HTTP JSON на Сервер:Порт ТС ПИоТ.
В ОМ.ИнтеграцияИСУТКлиентСервер + ОМ.РозничныеПродажиКлиент замените полностью код из приложенных файлов.
РозничныеПродажиКлиент.txt
сидел ковырял как его передать туда :-)
а тут уже выложили
Номер ФН в параметры сканирования передается..
Но вот сюда РС.НастройкиПодключенияТСПИоТ не заходит совсем...через ПИОТ ничего не проверяет...ищу проблему...
Меня с самого начала смущал тот факт, что в настройках есть такая штука - проверять при сканировании или при пробитии чека. Вроде как я хочу проверять сразу при сканировании, но в этот момент точно ничего не происходит у меня.
При пробитии - также проблема с тем, что параметр "ТребуетсяПроверкаСредствамиККТ = Ложь", по нему никакие проверки вообще не запускаются.
Когда ставлю принудительно в Истина вылазит много чего еще не работающего.. сейчас в этом разбираюсь.
Начала с того, что пробую запустить проверку через ПИОТ вручную и вижу, что в параметрах сканирования формы не верно указаны параметры.
А обработке ПроверкаИПодборПродукцииИСМП в форме ПроверкаИПодбор в процедуре ИнициализироватьПараметрыСканирования() вызывается процедура ОМ.ПараметрыСканирования = ШтрихкодированиеОбщегоНазначенияИСКлиент.ПараметрыСканирования()
И вот тут я в качестве теста принудительно добавила 3 параметра:
//++
ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ = Истина;
ПараметрыСканирования.ККТФФД12ИСМП = "FC60A1A7-46CD-4298-9CD9-6BEC033C4C4E";
ПараметрыСканирования.НомерФискальногоНакопителя = "7380440903253907";
//--Только после этого начались какие-то движения в сторону проверки через ПИОТ..
и потом там стоооолько всего повылазило не работающего..
я весь день из другой конфигурации модули и методу переношу, чтобы хоть как-то запустить.
и только теперь я наконец-то попала в модуль ТС ПИОТ вот сюда:
ИнтеграцияТСПИоТКлиентСервер.ДанныеПоКодуМаркировкиПриРозничнойПродаже
Но проверить до конца по прежнему не получается, сижу дальше колупаюсь.
тут явно дело в том, что оборудование подключено не как "Подключаемое оборудование" и как обычное и те процедуры которые заточены под такой формат судя по всему просто не работают.
Мы уже приняли решение переходить на другую программу (на УНФ), но вроде как дело чести довести это "чудо" до ума.. да и сам переход у нас не будет быстрым, а хотелось бы с сентября работать уже с ПИОТом в текущей базе
голову уже свернул..
Можете поделиться, что вы переносили и куда.
Спасибо.
Там много пришлось допилить, я могу только дать txt портянку при сравнении с типовой, разберётесь там?
При сканировании марки выдаёт ошибку 514
В чеке ккм ввожу обычный штрихкод товара (вода в бутылках), далее открываю форму поверки маркированной продукции (на скрине), далее пикаю марку...
проходит обработка сканирования кода, но в форму ничего не попадает, кнопки на форме доступны для нажатия..
несмотря на это в личном кабинете ПИОТ появляется информация об успешной проверке марки в онлайн-режиме.
Либо (1 раз примерно из 20) попадает в форму товар со статусом "неопределен" ( на втором скрине).
Версии ЛМ и ЕСП последние, настроены как надо. в 1с настройки тоже верные (с зелеными галочками).
Марки все в обороте..
Кто-нибудь знает что это может быть?
P.s. До обновления от 25 августа такого не было (но тогда не работал ПИОТ)
Пробовали в цикле делать запросы к Пиот но ответы по прежнему не стабильные. С чем это связано не понятно, на профильных форумах также обсуждается данная проблема.
(168) Вот логи ПИОТ
глянул ответ на последнее сканирование - там: "valid":true
но в форму подбора и проверки маркир. продукции товар не попал вообще..
стек вызова - откуда лучше начинать? в каком модуле лучше ставить точку останова?
вот в 1с источникданных в функции ПараметрыКодаМаркировкиПоДаннымРазрешительногоРежима ()
ОМ.ИнтерфейсИСМПОбщегоНазначенияКлиентСервер
КлючИЗначение КлючИЗначение "sold" Ложь
КлючИЗначение КлючИЗначение "isBlocked" Ложь
КлючИЗначение КлючИЗначение "utilised" Истина
КлючИЗначение КлючИЗначение "realizable" Истина
КлючИЗначение КлючИЗначение "gtin" "04602983004486"
КлючИЗначение КлючИЗначение "printView" "0104602983004486215c;fY(.j3o-<0"
КлючИЗначение КлючИЗначение "valid" Истина
КлючИЗначение КлючИЗначение "verified" Истина
КлючИЗначение КлючИЗначение "found" Истина
КлючИЗначение КлючИЗначение "cis" "0104602983004486215c;fY(.j3o-<0"
esm-cm-events_00105706066563.log
esm-orchestrator.log
Но при пробитии чека выдает ошибку "не заполнен внутренний номер устройства"
это почему-то в общем модуле "ШтрихкодированиеИСКлиент запускается процедура
НачатьПроверкуКодовМаркировкиСредствамиККТ(ПараметрыНачалаПроверки)
На данный момент ситуация такая.
Товар в форму по-прежнему попадает со статусом "Владелец неопределен", но когда убираю галочку "Контролировать владельца" и статус становится "проверен" (как и писал до этого)
В общем модуле ШтрихкодированиеИСМПКлиент в процедуре НачатьПроверкуКодовМаркировкиСредствамиККТ(ПараметрыНачалаПроверки)
Вручную прописал ПараметрыПроверки.ИдентификаторУстройства = "C134CE1D-2A56-4624-8E09-A7816919AB74" (мой идентификатор устройства в 1с)
Далее попробовал вставить туда же следом :
ПараметрыПроверки.ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ = Ложь;
Проверка средствами ККТ не проводится, чек пробивается с отметкой М+ и тегом 1260
Министерство промышленности и торговли Российской Федерации (030)
Документ-основание: № 1944 от 21.11.2023
UUID=d7b3e61d-cf35-8037-6d84-7f9e3e014729&Time=1788129400784
Марка выбывает из оборота, но в личном кабинете ЧЗ разрешительный режим стоит «не проверен», хотя в ПИОТ проверка прошла.
Попробовал убрать это:
ПараметрыПроверки.ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ = Ложь;
Запускается проверка средствами ККТ, но пошли ошибки.
В процедуре ОткрытьФормуОтображенияОшибок(ПараметрыПроверки) заменил так:
ПараметрыОткрытияФормы.ИмяФормыИсточник = ПараметрыПроверки.ФормаОсновногоОбъекта.ИмяФормы;
на
ПараметрыОткрытияФормы.ИмяФормыИсточник = ПараметрыПроверки.ФормаОсновногоОбъекта;
И убрал условие:
// Если ПараметрыПроверки.ТекущаяОперация = ВыполняемыеОперации.ОбновлениеCDNПлощадок Тогда ПараметрыОписания.ЗагрузитьCDNПлощадки = Истина;
// ИначеЕсли ПараметрыПроверки.ТекущаяОперация = ВыполняемыеОперации.ПолучениеТокенаГИСМТ Тогда
ПараметрыОписания.ТокенАвторизацииГИСМТ = Истина;
// КонецЕсли; //Роза 25
По итогу проверка средствами ККТ проходит, чек пробивается (но очень долго) (форма которая на скрине закрывается сама)
с отметкой М+ и тегом 1260
Министерство промышленности и торговли Российской Федерации (030)
Документ-основание: № 1944 от 21.11.2023
UUID=d7b3e61d-cf35-8037-6d84-7f9e3e014729&Time=1788129400784
Марка выбывает из оборота, но в личном кабинете ЧЗ разрешительный режим стоит «не проверен», хотя в ПИОТ проверка прошла.
Т.е. при каждом из вариантов нужный тег в чек идет, в личном кабинете ПИОТ проверка проходит, а кабинете ЧЗ разрешительный режим «не проверен».
Может это технические неполадки в сервисах ЧЗ и ПИОТ (у них между собой связь не отстроена)
И еще очень странный момент…пикал марку, выбывшую из оборота – то показывает сразу что товар не числится, а то несколько раз подряд форма опять доступна для сканирования и тишина..
2. Проблема "В личном кабинете ЧЗ разрешительный режим стоит «не проверен»" также понятна.
По логам видно что reqId = 6c4a2cec-6985-410a-aec5-71e3ef187d18 / 30f7fe39-9b15-4e74-b30d-cfc3f2d72216. UUID из вашего чека d7b3e61d-cf35-8037-6d84-7f9e3e014729 в этих файлах нет. Т.е. костыли в обработке обслуживания ККТ Атол (там вшита проверка марки) не работают и работать не будут, т.к. в логах ПиоТ видно 2 разных uuid, при фискализации чека другой. Вариант только один дорабатывать ПараметрыПроверки.ПараметрыСканирования.ТребуетсяПроверкаСредствамиККТ = Истина, т.к. без этого режима происходит расинхрон ПиоТ и ЛМ ЧЗ.
3. Как я и ранее говорил ПиоТ еще сырой и из логов видно что марка проверилась не с первой попытки:
События km_chk: 95 успехов, 17 ошибок. Ошибки — таймаут 1.5–5 с на cdn01-ts.crpt.ru / cdn11.crpt.ru / пустой host :19101.
При таймауте онлайна проверка закрывается офлайном (check_type_offline, inst локального модуля). У офлайна нет reqId ГИС МТ — в чеке может оказаться чужой/старый UUID, в ЛК ЧЗ будет «не проверен».
4. Ждите обновлений, будем работать.
Проверить, прислать ошибки 1с + логи Пиот + логи ККТ. Необходимо для сверки uuid проверки марки.
Проверка: ИнтеграцияТСПИоТКлиентСервер.ДанныеПоКодуМаркировкиПриРозничнойПродаже → HTTP JSON на Сервер:Порт ТС ПИоТ.
Марка сначала проверяется в ЛМ ЧЗ, далее если там ничего нет идет в Пиот по api.
Вот есть такой код в ОМ.ИнтеграцияТСПИоТКлиентСервер
Функция ДанныеПоКодуМаркировкиПриРозничнойПродаже(ПараметрыПодключения, ДанныеПроверки, ПараметрыСканирования, ДополнительныеПараметрыЗапроса) Экспорт
ВозвращаемоеЗначение = Новый Структура;
ВозвращаемоеЗначение.Вставить("РезультатОтправкиЗапроса", Новый Массив);
ВозвращаемоеЗначение.Вставить("ТекстОшибки", "");
ВозвращаемоеЗначение.Вставить("СтатусыКодовМаркировкиГИСМТ", Новый Соответствие());
ВозвращаемоеЗначение.Вставить("АварийныйРежим", Ложь);
ВозвращаемоеЗначение.Вставить("ЗапросыДляЛогирования", Новый Массив);
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Accept", "application/json");
ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8");
ЗаголовокHTTP.Вставить("Content-Type", "application/json");
Если ПараметрыПодключения.ФорматОбмена = ПредопределенноеЗначение("Перечисление.ВерсииФорматаОбменаЛокальногоМодуляИСМП.V2") Тогда
URLЗапроса = "api/v2/check";
Иначе
URLЗапроса = "api/v1/check";
КонецЕсли; ПоказатьИ в ПараметрыПодключения нет ФорматОбмена, соответсвенно URLЗапроса идет по V1...
При этом получаю ошибку - 404 not found
При смене на V2 тоже результата нет (скрины приложила)
товар корректно сканируется, проверки в ОСИМ, ПИОТ и ГИС МТ проходят, чек корректно уходит в ОФД, марка выбывает из оборота - в лк чз статус проверки горит зеленым - на скрине (снимок6). также исправлен баг "владелец неопределен" - снимок4.
Также теперь корректно сканирует воду в бутылках - ранее из-за особенностей видов упаковки товар не попадал в форму.
В общем как-то так..
Тестировали и отлаживали на последней версии ЕСМ и ЛМ ЧЗ.
думаю Автор скоро сюда зальет последнее исправленное обновление.
Огромное спасибо!!!!
"Поле объекта не обнаружено (МенеджерыКриптографии)
{ОбщийМодуль.ИнтерфейсАвторизацииИСМПСлужебный.Модуль(129)}: МенеджерКриптографии = СертификатыДляПодписанияНаСервере.МенеджерыКриптографии[СтрокаСертификата.Сертификат];
{ОбщийМодуль.ИнтерфейсАвторизацииИСМПВызовСервера.Модуль(66)}: КлючСессииОбновлен = ИнтерфейсАвторизацииИСМПСлужебный.ОбновитьКлючСессииНаСервере(ПараметрыЗапроса);
{Обработка.ПроверкаИПодборПродукцииИСМП.Форма.ПроверкаИПодбор.Форма(62)}: ИнтерфейсИСМПОбщегоНазначенияКлиентСервер.ПараметрыЗапросаКлючаСессии(Организация));
{ОбщийМодуль.ПроверкаИПодборПродукцииИСМПКлиент.Модуль(215)}: ОткрытьФорму(ИмяФормыПроверкиИПодбора,
{ОбщийМодуль.ПроверкаИПодборПродукцииИСМПКлиент.Модуль(93)}: ОткрытьФормуПроверкиИПодбораМаркируемойПродукции(Форма, ПараметрыОткрытияФормыПроверки, ПараметрыУказанияСерий);
{ОбщийМодуль.ПроверкаИПодборПродукцииИСУТКлиент.Модуль(44)}: ПроверкаИПодборПродукцииИСМПКлиент.ОткрытьФормуПроверкиИПодбора(ДополнительныеПараметры.Форма, Результат, Неопределено);
{ОбщаяФорма.ВыборВидаПродукцииИСУТ.Форма(49)}: ОповеститьОВыборе(ПредопределенноеЗначение("Перечисление.ВидыПродукцииИС.МоторныеМасла"));"
ТребуетсяОбновлениеКлючаСессииРозница = ИнтерфейсАвторизацииИСМПВызовСервера.ТребуетсяОбновлениеКлючаСессииРозница(
ПараметрыЗапросаКлючаСессииРозница,
ПараметрыСканированияСервер.ККТФФД12ИСМП,
ПараметрыСканированияСервер.НомерФискальногоНакопителя);
Функция ТребуетсяОбновлениеКлючаСессииРозница(ПараметрыЗапроса, ККТ = Неопределено, НомерФН = "", Знач СрокДействия = Неопределено) Экспорт
Если ИнтеграцияТСПИоТ.ПоПодключаемомуОборудованиюНастроеноПодключениеТСПИоТ(ККТ, НомерФН) Тогда
Возврат Ложь;
КонецЕсли;возвращает ложь
Возврат Ложь;
КонецЕсли;
возвращает ложь
прошу прощения за неточность, в этом месте как раз процедура идет дальше, где и требует обновление ключа сессии, но по идее должна возвращать ложь с выходом
Метод объекта не обнаружен (ЭтоМолочнаяПродукцияИСМП)
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(413)}: Если ИнтеграцияИСКлиентСервер.ЭтоМолочнаяПродукцияИСМП(ВидПродукцииИС) Или ЭтоПивоИСМП(ВидПродукцииИС)Тогда
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(400)}:
Посмотрел в модуле ИнтеграцияИСКлиентСервер нет функции ЭтоМолочнаяПродукцияИСМП(). Хотя в штатной УТ 10.3.88.3 эта функция есть в модуле.
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если РежимПросмотра
Или Не ВводДоступен() Тогда
Возврат;
КонецЕсли;
ИнициализироватьПараметрыСканирования();
ПроверкаИПодборПродукцииИСМПКлиентСервер.РазрешитьСопоставлениеНоменклатурыДляДокументаПриобретения(
ЭтотОбъект, ПараметрыСканирования);
ЗагрузкаДанныхТСД = Неопределено;
ШтрихкодированиеОбщегоНазначенияИСКлиент.ВнешнееСобытиеПолученыШтрихкоды(
"ПоискПоШтрихкодуЗавершение",
ЭтотОбъект, Источник, Событие,
Данные, ПараметрыСканирования);
КонецПроцедуры Показать
вроде для ПиоТ кэп не требуется. Там марка летит в драйвер ККТ - далее в ПиоТ - 1С получает ответ по статусу марки.
для опта (документы реализаций, возврата и.т.п.) кэп нужна - там обращение через tru api ЧЗ.
У нас сейчас и при сканировании и при пробитии проверяет.
Если не хотите информативность при сканировании в настройках можно поставить режим только при пробитии.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 2707372
Создание 04.06.26 17:00
Обновление 26.10.26 16:20
Просмотры 6020
Загрузки 103
Рейтинг
10
Комментарии 202
Код открыт Да
Рубрики Обновление 1С Обмен с ГосИС
Кому Разработчик
Тип файла Архив с данными
Платформа 1С 8.3
Конфигурация 1С:Управление торговлей 10
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)