Настройка и пример работы локального модуля Честный знак для 1С 7.7

04.03.25

Интеграция - Обмен с ГосИС

Первоначальная настройка и пример работы Локального модуля Честный знак (обязателен для разрешительного режима при розничных продажах, при отсутствии связи с серверами ЧЗ).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Настройка и пример работы Локального модуля Честный знак 1с 7.7
.ert 202,00Kb
13
13 Скачать (1 SM) Купить за 1 850 руб.

Разрешительный режим в системе «Честный ЗНАК» — это предварительная проверка кода маркированного товара для автоматической выдачи разрешения или запрета на продажу. 

Суть режима в том, что касса автоматически отправляет код маркировки в «Честный знак», как только продавец отсканирует этот код. Если касса получает положительный ответ от «Честного знака», то добавляет товар в чек. Если «Честный знак» сообщает об ошибке, касса не добавит товар в чек, значит, продать его не получится.

Запрос отправляется через специальные CDN-площадки Честного знака и если они недоступны, тогда должен включаться оффлайн-режим через специальный Локальный модуль Честного знака.

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

С 01 марта 2025 года в модуле реализована проверка на запрещенные марки, так называемый "черный список", с 01.09.2025 обещают сделать "белый список".  

Обработка инициализирует модуль, загружает отмеченные товарные группы и передает в модуль токен ККТ.

Для работы с обработкой необходимо:

  1. Скачать дистрибутив локального модуля. Можно отсюда: https://честныйзнак.рф/local-module/ и установить его. Нужно придумать и запомнить логин и пароль для обращения к модулю.
  2. Запустить обработку и заполнить поля: логин и пароль локального модуля (вводили при установке).

 

 

Идентификационный токен, который нужно взять в личном кабинете ЧЗ

 

 

 

 

  1. Установить галочки напротив необходимых товарных групп и нажать кнопку «Инициализировать»

 

 

Модуль будет инициализирован, в него загрузятся указанные товарные группы и токен. После этого модуль будет готов к работе.

  1. Затем можно будет выполнить проверку марки. Это поле сделано для проверки механизма работы модуля. Код из обработки по проверке можно будет вставить в свою конфигурацию.

 

 

Обработка предназначена для 1С:Предприятия 7.7. Не зависит от конфигурации.

Тестировалась на конфигурации 1С: 7.7 Торговля и склад 9.2.984.  

Локальный модуль Честного знака 7.7 оффлайн-режим

См. также

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полностью автоматизированный обмен данными между конфигурациями 1С 7.7 и универсальным транспортным модулем (УТМ) ЕГАИС для всех видов деятельности (Опт, Розница, Производство, Импорт). Для организации обмена с ЕГАИС требуется минимальная доработка конфигураций (поддерживается 1С: "Торговля и склад ред. 9.2", 1С: "Бухгалтерия 7.7", 1С: "УСН 7.7", другие конфигурации по заказу, включая нетиповые). В данном программном продукте реализованы все технические требования ФСРАР по обмену с УТМ ЕГАИС (включая отправку чеков розничных продаж в ЕГАИС - требование с 01.07.16). Поддержана фиксация чеков ЕГАИС на онлайн-кассах (в соответствии с 54-ФЗ). Поддержана версия 3 документооборота и поштучный (помарочный) учет. Поддержан эксперимент Татарстана по маркировке нефасованного (кегового) пива.

3000 руб.

13.12.2015    138554    171    400    

146

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Программист Бухгалтер Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 1С:Упрощенное налогообложение 7.7 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)

Полностью автоматизированный обмен между конфигурациями 1С 7.7 и ФГИС Меркурий через Ветис.API для всех видов деятельности (Опт, Розница, Производство). Для организации обмена с ФГИС Меркурий требуется минимальная доработка конфигураций (поддерживается "из коробки" 1С: "Торговля и склад ред. 9.2", 1С: "Комплексная ред. 4.5", 1С: "Бухгалтерия 7.7", 1С: "УСН 7.7", 1С Предприниматель, другие конфигурации по заказу, включая нетиповые и самописные). Модуль разработан таким образом, чтобы минимизировать затраты по внедрению в произвольную конфигурацию на базе 1С 7.7. Вы можете БЕСПЛАТНО скачать демо-версию без ограничения по функционалу и опробовать решение в полном объеме перед покупкой. В данном программном продукте реализованы все технические требования Россельхознадзора по обмену в формате 2.0 и 2.1. Решение прошло опытную эксплуатацию и тестирование на крупных объектах всех видов деятельности: Производство, Опт, Розница.

10000 руб.

21.11.2018    54630    158    105    

71

Обмен с ГосИС Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 Россия Абонемент ($m)

Уже с 01.04.2024 вводится так называемый "разрешительный" режим продажи маркированной продукции в розницу. Это значит, что перед продажей нужно запрашивать у сервиса ЦРПТ разрешение на реализацию каждой марки. Здесь кратко опишу, как это делается, и приложу примеры для 1С 8 и 7.7.

1 стартмани

15.03.2024    16033    181    kirlog    120    

31

Обмен с ГосИС Программист Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Ювелирная промышленность и торговля Россия Бухгалтерский учет Абонемент ($m)

Интеграция 1С 7.7 с ГИИС ДМДК (маркировка ювелирных изделий и драгоценных камней). Данная публикация является попыткой выяснения спроса на полноценную интеграцию конфигураций на базе платформы 1С 7.7 с ГИИС ДМДК (https://dmdk.ru/). На текущий момент реализована печать ценников-бирок, содержащие УИН продукции в формате ШК Datamatrix. Имеются планы разработки решения для учета розничных продаж через УТМ (Универсальный Транспортный Модуль) из 1С 7.7.

1 стартмани

01.03.2022    6274    1    victuan    2    

17

Обмен с ГосИС Программист Платформа 1С v7.7 1C77 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

Конец 2021 и начало 2022 года принесло много увлекательной работы в связи с переходом на ГИИС ДМДК. Все движения драгоценных металлов и камней должны отражаться в ГИИС. Для этого есть два пути: ручной ввод или интеграция существующей учетной системы с ГИИС. Ручной ввод не подходит тем организациям, которые имеют большое количество движений, а интеграция слишком дорога для небольших магазинчиков. Но самое неприятное в том, что в настоящий момент для интеграции требуется обезличенная ЭЦП, а выдавать ее никто не может или не имеет права. Это и привело меня к разработке продукта, который бы позволил автоматизировать часть работы с помощью эмуляции действий пользователя в личном кабинете.

1 стартмани

04.02.2022    5309    0    aldan    0    

3

ККМ Обмен с ГосИС Бухгалтер Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Россия Бухгалтерский учет Управленческий учет Абонемент ($m)

Обработка для загрузки базы кодов цен в ККТ "Меркурий" с помощью программы-конфигуратора MercConfig из базы Торговля и склад 9.2 1С: Предприятие 7.7.

1 стартмани

25.01.2021    8918    1    aleksandr_leiman    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. basil_m 6 28.01.25 09:47 Сейчас в теме
Добрый день, а как другие группы туда добавляются? Не вижу например молочку, воду.
2. basil_m 6 28.01.25 10:03 Сейчас в теме
(1) нашел, таблица 52, список поддерживаемых групп. Интересно, но там молочки и воды вообще нет
3. kadet 62 29.01.25 13:53 Сейчас в теме
В процедуру При открытии можно добавить всё, что нужно. Там список значений, а правильное наименование групп можно взять из руководства True-API.
4. Tarlich 118 29.01.25 19:07 Сейчас в теме
а если у меня на одном компе 2 организации ?
5. kadet 62 29.01.25 19:35 Сейчас в теме
(4) Это выдержка из метод. рекомендаций:
"ЛМ ЧЗ устанавливается на торговую точку в единственном экземпляре вне зависимости от
числа касс, каждый экземпляр ЛМ ЧЗ имеет свой уникальный идентификационный номер
(для каждого ИНН должен быть установлен отдельный экземпляр ЛМ ЧЗ)"
6. Tarlich 118 29.01.25 20:41 Сейчас в теме
(5) Если у меня база риб я же смогу в каждой точке установить указав одинаковый токен ? Для работы ЛМ нужен сертификат ? а если у меня на очке 1 ПК одна база и в ней 2 Организации?
7. kadet 62 30.01.25 08:00 Сейчас в теме
(6) По поводу РИБ не подскажу. Для работы ЛМ нужен только логин и пароль те, которые указывали при установке ЛМ. "для каждого ИНН должен быть установлен отдельный экземпляр ЛМ ЧЗ". Как это реализовать на 1 ПК думаю, что лучше задать вопрос в ЧЗ.
8. basil_m 6 30.01.25 17:10 Сейчас в теме
Добрый день. Скачал. При открытии:
Функция не обнаружена (JSONСтрока)
Процедура не обнаружена (СообщитьПо)
9. kadet 62 31.01.25 09:56 Сейчас в теме
16. vSAD 09.02.25 15:28 Сейчас в теме
10. basil_m 6 31.01.25 12:54 Сейчас в теме
Добавил в группы молочку с водой, установил модуль, инициализировал, проверил марку, вроде как всё работает.
Но такой вопрос: а как же получить идентификатор запроса, который в чеке нужно передавать?
11. basil_m 6 31.01.25 13:18 Сейчас в теме
Разобрался. Получить параметр "reqId".
12. kadet 62 31.01.25 16:41 Сейчас в теме
13. basil_m 6 31.01.25 17:49 Сейчас в теме
14. basil_m 6 05.02.25 12:37 Сейчас в теме
Подскажите, а что должно показываться по кнопке Статистика? Что-то у меня ничего не происходит
15. kadet 62 05.02.25 19:28 Сейчас в теме
(14) Там служебная информация по модулю "yenisei". Там мало, что понятно. Чтобы это увидеть нужно в модуле обработки установить флОтладка = 1. Или закомментить в процедуре СообщитьПо условие про эту переменную.
17. akrub 10.02.25 09:12 Сейчас в теме
Подскажите , а где вы взяли описание метода «Настроить список товарных групп» и для какой цели он нужен ?

просто в описании применения ЛМ 20.02.2024 RU.17221426.37140-34 31 01 в листе регистрации изменений содержится вот такая информация
"- Удалены разделы 4.1.2 и 4.2.2 с описанием метода «Настроить список товарных групп». Поддержка данного метода сохраниться, в дальнейшем данный метод будет удален из ЛМ ЧЗ"

или вы просто адаптировали код под 7.7 из типовых решений 1с ?
18. kadet 62 10.02.25 13:31 Сейчас в теме
(17) Когда я делал обработку на сайте было размещено ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ "Локальный модуль "Честный знак" Руководство системного программиста. В нем описано порядок инициализации и настройки ЛМ. Сейчас это руководство с сайта убрали. Видимо, и товарные группы настраивать в будущем не нужно будет. Просто нужно закомментить строку с этим модулем и вопрос будет решен. Спасибо за подсказку.
19. basil_m 6 14.02.25 19:46 Сейчас в теме
(18) Получается сейчас товарные группы при инициализации не имеют смысла? ЛМ инициализируется по всем группам?
20. kadet 62 17.02.25 09:03 Сейчас в теме
(19) Не подскажу. 12.02 обновили метод. указания. В них нет ничего про инициализацию по всем группам.
21. dmitry8200 28.02.25 10:40 Сейчас в теме
Здравствуйте, подскажите если код марки содержит символы Character Set 82 то по рекомендации ЧЗ требуется цитата "При передаче данного параметра, так как в составе КИ могут содержаться символы Character Set 82, параметр необходимо кодировать в соответствии с RFC 1738"
как это сделать? При использовании данной обработки к сожалению это не предусмотрено.
Если предавать марку например 01048657365749062155esJWe то все нормально, если 0104607166151292215AqJT%sSBxM<v то ошибки из-за символов.
22. kadet 62 28.02.25 13:44 Сейчас в теме
(21) Всегда думал, что это оно:

Функция JSONСтрока(Знач Стр) 
    Стр=СтрЗаменить(Стр,"\","\\");
    Стр=СтрЗаменить(Стр,Симв(10),"\n");
    Стр=СтрЗаменить(Стр,Симв(13),"\r");
    Стр=СтрЗаменить(Стр,СимволТабуляции,"\t");
    Стр=СтрЗаменить(Стр,"/","\/");
    Стр=СтрЗаменить(Стр,"""","\""");
	Стр=СтрЗаменить(Стр,"(29)","\u001d");
	Стр=СтрЗаменить(Стр,Симв(29),"\u001d");
    Возврат Стр
КонецФункции
Показать


Ошибался?
23. basil_m 6 28.02.25 14:57 Сейчас в теме
(22) проверил побольше марок, да, некоторые нормально, некоторые нет, видимо что-то недоэкранировано
24. dmitry8200 28.02.25 15:39 Сейчас в теме
Подскажите решение для таких символов. Как правильно их экранировать?
25. basil_m 6 28.02.25 16:06 Сейчас в теме
(24) читаю, вроде, что надо в этой функции экранировано, но на некоторых марках возвращается ошибка "Не удалось проверить марку. Код ответа: 400"
26. kadet 62 28.02.25 18:33 Сейчас в теме
(24) У меня что-то не попадаются такие коды. Но попробуйте вот в эту функцию обернуть КИЗ:
Функция URLEncode( value_ )

table = "%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%1­3%14" +
"%15%16%17%18%19%1A%1B%1C%1D%1E%1F%20%21%22%23%24%25%26%27%2­8" +
"%29%2A%2B%2C%2D%2E%2F%30%31%32%33%34%35%36%37%38%39%3A%3B%3­C" +
"%3D%3E%3F%40%41%42%43%44%45%46%47%48%49%4A%4B%4C%4D%4E%4F%5­0" +
"%51%52%53%54%55%56%57%58%59%5A%5B%5C%5D%5E%5F%60%61%62%63%6­4" +
"%65%66%67%68%69%6A%6B%6C%6D%6E%6F%70%71%72%73%74%75%76%77%7­8" +
"%79%7A%7B%7C%7D%7E%7F%80%81%82%83%84%85%86%87%88%89%8A%8B%8­C" +
"%8D%8E%8F%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F%A­0" +
"%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF%B0%B1%B2%B3%B­4" +
"%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF%C0%C1%C2%C3%C4%C5%C6%C7%C­8" +
"%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%D­C" +
"%DD%DE%DF%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F­0" +
"%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF";

result = "";

value = сокрлп(value_);

length = СтрДлина( value );

Для i = 1 По length Цикл
symbol = Сред( value, i, 1 );
//code = КодСимвола( symbol );
code = КодСимволаASCII( symbol );
nextSymbol = symbol;

Если code=29 Тогда // разделитель блоков в марке - пропускаем
nextSymbol = "";
иначеЕсли не ( ((code>=48)и(code<=57 )) // цифры
или ((code>=65)и(code<=90 )) // латиница врег
или ((code>=97)и(code<=122)) ) // латиница нрег
Тогда
nextSymbol = Сред( table, code*3 + 1, 3 );
КонецЕсли;

result = result + nextSymbol;

КонецЦикла;

Возврат result;
КонецФункции
27. basil_m 6 28.02.25 20:00 Сейчас в теме
У вас в коде экранирование стоит для запроса POST. А проверка марки реализована GET. Для GET надо экранировать в соответствие с этими рекомендациями
Прикрепленные файлы:
Rekomenduemyy_algoritm_ekranirovaniya_spetsial_nyh_simvolov_v_kode_identifikatsii.pdf
28. x13RUS064 03.03.25 18:34 Сейчас в теме
Куда писать это экрианирование? в 1с? или сканер настраивать? таже ошибка 400
29. kadet 62 03.03.25 21:09 Сейчас в теме
(28) В модуль обработки, но оно там уже есть. Нужно только подправить под GET запрос. Пока руки не доходят.
30. kadet 62 04.03.25 19:51 Сейчас в теме
Обновил обработку. Добавил в неё функцию экранирования. Можно не качать заново, а в модуле заменить функцию:

Функция JSONСтрока(Знач Стр)  
	
	//API с использованием GET запросов
	Стр=СтрЗаменить(Стр,"!","%21");
	Стр=СтрЗаменить(Стр,"\","%5C");
	Стр=СтрЗаменить(Стр,Симв(34),"%22");
	Стр=СтрЗаменить(Стр,"%","%25");
	Стр=СтрЗаменить(Стр,"&","%26");
	Стр=СтрЗаменить(Стр,"`","%27");
	Стр=СтрЗаменить(Стр,"*","%2A");
	Стр=СтрЗаменить(Стр,"+","%2B");                                
	Стр=СтрЗаменить(Стр,"-","%2D");
	Стр=СтрЗаменить(Стр,".","%2E");
	Стр=СтрЗаменить(Стр,"/","%2F");
	Стр=СтрЗаменить(Стр,"_","%5F"); 
	Стр=СтрЗаменить(Стр,",","%2C");
	Стр=СтрЗаменить(Стр,":","%3A");                                
	Стр=СтрЗаменить(Стр,";","%3B");
	Стр=СтрЗаменить(Стр,"=","%3D");
	Стр=СтрЗаменить(Стр,"<","%3C");
	Стр=СтрЗаменить(Стр,">","%3E"); 
	Стр=СтрЗаменить(Стр,"?","%3F");
	Стр=СтрЗаменить(Стр,"(","%28");
	Стр=СтрЗаменить(Стр,")","%29");
	
	//API с использованием POST запросов
	
    Стр=СтрЗаменить(Стр,"\","\\");
    Стр=СтрЗаменить(Стр,Симв(10),"\n");
    Стр=СтрЗаменить(Стр,Симв(13),"\r");
    Стр=СтрЗаменить(Стр,СимволТабуляции,"\t");
    Стр=СтрЗаменить(Стр,"/","\/");
    Стр=СтрЗаменить(Стр,"""","\""");
	Стр=СтрЗаменить(Стр,"(29)","\u001d");
	Стр=СтрЗаменить(Стр,Симв(29),"\u001d");
    Возврат Стр  
	
КонецФункции
Показать


и строку 388 заменить строку на:

Метод = "/api/v1/cis/outCheck?cis=" + JSONСтрока(СокрЛП(Марка));


Коды из (21) отработали корректно.
31. dmitry8200 04.03.25 21:18 Сейчас в теме
(30) Спасибо. Будем пробовать.
32. basil_m 6 10.03.25 10:20 Сейчас в теме
Для информации. На метод outChek при проверке Оффлайн надо перейти до 1 сентября 2025 и там добавить еще в тег 1265 два параметра из ответа: Inst и Ver
Прикрепленные файлы:
Оставьте свое сообщение