08.02.2012, 15:11 | #1 |
Участник
|
Всем добрый день!
Стоит задача: пользователь выбирает необходимую таблицу. Накладывает на неё фильтр. Запускает на выполнение(идёт выполнение моего механизма). Что за открываемая таблица не известно. Потому открываю через RecordRef. Но вот досада, как узнать номер формы который стоит в свойстве LookupFormId выбранной таблицы? Чтоб запустить её и позволить пользователю наложить фильтр на строки... Есть вариант создать табличку которая будет содержать в себе все номера форм и к какой таблице она привязана....но мне кажется это кривой способ. Заранее спасибо! |
|
08.02.2012, 15:38 | #2 |
Участник
|
Узнать номер - никак.
Запустить - объявить переменную типа Varinat, каким-то образом передать в нее Rec и запустить форму на варианте. Но наложенные фильтры, скорее всего, получить не удастся. Код: Variant := Rec; FORM.RUNMODAL(0, Variant); На 4 ке и ниже Nav падает с ошибкой. Можно попытаться в вариант рек из рекрефа передать: Код: RecRef.SetTable(Variant); |
|
09.02.2012, 17:00 | #3 |
Участник
|
На самом деле, и как получить фильтр :-(
|
|
09.02.2012, 17:48 | #4 |
Участник
|
Мне кажется такие задачи в рамках нава решаются написанием тон кода для всех возможных табличке и срезать углы не получится.
|
|
09.02.2012, 21:57 | #5 |
Участник
|
Можно сделать свою форму, которая будет отображать данные из RecRef'а.
Для этого придется написать код на OnFindRecord и OnNextRecord. Сделать на ней субформу, в которой пользователь будет накладывать фильтр (аналог ctrl-f7) 2мя строчками кода тут не обойтись. |
|