diadoc / diadocapi-docs

HTTP API documentation - http://api-docs.diadoc.ru/
41 stars 90 forks source link

Вопрос по статусу документообороту и получению заголовка документа #770

Open kvantx5 opened 3 years ago

kvantx5 commented 3 years ago

Добрый день!

Пожалуйста, подскажите, некоторые моменты, которые документация не прояснила:

  1. Как в новой версии структуры документооборота (DocflowV3) https://api-docs.diadoc.ru/ru/latest/proto/DocflowV3.html получить единый DocflowStatus, как это можно было сделать в старой структуре по ключу DocflowStatus? https://api-docs.diadoc.ru/ru/latest/proto/Docflow.html https://api-docs.diadoc.ru/ru/latest/proto/DocflowStatus.html

Т.е. нужен статус, который появляется на самом документе с такой же формулировкой: http://joxi.ru/ZrJoNOGun5Vnbm

  1. Можно ли как-то достать заголовок документа? Интересует именно заголовок Счёт-фактура в типе документа УПД. Т.е. приходит документ УПД и надо указать, что это Счёт-фактура, как здесь: http://joxi.ru/J2bQ9NYSVekVEm
LidiaAleksandrova commented 3 years ago

Добрый день!

  1. В новой структуре DocflowV3 пока нельзя напрямую получить единый DocflowStatus. Задача по добавлению текстового статуса DocflowStatus в DocumentInfoV3 сейчас в разработке. Возможность появится ориентировочно во втором квартале 2021г. 2. Заголовок с печатной формы документа достать нельзя, так как печатная форма - это только визуализация. Заголовок является частью информации из xml-документа, которая визуализируется по правилам формата согласно приказам ФНС. Для чего нужно доставать заголовок?
kvantx5 commented 3 years ago

Спасибо за уточнения!

  1. Периодически на ящик клиента приходят письма УПД. По средствам интеграции в учётную систему попадает название документа, т.е. к примеру УПД №88 от 28.01.21. А нужно как-то расшифровать, что это Счёт-фактура. В списке документов в интерфейсе диадока тоже есть упоминание, что УПД со счетом-фактурой: http://joxi.ru/BA0lMnNHpR8NNA В списке документов это уточнение берется уже не из печатной формы. Возможно оно где-то ещё хранится?

  2. Можно ли как-то получить xml документы с сервера диадока в виде файла pdf? В интерфейсе диадока например можно сохранить документ в pdf или распечатать. Метод GetEntityContent (https://api-docs.diadoc.ru/ru/latest/http/GetEntityContent.html) возвращает оригинальное представление документа, т.е. xml. Возможно как-то похожим образом запрашивать содержимое документа уже преобразованного в pdf? Или это как-то делается через создание печатных форм методами GeneratePrintFormFromAttachment и GetGeneratedPrintForm?

LidiaAleksandrova commented 3 years ago

Добрый день! Информацию о названии документа, пригодном для отображения в интерфейсе можно взять из элемента DisplayFilename в структуре Attachment в наборе структур Docflow API.

Например, найти информацию можно, следуя пути в структуре: DocflowV3 - SenderTitleDocflow - Attachment - Attachment - DisplayFilename

Структура есть в ответе метода GetDocflowEvents, который возвращает список событий, произошедших с документами. Или можно использовать методы: GetDocflows (версия 3), GetDocflowsByPacketId (версия 3), SearchDocflows (версия 3).

Путь в структуре ответа: GetDocflowEventsResponseV3 - Events - Document - Docflow

Информацию, содержит ли УПД или УКД счет-фактуру, можно, например, в ответе метода: DocumentWithDocflowV3 в структуре DocumentInfoV3. В структуре FullVersion мы можем получить информацию о типе, функции и версии документа. Примеры: Если документ имеет тип "Invoice" (Счет-фактура), то у "Functions" будет "Name": "default". Если документ имеет тип "UniversalTransferDocument" (УПД), то у него может быть три варианта функций: СЧФ, СЧФДОП, ДОП. При функции СЧФ и СЧФДОП будет выводится текст: "Со счетом фактурой", при функции ДОП, будет выводится текст "Без счета-фактуры". Описания типов, функций и версий можно получить методом GetDocumentTypes.

Запросить содержимое документа формата pdf нельзя. Можно либо создать печатную форму в виде файла pdf, либо получить информацию из самого xml-документа. Получить печатную форму можно методом GeneratePrintForm.

aeremina88 commented 3 years ago

Добрый день! Добавили контракт DocflowStatusV3.

kvantx5 commented 3 years ago

Добрый день!

Т.к. общего статуса на момент разработки интеграции не имелось, то воспользовались устаревшим методом GetDocflowEvents - https://api-docs.diadoc.ru/ru/latest/http/GetDocflowEvents.html. Пожалуйста, уточните, сколько ещё будет продолжаться поддержка старого метода? Можно ли его пока использовать?

YuliaLukyanova commented 3 years ago

Добрый день! Метод остается на поддержке, пока нет планов по его удалению.