Имя: Пароль:
1C
 
Запрос данных 1С ДО из 1с ЕРП
0 TwinkleSunn
 
12.11.25
12:36
Подскажите, как правильно указать отбор при запросе задач из 1с ДО. Тема похожая была, но там вопрос не решен.
Хочу отобрать все задачи по исполнителю, делаю вот так:

Прокси = ИнтеграцияС1СДокументооборотБазоваяФункциональностьПовтИсп.ПолучитьПрокси();

ИсполнительИД = ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПолучитьIDПоСсылке(ВыбПользователь);

Исполнитель = ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиентСервер.ДанныеСсылочногоОбъектаДО(ИсполнительИД, "DMEmployee",ВыбПользователь.Наименование,,);  

Пользователь = ИнтеграцияС1СДокументооборотБазоваяФункциональность.УчастникЗадач(Прокси, Исполнитель,,);

Запрос = Прокси.ФабрикаXDTO.Создать(    Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/dm" ,"DMGetObjectListRequest"));
Запрос.type = "DMTaskAction";  
Запрос.query = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/dm" ,"DMObjectListQuery"));

Условие = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/dm" ,"DMObjectListCondition"));
Условие.property  = "performer";
Условие.value = Пользователь;  

Запрос.query.conditions.Добавить(Условие);

Получаю ошибку:
Неизвестное поле в условии отбора: performer
1 Маленький Вопросик
 
12.11.25
12:45
Что за дичь! Вкатун чтоли?
2 TwinkleSunn
 
12.11.25
12:48
(1) Что это значит?
Делала по документации с ИТС по DMService
3 Garykom
 
гуру
12.11.25
12:56
(0) Надо в ДО (возможно с отладчиком) копаться, чтобы понять какие property можно передавать
Пока ясно что "performer" не подходит
4 Garykom
 
гуру
12.11.25
13:07
Кстати мы поступили проще
Допиливали и пакеты DM и код общих модулей в ДО (и в ЕРП конечно) чтобы все что угодно отбирать или делать
Не полагаясь на имеющийся функционал
Например допилить ДО чтобы принимало "performer" и правильно отбирало

Точнее лучше использовать префиксы, не просто "performer" а "преф_performer"
И так везде где допиливаем, чтобы случайно с типовыми не пересечься
5 Garykom
 
гуру
12.11.25
13:03
В ДО глобальный поиск по "DMGetObjectListRequest"
Ставишь точки останова, запускаешь отладку, делаешь запрос из ЕРП
И в ДО разбираешься копаясь в коде что там происходит и как допилить
Времени уходит куча, особенно с отладкой веб-сервисов и фоновых

Нужны свои отдельные копии баз ЕРП и ДО, с включенной отладкой на сервере
И специально подготовить вырубить все регламенты и прочее чтобы лишние фоновые не лезли
И другие юзеры/сеансы в базах не мешались
6 TwinkleSunn
 
12.11.25
14:02
(3) На стороне ДО в модуле ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи нашла что ДО ждет запрос типа DMGetDynamicListRequest, и там есть performer

Спасибо что направили куда вообще смотреть!
Программист всегда исправляет последнюю ошибку.