Маркировка: обмен с ГИС МДЛП из 1С 7.7
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Конфигурация демонстрирует взаимодействие с ИС Маркировка МДЛП через API. Предназначена для интеграции с уже существующими системами учёта. Код полностью открыт.
Реализованы основные методы работы с документами, организациями, справочной информацией, просмотр входящих и исходящих документов, получение квитанций по исходящим документам, добавление контрагентов по ИНН, просмотр информации по GTIN, SGTIN, SSCC.
Реализованы документы по схемам 415,416,431,701,911,912 (исходящие), 601,602,606,607,617 (входящие). Недостающие методы API и документы по не реализованным схемам буду добавлять по необходимости, либо можете добавить сами по аналогии с уже реализованными.
Поддерживается работа с несколькими организациями.
Как начать работать:
У системы маркировки существует три стенда: тестовый стенд, стенд песочница, промышленный стенд.
Для подключения к тестовому стенду и стенду песочница необходимо написать письмо в техподдержку системы МДЛП.
Для подключения к промышленному стенду необходимо иметь цифровую подпись, зарегистрироваться в системе. В веб-интерфейсе (проще всего в него заходить через классический Internet Explorer) создать места деятельности, создать учётную систему. В конфигурации необходимо создать свою организацию, у организации создать пользователя, зарегистрировать в конфигурации сертификат пользователя и заполнить идентификаторы, скопировав их из веб-интерфейса в 1С. Попробовать тест авторизации.
Подробнее тут:
Краткая инструкция по быстрому старту для изучения API
Документация с сайта честный знак
В демо конфигурации заведены два тестовых участника. С помощью них можно опробовать работу API. Для отправления документов на тестовом стенде рекомендуется выпустить тестовую цифровую подпись и работать через неё.
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Оптовая торговля Розничная торговля ККМ ЭДО и ОФД Обмен с ГосИС НДС 22% Системный администратор Разработчик Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Платные (руб)
Подключение фискального регистратора к 1С 7.7 в режиме онлайн-кассы в соответствии с 54-ФЗ для Атол, Штрих-М / Торговый баланс М (PosCenter). Поддержка операторов ЭДО: Сбис (Тензор), Контур.Диадок, ЭДО лайт, Калуга Астрал, Такском и пр. Поддержка оптовой и розничной продажи маркированной продукции (алкоголь, табак, обувь, лекарства, шины, одежда, белье, парфюмерия, молочная продукция, вода, пиво, автозапчасти, моторное масло и пр.). Поддержка онлайн и офлайн (через Локальный Модуль ЧЗ) проверки маркировки в разрешительном режиме (РР) и через ТС ПИоТ.
20000 руб.
28.03.2017 585312 5306 3840
Обмен с ГосИС Разработчик 1С:Предприятие 7.7 1C77 Россия Абонемент ($m)
Первоначальная настройка и пример работы Локального модуля Честный знак (обязателен для разрешительного режима при розничных продажах, при отсутствии связи с серверами ЧЗ).
1 стартмани
22.01.2025 11679 31 kadet 34
WEB-интеграция Обмен с ГосИС Разработчик 1С:Предприятие 7.7 1C77 Россия Абонемент ($m)
В связи с нововведением Разрешительного Режима ТС ПИоТ, Онлайн и Офлайн проверки ЛМ ЧЗ, написал механизм взаимодействия 1С 7.7 с ТС ПИоТ, Честным знаком и ЛМЧЗ. Использовал три варианта отправки запросов.
3 стартмани
01.04.2024 17093 157 buka99999 152
Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Управленческий учет Абонемент ($m)
Выгрузка из 1С 7.7 ТиС 9.2 в XML реализованной оптом маркированной продукции для загрузки в Честный знак.
10 стартмани
10.08.2022 50185 20 AlexHelmer 8
Обмен с ГосИС Разработчик 1С:Предприятие 7.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 8535 1 victuan 2
Обмен с ГосИС Разработчик 1С:Предприятие 7.7 1C77 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)
Конец 2021 и начало 2022 года принесло много увлекательной работы в связи с переходом на ГИИС ДМДК. Все движения драгоценных металлов и камней должны отражаться в ГИИС. Для этого есть два пути: ручной ввод или интеграция существующей учетной системы с ГИИС. Ручной ввод не подходит тем организациям, которые имеют большое количество движений, а интеграция слишком дорога для небольших магазинчиков. Но самое неприятное в том, что в настоящий момент для интеграции требуется обезличенная ЭЦП, а выдавать ее никто не может или не имеет права. Это и привело меня к разработке продукта, который бы позволил автоматизировать часть работы с помощью эмуляции действий пользователя в личном кабинете.
1 стартмани
04.02.2022 7045 0 aldan 0
ККМ Обмен с ГосИС Бухгалтер Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Россия Бухгалтерский учет Управленческий учет Абонемент ($m)
Обработка для загрузки базы кодов цен в ККТ "Меркурий" с помощью программы-конфигуратора MercConfig из базы Торговля и склад 9.2 1С: Предприятие 7.7.
1 стартмани
25.01.2021 10741 1 aleksandr_leiman 0
Обмен с ГосИС Разработчик 1С:Предприятие 7.7 Фармацевтика, аптеки Россия Абонемент ($m)
Очередная расшифровка штрихкода формата МДЛП для 1С 7.7...
1 стартмани
24.07.2020 9740 6 Ветер в поле 2
Организация в которой будем подключать эту маркировку купила у вас эту разработку.
Я на своем компе пытаюсь сделать Тест авторизации, возможно ли без отправки им (Ч.З.) запроса на авторизацию
через заведенных уже starter_resident_1/2 пройти этот тест? Или только после связи с поддержкой ЧЗ и указанием моего IP статического?
То что я тут выложил - это не готовое решение, а часть моих доработок, которые я выложил на этапе, когда я научился взаимодействовать с ГИС МДЛП. Поэтому эти доработки за стартмани. Тут не хватает части документов, части методов API, анализа квитанций и ещё нужна интеграция с той системой, которая уже работает (чаще всего это ефарма). Я сам до сих пор даже себе не дописал настройки по маркировке до конца. Сделал только инегарацию с приходной накладной частично, продажи частично. Только на днях получили первую реальную упаковку от поставщика. Вам придётся много тестировать, поэтому нужен доступ к тестовому стенду и после написания внедрять и дописывать, уже на промышленном стенде. На песочнице по факту почти никто не тренируется. С тестового сразу переходят на промышленный. Делают единичную сделку маркированного товара, проверяют взаимодействие.
Рез=0 WinHttp.WinHttpRequest: Время ожидания операции истекло
Я так понимаю,документ "Уведомление МДЛП" будет подчинен документам Поступление, Продажа (Чек) , как вариант?
В "Уведомление МДЛП" в поле ШтрихКод вносится полностью строка со сканера DataMatrix (отсканированный КИЗ) ,хотя его длина гораздо больше 32?
нужен обмен "под ключ" с ГИС МДЛП из 1С 7.7 для нашей компании.
Прошу связаться со мной kolya@slavyanca.com
своими силами. Опишу схему товаро и документооборота в нашей фирме (аптечная сеть в глубинке, юридически у нас 2 ООО, физически - более 10
аптек). У нас есть подобие ЦС (центральный склад), куда часть поставщиков привозит товар, но часть везут напрямую по аптекам/ Это к вопросу о том, что физически сканирование GTIN-ов будет точно по аптекам, а не на ЦС
Теперь сам документооборот. В офисе на ЦС сидят операторы, которые приходуют накладные от поставщиков в 1С 7.7 и делают выписки - сборную солянку от нескольких поставщиков в одном электронном документе - по аптекам
Эти выписки кидаются на фтп-шник, откуда потом заведующие аптек их скачивает и приходуют в аптечном ПО (самописное на Delphi)
Так вот, вопрос стоит так - оставаться ли на своем ПО или переходить наконец на готовое с поддержкой МДЛП типа ИнфоАптеки Переходить начальство естественно не горит желанием, так как допрасходы. Итак надрываемся в неравной борьбе с федералами, закрываем одну точку за другой, срезали 13-ю зарплату всем и все такое.
Пока решили допиливать свое ПО и работать по такой схеме: аптеки как обычно приходуют товар, сканируют GTIN-ы и отправляют нам их обратно на ФТП. Мы в офисе грузим GTIN-ы со всех аптек, делаем обратную разбивку по поставщикам и соответственно отправляем в МДЛП через свое самописное ПО централизованно из офиса. Это на первом этапе. Потом вроде как начальство планирует, чтобы все аптеки отправляли инфу самостоятельно, опять же через наше самописное ПО
Но возникли сомнения, сможем ли все это реализовать своими силами. А с 01.07.2020 права на ошибку получается уже нет. Поэтому возникла такая мысль (которая была изначально) - отправлять данные по приходу централизованно, но с помощью внешнего готового решения. Например вашего
Если удастся интегрировать его в нашу 1С 7.7 (Бухгалтерский учет, но очень переписанная и поэтому давно не обновлявшаяся - 7.70.446) было бы на мой взгляд идеально. И к тому же значительно бы упростился этап сверки - все ли GTIN-ы прислали обратно аптеки. Если делать в Delphi то будет ужасный гемор с обратной сверкой - оператором придется глазами смотреть что мы отправили по аптекам и все ли отсканированные GTIN-ы они
прислали нам обратно. А если удастся интегрировать ваше решение, то все замкнется на 1С 7.7 и можно будет намного проще сверять - что мы послали аптекам и что они прислали нам обратно. И дополнительно снимется огромный пласт работы, связанной непосредственно с программированием отправки данных по приходу в МДЛП
Но есть очень большой минус - централизованная отправка из офиса. Вроде писали, что это разрешено ЧЗ. Но весь вопрос - постоянно или временно? Есть ли у вас достоверная инфа по этому поводу? И самое главное - есть уверенность, что в итоге вы допилите свою конфигу до полностью работоспобного состояния и будете регулярно выпускать нужные обновления? Мы за ценой не постоим и оплачивали бы все обновления отдельно, лишь бы была 100% уверенность, что ваше решение будет работоспособным и регулярно поддерживаться.
Скрытый текст |
|---|
| "Ответ: {"total":6,"entries":[{"address_id":"00000000170989","address":{"aoguid":"00000000-0000-0000-0000-000000000000","houseguid":"f98a66b1-4ae9-483a-b61e-e8f22aaba2c8","address_description":"???±?» ????N????°N?, ?? ????N???,
Ответ: ??N?-??N? ???????°N??????°, ?????? 31"},"entity_type":0},{"address_id":"00000000170990","address":{"aoguid":"00000000-0000-0000-0000-000000000000","houseguid":"6fb6a146-374e-45b2-bd9c-bdf71c38e809","address_description": Ответ: "???±?» ????N????°N?, ?? ????N???, N??» 4-N? ?§?µ?»N?N???????N??µ??, ?????? 66"},"entity_type":0},{"address_id":"00000000170991","address":{"aoguid":"00000000-0000-0000-0000-000000000000","houseguid":"ca32df15-eafe-49c7- Ответ: 9aed-a6f57785f5f8","address_description":"???±?» ????N????°N?, ?? ????N???, ??N?-??N? ???µ?????µ?»?µ?µ???°, ?????? 7"},"entity_type":0},{"address_id":"00000000170992","address":{"aoguid":"00000000-0000-0000-0000-00000000 " |
В чем может быть проблема?
Было Content-Type: application/json;charset=UTF-8
Стало Content-Type: application/json
Решение:
Кусок кода |
|---|
| В Обработка.МаркировкаAPI.ert
Вставить в функцию ВыполнитьЗапрос после строки Ответ = СокрЛП(wHTTP.ResponseText());ТипКонтента = "";
Попытка
ТипКонтента = wHTTP.getResponseHeader("Content-Type");
Исключение
КонецПопытки;
Если (ТипКонтента = "application/json") И (Найти(Ответ,"??") > 0) Тогда //тип контента без UTF-8, вместо русских букв знаки вопроса
Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.language = "javascript";
АдоДБСтрим = СоздатьОбъект("ADODB.Stream");
АдоДБСтрим.Mode = 3;
АдоДБСтрим.Type = 1;
АдоДБСтрим.Open();
Скрипт.AddObject("АдоДБСтрим",АдоДБСтрим);
Скрипт.AddObject("wHTTP",wHTTP);
Скрипт.Eval("АдоДБСтрим .Write(wHTTP.responseBody)");
РекордСет = СоздатьОбъект("ADODB.Recordset");
АдоДБСтрим.Position = 0;
Поля = РекордСет.Fields;
Поля.Append("txt", 200, АдоДБСтрим.Size, 128);
РекордСет.Open();
РекордСет.AddNew();
Скрипт.AddObject("Поле",Поля.Item("txt"));
Скрипт.Eval("Поле.AppendChunk(АдоДБСтрим.Read)");
Ответ = РекордСет.Fields("txt").Value;
РекордСет.Close();
АдоДБСтрим.Close();
Ответ = глПерекодировка(Ответ);
КонецЕсли;
Показать |
ScrptCtrl.Modules("Global").CodeObject.Signer(infile, outfile, Cert);
а как из полученного файла извлечь информацию для отправки запроса? т.е. уид и подписанная дата для получения токена
Интегрировали вашу конфигурацию. Спасибо за такой великий труд!
У нас используется компонента распределенных баз и при обмене из периферийных баз загружаются документы и сообщения обмена со всех баз. Первоначально подумал, что решу эту проблему заведением "учетных систем" в честном знаке на каждую аптеку. Это не решило проблему. Тогда я в справочнике "Организации мдлп" в поле Рег. номер участника sys_id указал не организацию, а идентификатор клиента client_id из раздела учетные системы. Но это тоже не помогло. приходит ответ по всем аптекам.
"client_id": "a74bd5e3-f523-4310-bd11-4617ee26353a", "client_secret": "33a30ffd-ff8e-4894-8532-9617110a7cb8", "user_id":
Из запроса видно, что используется только client_id и client_secret.
Я неверно, заполняю параметры по организации мдлп или в данной версии не предусмотрено отправка запросов с разных учетных систем ?
Поправьте если неверное обращаюсь с заполнением параметров организации МДЛП...
передать в функцию значение ?
receiver_id=ОрганизацииМДЛП.ИдентификаторКлиента
Получилось спасибо !
Принудительно установил в Функция ПолучениеСпискаВходящихДокументов(КлючСессии
receiver_id=константа.СкладМДЛП.Идентификатор; // фильтр по аптеке
После этого в логе идет загрузка по складумдлп.
POST
->{"filter": {"end_date": "2020-11-19 14:36:46", "receiver_id": "00000000235950"}, "start_from": 0, "count": 100}
Рез: -1
Статус: 200
СтатусТекст:
Ответ: {"documents":[{"request_id":"5816e11e-0288-4749-b3a5-b952e31c5016","document_id":"3d775ff7-75ea-4f51-8f9f-b31c1e56cbf3","date":"2020-11-19 08:43:41","processed_date":"2020-11-19 08:43:41","sender":"00000000023025","recei
Ответ: ver":"00000000235950","sys_id":"92e48622-5f3e-42cb-b62e-9bc2e6604b03","doc_type":607,"doc_status":"PROCESSED_DOCUMENT","file_uploadtype":2,"sender_sys_id":"f8899dae-7df9-4b3e-b357-6746af83fbb6","version":"1.35"},{"reques
А вам, раз вы в каждой базе хотите делать свой обмен, необходимо при получении входящих документов указывать фильтр по месту деятельности.
Смотрите в API метод "Получение списка входящих документов", параметр filter
"Формат объекта DocFilter"
receiver_id Уникальный идентификатор получателя String 0 Идентификатор места осуществления деятельности, места ответственного хранения или идентификатор субъекта обращения в ИС "Маркировка товаров". Применимо для входящих документов.
Наверное ещё можно сделать через права пользователей, но я с этим не разбирался.
Увы перейти на схему центральной отсылки мы пока не можем. Спасибо за совет, но разобраться самостоятельно не хватает компетенций. Возможно к вам обратиться в частном порядке помочь нам в этом? Тут в этом бардаке еще одна проблема вылезла.. документ входящий "УведомлениеМДЛП" с 607 сообщением протокола, загружается каждый раз при обмене. Начал смотреть на сайте честного знака, на этих документах стоит пометка подтверждения не требуется. Вообще не понял, в чем причина. Может мне тоже нужно на входящий документ формировать ответ ?
С надеждой на взаимовыгодное сотрудничество!
Перенес в свою конфигурацию. На основании приходной накладной формирую документ "УведомлениеМДЛП" (сканирую марки) - ставлю тип уведомления 416 - создаю сообщение к отправке- в сообщенияхМДЛП нажимаю обмен. Все улетает в честный знак. Приходит ответ 200.
После происходит получение сообщение 607 и автоматическое создание документа "УведомлениеМДЛП".
Проблема №1 – ответ 607 приходит каждый раз при обмене по всем запросам 416 . В самом честном знаке написано не требует подтверждения. В чем моя ошибка? Как объяснить ЧЗ больше не присылать мне 607?
Проблема 2. Поставщики стали присылать упаковки. В накладной стоит название лекарства и общая цена, при этом они настоятельно просят не отсылать в честный знак марки из этой коробки, а просят отослать SSCC. Как это правильно реализовать в данной конфигурации? Я отправил одной стройкой изменив тип кода на SSCC и указав стоимость общую стоимость. После этого при обмене появилась ошибка.
гXMLДокумент.Загрузить(ВходящийДокументXML);
{C:\DATA\1С_ЗОЯ_НОВАЯ\EXTFORMS\ОБРАБОТКА.МАРКИРОВКАXML.ERT(244)}: : В текстовом комментарии обнаружен недопустимый знак.
Как правильно пользоваться этим функционалом ?
Заранее благодарен за подсказку ...
По первой проблеме: не требует подтверждения - означает, что вы имеете право продавать товар не дожидаясь подтверждения. 607 никто не отменял, и идти они будут. Я в запросе выставляю фильтр по периоду за последние сколько-то дней (уже не помню сколько).
По второй: SSCC вполне себе работает. Ошибка означает, что файл xml не соответствует стандарту. Возможно, спецсимвол не заэкранирован (хотя его там быть не должно). Откройте xml например в эксплорере, он выдает обычно информацию о строке с ошибкой, или как текст просмотрите, если знаете правила формирования xml. А уже от этого искать проблему.
А, и у sscc цена тоже указывается за штуку
В конфигурации в документах которые шли как пример нет обмена с сообщением 416. По той схеме по которой я начал работать, я все верно делаю ?
Как я могу знать за какой период я должен отсылать запрос если поставщики неделями не присылают 607 ? Я должен получить ответы на мои 416 по которым еще не было сообщения 607 - зачем мне их получать каждый раз за весь период ? как такое может быть ? В справочнике сообщение обмена с МДЛП приходит один раз 607, а документы "уведомление мдлп" формируется каждый раз и на новые ответы 607 и старые. Понятно, что сейчас могу просто дописать костыль и пропускать создание документа "уведомление мдлп" по уже существовавшим 607. (причем в сообщении всегда переписывается документ) Объем обмена каждый день растет, мне кажется я должен что-то послать в ответ на 607 чтоб он больше не загружался при обмене ?
Есть пользователи кто использует данное решение в обратном акцепте? Кто столкнулся с такой проблемой ?
Какой алгоритм работы с SSCC ? в примерах с базой отсылается одной строкой. Получается в честном знаке есть информация о марках в коробке ? ответ придет в 607 по маркам ?
Ну, на мой взгляд, если нет 607 неделю, то уже и не будет. Тем более сейчас можно 702 использовать, и вообще - уведомительный режим до февраля, можно сразу продавать.
Информация есть.
Ответ придет в 607 на КОРОБКУ. Вы приходовали коробку - вы получили подтверждение на коробку.
Дальше надо загрузить коды коробки с ЧЗ по SSCC
И разагрегировать коробку схемой 912
Если сначала разагрегируете, а потом решите загрузить коды, то выйдет облом
Загрузить коды можно по разному, например: ПолучениеИнформацииОПолнойИерархииВложенностиТретичнойУпаков
период уменьшить - это понятно. а почему каждый раз создается новый документ "уведомление мдлп" с признаком 607 на момент обращения в ЧЗ? а должен был создаться только на те на которые не было ответа ?
Сейчас Честный знак сам разагрегирует, при изъятии упаковки из короба.
как решить проблему с обновлением чтобы не разбираться с за двоением 607 ? почту не скинете ?
Добрый день ! Реализовал на основе 416 схемы - 702. В честный знак уходит, квитанция 200 приходит. 627 всегда должен в ответ приходить ? мне второй день не возвращается.
И по разагрегацию не пойму 220 и 221 схемой.
Сначала делается на основании прихода на sscc 416 или 702 схема.
Приходит ответ с sscc в 607 или 627.
Затем должен отправить с указанием sscc схему 220. В обсуждаемой конфигурации при выборе 912 схемы появляется окно третичная упаковка sscc, получается только одну упауовку можно отправить в документе и табличная часть не учувствует?
И после получить ответ в 221 уже с gtin ?
Если у меня в одной накладной пришла и коробка и таблетки обычные мне нужно отправить 416 или 702 с указанием gtin и sscc одним документом. А после получения ответов 607 или 627, отдельно отправлять на разагрегацию каждый sscc и получать в систему gtin от ЧЗ. Нужно ли мне пересканировать все марки и проверять ? ошибки случабтся ?
Все чаще при обмене стали появляться ошибки:
Ответ= WinHttp.WinHttpRequest: Соединение с сервером было неожиданно прервано
Ответ= WinHttp.WinHttpRequest: Ошибка поддержки безопасных каналов
Знаю про атаки на сайт ЧЗ.
Напишите в личку кто у себя использует данное решение.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 1147679
Создание 31.10.19 09:42
Обновление 15.11.19 14:30
Просмотры 28770
Загрузки 80
Рейтинг
20
Комментарии 89
Код открыт Да
Рубрики Обмен с ГосИС
Кому Разработчик
Тип файла Архив с данными
Платформа 1С:Предприятие 7.7
Конфигурация 1C77
Операционная система Windows
Страна Россия
Отрасль
Здравоохранение, медицина, стоматология
,
Фармацевтика, аптеки
Налоги Не имеет значения
Вид учета Управленческий учет
Доступ к файлу Абонемент ($m)