AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.07.2009, 18:20   #1  
Homer13 is offline
Homer13
Участник
 
10 / 10 (1) +
Регистрация: 13.02.2008
Добрый день!

Может кто-нибудь знает ответ на загадку, как сделать универсальный лукап на любую таблицу.

Т.е., пример, есть форма у которой функция вроде Lookup(TableID: integer, FieldID:integer)
вызываешь эту функцию и открывается лукап именно на ту таблицу , которую передал и на то поле

Пока идея только сделать темповую таблицу и заполнять её через:
recordref.open(TableID);
fieldref = recordref.field(FieldID);
а потом выводить на форму

но это походу долго работать будет
Старый 01.07.2009, 20:25   #2  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
как я понял, не проблема достать, проблема вывести на форму
а чтобы вывести надо ВСЮ таблицу сунуть в темп... да, не быстро откроется форма.

а можно вопросик, какая цель преследуется?
общая постановка задачи какая?
может есть готовая таблетка...
Старый 02.07.2009, 13:09   #3  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
В 5ке отработает:

Код:
RunAnyForm(V : Variant)
IF FORM.RUNMODAL(0, V) = ACTION::LookupOK THEN;
Запускается
RunAnyForm(ЛюбаяПеременнаяТипаРекорд).
Все фильтры передаются

В остальных других версиях от таких махинаций Navision падает.
Старый 02.07.2009, 13:24   #4  
Homer13 is offline
Homer13
Участник
 
10 / 10 (1) +
Регистрация: 13.02.2008
Цитата:
Сообщение от .Quattro. Посмотреть сообщение
В 5ке отработает:

Код:
RunAnyForm(V : Variant)
IF FORM.RUNMODAL(0, V) = ACTION::LookupOK THEN;
Запускается
RunAnyForm(ЛюбаяПеременнаяТипаРекорд).
Все фильтры передаются

В остальных других версиях от таких махинаций Navision падает.
ЛюбаяПеременнаяТипаРекорд но не рекордреф ?
поучается что нужно будет при этом большой case писать на рекорды
Старый 02.07.2009, 14:26   #5  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
Увы, но RecordRef отобразить на форме невозможно. Только Record.
Один из вариантов Вы уже описали - сформировать временную таблицу и ее отобразить.
Вариант 2 - Сделать форму с обработкой OnFind и OnNext, где делать переходы по RecRef'у - тогда не тратится время на заполнение временной таблицы.
Старый 02.07.2009, 14:33   #6  
Homer13 is offline
Homer13
Участник
 
10 / 10 (1) +
Регистрация: 13.02.2008
Post
Цитата:
Сообщение от .Quattro. Посмотреть сообщение
Увы, но RecordRef отобразить на форме невозможно. Только Record.
Один из вариантов Вы уже описали - сформировать временную таблицу и ее отобразить.
Вариант 2 - Сделать форму с обработкой OnFind и OnNext, где делать переходы по RecRef'у - тогда не тратится время на заполнение временной таблицы.
+1
Старый 02.07.2009, 17:52   #7  
Homer13 is offline
Homer13
Участник
 
10 / 10 (1) +
Регистрация: 13.02.2008
Цитата:
Сообщение от .Quattro. Посмотреть сообщение
Увы, но RecordRef отобразить на форме невозможно. Только Record.
Один из вариантов Вы уже описали - сформировать временную таблицу и ее отобразить.
Вариант 2 - Сделать форму с обработкой OnFind и OnNext, где делать переходы по RecRef'у - тогда не тратится время на заполнение временной таблицы.
думаю это лучший вариант
Старый 09.07.2009, 11:08   #8  
Raul is offline
Raul
Участник
 
35 / 10 (1) +
Регистрация: 15.03.2006
Цитата:
Сообщение от .Quattro. Посмотреть сообщение
В 5ке отработает:

Код:
RunAnyForm(V : Variant)
IF FORM.RUNMODAL(0, V) = ACTION::LookupOK THEN;
Запускается
RunAnyForm(ЛюбаяПеременнаяТипаРекорд).
Все фильтры передаются

В остальных других версиях от таких махинаций Navision падает.
Странно у меня такой код вырубает 5ку, может есть какие тонкости?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:53.