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