Показать сообщение отдельно
Старый 25.10.2005, 18:39   #1  
PMS is offline
PMS
Участник
 
54 / 29 (1) +++
Регистрация: 25.02.2005
Адрес: Санкт-Петербург
Два Dstasource с Range в init()
Добрый день!

На форме есть два Datasource: InventJournalTrans и InventDim.
Мне нужно выбрать строки определенного типа журнала, например, "Проводка", с определенным складом.
Перекрываю у обоих метод init().
В InventDim_DS:
PHP код:
public void init()
{
    
Query                             q = new Query();
    
QueryBuildDataSource    queryBuildDataSource;
    
QueryBuildRange            InventLocationRange;
    ;
    
queryBuildDataSource q.addDataSource(InventDim.TableId);
    
InventLocationRange queryBuildDataSource.addRange(fieldnum(InventDimInventLocationId));
    
InventLocationRange.value('Склад1');
    
this.query(q);
    
super();

В InventJournalTrans_DS:
PHP код:
public void init()
{
    
Query                 q = new Query();
    
QueryBuildDataSource    queryBuildDataSource;
    
QueryBuildRange         JournalTypeRange;
    ;
    
queryBuildDataSource q.addDataSource(InventJournalTrans.TableId);
    
JournalTypeRangequeryBuildDataSource.addRange(fieldnum(InventJournalTransJournalType));
    
JournalTypeRange.value('0');
    
this.query(q);
    
super();

Однако срабатывают не оба Range, а только один.
Причем если у InventDim_DS указаны свойства:
JoinSource: InventJournalTrans
LinkType: InnerJoin
то срабатывает Range, указанный в Init() InventJournalTrans.
А если сделать наоборот, и указать у InventJournalTrans:
JoinSource: InventDim
LinkType: InnerJoin
то срабатывает Range, указанный в Init() InventDim.

А хотелось бы чтобы срабатывали оба Range.
Не подскажете, что я не так делаю?