|
15.09.2021, 09:04 | #1 |
Участник
|
Перекрытие modified у FormReferenceControl в диалоге
А как в Ax2012 перекрыть у FormReferenceControl в диалоге метод modified - с учетом того, что у него метода modifed нет. Какой аналог?
Есть диалог, есть поле - ссылка по recid. Нужно при изменении поля менять что-то на диалоге. Выглядит это вот так: Или это не reference control, а какой-нибудь reference group ? А с ним как работать, если есть dialogField ? |
|
15.09.2021, 09:51 | #2 |
Участник
|
Перекрестные ссылки показывают, например в классе 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 |
Участник
|
Оно, спасибо.
А по перекрестным ссылкам на что вы это нашли? Я пока только догадался запустить полный поиск по АОТу по значению "methodStr(FormReferenceControl" |
|
15.09.2021, 11:25 | #4 |
Участник
|
Раздел System Documentation\Classes\FormReferenceGroupControl\modified, а дальше уже как обычно можно посмотреть перекрестные ссылки.
И да, здесь FormReferenceGroupControl, а вы искали methodStr(FormReferenceControl, узла System Documentation\Classes\FormReferenceControl\modified нет, поэтому видимо и не нашли.
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: Pandasama (2). |
15.09.2021, 14:16 | #5 |
Участник
|
Тут нет каких-то озарений или глубоких знаний. Я немного смошеничал - вспомнил, что у нас sukhanchik такое делал, осталось найти место и понять что нужно перекрывать именно FormReferenceGroupControl. Ну а дальше, как описал SRF посмотреть из System documentation, чтобы привести не наш пример, а что-то из стандарта.
|
|
|
За это сообщение автора поблагодарили: sukhanchik (3). |
15.09.2021, 11:39 | #6 |
Участник
|
Да, до поиска по группе я не дошел.
Ну и поискать по перекрестным ссылка из System documentation я тоже не допер, мда. Спасибо всем ответившим |
|
15.09.2021, 18:12 | #7 |
Участник
|
Кстати, интересное наблюдение.
В обозревателе табличек разработчики 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 |
Участник
|
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: Ace of Database (2). |
Теги |
ax2012, dialog, formreferencecontrol, override |
|
|