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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.09.2021, 09:04   #1  
Pandasama is offline
Pandasama
Участник
 
305 / 78 (3) ++++
Регистрация: 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,013 / 1107 (41) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Перекрестные ссылки показывают, например в классе RetailLabelChangeJournalGeneratorBatch, метод dialog:
X++:
dialogCategoryHierarchyId = dialog.addFieldValue(extendedTypeStr(EcoResCategoryHierarchyId), categoryHierarchyId);
    dialogCategoryHierarchyId.registerOverrideMethod(methodStr(FormReferenceGroupControl, modified), methodStr(RetailLabelChangeJournalGeneratorBatch, categoryHierarchyModified), this);
Оно?
За это сообщение автора поблагодарили: Pandasama (2), Ace of Database (3).
Старый 15.09.2021, 10:12   #3  
Pandasama is offline
Pandasama
Участник
 
305 / 78 (3) ++++
Регистрация: 11.08.2014
Адрес: Барнаул
Оно, спасибо.
А по перекрестным ссылкам на что вы это нашли?
Я пока только догадался запустить полный поиск по АОТу по значению "methodStr(FormReferenceControl"
Старый 15.09.2021, 11:25   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
336 / 475 (16) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Раздел System Documentation\Classes\FormReferenceGroupControl\modified, а дальше уже как обычно можно посмотреть перекрестные ссылки.

И да, здесь FormReferenceGroupControl, а вы искали methodStr(FormReferenceControl, узла System Documentation\Classes\FormReferenceControl\modified нет, поэтому видимо и не нашли.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: Pandasama (2).
Старый 15.09.2021, 14:16   #5  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,013 / 1107 (41) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Pandasama Посмотреть сообщение
А по перекрестным ссылкам на что вы это нашли?
Тут нет каких-то озарений или глубоких знаний. Я немного смошеничал - вспомнил, что у нас sukhanchik такое делал, осталось найти место и понять что нужно перекрывать именно FormReferenceGroupControl. Ну а дальше, как описал SRF посмотреть из System documentation, чтобы привести не наш пример, а что-то из стандарта.
Старый 15.09.2021, 11:39   #6  
Pandasama is offline
Pandasama
Участник
 
305 / 78 (3) ++++
Регистрация: 11.08.2014
Адрес: Барнаул
Да, до поиска по группе я не дошел.
Ну и поискать по перекрестным ссылка из System documentation я тоже не допер, мда.
Спасибо всем ответившим
Старый 15.09.2021, 18:12   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,568 / 2520 (92) +++++++++
Регистрация: 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));
...
Мы в доработанной версии у себя закомментили этот кусок, ядро стало добавлять значения на грид из связанной таблички.
Во многих случаях это удобнее, но конечно тормознее.
Теги
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, время: 08:09.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.