Клиент API ГИС МТ (ИС МП) "Честный знак". Чтение данных и отправка документов. Работа на стороне сервера.

03.03.25

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

Обращаемся в личный кабинет системы "Честный знак", ГИС МТ (ИС МП) за информацией о маркировке, товарах, документах и т.д. используя API. Отправляем собственный исходящий документ. Разбираемся с электронной подписью на клиенте и на сервере.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Клиент ИС МП (демо)
.epf 12,00Kb
57
57 Скачать (1 SM) Купить за 1 850 руб.
Клиент ИС МП (демо) 2 - с отправкой документа
.epf 12,48Kb
76
76 Скачать (2 SM) Купить за 2 150 руб.

Этот материал является доработкой публикации: //infostart.ru/public/1276725/

 

ГИС МТ - Государственная информационная система мониторинга за оборотом товаров
ИС МП - Информационная система маркировки и прослеживаемости
В интерфейсе решений 1С в настройках мы можем видеть: "Интеграция с ИС МП (обувь, одежда, табак...)".
На титульном листе документа описания API, мы видим заголовок "Описание API ГИС МТ".

Обращение к API ГИС МП ничем бы не отличалось от обращения к любым другим API, если бы не необходимость использовать электронную подпись. В этом и заключается основная сложность реализации собственного клиента.

В пункте 5.1 описания API приводится реализация на встроенном языке 1С двух важных функций: ПодписатьТекст() и ПолучитьСертификатПоОтпечатку(). Странно, что пункт 5.1 описания API озаглавлен не иначе как "Пример получения токена...", однако, процедуры получения токена там нет. Поэтому предлагаю свою реализацию этой процедуры:

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

Для получения токена нужно выполнить два запроса. Первым запросом мы получаем два параметра для второго запроса. На промежуточном шаге, один из этих параметров следует зашифровать и подписать электронной подписью.

Реализация функций ПодписатьТекст() и ПолучитьСертификатПоОтпечатку() почти полностью взята из руководства:

Функция ПодписатьТекст(Сообщение, 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);
	
	// Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью.
	oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
	oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
	oSignedData.Content = Сообщение;
	EncodingType = 0;
	
	// Метод добавляет к сообщению усовершенствованную подпись.
	sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType);
	
	Возврат sSignedMessage; // подписанное сообщение в формате Base64
	
КонецФункции

Функция ПолучитьСертификатПоОтпечатку(Отпечаток)
	
	Результат = Неопределено; // Найденный сертификат (Com-объект)
	
	CAPICOM_CURRENT_USER_STORE = 2; //2 - искать сертификат в ветке "Личное" хранилища.
	CAPICOM_MY_STORE = "My"; // указываем, что ветку "Личное" берем из хранилища текущего пользователя
	CAPICOM_STORE_OPEN_READ_ONLY = 0; // Открыть хранилище только на чтение
	
	oStore = Новый COMОбъект("CAdESCOM.Store"); // Объект описывает хранилище сертификатов 246
	
	// Открыть хранилище сертификатов.
	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Соединение(Сервер, 443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Authorization", "Bearer " + Токен);
	
	Парметры = "order=DESC&orderColumn=receivedAt";
	
	// Запрос получения списка загруженных документов. Пункт 2.1.7 описания API.
	Запрос = Новый HTTPЗапрос(БазовыйАдресСтенда + "/facade/doc/listV2?" + Парметры, Заголовки);
	Ответ = Соединение.ВызватьHTTPМетод("GET", Запрос);
	Ответ = СтруктураИзJSON(Ответ.ПолучитьТелоКакСтроку());
	
	СтруктураСтрокиРезультата = Новый Структура;
	СтруктураСтрокиРезультата.Вставить("number",       "Номер");
	СтруктураСтрокиРезультата.Вставить("docDate",      "Дата");
	СтруктураСтрокиРезультата.Вставить("receivedAt",   "Получен");
	СтруктураСтрокиРезультата.Вставить("externalId",   "ВнешнийID");
	СтруктураСтрокиРезультата.Вставить("senderName",   "Отправитель");
	СтруктураСтрокиРезультата.Вставить("receiverName", "Получатель");
	
	ТаблицаДокументов.Очистить();	
	Для каждого СтрокаРезультатов из Ответ.results Цикл
		НоваяСтрока = ТаблицаДокументов.Добавить();
		
		Для каждого КлючЗначение из СтруктураСтрокиРезультата Цикл
			ИмяПоля = КлючЗначение.Ключ;
			ИмяПоляНаФорме = КлючЗначение.Значение;
			Если СтрокаРезультатов.Свойство(ИмяПоля) Тогда
				НоваяСтрока[ИмяПоляНаФорме] = СтрокаРезультатов[ИмяПоля];
			КонецЕсли;
		КонецЦикла;		
	КонецЦикла;
	
КонецПроцедуры

А теперь остановимся на отправке документов. Сложность состоит в том, что одного только токена для отправки таких запросов уже недостаточно. Отправляемые документы нужно правильно подписать электронной подписью.

Рассмотрим на примере отправки документа "Отгрузка" в формате XML. Любые другие документы будут отправляться точно также, только со своими параметрами. Сформированный и готовый к отправке документ выглядит так:

<shipment action_id="10" version="5">
	<trade_participant_inn_sender>7714326233</trade_participant_inn_sender>
	<trade_participant_inn_receiver>7713463607</trade_participant_inn_receiver>
	<transfer_date>05.02.2021</transfer_date>
	<move_document_number>000</move_document_number>
	<move_document_date>05.02.2021</move_document_date>
	<turnover_type>SELLING</turnover_type>
	<to_not_participant>false</to_not_participant>
	<products_list>
		<product>
			<ki>010290001986851721Bbn&lt;'q/kFz:kO</ki>
		</product>
	</products_list>
</shipment>

Метод для отправки любых документов описан в в пункте 3.1 описания API. Это метод POST и для него надо сформировать тело запроса следующим образом:

ТелоЗапроса = Новый Структура;
ТелоЗапроса.Вставить("document_format", "XML");
ТелоЗапроса.Вставить("product_document", ТекстДокументаBase64);
ТелоЗапроса.Вставить("type", "LP_SHIP_GOODS_XML");
ТелоЗапроса.Вставить("signature", ПодписанныйТекст);

Параметр type это и есть тип документа "Отгрузка". Полное описание всех типов находится в справочнике "Типы документов". Параметр product_document это текст XML, зашифрованный функцией ЗашифроватьBase64(), которая описана выше. А параметр signature это результат, возвращенный функцией ПодписатьТекст(), которая также описана выше, только для документов третий параметр этой функции нужно указывать равным ИСТИНА.

Работа на стороне сервера

Добавлю пару слов о работе на стороне сервера. В приложенных обработках вы найдёте всю выше описанную реализацию на стороне клиента. Для полноценной автоматизации нужна логика, работающая в процессе сервера. Для этого нужно где-то в настройках указать используемый сертификат (так как выбрать его интерактивно на форме нет возможности). Для этого хорошо подходит справочник "Сертификаты ключей электронной подписи и шифрования" из БСП. Он есть во всех современных типовых конфигурациях.

При использовании справочника сертификатов из БСП есть один важный момент. Отпечаток сертификата в этом справочнике хранится не в том виде, в котором он нужен для функции ПодписатьТекст(). Перед вызовом ПодписатьТекст() нужно получить отпечаток в виде HEX-строки следующим образом:

ДанныеСертификата = Сертификат.ДанныеСертификата.Получить();
ск = Новый СертификатКриптографии(ДанныеСертификата);
Отпечаток = ПолучитьHexСтрокуИзДвоичныхДанных(ск.Отпечаток);

В этом коде "Сертификат" это ссылка на элемент справочника "Сертификаты ключей электронной подписи и шифрования".

 

Приложение

Я прилагаю две обработки. Первая была опубликована ещё до того, как я разобрался с документами. Вторая обработка уже включает отправку документа. Старался писать максимально кратко и понятно.

Всё тестировалось на платформе 8.3.18 в конфигурации Бухгалтерия предприятия 3.0.82.24.

Готовое решение

Печать кассовых чеков на одну ККМ с нескольких рабочих мест для 1С:УТ11.х, КА2.х, ERP 2.х

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


Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.82.24

Честный знак ИС МП ГИС МТ API Клиент Документ Передача Отправка Запись Обработка

См. также

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

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

44000 руб.

28.08.2020    388460    2584    137    

1107

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

Интеграция для работы 1С с ГИИС ДМДК. Государственная интегрированная информационная система в сфере контроля за оборотом драгоценных металлов, драгоценных камней и изделий из них на всех этапах этого оборота.

65000 руб.

12.04.2022    20044    165    34    

42

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

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

55200 руб.

16.08.2019    94670    260    89    

153

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

Автоматический обмен данными с системой ФГИС Меркурий из 1С через ВетИС API: загрузка данных по хозяйствующим субъектам, предприятиям; типов, групп, видов, наименований продукции, сопоставление данных и запись их в базу данных; создание на основании расходных документов транспортных партий, отправка на сервер, печать полученных ветеринарных свидетельств, запрос остатков складского журнала, проведение инвентаризаций, оформление производственных партий.

11500 руб.

08.12.2017    106677    289    110    

147

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

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

828 руб.

15.12.2015    173063    886    370    

407

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

Обработка для обмена платежными документами в формате xml для системы Федерального казначейства "Электронный бюджет" из конфигураций 1С. Поставляется для БП 3.0 Работа только с контрагентами. Сайт "Электронного Бюджета": https://www.budget.gov.ru/

19200 руб.

14.10.2020    64962    397    103    

327

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

Внешняя обработка для инвентаризации кодов маркировки в системе "Честный знак". Позволяет быстро определить и списать коды маркировки проданного, испорченного, утраченного (полный перечень причин списания указан ниже)  товара, которые всё ещё числятся за организацией. Привести в соответствие остатки маркированного товара программы 1С и системы "Честного знака".

6540 руб.

09.01.2024    6935    91    21    

87

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

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

60000 руб.

19.12.2022    13505    37    25    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. quazare 3902 26.10.20 14:40 Сейчас в теме
красиво написано - почему не используете МенеджерКриптографии?
14. ReactoR 27.04.21 13:46 Сейчас в теме
(1) А есть где-то инфа как с помощью объекта МенеджерКриптографии подписать с присоединенной подписью ?
15. elian 147 27.04.21 13:55 Сейчас в теме
2. elian 147 26.10.20 16:30 Сейчас в теме
хороший вопрос... хотелось быть ближе к руководству от разработчиков сервиса
3. quazare 3902 26.10.20 17:06 Сейчас в теме
тогда добавьте ссылки откуда можно скачать данные плагины и как установить
4. elian 147 26.10.20 17:26 Сейчас в теме
25. elian 147 27.10.21 20:51 Сейчас в теме
(3) эти "плагины" устанавливаются вместе с Крипто-ПРО, просто установите в систему Крипто-ПРО и всё
5. quazare 3902 26.10.20 17:30 Сейчас в теме
в любом случае - это полезная документация и полезный пример!
6. demon_infernal 41 27.10.20 14:08 Сейчас в теме
Вот бы то же самое, но через VipNet CSP, а не через криптопро
7. elian 147 27.10.20 17:56 Сейчас в теме
8. user828972 16.12.20 14:16 Сейчас в теме
В процедуре ПолучитьТокен используется Отпечаток. Откуда его взять?
9. elian 147 16.12.20 18:30 Сейчас в теме
(8) Посмотрите внимательнее в процедуре ПолучитьСертификатПоОтпечатку(). Там специально оставлен код, который отвечает на ваш вопрос. Ну или скачайте обработку целиком и там разберётесь - откуда его взять.
10. TerveRus 09.04.21 14:37 Сейчас в теме
Не очень понятно, этой обработкой можно загружать документы, точнее приемку товаров из ГИС МТ?
11. elian 147 09.04.21 14:55 Сейчас в теме
(10) Смотря что вы понимаете под словом "загружать". Эта обработка, просто образец рабочего кода. Можете взять её за основу и дописывать любую загрузку чего угодно, куда угодно. Для примера, эта обработка просто выводит информацию о документах в таблицу на своей форме.
12. progaoff 4 12.04.21 17:30 Сейчас в теме
на создании com объекта падает invalid class string. Понимаю что проблема с ком объектом, но не понимаю что происходит. компонента зарегистрирована. куда копать?
13. elian 147 13.04.21 09:02 Сейчас в теме
(12) я бы для начала посмотрел в реестр... действительно ли там есть такой ProgID?
16. ReactoR 28.04.21 13:07 Сейчас в теме
А пароль в коде как-то можно указать?
17. elian 147 28.04.21 22:41 Сейчас в теме
18. ReactoR 28.04.21 22:49 Сейчас в теме
(17) Пароль доступа к закрытому ключу сертификата
19. elian 147 28.04.21 22:59 Сейчас в теме
(18) не знаю, мне не пришлось решать такую задачу... пишу только о том, через что сам проходил
20. OlegK14 07.05.21 13:45 Сейчас в теме
(18)
Да можно.
oSigner.KeyPin = "Какой-то пароль";
21. CagoBHuK 33 19.08.21 14:50 Сейчас в теме
С текущей реализацией не работает. Ключ получает только по V3, список документов отправляет к V4, при этом данные не возвращаются, возвращается мусор. Если у кого-то есть свежее описание адресов для обращения, укажите, пожалуйста.
22. elian 147 04.09.21 20:04 Сейчас в теме
(21) Всё проверил. Всё работает в точности как опубликовано Пока никаких изменений не заметил.
23. CagoBHuK 33 06.09.21 12:12 Сейчас в теме
(22) Попробуйте в тестовой среде.
24. Einstein 27.10.21 18:08 Сейчас в теме
Перенес текст из статьи на 7.7.
При попытке подписи текста получаю сообщение -

Поле агрегатного объекта не обнаружено (SignCades)

Функция ПодписатьТекст(Сообщение, sThumbprint, bDetached)

......
.......
.........

// Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью.
oSignedData = СоздатьОбъект("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = Сообщение;
EncodingType = 0;

// Метод добавляет к сообщению усовершенствованную подпись.
sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType); //Поле агрегатного объекта не обнаружено (SignCades)

Возврат sSignedMessage; // подписанное сообщение в формате Base64

КонецФункции

Может, кто-то сможет подсказать, почему?
29. ЗС1 10.12.21 16:03 Сейчас в теме
(24)
Подскажите, получилось ли реализовать в 7.7 до конца?
31. Einstein 15.12.21 13:24 Сейчас в теме
(29) пробную реализацию контрагенту сделали через ЭДО ЛАйт, в личном кабинете ЧЗ контрагент входящие документы увидел с марками. Пока на этом остановились.
32. ЗС1 15.12.21 20:59 Сейчас в теме
(31)
Поделитесь, пожалуйста, если не сложно наработкой, чтобы не разбираться долго, как в 7ке запросную и крипто часть организовывать
26. ProkopyukIN 17 15.11.21 11:13 Сейчас в теме
с помощью обработки можно получить список табачной продукции на остатках?
или может кто знает обработку для этой цели?
user1692818; elian; +2 Ответить
27. elian 147 15.11.21 18:03 Сейчас в теме
(26) с помощью обработки можно получить опыт работы с честным знаком по апи, и пользуясь этим опытом написать свою какую-угодно обработку
28. user651124_dkozhevnikov 18.11.21 09:13 Сейчас в теме
Здравствуйте.
может кто-то в курсе, документация не дает ответа.
при вызове
curl 'https://markirovka.crpt.ru/api/v3/facade/doc/listV2?order=DESC&orderColumn=receivedAt' -H 'content-type: application/json' -H 'Authorization: Bearer <token>}'
получаю:
{"code":410,"description":"ru.crpt.common.exception.UnsupportedApiException: Устаревшее API 'GET /api/v3/facade/doc/listV2'

в коде обработки тот-же метод использован?

Спасибо.
30. ЗС1 10.12.21 16:07 Сейчас в теме
Подскажите, нет ли опыта выгрузки/загрузки документов в Честный Знак с помощью их ЭДО Лайт?
33. OlgaT_74 17.12.21 12:59 Сейчас в теме
34. tigrandis 367 20.12.21 21:12 Сейчас в теме
с табаком не работает, вообще работает только версия 3, 4 версия выдает ответ 404, а версия три корректно отрабатывает с обовью, с одеждой, но с табаком выдает пустой результат, но и ошибок нету(
35. Victor89 15.05.22 17:36 Сейчас в теме
Всем добрый день!

Использую данный алгоритм, токен получаю корректно, но документы не могу подписать (ошибка "Подпись не прошла проверку в crypto"). Кто сталкивался.

Вот пример, ПодписатьТекст(ЗашифроватьBase64(ФайлXML, "windows-1251"),Отпечаток,Истина), где ФайлXML - текстовое содержание файла XML в кодировке windows-1251.

Отпечаток получаю через:

oStore = Новый COMОбъект("CAdESCOM.Store");
перебор oStore.Certificates;

Отпечаток получают корректно, результат тот же, что и через:

ДанныеСертификата = Сертификат.ДанныеСертификата.Получить();
ск = Новый СертификатКриптографии(ДанныеСертификата);
Отпечаток = ПолучитьHexСтрокуИзДвоичныхДанных(ск.Отпечаток);


Работаю с табачкой. Кто сталкивался? Помогите, плиз. Буду благодарен
36. masik777 23.08.22 13:54 Сейчас в теме
У меня не заработала. При запуске на БП 3.0 (последней) вылазит окошко " Втавьте Носитель *** с Ид.." Хотя сертификат лежит в Контейнере. Если не трудно - подскажите, пожалуйста, куда копать..
37. user843259 31.10.24 11:45 Сейчас в теме
Здравствуйте!
Пытаюсь создать документ LK_GTIN_RECEIPT - "Вывод из оборота (ОСУ)" в демонстрационном контуре.
Документ создается, но присутствует ошибка: "Данные электронной подписи не соответствуют текущему участнику."
Пожалуйста, помогите избавиться от ошибки.
38. user843259 31.10.24 16:40 Сейчас в теме
39. gmkcar 01.11.24 08:43 Сейчас в теме
Оставьте свое сообщение