Обмен через API с Честный знак (Система маркировки товаров)

10.08.20

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

Рассмотрен пример обмена через API с Честным знаком с использованием электронной подписи.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обмен через API с Честным знаком (Система маркировки товаров):
.epf 10,18Kb
167
167 Скачать (1 SM) Купить за 1 850 руб.

У государства большие планы по развитию системы маркировки товаров, в связи с этим бизнесу надо научиться взаимодействовать с системой маркировки товаров Честный знак. API описан здесь.

Основа взята из публикации //infostart.ru/public/1236219/, но в отличии от неё всё реализовано средствами 1С. В обработке реализовано получение токена с использованием электронной подписи, отправка запроса и получение ответа в файл .json

Проверено на платформе 8.3.15.1830, конфигурации Бухгалтерия предприятия 3.0.80.40. Код обработки ниже:

&НаСервере
Процедура ЗаписатьВЖурнал(Данные)
	Файл = Новый ЗаписьТекста(ПутьКФайламОтветов + "log.txt",,,Истина);
	Файл.ЗаписатьСтроку(Строка(ТекущаяДата()) + ": " + Данные);
	Файл.Закрыть();
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	//Поиск доступных сертификатов
	CAPICOM_CURRENT_USER_STORE = 2;
	//2 - Искать сертификат в ветке "Личное" хранилища.
	CAPICOM_MY_STORE = "My";
	// Указываем, что ветку "Личное" берем из хранилища текущего пользователя
	CAPICOM_STORE_OPEN_READ_ONLY = 0; // Открыть хранилище только на чтение
	oStore = Новый COMОбъект("CAdESCOM.Store"); // Объект описывает хранилище сертификатов
	
	oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
	CAPICOM_STORE_OPEN_READ_ONLY); // Открыть хранилище сертификатов
	// 1 вариант: поиск сертификата по отпечатку
	//CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
	//Certificates = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, ОтпечатокСтр);
	//Рез = Certificates.Item(1);
	
	//2 вариант: обходом по коллекции и сравнение с отпечатком
	Для Каждого ТекСертификат Из oStore.Certificates Цикл
		НоваяСтрока = Сертификаты.Добавить();
		НоваяСтрока.Владелец = ТекСертификат.SubjectName;
		НоваяСтрока.ПериодС = ТекСертификат.ValidFromDate;
		НоваяСтрока.ПериодДо = ТекСертификат.ValidToDate;
		НоваяСтрока.Контейнер = ТекСертификат.PrivateKey.UniqueContainerName;
		НоваяСтрока.Отпечаток = ТекСертификат.Thumbprint;
	КонецЦикла;
	
	//Запрос = "/api/v3/facade/identifytools/listV2?cisStatus=INTRODUCED&limit=10000";
	Запрос = "/api/v3/facade/cis/cis_list?cis=010462007200949521tkHSO<.I)jqC(";
	Сервер = "ismp.crpt.ru";
	ПутьКФайламОтветов = "C:\temp\GISMT\";
	
КонецПроцедуры

&НаКлиенте
Процедура СертификатыПриАктивизацииСтроки(Элемент)
	СертификатДляОбмена = Элемент.ТекущиеДанные.Отпечаток;
КонецПроцедуры

&НаКлиенте
Процедура ПолучитьТокен(Команда)
	ПолучитьТокенНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПолучитьТокенНаСервере()
	
	// Получение данных для получения токена
	HTTPСоединение =    Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
	HTTPЗапрос = новый HTTPЗапрос("/api/v3/auth/cert/key");
	HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("GET",HTTPЗапрос);
	ОтветСтрока = HTTPОтвет.ПолучитьТелоКакСтроку("UTF-8"); 
	ЧтениеJSON = Новый ЧтениеJSON; 
	ЧтениеJSON.УстановитьСтроку(ОтветСтрока); 
	ДанныеJSON = ПрочитатьJSON(ЧтениеJSON); 
	ЧтениеJSON.Закрыть();
	УИД = ДанныеJSON.uuid;
	ДанныеДляПолученияТокена = ДанныеJSON.data;
	ЗаписатьВЖурнал("Получение данных /api/v3/auth/cert/key" + Символы.ПС + ДанныеДляПолученияТокена);
	
	// Подписание данных для получения токена
	ДанныеДляПолученияТокена = ПодписатьТекст(ЗашифроватьBase64(ДанныеДляПолученияТокена, КодировкаТекста.UTF8),СертификатДляОбмена,Ложь);
	ЗаписатьВЖурнал("Подписано сертификатом " + СертификатДляОбмена + Символы.ПС + ДанныеДляПолученияТокена);
	
	// Получение токена с использованием подписанных данных
	Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Content-Type", "application/json; charset=UTF-8");
	Заголовки.Вставить("Accept", "application/json");
	HTTPЗапрос = Новый HTTPЗапрос("/api/v3/auth/cert/",Заголовки);
	ЗаписьJOIN = Новый ЗаписьJSON;
	ЗаписьJOIN.УстановитьСтроку();
	ДанныеДляЗапроса = Новый Структура;
	ДанныеДляЗапроса.Вставить("uuid",УИД);
	ДанныеДляЗапроса.Вставить("data",ДанныеДляПолученияТокена);	
	ЗаписатьJSON(ЗаписьJOIN,ДанныеДляЗапроса);
	СтрокаДляЗапроса = ЗаписьJOIN.Закрыть();
	
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаДляЗапроса,КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
	Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
	
	Токен = ПрочитатьJSON(ЧтениеJSON, Ложь).token;	
КонецПроцедуры

&НаСервере
Функция ЗашифроватьBase64(Строка, Кодировка) Экспорт
	ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
	ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, Кодировка);
    ЗаписьТекста.Записать(Строка);
    ЗаписьТекста.Закрыть();
    Двоичные = Новый ДвоичныеДанные(ИмяВременногоФайла);
    Результат = Base64Строка(Двоичные);
	Если Лев(Результат, 4) = "77u/" Тогда
		Результат = Сред(Результат, 5);
	КонецЕсли; 
	Результат = СтрЗаменить(Результат, Символы.ПС, "");
    УдалитьФайлы(ИмяВременногоФайла);
    Возврат Результат;
КонецФункции

&НаСервере
// sThumbprint - отпечаток сертификата, используемого для подписи; строка,
// представляющая отпечаток в шестнадцатеричном виде
// пример 195934d72dcdf69149901d6632aca4562d8806d8
// ТекстДляПодписи должен быть в Base64
// bDetached - Истина/Ложь - откреплённая(для подписания документов)/прикреплённая(для получения токена авторизации) подпись
Функция ПодписатьТекст(ТекстДляПодписи, sThumbprint, bDetached)
	CADESCOM_BASE64_TO_BINARY = 1; // Входные данные пришли в Base64
	CADESCOM_CADES_TYPE = 1; // Тип усовершенствованной подписи
	CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0; // Атрибут штампа времени подписи
	oSigner = Новый COMОбъект("CAdESCOM.CPSigner");
	// Объект, задающий параметры создания и содержащий информацию об усовершенствованной подписи.
	oSigner.Certificate = ПолучитьСертификатПоОтпечатку(sThumbprint);
	oSigningTimeAttr = Новый COMОбъект("CAdESCOM.CPAttribute");
	oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
	oSigningTimeAttr.Value = ТекущаяДата();
	oSigner.AuthenticatedAttributes2.Add(oSigningTimeAttr);
	ТекстДляПодписи = СокрЛП(ТекстДляПодписи);
	oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
	// Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью.
	oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
	oSignedData.Content = СокрЛП(ТекстДляПодписи);
	EncodingType = 0;
	sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE,
	bDetached, EncodingType);
	// Метод добавляет к сообщению усовершенствованную подпись.
	Возврат sSignedMessage; // Подпись в формате Base64
КонецФункции

&НаСервере
//Отпечаток - строка HEX
Функция ПолучитьСертификатПоОтпечатку(ОтпечатокСтр)
	Рез = Неопределено; // Найденный сертификат (Com-объект)
	CAPICOM_CURRENT_USER_STORE = 2;
	//2 - Искать сертификат в ветке "Личное" хранилища.
	CAPICOM_MY_STORE = "My";
	// Указываем, что ветку "Личное" берем из хранилища текущего пользователя
	CAPICOM_STORE_OPEN_READ_ONLY = 0; // Открыть хранилище только на чтение
	oStore = Новый COMОбъект("CAdESCOM.Store"); // Объект описывает хранилище сертификатов
	
	oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
	CAPICOM_STORE_OPEN_READ_ONLY); // Открыть хранилище сертификатов
	// 1 вариант: поиск сертификата по отпечатку
	//CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
	//Certificates = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, ОтпечатокСтр);
	//Рез = Certificates.Item(1);
	
	//2 вариант: обходом по коллекции и сравнение с отпечатком
	Для Каждого ТекСертификат Из oStore.Certificates Цикл
		ТекОтпечаток = ТекСертификат.Thumbprint; // возвращается отпечаток в шестнадцатеричном виде
		Если ВРЕГ(ТекОтпечаток) = ВРЕГ(ОтпечатокСтр) Тогда Рез = ТекСертификат;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	oStore.Close(); // Закрыть хранилище сертификатов и освободить объект 61
	Возврат Рез;
КонецФункции

&НаКлиенте
Процедура ОтправитьЗапрос(Команда)
	ОтправитьЗапросНаСервере();
КонецПроцедуры

&НаСервере
Процедура ОтправитьЗапросНаСервере()
	HTTPСоединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
	HTTPЗапрос = новый HTTPЗапрос(Запрос);
	HTTPЗапрос.Заголовки.Вставить("Authorization","Bearer "+Токен);
	HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("GET",HTTPЗапрос);	
	Сообщить(HTTPОтвет.КодСостояния);
	ИмяФайлаОтвета = ПутьКФайламОтветов + Строка(Новый УникальныйИдентификатор)+".json";
	HTTPОтвет.ПолучитьТелоКакДвоичныеДанные().Записать(ИмяФайлаОтвета);
	ЗаписатьВЖурнал("Запрос: " + Запрос + Символы.ПС + "Ответ: " + ИмяФайлаОтвета); 
КонецПроцедуры

 

честный знак api система маркировки обувь сигареты вода обработка КИЗ марка ГИС МТ запрос ответ обмен

См. также

Бюджетный учет Обмен с ГосИС Бухгалтер Пользователь Бухгалтерский учет 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление холдингом Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Управляйте учетной политикой раздельного учета ГОЗ в 1С:Бухгалтерия 3.0 ПРОФ/КОРП и УХ 3.2. Отчеты по исполнению госконтрактов, расчетно-калькуляционные материалы и контроль операций для исполнения в срок. Готовое расширение подходит для всех бухгалтеров и руководителей производства, помогая вести правильный учет по гособоронзаказу в соответствии 275-ФЗ. Профессиональный консалтинг и регулярные обновления продукта.

28.08.2020    299962    2099    vvmanannikov    133    

986

Бюджетный учет Обмен с ГосИС Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Доработка конфигурации 1С:Бухгалтерия предприятия, редакция 3.0. реализована в виде расширения. Предназначена для ведения раздельного учета и автоматизации заполнения отчетности исполнения контрактов ГОЗ в конфигурациях 1С БП КОРП, ПРОФ, БИТ.ФИНАНС.

55200 руб.

16.08.2019    91928    234    87    

140

SALE! 40%

Обмен с ГосИС Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция и синхронизация Честный Знак и 1C - полноценная обработка, которая манипулирует сотнями задач по ведению учета в системе мониторинга честный знак, особенности: такие как полная поддержка учета карточек в национальном каталоге (модерация, редактирование, подписание, получение информации), получение кодов маркировок в станции управления заказами "СУЗ Облако", удобная отправка и получение "УПД" через систему "ЭДОЛайт" из документов реализации или корректировки, так же существует механизм приема через ЭДОЛайт, отправка и получения таких документов как перемаркировка , списание, отгрузка и еще более 40 типов документов в ГИСМТ которые описаны ниже, моментальное сопоставление и внедрение в типовую конфигурацию которое обеспечивает ракетную мега скорость

18000 10800 руб.

28.03.2023    17614    110    21    

89

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

Для 1С: УПП 1.3 предлагаем Вашему вниманию подсистему "Раздельный учет результатов финансово-хозяйственной деятельности организаций, выполняющих государственный оборонный заказ (раздельный учет ГОЗ)". Ключевые возможности подсистемы: - Автоматическое заполнение регламентированного отчета «Исполнение контрактов ГОЗ»; - Расшифровка показателей отчета об исполнении контрактов ГОЗ с детализацией до документов; - Контроль хозяйственных операций на соответствие требованиям Постановления Правительства № 47; - Автоматизированный ввод начальных данных по контрактам, заключенным ранее даты начала использования подсистемы.

90000 руб.

25.09.2020    30664    42    10    

40

SALE! 20%

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 7176 руб.

15.12.2015    170789    955    364    

400

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.5, КА 2.5 ,ERP 2.5 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4500 руб.

27.08.2018    122175    1025    584    

864

Регламентированный учет и отчетность Обмен с ГосИС ЭДО и ОФД Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Работаете по контрактной схеме, сталкивались с проблемой, что в контракте жестко указаны наименование, цена, единица измерения товара. И не все готовы создавать новую номенклатуру под каждый контракт или менять наименование и единицу измерения для уже имеющейся. Тем более, бывает так, что контракт - это формальность. Контракт не описывает жесткие условия поставки, нужно соблюсти правильность в предоставлении документов. Данное решение позволит вам оперировать своей номенклатурой при оформлении реализаций по государственному контракту в УТ 11.5 и КА 2.5.11, в то же время выводить на печать документы, соответствующие данным контракта. Реализована выгрузка для сайта госзакупок (ЕИС) по 44-ФЗ.

60000 руб.

19.12.2022    12009    34    20    

21

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

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий (тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.

44000 руб.

08.11.2017    122939    292    140    

398
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. KHoroshulinAV 174 08.09.20 17:08 Сейчас в теме
Уф. Мало что понятно но видно, что реализация гениальна!!
Подскажите..сэр, как реализована подпись? Мы тянем файл?
Другими словами что должно быть предустановлено в системе для данного обмена?
2. Гость 19.09.20 10:41
Интересная публикация.
У меня стоит цель по принятым кодам маркировки от поставщика с ЧЗ получать размер обуви, которой соответствует марка. Это вообще возможно сделать, используя Ваши наработки? Если да, то как с Вами связаться?
20. map4uk 28.04.21 18:00 Сейчас в теме
(2)
по принятым кодам маркировки от поставщика с ЧЗ получать размер обуви


Реализовали?
21. prozet-z 29.04.21 12:03 Сейчас в теме
(20), не я, но по заказу человек это реализовал.
3. IrinaLvova19 14.10.20 12:50 Сейчас в теме
Спасибо тебе, прекрасный человек
4. Al777 11.11.20 20:04 Сейчас в теме
Я занимаюсь маркировкой обуви в 1С уже где-то год, начинал, когда она ещё запущена не была. Реализовал её сам в УТ 10.3. В данной обработке код понятен, но я никак не мог понять: показан пример чего? И только, когда внимательно посмотрел на скриншот, понял: показывается информация о коде маркировки, конкретнее, коде идентификации. Вот об этом я не увидел информацию, поэтому вначале мне и не был понятен данный пример.
5. AlexeyK1 14 20.01.21 19:35 Сейчас в теме
подскажите как экранировать при HTTPЗапрос ? если в КМ "неудобные" символы? например &
запрос с вот таким КМ не вернет 010462005993464221U8&OD!GiYT94u
6. AlexeyK1 14 20.01.21 19:48 Сейчас в теме
(5)
разобрался =)
КодироватьСтроку(ШК,СпособКодированияСтроки.КодировкаURL);
14. SV6 21.04.21 16:40 Сейчас в теме
(5) реализовал так
//КИ - код идентификации как есть

ПараметрыJSON = Новый ПараметрыЗаписиJSON( , , , ЭкранированиеСимволовJSON.СимволыВнеASCII, , , , ,);
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку(ПараметрыJSON);
Запись.ЗаписатьЗначение(КИ);
КИJSON = Запись.Закрыть();
Запрос	=	"{"  + Символ(34) + "cises"  + Символ(34) + ":[" + Символы.ПС + КИJSON + Символы.ПС + "]" + Символы.ПС + "}";

Функция ОтправитьЗапросJSON(Запрос, КИ, КИJSON, СтрокаТаблицыМарок)
	HTTPСоединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
	
	HTTPЗапрос = новый HTTPЗапрос("/api/v3/facade/cis/cis_list/");

	HTTPЗапрос.Заголовки.Вставить("Authorization","Bearer "+Токен);
	HTTPЗапрос.Заголовки.Вставить("Content-Type","application/json");

	HTTPЗапрос.УстановитьТелоИзСтроки(Запрос, ,  ИспользованиеByteOrderMark.НеИспользовать);
	HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("POST",HTTPЗапрос);
		
	Если HTTPОтвет.КодСостояния = 200 Тогда
		Попытка
			ЧтениеJSON = Новый ЧтениеJSON;
			ЧтениеJSON.УстановитьСтроку(СтрЗаменить(HTTPОтвет.ПолучитьТелоКакСтроку(), КИJSON, (Символ(34)+"КИ"+Символ(34))));
			Рез	=	ПрочитатьJSON(ЧтениеJSON);
			СтрокаТаблицыМарок.НазваниеЧЗ	=	рез["КИ"]["productName"];
			
			Возврат рез["КИ"]["status"];
		Исключение
			Сообщить(КИ);
			Возврат  "ХЗ";
		КонецПопытки;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции
Показать


распознаются все марки на ура,
PS: это пример для одиночного кода, но в json можно передать до 10000 кодов за раз(если верить инструкции, на практике при запросе более 300 за раз, часто возвращает ошибку)
Shakhter; +1 Ответить
7. VladislavDolgov 21.01.21 23:05 Сейчас в теме
Огромное спасибо за свободный доступ, собрал за 10 минут!
8. makskisselev 20.02.21 11:13 Сейчас в теме
Огромное спасибо за обработку, на ее основе сделали свою. Есть один момент - почему-то при экранировании штрихкода, когда есть спецсимволы (, ;) все экранируется по документации честного знака, но сервер возвращает пустой ответ. Хотя та же марка в приложении на телефоне честного знака ответ получает корректный. Кто-то сталкивался ? Строку экранирую как в (5).
10. AlexeyK1 14 20.02.21 15:28 Сейчас в теме
9. makskisselev 20.02.21 12:59 Сейчас в теме
Разобрались, используйте структуру JSON при передаче запроса, тогда экранирование символов не нужно и все работает корректно.
11. user635667 16.03.21 06:12 Сейчас в теме
А можно при помощи этой штуки скачать все товары и ШК от них?
На сайте ЧЗ в разделе Табак в разделе Коды маркировки есть столбик Товар. Я бы экспортировал в Эксельку, но там постранично, а как пропарсить я не знаю.
Прикрепленные файлы:
12. opus70 74 10.04.21 11:27 Сейчас в теме
(11) присоединяюсь к вопросу тоже хочу получит все что за мной числится для сверок но не могу придумать как это сделать
13. warlomak 21.04.21 08:26 Сейчас в теме
(11) можно, методом /api/v4/facade/identifytools/listV2
15. ratinc 22.04.21 22:08 Сейчас в теме
(13)
/api/v4/facade/identifytools/listV2


Вы уверены что для товарной группы - табак, это работает?
Обувь и легкую промышленность показывает, а по сигаретам возвращает пустой результат.
Хотя.... не исключено, что я не верно сделал запрос
16. Aliaxandr 23.04.21 11:29 Сейчас в теме
На сайте честного знака: https://xn--80ajghhoc2aj1c8b.xn--p1ai/upload/%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5­+API+%D0%93%D0%98%D0%A1%D0%9C%D0%A2.pdf
есть инфа: URL: /api/v3/facade/cis/cis_list - устаревший URL, необходимо использовать URL:/api/v4/facade/cis/cis_list. В дальнейшем /api/v3/facade/cis/cis_list будет отключён. Похоже вчера, 22.04.2021, версию /api/v3/facade/cis/cis_list отключили/
17. Aliaxandr 23.04.21 12:24 Сейчас в теме
На сайте честного знака есть информация:
URL: /api/v3/facade/cis/cis_list - устаревший URL, необходимо использовать URL:/api/v4/facade/cis/cis_list.
В дальнейшем /api/v3/facade/cis/cis_list будет отключён.
18. warlomak 24.04.21 09:54 Сейчас в теме
(15) Проверил на табаке, действительно пустой ответ, на остальном работает.
19. warlomak 24.04.21 09:55 Сейчас в теме
(16) тоже заметил, что /api/v3/facade/cis/cis_list отключена...
22. vic-kex 22.06.21 11:26 Сейчас в теме
Появилась информация как по табаку получить список товаров?
23. vic-kex 22.06.21 11:28 Сейчас в теме
24. vic-kex 22.06.21 15:13 Сейчас в теме
/api/v3/product/search вот через это получилось
25. San4opa 28.07.21 00:19 Сейчас в теме
У меня почему-то не видит сертификатов в хранилище, хотя они установлены, подскажите плиз в чем может быть проблема.
26. пользователь 11.11.21 07:13
Сообщение было скрыто модератором.
...
27. пользователь 28.07.22 10:12
Сообщение было скрыто модератором.
...
28. masik777 10.08.22 11:20 Сейчас в теме
AI777 Александр, неужели так трудно ответить?
29. kodblack 14 05.12.22 16:39 Сейчас в теме
Добрый. В УТ 11.5

Ошибка при вызове конструктора (COMОбъект)
{ВнешняяОбработка.ГИСМТ.Форма.Форма.Форма(16)}:oStore = Новый COMОбъект("CAdESCOM.Store"); // Объект описывает хранилище сертификатов

по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
31. art7979 80 26.09.23 15:40 Сейчас в теме
(30) Спасибо! Многое перепробовал.
Оставьте свое сообщение