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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.09.2017, 10:34   #1  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
650 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Есть некоторые отличия между ComboBox и Lookup. В первом случае у вас будет выпадающий список из статических значений, определённых в перечислимом типе Base Enum (даже если это EDT, он может наследоваться от Base Enum). В другом случае значения берутся из связанной таблицы. Обычно на типе создают отношение, но, начиная с 2012 аксапты, от этого отходят и делают отношения прямо на таблице.
Цитата:
Сообщение от vizir Посмотреть сообщение
Вопрос 1: где задается количество полей, которые будут выводиться в комбо боксе? Я пробовал перенастраивать отношение на другие поля, но пара одно лишнее поле стабильно все равно выводится в результате.
В таблице Table1 найдите узел Field Groups > AutoLookup. Накидайте туда столько полей, сколько необходимо. Все они появятся в выпадающем lookup-списке.
Цитата:
Сообщение от vizir Посмотреть сообщение
Вопрос 2: каким чудом axapta понимает что нужно создать именно ComboBox или TextField по EDT? Это какое то неписанное правило? И где можно это правило почитать, если оно написано? Как это гуглить?
У EDT иногда нужно смотреть иерархию, чтобы определить, что у какого-то предка есть отношение к какой-нибудь таблице. Либо он наследуется от Base enum. Например, EDT NoYesId наследуется от NoYes.
Цитата:
Сообщение от vizir Посмотреть сообщение
Вопрос 3: я создал обработчик события на этот CobmoBox путем написанного вручную метода с названием типа Fld1_1_modified(). Я не переопределял этот метод, нигде не было никаких намеков что именно так обрабатываются события. Как я должен был догадаться что именно так обрабатывается событие вновь созданного элемента формы?
Каждый контрол имеет свое имя. Если они создаются автоматически, то они называются Fld1_1, Fld1_2 и т.д. Контролу можно дать своё имя, но в старых версиях даже это было невозможно. Поэтому создав метод Fld1_1_modified() можно перекрывать событие modified() данного контрола. Такую возможность сделали именно из-за необходимости перекрывать события для контролов в диалогах, где они создаются автоматически.

P.S. Для начала почитайте про lookup в книге Еременко-Шашкова, начиная со стр. 196, там страничек 5. Даже где-то была ссылка на электронную версию.
__________________
// no comments
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 08.09.2017, 11:04   #2  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Спасибо за ответ, очень помогло
Вот это немного не понял:

Цитата:
Сообщение от dech Посмотреть сообщение
У EDT иногда нужно смотреть иерархию, чтобы определить, что у какого-то предка есть отношение к какой-нибудь таблице. Либо он наследуется от Base enum. Например, EDT NoYesId наследуется от NoYes.
Пусть EDT наследуется от чего угодно, но как это влияет на то, как представится объект типа DialogField на форме? Если EDT ссылается на таблицу, то получится lookup, если просто на строку, то текстовое поле, то есть я не смогу гипотетически сделать текстовое поле, которое заполнится строками из таблицы? Система сама за меня решает как выводить информацию и только так?

Последний раз редактировалось vizir; 08.09.2017 в 11:07.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Inconsistency between quantity in purchase order and quantity in inventory transaction. Blog bot DAX Blogs 0 31.01.2015 23:11
emeadaxsupport: AX for Retail 2012 R2: Working with Custom Fields for Receipts Blog bot DAX Blogs 0 16.02.2013 23:12
Вопросы новичка - взаимодействие2 форм Dona DAX: Программирование 2 12.07.2011 17:30
Navision Axapta 3.0 - Вопросы новичка Igor Beeone DAX: Программирование 2 01.10.2007 10:13
Вопросы от новичка CTAX DAX: Функционал 4 13.08.2002 13:25
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:49.