![]() |
|
DMService: Получить список задач пользователя | ☑ | ||
---|---|---|---|---|
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
|
Ну что, коллеги?! Разве никто не использует в своей деятельности интеграцию УПП с ДО?
У меня вопрос неспешный, но решить нужно. Есть кто-нибудь кто по существу вопроса может что-то конкретное сказать?! |
|||
2
baza1
01.04.19
✎
10:04
|
Посмотрите какие есть условия отбора для получения списка задач в модуле ДО
ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи.ПолучитьСписокЗадач В нем вы и попадаете на "'Неизвестное поле в условии отбора: %1'" Вроде там нет отбора по исполнителю, только по пользователю сеанса. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |