Comments (3)
Вам нужно смотреть скорее на поле Entities
(EntitiesList
в COM), а не на EntityPatches
. Практически любое событие с документом сопровождается новым Entity
(или даже несколькими). EntityPatch
встречается крайне редко, по названиям его полей можно догадаться в каких случаях он появляется - если документ удален, восстановлен, перемещен и т. п. Подписи, отказы в подписи и вообще все, что влияет на состояние документооборота - это точно будет Entity
.
from diadocsdk-csharp.
Можно читать события в ящике при помощи метода GetNewEvents
и "применять" изменения из этих событий к состоянию в учетной системе. Также может подойти метод GetDocflowEvents
- суть та же, но события представлены в другом формате, чуть более структурированом.
from diadocsdk-csharp.
Можно читать события в ящике при помощи метода GetNewEvents и "применять" изменения из этих событий к состоянию в учетной системе.
Не могли бы подробнее описать пример работы с GetNewEvents()?
Попробовал реализовать это следующим образом:
- Методом GetNewEvents() получаю список событий в экземпляр BoxEventList
- Для каждого BoxEvent в BoxEventList проверяю свойство HasPatch (интересуют только события связанные с уже существующими документами), и если событие является патчем, получаю данные о патче в экземпляр MessagePatch
- Для каждого EntityPatch в MessagePatch.EntityPatchesList, методом GetDocument() получаю экземпляр Document и передаю его дальше в нашу систему для синхронизации состояния.
Нормальной ли является ситуация, когда BoxEvent с HasPatch == true возвращает MessagePatch с пустым EntityPatchesList?
Проблема в том, что у подавляющего большинства MessagePatch возвращаются пустые EntityPatchesList (EntityPatchesList.Count == 0), и я не могу получить id сущности, которая патчится. Не пустые EntityPatchesList возвращаются по событиям связанным с документами внутреннего документооборота (те, что в веб интерфейсе доступны по ссылке https://diadoc.kontur.ru/company_box_id/Folder/Internal), а нас в первую очередь интересуют статусы исходящих документов (https://diadoc.kontur.ru/company_box_id/Folder/Outbox).
Для интеграции с сервисом используем COM библиотеку DiadocApi.dll версии 1.36.2.
from diadocsdk-csharp.
Related Issues (20)
- Как подписать неформализированый tovtorg_05_02_01 входящий документ HOT 2
- Документы с промежуточным получателем (proxyBoxId)
- что нужно написать ,для выбора (Доп. соглашение к договору) в (ProformaInvoice) HOT 5
- (ResolutionRequestTask.Send): ##100[Ошибка сервера Диадок]code:404, HTTP
- Как получить из подписи данные юр. лица
- Invalid API client id HOT 1
- Подписание актов Торг2
- Верно ли мы определяем дату приемки - AcceptanceDate
- GetDocflowEvents не возвращает события. HOT 1
- Работа с двутитульными документами
- Ошибка при с МЧД HOT 5
- УПД со сведениями о прослеживаемых товарах. графа 14 Стоимость товара, подлежащего прослеживаемости
- Ошибка - Попытка установить соединение была безуспешной . diadoc-api.kontur.ru:443
- Статус Контрагента
- Ограничение на частоту отправки запросов в API Диадкок
- Получить поле «группа» у контрагента. HOT 4
- Текст ошибки в API при аннулировании в роуминге
- Как получить табличную часть документа? HOT 1
- Отсутствует сущность, на которую ссылается направление на подписание
- Получить документы по id шаблона
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from diadocsdk-csharp.