|
![]() |
#1 |
Участник
|
Так в сигнатуре метода lookupReference() никаких параметров нет
Да и вообще, странно как-то. Вы регистрируете метод, как принадлежащий классу, но на самом деле он находится в таблице Или у вас в классе дублируется метод lookupReferenceAgreementClassification?
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 26.05.2015 в 07:50. |
|
![]() |
#2 |
Участник
|
А что, registerOverrideMethod можно делать только на метод класса?
Нет, метод lookupReferenceAgreementClassification только в таблице, поэтому, соответственно, там и tableMethodStr использую |
|
![]() |
#3 |
Мрачный тип
|
X++: dlgAgreementClassification.registerOverrideMethod(identifierStr(lookupReference), tableMethodStr(AgreementHeader, lookupReferenceAgreementClassification), this); На this (экземпляр вашего класса) нет метода lookupReferenceAgreementClassification. Если уж так важно вызывать его именно с таблицы соглашений - переставьте переопределение метода lookupReference на метод класса и из этого метода уже и вызывайте лукапный метод, живущий на таблице.
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
|
За это сообщение автора поблагодарили: Pandasama (1). |
![]() |
#4 |
Участник
|
Что касается отсутствия параметров в lookupreference
В стандартных местах, например, так: X++: dialogFromAccount = dialog.addFieldValue(extendedtypestr(MainAccountRecId), fromAccountRecId, "@SYS135766"); dialogFromAccount.registerOverrideMethod(methodstr(FormReferenceControl, resolveReference), methodstr(LedgerExchAdj, mainAccountResolveReference), this); dialogFromAccount.registerOverrideMethod(methodstr(FormReferenceControl, lookupReference), methodstr(LedgerExchAdj, mainAccountLookupReference), this); X++: public Common mainAccountLookupReference(FormReferenceControl _formReferenceControl) { return MainAccount::lookupReference(_formReferenceControl); } |
|
Теги |
ax2012, dialog, lookupreference, registeroverridemethod |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|