Показать сообщение отдельно
Старый 27.05.2002, 10:39   #10  
vetalgl is offline
vetalgl
Участник
 
7 / 11 (1) +
Регистрация: 06.12.2001
Попробуйте перенести ваш код
this.query().dataSourceNo(1).addRange(fieldNum(BomTable,BOMId)).value("001");
в инит'е Дата сорса за super()
т.е.
void init()
{
...
super();
this.query().dataSourceNo(1).addRange(fieldNum(BomTable,BOMId)).value("001");
}

То, что он вылетает с ошибкой трасировкой ... и т.д. - это понятно, на непроинициалицированный дата сорс вы ложите ограничение ...

в нашей практике мы поступаем несколько по другому ...

ClassDeclaration формы объявляем переменную
{
...
QueryBuildRange myRange;
...
}

в ините дата сорса инициализируем ее после супера

...
super();
....
myRange = this.query().dataSourceNo(1).addRange(fieldNum(BomTable,BOMId));
...

в executeQuery этого же дата сорса прописуем до супера
...
myRange.value('001');
super();
...

Вот.

Но даже не это вызывает интерес ...
Более интересна проблема решить как не сбив уже наложенные пользователем фильтры (правой клавишей на поле , фильтр) наложить свой ... фильтр.

Я по свободке капался и даже нарыл как это можно сделать, но по какой-то причине не записал ..., может кто знает?
__________________
Всем привет!!!
За это сообщение автора поблагодарили: Vasil (1).