|  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, 11:39 | #5 | 
| Участник | 
			
			Да, до поиска по группе я не дошел. Ну и поискать по перекрестным ссылка из System documentation я тоже не допер, мда. Спасибо всем ответившим | 
|  | 
|  15.09.2021, 14:16 | #6 | 
| Участник | 
			
			Тут нет каких-то озарений или глубоких знаний. Я немного смошеничал - вспомнил, что у нас sukhanchik такое делал, осталось найти место и понять что нужно перекрывать именно FormReferenceGroupControl. Ну а дальше, как описал SRF посмотреть из System documentation, чтобы привести не наш пример, а что-то из стандарта.
		 | 
|  | |
| За это сообщение автора поблагодарили: sukhanchik (3). | |
|  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 | 
|  | 
| 
 |