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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2015, 07:04   #1  
Pandasama is offline
Pandasama
Участник
 
457 / 134 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
проблема с перекрытием lookupreference в dialog
Товарищи, начинаю активно работать в 2012 и встречаюсь с некоторыми проблемами.
В данный момент проблема следующая:
есть класс (наследник RunBase), в классе диалог, в диалоге следующее:
X++:
protected Object dialog()
{
    Dialog                  dialog = super();
    Object                  formCtrl;
    ;

    dlgAgreementClassification = dialog.addFieldValue(extendedTypeStr(agreementClassificationRecId), agreementClassificationRecId, "Выберите новую классификацию");
    //formCtrl = dlgAgreementClassification.control();
    //formCtrl.replacementFieldGroup(identifierStr(AutoIdentification));
    //formCtrl.registerOverrideMethod(identifierStr(lookupReference), tableMethodStr(AgreementHeader, lookupReferenceAgreementClassification), this);
    dlgAgreementClassification.registerOverrideMethod(identifierStr(lookupReference), tableMethodStr(AgreementHeader, lookupReferenceAgreementClassification), this);

    return dialog;
}
метод AgreementHeader::lookupReferenceAgreementClassification, соответственно следующий
X++:
public Common lookupReferenceAgreementClassification(FormReferenceControl _formReferenceControl)
{
    AgreementHeaderExt_RU   agreementHeaderExt;
    Query query = new Query();
    QueryBuildDataSource qbds;
    QueryBuildDataSource QbdsJoin;
    SysReferenceTableLookup sysTableLookup = SysReferenceTableLookup::newParameters(tableNum(AgreementClassification), _formReferenceControl)
    ;
    qbds = query.addDataSource(tableNum(AgreementClassification));
    switch (agreementHeaderExt.AgreementType)
    {
        case AgreementType::Contract:
            qbds.addRange(fieldNum(AgreementClassification, MainAgreement)).value(queryValue(NoYes::Yes));
            break;
        case AgreementType::AdditionalAgreement:
            qbds.addRange(fieldNum(AgreementClassification, MainAgreement)).value(queryValue(NoYes::Yes));
            break;
    }
    qbds.addRange(fieldnum(AgreementClassification, AgreementRelationType)).value(queryValue(this.InstanceRelationType));

    sysTableLookup.parmQuery(query);
    sysTableLookup.addLookupfield(fieldNum(AgreementClassification, Name));
    sysTableLookup.addLookupfield(fieldNum(AgreementClassification, Description_PSN));
    return sysTableLookup.performFormLookup();
}
в другом месте, на статичной форме, этот lookupreference работает нормально
запустив же класс и в его диалоге попробовав сделать лукап - получаю ошибку
Код:
Ошибка времени выполнения: FormReferenceGroupControl (Объект), метод lookupReference вызван с недопустимыми параметрами.

Трассировка стека

(C)\Classes\FormReferenceGroupControl\lookupReference
(C)\Classes\FormReferenceGroupControl\Lookup
(C)\Classes\FormStringControl\Lookup
пошерстив АОТ на предмет классов с методом диалог и registerOverrideMethod нашел ряд стандартных примеров, и кардинальных отличий от своего кода не увидел

что я делаю не так?
Теги
ax2012, dialog, lookupreference, registeroverridemethod

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axtadka: Adding a field on dialog by addfield() method, when the type of EDT is known at run time, in Dynamics AX 2009 Blog bot DAX Blogs 0 17.11.2012 11:12
Malaysia: Creating a dialog Blog bot DAX Blogs 0 07.11.2012 17:11
ax-erp: How to use default dimensions as Dialog fields in dialogs [Dynamics AX 2012] Blog bot DAX Blogs 0 19.09.2012 20:11
ax-erp: How to Enable/Disable fields in a dialog Blog bot DAX Blogs 0 19.09.2012 20:11
ax-erp: How to override the event methods on dialog controls? Blog bot DAX Blogs 0 18.09.2012 18:11

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

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

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