Цитата:
Сообщение от
Alex P
Спасибо всем, кто ответил. Проблема разрешилась по методу - "А если немного подумать-?". Простая ошибка. Если Data Source привязан по join к master - таблице, то у него номер в query не 1, а 2. ( this.query().dataSourceNo(2).addRange( ....) )
По поводу баяна - простая задача типа : Есть услуги, есть районы , есть тарифы на услуги, которые зависят от районов. Делается grid в котором услуги и тарифы в одной строке (для ввода тарифов), есть еще один grid по районам, перемещение по районам отбирает тариф для данной услуги только для этого района.
Не срабатывает в другой ситуации:
есть запрос на форме типа
X++:
select * from SalesLine outer join Name from EcoResCategory where...
Запрос стандартный, отрабатывает правильно.
Нужно наложить фильтр на EcoResCategory.Name
Делаю так:
X++:
crCategoryFilter = salesLine_ds.query().dataSourceTable(tableNum(EcoResCategory)).addRange(fieldNum(EcoResCategory, Name));
...
X++:
void crSetRange(){
crCategoryFilter.value(UseCategory.checked()?CategoryFilter.valueStr():"");
SalesLine_ds.executeQuery();
}
В результате этого просто значения EcoResCategory , не подпадающие под фильтр, показываются, как не выбранные.
Если просто накладывать фильтр на поле прямо на форме - работает.
Как побороть?