Giter VIP home page Giter VIP logo

diadocsdk-cpp's Issues

GetReceiptGenerationProcess()

Добрый день! Есть ли аналог этого метода GetReceiptGenerationProcess(). Используем COM-компонента для встраивания в произвольные системы, для 64-х битных приложений - 5.14.1.177. При запуске процесса автоматического формирования документов по регламентному документообороту счетов-фактур происходит зависание системы. Хотелось бы иметь аналог данного метода

ФИО подписанта в документе не совпадает с ФИО владельца электронной подписи

добрый день!
потребовалось добавить проверку на соответствие ФИО подписанта с ФИО владельца ЭП.

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

и если самому, то откуда взять данные о ФИО владельца ЭП.

заранее спасибо!

Как заполнить DocumentSignature -> Signature

При аннулировании документа нужно заполнять эту структуру.
В документации в
https://developer.kontur.ru/docs/diadoc-api/proto/DocumentSignature.html
указано что
Signature — ЭП (в некоторых случаях может отсутствовать). Если ЭП присутствует, то она должна быть представлена в формате CMS SignedData в DER-кодировке.
Вопрос : Как в c++ заполнить в этом формате на объектах из АПИ? Желательно используя функции Certificate.
Комментариев в АПИ мало, не смог найти. Вроде есть разбор в src\protos\SignatureVerificationResult.pb.cc, но создания не увидел. Просьба дать консультацию или разработать соответствующую функцию в класс Certificate..

Как отправить через АПИ электронно транспортную накладную.

Интересуют технические детали отправки через даидок АПИ(с++) электронной транспортной накладной.
Сам пакет документов мы сможем сделать самостоятельно( так понимаю там их 2 может быть) и обработку входящих тоже сделаем.
Каким типом документа нужно воспользоваться для отправки?
Среди существующих я не нашел подходящего.
Видимо
https://developer.kontur.ru/Docs/diadoc-api/proto/DocumentAttachment.html
Но что нужно задать в TypeNamedId?
DocumentTypeDescriptionV2 не выдала подходящий тип. В АПИ не описано ничего для этого документа.
Устроит консультация и на c#.
Было обращение в поддержку контура 46307093.

GetDocflow + GetDocflowBatchResponseV3 + DocumentWithDocflowV3

У клиента возникли проблемы с отправкой ответов в СБИС
"Причина ошибки следующая: титул покупателя не был доставлен, так как в xml титула от контрагента указаны неверные сведения об электронной подписи под первичным документом в параметре "ЭП". В данном случае необходимо сообщить контрагенту об ошибке и рекомендовать им обратиться в техническую поддержку своего оператора для разъяснения причины."
Сейчас ЭП входящего документа достается из ленты событий Entity.
Контур им по данному вопросу сообщил следующее."Причина ошибки в том, что ваша интеграция при генерации титула покупателя использует подпись продавца CADES-T, вместо CMS. Для того, чтобы уметь отличать подпись кадестированную от некадестированной рекомендуем использовать более новые версии методов и структур. В ней возвращаются исходная подпись и подпись со штампом времени.Инструкция API: https://api-docs.diadoc.ru/ru/latest/proto/DocumentWithDocflowV3.html .
Вроде все понятно, дотянутся до оригинала подписи возможно, но в последней версии GetDocflows возвращет только GetDocflowBatchResponse, а неhttps://developer.kontur.ru/docs/diadoc-api/proto/GetDocflowBatchResponseV3.html. Нужные классы я допустим смог объявить добавив к себе в проект
#include "DocflowApiV3.pb.h"
#include "DocflowV3.pb.h"
чего ранее не требовалось - хватало DiadocApi.h.
но при этом не могу вызвать функции из АПИ с их использованием, поскольку функции в документации не имеют версии для их вызова с новыми классами.
Просьба актуализировать под документацию GetDocflow. (исправить нынешнюю, или добавить GetDocflowV3).

Перестал работать метод GenerateDocumentZip с ошибкой 400 Could not get boxId from query param

Добрый день.
Прошу прощения, Промахнулся проектом в
diadoc/diadocsdk-csharp#852
но cSharp тоже есть в тестовом варианте - пока руки не дошли посмотреть им.

Используется апи diadocsdk-cpp-versions-1.92.3.zip
Но проблема возникла еще на diadocsdk-cpp-versions-1.92.0.zip 28.06.2021.
У нас повторилась. На момент проверки ничего не менялось с марта 2021( тогда был переход на апи 1.92.0).
Возможно связано с переходом на V3
Вот здесь осталось
TaskResult DiadocApi::GenerateDocumentZip(const std::wstring& boxId, const std::wstring& messageId, const std::wstring& documentId, bool fullDocflow)
{
std::wstringstream buf;
buf << "?boxId=" << StringHelper::CanonicalizeUrl(boxId) << L"&messageId=" << StringHelper::CanonicalizeUrl(messageId) << L"&documentId=" << StringHelper::CanonicalizeUrl(documentId);

Ну и наверное проблема будет в ShelfDownload
В других местах buf << L"/V3/GetDocuments?boxId="

Когда будет решен вопрос по GetDocflow + GetDocflowBatchResponseV3 + DocumentWithDocflowV3?

Добрый день. Ранее был зарегистрирован вопрос GetDocflow + GetDocflowBatchResponseV3 + DocumentWithDocflowV3 #128. Но ответа так и не последовало. Вопрос критический.
Контрагент в СБИС не получает подписи из Контура. СБИС сообщил: "Причина ошибки следующая: титул покупателя не был доставлен, так как в xml титула от контрагента указаны неверные сведения об электронной подписи под первичным документом в параметре "ЭП". В данном случае необходимо сообщить контрагенту об ошибке и рекомендовать им обратиться в техническую поддержку своего оператора для разъяснения причины."

Контур им по данному вопросу сообщил следующее."Причина ошибки в том, что ваша интеграция при генерации титула покупателя использует подпись продавца CADES-T, вместо CMS. Для того, чтобы уметь отличать подпись кадестированную от некадестированной рекомендуем использовать более новые версии методов и структур. В ней возвращаются исходная подпись и подпись со штампом времени.Инструкция API: https://api-docs.diadoc.ru/ru/latest/proto/DocumentWithDocflowV3.html ."

Вопрос критический, потому что контрагенту в СБИС не приходит наша подпись. Не можем пользоваться интеграционным решением с использованием устаревших функций.
Просим обратить внимание на вопрос. Пожалуйста, уточните сроки решения вопроса.

Не собирается проект

Сборка проектов утилитой cmake прошла успешно. Далее запускаю из корня репозитория generate.bat. В результате сборка завершается ошибкой:
Preparing to run build script...
Running build script...
Analyzing build script...
Processing build script...
Installing addins...
Compiling build script...
Error: Object reference not set to an instance of an object.
Что я делаю не так?
Конфиг системы: Win7 SP1 x86, Visual Studio 2015

GenerateSenderTitleXml

Здравствуйте!

Добавляю поддержку УПД-820, не получается понять откуда получить userContractData для передачи в GenerateSenderTitleXml.

В SDK для C# есть разбор этой темы здесь:
diadoc/diadocsdk-csharp#490

Однако, я не могу найти никаких хотя бы похожих классов Utd820.UniversalTransferDocument и объявлений SerializeToXml() для сериализации.

Или в C# версии SDK это уже реализовано, а в C++ пока нет?
Заранее спасибо за ответ.

Не все сервисы есть в DiadocApi. Например GenerateDocumentZip и ShelfDownload

Не все сервисы есть в DiadocApi. Например GenerateDocumentZip и ShelfDownload
https://api-docs.diadoc.ru/ru/latest/http/GenerateDocumentZip.html
https://api-docs.diadoc.ru/ru/latest/http/ShelfDownload.html
Для самостоятельной их обработки достаточно выпустить в public PerformHttpRequest
Например так
DiadocApi.h
public
DiadocApi::Bytes_t PerformHttpRequestGet(const std::wstring& queryString);

DiadocApi.cpp

DiadocApi::Bytes_t DiadocApi::PerformHttpRequestGet(const std::wstring& queryString)
{
WppTraceDebugOut(L"PerformHttpRequestGet...");
return PerformHttpRequest(queryString, GET);

}
Все остальное уже смогут сделать сами.
Номер обращения в диадоке - 24884324.
С такой доработкой проблема уже решена, но хочется, чтобы она вошла в стандартный пакет.

Если вы не против я могу попробовать сделать Pull Request - но не вижу, чтобы кто то их делал.

Клиент просит поле "Дата изменения статуса" из справочника контрагентов.

В справочнике мои контрагенты
изображение
Не нашел такого поля в структуре Counteragent
Есть поле LastEventTimestampTicks - метка времени последнего события из истории взаимодействия с данным контрагентом
Это оно? По комментарию не совсем подходит.
Если нет, просьба добавить в обмен.
Собственно клиенту нужно "дата, в которую контрагенты добавили друг друга в список контрагентов в Диадоке" и привели этот скрин.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.