|
20.09.2004, 17:19 | #1 |
Участник
|
Фильтрование записей при "переходе к основной таблице"
Привет всем!
В форме InventTable есть поле ItemGroupId. Если в этом поле выполнить "переход к основной таблице", то откроется справочник номенклатурных групп. При этом текущей станет номенклатурная группа, которой принадлежит активная номенклатура в форме InventTable. И в то же время выводится полный список всех имеющихся номенклатурных групп. Я создал свою собственную форму, основанную на моей (нестандартной) таблице. В этой форме есть грид. В одном из полей этого грида есть также функционал "перейти к основной таблице". Проблема: у меня при переходе к основной таблице открывается основная таблица, но при этом в ней записи фильтруются, то есть отображается только одна запись. Мне же нужно, чтобы отображались все записи справочника. Вопрос: как это сделать? Как сделать, чтобы при переходе к основной таблице записи в этой таблице не фильтровались, а выводился весь справочник?
__________________
Когда гестапо перекрыло все выходы, Штирлиц вышел через вход! |
|
13.11.2015, 14:21 | #2 |
Участник
|
Подскажите пожалуйста есть ли способ как то обойти эту "фичу"?
Переопределить какие то методы может быть? Нужно сделать чтобы при переходе из дочерней таблице по полю, у которого в его EDT есть relation в том числе со связью "Поле ссылки фиксировано", к основной таблице - та фильтровалась не по одной записи, а по всем записям подходящего типа (заданного фиксированной частью связи), а уже конкретная запись делалась текущей.
__________________
Ax 3.0 SP5 FP2 kr2 |
|
14.11.2015, 19:18 | #3 |
MCITP
|
Цитата:
Сообщение от abark
Подскажите пожалуйста есть ли способ как то обойти эту "фичу"?
Переопределить какие то методы может быть? Нужно сделать чтобы при переходе из дочерней таблице по полю, у которого в его EDT есть relation в том числе со связью "Поле ссылки фиксировано", к основной таблице - та фильтровалась не по одной записи, а по всем записям подходящего типа (заданного фиксированной частью связи), а уже конкретная запись делалась текущей.
__________________
Zhirenkov Vitaly |
|
13.11.2015, 15:03 | #4 |
Administrator
|
Не помню уже, как в 3.0, но в 2009 есть методы args.lookupField() и args.lookupValue(). Если их заполнить, то переход будет осуществляться с позиционированием. А фильтрацию можно сделать на открываемой форме, анализируя либо через args.record(), либо через args.caller() - откуда произошел вызов.
__________________
Возможно сделать все. Вопрос времени |
|
18.11.2015, 12:52 | #5 |
Участник
|
Спасибо за ответы.
Сделал так: 1. в источнике данных вызываемой формы в методе init() отключил dynalink через X++: this.query().datasourceNo(1).clearDynaLinks() X++: QueryBuildRange qbr;
;
qbr = this.query().dataSourceNo(1).addRange(fieldnum(MyTable, MyTableFixedTypeField));
qbr.value(int2str(_myValueForFilterFixedTypeField)); X++: MyTable record;
;
...
record = MyTable::find(_myRecordId);
if(record)
this.findRecord(record);
__________________
Ax 3.0 SP5 FP2 kr2 |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|