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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.09.2021, 09:04   #1  
Pandasama is offline
Pandasama
Участник
 
448 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Перекрытие modified у FormReferenceControl в диалоге
А как в Ax2012 перекрыть у FormReferenceControl в диалоге метод modified - с учетом того, что у него метода modifed нет. Какой аналог?
Есть диалог, есть поле - ссылка по recid. Нужно при изменении поля менять что-то на диалоге.
Выглядит это вот так:


Или это не reference control, а какой-нибудь reference group ?
А с ним как работать, если есть dialogField ?
Старый 15.09.2021, 09:51   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Перекрестные ссылки показывают, например в классе RetailLabelChangeJournalGeneratorBatch, метод dialog:
X++:
dialogCategoryHierarchyId = dialog.addFieldValue(extendedTypeStr(EcoResCategoryHierarchyId), categoryHierarchyId);
    dialogCategoryHierarchyId.registerOverrideMethod(methodStr(FormReferenceGroupControl, modified), methodStr(RetailLabelChangeJournalGeneratorBatch, categoryHierarchyModified), this);
Оно?
За это сообщение автора поблагодарили: Ace of Database (3), Pandasama (2).
Старый 15.09.2021, 10:12   #3  
Pandasama is offline
Pandasama
Участник
 
448 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Оно, спасибо.
А по перекрестным ссылкам на что вы это нашли?
Я пока только догадался запустить полный поиск по АОТу по значению "methodStr(FormReferenceControl"
Старый 15.09.2021, 11:25   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
362 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Раздел System Documentation\Classes\FormReferenceGroupControl\modified, а дальше уже как обычно можно посмотреть перекрестные ссылки.

И да, здесь FormReferenceGroupControl, а вы искали methodStr(FormReferenceControl, узла System Documentation\Classes\FormReferenceControl\modified нет, поэтому видимо и не нашли.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: Pandasama (2).
Старый 15.09.2021, 11:39   #5  
Pandasama is offline
Pandasama
Участник
 
448 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Да, до поиска по группе я не дошел.
Ну и поискать по перекрестным ссылка из System documentation я тоже не допер, мда.
Спасибо всем ответившим
Старый 15.09.2021, 14:16   #6  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Pandasama Посмотреть сообщение
А по перекрестным ссылкам на что вы это нашли?
Тут нет каких-то озарений или глубоких знаний. Я немного смошеничал - вспомнил, что у нас sukhanchik такое делал, осталось найти место и понять что нужно перекрывать именно FormReferenceGroupControl. Ну а дальше, как описал SRF посмотреть из System documentation, чтобы привести не наш пример, а что-то из стандарта.
За это сообщение автора поблагодарили: sukhanchik (3).
Старый 15.09.2021, 18:12   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Кстати, интересное наблюдение.
В обозревателе табличек разработчики sys слоя специально писали код чтобы можно было видеть RefRecId значения, чтобы ядро для них группу не создавало:

\Classes\SysTableBrowser\addField
X++:
...
            else if(dictField.baseType() == Types::Int64)
            {
                // Reference Controls are created by default for surrogate foreign keys. However, the raw 64-bit
                // integer should always be displayed. Force all Int64 type fields to use an Int64 Control.
                formBuildControl = formBuildGridControl.addControl(FormControlType::Int64, dictField.name());
                formBuildControl.datasource(formBuildDataSource.id());
                formBuildControl.dataField(fieldId2Ext(fieldId,j));
...
Мы в доработанной версии у себя закомментили этот кусок, ядро стало добавлять значения на грид из связанной таблички.
Во многих случаях это удобнее, но конечно тормознее.
Старый 10.02.2022, 18:26   #8  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
https://alexvoy.blogspot.com/2018/09...thods-for.html
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: Ace of Database (2).
Теги
ax2012, dialog, formreferencecontrol, override

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Lookup and Modified methods for FormReferenceGroup fields in D365 Blog bot DAX Blogs 6 17.09.2018 17:02
dynamicsaxhints: Top modified EDT properties in AX 2012 R3 Blog bot DAX Blogs 0 10.08.2016 23:16
AX2009: Throw error в modified() IKA DAX: Программирование 6 16.05.2013 09:49
sjakalax: The model store has been modified Blog bot DAX Blogs 0 23.01.2012 16:11
Вопрос. как отследить modified на диалоге, который создал динамически? Hans DAX: Программирование 1 30.11.2006 13:57
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:59.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.