|
Вопрос по работе с Com.DiadocApi | ☑ | ||
---|---|---|---|---|
0
Strogg
04.03.21
✎
16:39
|
Привет, Коллеги.
Не могу понять, как работает этот зловредный диадок. Пример беру прямо из примеров на сайте с минимальными различиями. DiadocApi = Новый ComОбъект("Diadoc.DiadocClient"); DiadocApi.ApiClientId = "_нашКлюч_"; DiadocApi.ServerUrl = "https://diadoc-api.kontur.ru:443"; Certificates = DiadocApi.GetPersonalCertificates(); ОтпечатокСертификата = Certificates.GetItem(0).Thumbprint; DiadocConnection = DiadocApi.CreateConnectionByCertificate(ОтпечатокСертификата); BoxId = "ИмяНашегоЯщика@diadoc.ru"; Organization = DiadocConnection.GetOrganizationById(BoxId); DocumentTask = Organization.GetDocumentsTask(); DocumentTask.FromDocumentDate = НачалоГода(ТекущаяДата()); DocumentTask.ToDocumentDate = КонецГода(ТекущаяДата()); DocumentTask.Category = "Invoice.OutboundFinished"; DocumentList = DocumentTask.GetDocuments(); Сч = 0; Пока сч < DocumentList.Count Цикл //тут выполняю какие-то действия с документами Вопрос состоит в том, что Список документов всегда приходит пустым за любой интервал дат. Соединение создается, отпечаток сертификата тот что надо, Категория документов из документации и строка фильтра построена как надо. Метод DocumentTask.GetDocuments() отрабатывает без ошибок, но неизменно пустой( Что я делаю не так? |
|||
1
Strogg
04.03.21
✎
16:48
|
+ Кстати, в этом же контексте пытаюсь даже использовать метод
Document = Organization.GetDocumentById(IDДокумента) из конкретного сообщения (получаю из сообщения текущей строки на форме), тогда ругается: invalid string position |
|||
2
mikecool
04.03.21
✎
18:00
|
у тебя обработка работы с диадоком есть?
|
|||
3
mikecool
04.03.21
✎
18:02
|
+2 правда я на таком уровне не копал
хочешь получить список изменений по документам? |
|||
4
mikecool
04.03.21
✎
18:02
|
на гитхабе диадока в тематической ветке задавал вопрос?
|
|||
5
mikecool
04.03.21
✎
18:04
|
и кстати - а чего не напрямую через http запрос?
|
|||
6
John D
04.03.21
✎
19:09
|
Вообще странно.
И GetDocuments(), и GetDocumentById() работают как часы. Откуда берешь IDДокумента? И еще - без указания DocumentTask.Category пробовал? |
|||
7
mikecool
04.03.21
✎
19:35
|
ИД документа Диадок включает в себя messageid и нуид документа
в 1с хранится в виде 64 разрядного значения |
|||
8
Strogg
04.03.21
✎
20:13
|
(2) (3) мне надо сохранить весь документооборот по завершенный инвойсам. После того, как получу список документов сохраню в виде зтп архива. Да, в модуле диадока и высмотрел этот saveallcontentasync()
(6) без указания категории ругается на то, что фильтр недозаполнен (7) о! Я беру id из сообщения, из соответствующего реквизита. Это что за ид? И где взять второй? |
|||
9
mikecool
04.03.21
✎
22:55
|
(8) при встройке модуля диадоку в конфигурацию ве идентификаторы идут как доп свойства
|
|||
10
mikecool
04.03.21
✎
22:57
|
+9 ИДДокументаДиадок, ИДСчетФактураДиадок и какой то еще
вот они - два гуида в 64ричном представлении, в обработке есть функции преобразования туда и обратно |
|||
11
Strogg
05.03.21
✎
09:32
|
(10) спасибо. Только у нас модуль диадока не встроен, и встраивать его не будут. У нас есть только модуль EDI. Там есть справочник сообщений, где есть реквизит ID сообщения. КАк раз его я и брал
|
|||
12
Strogg
05.03.21
✎
10:25
|
Блин, открыл сообщение через редактор реквизитов, у него оказывается в ТЧ Дополнительных реквизитов есть еще два гуида: OriginalId и BoxId. Щас буду играться с ними. (9) Спасибо еще раз за на_водку)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |