0
Active PM
22.03.19
✎
13:01
|
Коллеги, добрый день.
Есть вот такая задача: мне нужно из УПП программно получить список задач пользователя из 1С:Документооборот (невыполненные).
Что имеем:
1С:УПП 1.3.113.4
1С:ДО КОРП 2.1.10.2
ИнтеграцияС1СДокументооборотом 1.1.5.1
Пишу вот такой код:
//Получим все задачи ДО по пользователю
Прокси = ИнтеграцияС1СДокументооборотПовтИсп.ПолучитьПрокси();
СписокУсловий = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMObjectListQuery"); //DMObjectListQuery = Условие отбора для запроса DMGetObjectListRequest
НайденноеЗначение = ИнтеграцияС1СДокументооборотВызовСервера.ОбъектыДокументооборотаПоНаименованию("DMUser", ВыбПользователь.Наименование);
Если НайденноеЗначение.Количество() = 1 Тогда
DMUser = НайденноеЗначение[0].object.objectId;
конецЕсли;
Исполнитель = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMBusinessProcessTaskExecutor");
СтруктураUser = Новый Структура;
СтруктураUser.Вставить("Пользователь", ВыбПользователь.Наименование);
СтруктураUser.Вставить("ПользовательID", DMUser.id);
СтруктураUser.Вставить("ПользовательТип", "DMUser");
Обработки.ИнтеграцияС1СДокументооборот.ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, СтруктураUser, "Пользователь", Исполнитель.user, "DMUser");
// теперь нужно написать два условия: пользователь (точнее сказать - DMBusinessProcessTaskExecutor) и невыполненные задачи
Условие = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMObjectListCondition"); //DMObjectListCondition = Условие отбора для запроса DMGetObjectListRequest.
Условие.property = "performer"; //DMBusinessProcessTaskExecutor
Условие.value = Исполнитель;
СписокУсловий.conditions.Добавить(Условие);
Запрос = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMGetObjectListRequest"); //DMGetObjectListRequest = Запрашивает список объектов Документооборота (элементов справочника или значений перечисления), удовлетворяющих указанному условию.
Запрос.type = "DMBusinessProcessTask"; //DMBusinessProcessTask = Описывает задачу в Документообороте, которая формируется при движении бизнес-процесса по маршруту.
Запрос.query = СписокУсловий;
Ответ = ИнтеграцияС1СДокументооборот.ВыполнитьЗапрос(Прокси, Запрос);
ИнтеграцияС1СДокументооборот.ПроверитьВозвратВебСервиса(Прокси, Ответ);
Валится с ошибкой:
Ошибка при получении списка задач:
Неизвестное поле в условии отбора: performer
Вопрос: что делаю не так?! Как решить задачу?
PS Руководствуюсь описанием веб-сервиса, где для класса DMBusinessProcessTask определено свойство performer с типом DMBusinessProcessTaskExecutor
|
|
1
Active PM
01.04.19
✎
09:17
|
Ну что, коллеги?! Разве никто не использует в своей деятельности интеграцию УПП с ДО?
У меня вопрос неспешный, но решить нужно.
Есть кто-нибудь кто по существу вопроса может что-то конкретное сказать?!
|
|