25.10.2005, 18:39 | #1 |
Участник
|
Два Dstasource с Range в init()
Добрый день!
На форме есть два Datasource: InventJournalTrans и InventDim. Мне нужно выбрать строки определенного типа журнала, например, "Проводка", с определенным складом. Перекрываю у обоих метод init(). В InventDim_DS: PHP код:
PHP код:
Причем если у InventDim_DS указаны свойства: JoinSource: InventJournalTrans LinkType: InnerJoin то срабатывает Range, указанный в Init() InventJournalTrans. А если сделать наоборот, и указать у InventJournalTrans: JoinSource: InventDim LinkType: InnerJoin то срабатывает Range, указанный в Init() InventDim. А хотелось бы чтобы срабатывали оба Range. Не подскажете, что я не так делаю? |
|
25.10.2005, 18:55 | #2 |
Moderator
|
При использовании линка InnerJoin на оба DS создается один общий query. C этим связана специфика работы init-методов этих источников. Чтобы срабатывали оба range, надо разместить их в одном методе init(), например, init() формы после super().
__________________
Андрей. |
|
26.10.2005, 16:40 | #3 |
Участник
|
Dron AKA andy, спасибо.
В init() формы написал: PHP код:
И все заработало. Еще раз спасибо Последний раз редактировалось PMS; 26.10.2005 в 16:44. |
|
26.10.2005, 17:40 | #4 |
Участник
|
this.query().dataSourceNo(1).addRange(fieldnum(Table, field)).value('XXX');
а чем это не катит? |
|
26.10.2005, 18:21 | #5 |
Участник
|
У формы нет query()
|
|
26.10.2005, 19:27 | #6 |
Участник
|
Наверное, из-за переноса, у вас создается экземпляр Query, который не используется.
Query q= new Query(); super(); q = inventJournalTrans_ds.query(); Судя по всему это и смутило Dronas.
__________________
Axapta v.3.0 sp5 kr2 |
|
27.10.2005, 10:43 | #7 |
Участник
|
Цитата:
Сообщение от PMS
У формы нет query()
|
|
28.10.2005, 09:54 | #8 |
Участник
|
Цитата:
Сообщение от Dronas
Так перекрываются же методы инит на датасурсе, см. первый пост!
Так а в чем разница? Просто чтобы не создавать дополнительных объектов? В остальном все точно также. |
|