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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.02.2007, 16:50   #1  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Вот костяк, который работает:
X++:
public void lookup(FormControl _formControl, str _filterStr)
{
    FormStringControl       formControl     ;
    QueryBuildDataSource    qbdsVendInvoice ;
    QueryBuildDataSource    qbdsSalesTable  ;
    QueryBuildRange         qbRange         ;
    Query                   query = new Query() ;
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters( tableNum( CustInvoice4PaymJour_RU ), _formControl ) ;
    ;

    //  добавление полей в форму выпадающего списка
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, SalesId ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, InvoiceAccount ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Invoice4PaymId ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Invoice4PaymDate ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Invoice4PaymAmount ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, CurrencyCode ) ) ;
    // TODO sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Note_RU ) ) ;

    qbdsVendInvoice = query.addDataSource( tableNum( CustInvoice4PaymJour_RU ) ) ;

    /*
    if( ledgerJournalTrans.AccountType == LedgerJournalACType::Cust && ledgerJournalTrans.AccountNum )
    {
        qbRange = qbdsVendInvoice.addRange( fieldnum( CustInvoice4PaymJour_RU, InvoiceAccount ) ) ;
        qbRange.value( ledgerJournalTrans.AccountNum ) ;
    }

    // TODO qbRange = qbdsVendInvoice.addRange( fieldnum( CustInvoice4PaymJour_RU, isPaid ) ) ;
    qbRange.value( SysQuery::value( NoYes::No ) ) ;

    qbdsSalesTable = qbdsVendInvoice.addDataSource( tableNum( SalesTable ) ) ;
    qbdsSalesTable.joinMode( JoinMode::InnerJoin ) ;
    qbdsSalesTable.addLink( fieldNum( CustInvoice4PaymJour_RU, SalesId ), fieldNum( SalesTable, SalesId ) ) ;
    qbRange = qbdsSalesTable.addRange( fieldNum( SalesTable, SalesStatus ) ) ;
    qbRange.value( SysQuery::range( SalesStatus::None, SalesStatus::Delivered ) ) ;
    */

    sysTableLookup.parmQuery( query ) ;
    //formRunlookup = sysTableLookup.formRun();

    //formControl = _formControl ;

    sysTableLookup.performFormLookup();
    //_formControl.performFormLookup( formRunLookup ) ;
}
+ путаница была CustInvoice4PaymJour_RU и VendInvoice4PaymJour_RU
(upd: второй пункт убрал)

Последний раз редактировалось DreamCreator; 15.02.2007 в 17:02.
За это сообщение автора поблагодарили: Himan (1).
Старый 15.02.2007, 22:03   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от DreamCreator Посмотреть сообщение
Вот костяк, который работает:
Не понятно зачем нужны переменные _filterStr, _formControl и formControl.
Старый 16.02.2007, 09:43   #3  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от Sada Посмотреть сообщение
Не понятно зачем нужны переменные _filterStr, _formControl и formControl.
Я старался минимально менять выложенный код, поэтому formContol оставил, хотя он и не использовася (в последней версии).

Далее, lookup создается на поле датасоурса, т.е. если нажать на нем правой клавишей и выбрать - перекрыть метод lookup, то появится код:
X++:
public void lookup(FormControl _formControl, str _filterStr)
{
    super(_formControl, _filterStr);
}
Формальный параметр _formControl используется при создании объекта sysTableLookup:
X++:
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters( tableNum( CustInvoice4PaymJour_RU ), _formControl ) ;
Поправьте, если не так!

Последний раз редактировалось DreamCreator; 16.02.2007 в 09:49.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gatesasbait: How to define a custom lookup form for an extended datatype Blog bot DAX Blogs 0 09.07.2008 22:05
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Нагло глючит lookup Sada DAX: Программирование 1 08.06.2006 10:32
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07
Произвольная Lookup форма Maxim Gorbunov DAX: База знаний и проекты 0 30.11.2001 21:59

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

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

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