| 
    
        
     
     | 
    
    
  | 
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'" Вроде там нет отбора по исполнителю, только по пользователю сеанса.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |