WriteDocumentEx - Расширенный метод создания и отправки документа (ExtSdk2) — различия между версиями
Строка 12: | Строка 12: | ||
#* Объект{ | #* Объект{ | ||
#:: { L"QueryId", Идентификатор запроса в плагин }, | #:: { L"QueryId", Идентификатор запроса в плагин }, | ||
− | #:: { L" | + | #:: { L"ProcentLoading", Процент загрузки } |
#: } | #: } | ||
# Когда вложение полностью загрузилось удаляем из кеша вложений. Если процент по документу 100, кидаем событие окончания с итоговым объектом документ. | # Когда вложение полностью загрузилось удаляем из кеша вложений. Если процент по документу 100, кидаем событие окончания с итоговым объектом документ. | ||
Строка 26: | Строка 26: | ||
* {{Шаблон:ApiParam|Result||объект|}} | * {{Шаблон:ApiParam|Result||объект|}} | ||
**{{Шаблон:ApiParam|QueryId||строка| Идентификатор запроса в плагин}} | **{{Шаблон:ApiParam|QueryId||строка| Идентификатор запроса в плагин}} | ||
− | **{{Шаблон:ApiParam| | + | **{{Шаблон:ApiParam|ResultDocument||объект| [[Документ_-_Объект_ExtSdk2|объект Документ]]}} |
* {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}} | * {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}} | ||
== Исключения == | == Исключения == |
Версия 11:54, 15 февраля 2021
Содержание
Описание
Метод позволяет за один вызов записать и запустить документооборот по документу.
Алгоритм работы
Асинхронная загрузка файлов в WriteDocumentEx
- Модуль при старте подписывается на события FileLoadera
- Если в WriteDocument есть данные подлежащие загрузке через FileLoader то метод запускает загрузку всех файлов. Кладет в кэш информацию о загрузке и пробрасывает исключение "#ASYNC и кодом 100"
Кэш загрузки документ состоит из двух словарей- FileLoaderAttachment[ИдЗагрузки] = {ИдДок, ИндексВложения}
- FileLoaderDocument[ИдДок] - {Документ, Процент загрузки, Последняя дата обновления}
- При поступлении события файлоадера по ИдЗагрузки проверяем ждем ли мы загрузку этого файла. Если ждем, то обновляем вложение на документе и общий процент загрузки документа. Если последнее обновление документа было больше чем секунду назад, то пробрасываем событие в ВО
- Объект{
- { L"QueryId", Идентификатор запроса в плагин },
- { L"ProcentLoading", Процент загрузки }
- }
- Когда вложение полностью загрузилось удаляем из кеша вложений. Если процент по документу 100, кидаем событие окончания с итоговым объектом документ.
- Объект{
- { L"QueryId", Идентификатор запроса в плагин },
- { L"ResultDocument", объект Документ}
- }
Если файлоадер вернул ошибку завершаем процесс ошибкой.
Параметры
- Document ! (объект) - объект Документ
Результат
Возвращает объект с идентификатором сессии, которую нужно использовать для последующих вызовов.
- Result (объект) -
- QueryId (строка) - Идентификатор запроса в плагин
- ResultDocument (объект) - объект Документ
- Stat (объект) - статистика времени выполнения операции