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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.12.2007, 20:15   #1  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Как сделать лукап со своими значениями?
Пытаюсь сделать чтото вроде этого

(Таблица lookupBankPrintName_UAI - временная)

X++:
client static void lookupPrintName(FormStringControl    ctrl,
                                   PaymSpec             _paymSpec
                                   )
{
    SysTableLookup          sysTableLookup;
    lookupBankPrintName_UAI lookupTableLocal;
    BankGroup               bankGroupLocal;
    ;
 
    bankGroupLocal = BankGroup::find(_paymSpec);
 
    if(bankGroupLocal.KNB)
    {
        lookupTableLocal.clear();
        lookupTableLocal.BankPrintName = bankGroupLocal.KNB;
        lookupTableLocal.insert();
    }
 
    if(bankGroupLocal.NB1)
    {
        lookupTableLocal.clear();
        lookupTableLocal.BankPrintName = bankGroupLocal.NB1;
        lookupTableLocal.insert();
    }
 
    if(bankGroupLocal.ShortName)
    {
        lookupTableLocal.clear();
        lookupTableLocal.BankPrintName = bankGroupLocal.ShortName;
        lookupTableLocal.insert();
    }
 
    sysTableLookup = SysTableLookup::newParameters(tableNum(lookupBankPrintName_UAI), ctrl);
    sysTableLookup.addLookupfield(fieldNum(lookupBankPrintName_UAI, BankPrintName));
    sysTableLookup.parmTmpBuffer(lookupTableLocal);
 
    sysTableLookup.performFormLookup();
}
лукап получился но работает правильно только если первый раз откываешь, потом начинают исчезать строки, либо если с самого начала в этом контроле уже есть значение.

Последний раз редактировалось Beast-L; 20.12.2007 в 23:24.
Старый 20.12.2007, 21:31   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Есть такая гадость. Если в лукапе есть значение и буфер - временный, начинают исчезать строки, идущие до указанного значения.

Попробуйте вот так (в 3.0 помогало):

X++:
void lookupXXX(FormStringControl _ctrl)
{
    TmpIdRef                tmpIdRef;
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tableNum(TmpIdRef), _ctrl);
    str                     saveText;
    ;
    saveText = _ctrl.text();
    _ctrl.text("");
    _ctrl.pasteText("", false); // Disable filter effects

    sysTableLookup.addLookupfield(fieldNum(TmpIdRef, Name), true);
    sysTableLookup.addLookupfield(fieldNum(TmpIdRef, HelpTxt));
    ...
    sysTableLookup.parmTmpBuffer(tmpIdRef);
    sysTableLookup.performFormLookup();

    _ctrl.pasteText(saveText, false);
}
За это сообщение автора поблагодарили: Gustav (5), Beast-L (1), someOne (1).
Старый 21.12.2007, 14:37   #3  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Спасибо помогло
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сделать фильтр по группе пользователей? Zabr DAX: Программирование 12 08.04.2009 11:40
Заумный отчет по ОС, как сделать? Бриллиантик DAX: Программирование 13 09.07.2008 16:36
Как сделать хитрый лукап miklenew DAX: Программирование 11 08.10.2007 17:28
лукап-форма с доп. фильтром patron DAX: Программирование 10 30.03.2007 12:19
Auto, но не более чем... Можно сделать? SnowMan DAX: Программирование 16 17.10.2003 15:45

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

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

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