|
|
#1 |
|
Участник
|
перекрытие lookup
Возможно ли в queryBuildDataSource использовать union как в sql, чтобы выводились записи не для одной таблицы. Хочу использовать это в перекрытии lookup. Возможно существует иной способ
|
|
|
|
|
#2 |
|
Участник
|
Цитата:
вас не устроит? если же надо на одном уровне данные из разных таблиц - советую использовать временную таблицу как источник данных. Удачи |
|
|
|
|
#3 |
|
MCITP
|
Цитата:
В более ранних версиях - этого нет. Другой способ предложен выше (временная таблица), хотя мне он совсем не нравится...
__________________
Zhirenkov Vitaly |
|
|
|
|
#4 |
|
Участник
|
|
|
|
|
|
#5 |
|
MCITP
|
Цитата:
))Просто субъективно не нравится... Но всё равно другой альтернативы нет...
__________________
Zhirenkov Vitaly |
|
|
|
|
#6 |
|
Боец
|
Цитата:
queryBuildDataSource использовать union как в sql
Цитата:
чтобы выводились записи не для одной таблицы.
X++: sysTableLookup = SysTableLookup::newParameters(tablenum(Table) sysTableLookup.addLookupfield(fieldnum(Table, Field1)); ... Если логика построения списка выводимых в лукапе записей более сложная, и не покрывается обычным запросом, то да, нужно подключать временную таблицу. Простите, если неверно понял задачу.
|
|
|
|
|
#7 |
|
MCITP
|
Цитата:
Человеку нужен Union в лукапе. Т.е. что-то типа следующего должно использоваться в лукапе: X++: select id, name from table1 union [all] select id, name from table2 Конечно можно придумать и другие извращённые варианты, но это скорее из спортивного интереса, а не для реальной жизни. Например, создать вью, подменить вью на уровне БД на нужный с юнионом и использовать его в лукапе. И молиться, что она (view) не пересинхронизиться. Хотя этот момент можно предусмотреть и немного "апгрэйднуть" посредством добавления триггера на DDL в БД, который бы не давал пересоздавать данное представление. Конечно, придётся иметь всё это постоянно ввиду.... Сам не пробовал реализовывать и надеюсь не придётся никогда, и никому не советую.
__________________
Zhirenkov Vitaly |
|
|
|
|
#8 |
|
Member
|
А для чего вы лукапите данные?
Стандартный подход в Аксапте — составной ключ. В смысле перечисление, в зависимости от выбора которого в соседнем поле лукап производится по соответствующей значению выбранного перечисления таблице. Предположим, вы объедините таблицу клиентов и поставщиков. И коды у них одинаковые бывают. Что вы потом будете делать с выбранным кодом?
__________________
С уважением, glibs® |
|
|
|
|
#9 |
|
Участник
|
Воспользовалась советом, создала временную таблицу, но столкнулась ещё с рядом проблем
нельзя джойнить временную таблицу с постоянной , выбрать напрямую данные из временной таблицы тоже не получается (lookup пустой) ) посоветуйте, что можно сделать Заранее спасибо |
|
|
|
|
#10 |
|
Программатор
|
в таблицу то на форме данные передаете?
|
|
|
|
|
#11 |
|
Участник
|
да, думаю может ли мне помочь setCursor
|
|
|
|
|
#12 |
|
Программатор
|
нада в ините формы сделать что то типа: название_датасорса_временной_таблицы.setData(ваша_ временная_таблица));
|
|
|