Показать сообщение отдельно
Старый 22.01.2018, 20:18   #1  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
crossCompany запрос с join
Есть форма с grid. На него нужно добавить поле. По полю пользователь должен иметь возможность фильтровать.

Поле вычисляется так;
К текущему DS(отображающему данные текущей компании) нужно подцепить InterCompanyPurchSalesReference текущей компании и сделать crossCompany join salesLines и показать одно из полей строки заказа. (при этом )

Но, проблема - как связать в одном запросе две таблицы, одна из которых выбирает данные только из текущей компании, а вторая - crossCompany без использования курсоров?

В идеале хотелось бы:
1) Сделать query в AOT
2) View на основе этого запроса
3) подцепить его на форму

Ну или же Temp табличку заполнить и подцепить (но тоже заполнив ее без использования курсоров, одним выражением)

Результат:
Если я создаю в AOT query со свойством CrossCompany = yes; DS1= InterCompanyPurchSalesReference, к нему привязываю DS2=SalesLines
То, при попытке указать у InterCompanyPurchSalesReference range DataAreaId = curExt(), я получаю(по носу) ошибку "Filtering at the data source level is not allowed for a cross-company query"

Поиск в инете привел к вот такому, немного извращенному способу

Может, есть более адекватное решение? Вроде, не повседневная, но и не сказать, чтобы супер необычная постановка задачи была

Спасибо