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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.10.2011, 11:43   #1  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Почему display/edit методы не поддерживают переход к основной таблице
Почему для отдельных контролов (не связанных с источником данных), но c заданым свойством ExtendedDataType нет функции перехода к основной таблице. Аналогичный вопрос для display и edit методов?
За это сообщение автора поблагодарили: Alexius (2).
Старый 31.10.2011, 13:04   #2  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
По все видимости потому, что display и edit методы - это некие функции для расчета, поэтому и не содержат перехода к таблице, так как сама таблица может не существовать.
__________________
Axapta book for developer
Старый 31.10.2011, 13:19   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А если указать ExtendedDataType на котором будет relation? Что мешает выполнить переход в таком случае?
Старый 31.10.2011, 13:52   #4  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
EDT недоступен для указания в контролах display- и edit-методов, что само по себе логично - сам метод в своем определении несет информацию о EDT возвращаемого значения. Если указывать в этих методах в качестве типа возвращаемого значения EDT того поля, по которому идет расчет возвращаемого значения, то ни к чему хорошему не приведет - кастрируется по размеру результат, да и переход вряд ли работать будет, т.к. есть сильное подозрение, что сия функциональность запрограммирована исключительно для связанных с DS контролами. Если предположить, что цепочка анализа возможности активации этого пункта в контекстном меню выглядит как "контрол -> DS/поле -> таблица/поле в AOT -> EDT поля -> таблица ссылки EDT", то видно, что отвязанный от DS контрол или контрол с display/edit-методом обрубается в цепочке на втором шаге и никакого счастия в виде пункта "Перейти к основной таблице" не будет.

P.S. По поводу отвязанного контрола вопрос и негодование разделяю - логически и технически каких-то препятствий не видится для реализации перехода к таблице.
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 31.10.2011 в 14:04. Причина: P.S. дописал
Старый 31.10.2011, 14:00   #5  
imir is offline
imir
Участник
 
159 / 161 (6) ++++++
Регистрация: 28.05.2010
В объявлении метода явно стоит тип возвращаемого значения, так что логичного объяснения, кроме как - "бикоз" тут нет.
А есть у кого-нибудь возможность на 2012-й проверить?
Старый 31.10.2011, 14:11   #6  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Присоединяюсь с негодованием и непониманием отсутствия такой возможности.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 31.10.2011, 15:32   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
есть сильное подозрение, что сия функциональность запрограммирована исключительно для связанных с DS контролами
Как-то так... Но табличные display методы и display методы уровня источника данных также остались обделены данной функцилнальностью
Старый 31.10.2011, 16:11   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Ведь форма для перехода к основной таблице указывается на таблице, с которой связан EDT.
В АХ 2012 это работает. В смысле, если создать EDT, связать его с таблицей, и на таблице указан FormRef, переход к основной таблице будет.
Для дисплей методов, имхо, это некорректно
Старый 31.10.2011, 16:16   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Ведь форма для перехода к основной таблице указывается на таблице, с которой связан EDT.
В АХ 2012 это работает. В смысле, если создать EDT, связать его с таблицей, и на таблице указан FormRef, переход к основной таблице будет.
Хорошо, значит уже поправили.

Цитата:
Сообщение от kashperuk Посмотреть сообщение
Для дисплей методов, имхо, это некорректно
Почему?
Старый 31.10.2011, 16:36   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Потому-что данные, показываемые в этом поле, скорее всего не относятся к той таблице, к которой будет осуществлятся переход.
Я могу понять несколько примеров, когда это можно было бы использовать, но делать это поведением по-умолчанию... хмм, не знаю, неправильно как-то.
Старый 31.10.2011, 16:37   #11  
Krasher is offline
Krasher
Участник
Аватар для Krasher
 
48 / 37 (2) +++
Регистрация: 14.05.2005
Может быть потому, что по большому счёту в дисплей методе можно выводить, к примеру, фразу: "Тут был Вася". Никак не привязанную ни к каким полям никаких таблиц? Либо часть из части поля одной таблицы, часть из другой части другого поля другой таблицы... Надеюсь я не очень путано...
Старый 31.10.2011, 16:46   #12  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Krasher Посмотреть сообщение
Может быть потому, что по большому счёту в дисплей методе можно выводить, к примеру, фразу: "Тут был Вася
Тогда щачем его относить к типу, у которого есть Relation? А вообщ в 2012 relation из EDT переносятся на таблицы и имхо улучшений в этой части ожидать не стоит.
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 31.10.2011, 16:47   #13  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Потому-что данные, показываемые в этом поле, скорее всего не относятся к той таблице, к которой будет осуществлятся переход.
Цитата:
Сообщение от Krasher Посмотреть сообщение
Может быть потому, что по большому счёту в дисплей методе можно выводить, к примеру, фразу: "Тут был Вася". Никак не привязанную ни к каким полям никаких таблиц? Либо часть из части поля одной таблицы, часть из другой части другого поля другой таблицы... Надеюсь я не очень путано...
Но у таких значений, и расширенный тип должен быть соответствующим (без relation). Разве не так?
Старый 31.10.2011, 16:50   #14  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
У display-методов, как и у edit-методов есть описание какой тип этот метод возвращает, что-то наподобе
X++:
display ItemName itemName()
{
     .........
}
Сбегать и посмотреть есть ли такой EDT ItemName и есть ли у него связь на таблицу,технической и логической проблемы не вижу. Если есть - отображать переход к основной таблице, нет значит нет.Не корректности не вижу тоже. Зато удобно пользователям.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 31.10.2011, 17:15   #15  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
А куда, в общем случае, должен быть осуществлен переход? В edit или display методе может быть жутко замороченный алгоритм. Как система должна разобраться что там е этом методе происходит?
Пусть EDT на методе будет AmountMST, в методе производится расчет средней стоимости отгрузок клиенту с условием, что клиент оплачивает на 10% быстрее, чем предоставленная ему отсрочка платежа. Куда переходить ?
Старый 31.10.2011, 17:41   #16  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
для AmountMST очевидно никуда, для этого типа нет формы.
А например если возвращается клиент переходить в форму клиентов
Старый 31.10.2011, 18:21   #17  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Если нужно показать клиента, то можно и таблицу приджойнить, в которой это поле указано. При этом из таблицы унаследуется вся настройка прав доступа. Не стоит забывать о том, что на display-метод настроить доступ не так-то просто
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 31.10.2011, 19:04   #18  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
А куда, в общем случае, должен быть осуществлен переход? В edit или display методе может быть жутко замороченный алгоритм. Как система должна разобраться что там е этом методе происходит?
А она и не должна. Это решит программист, указав у метода нужный ему тип возвращаемого значения. К слову в случае edit-метода именно таким способом происходит назначение на контрол нужной lookup формы.
Старый 31.10.2011, 19:38   #19  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Если нужно показать клиента, то можно и таблицу приджойнить, в которой это поле указано.
А если нужно отображать клиента в зависимости от каких-либо условий, которые не подходят под логику Inner Join, Exist Join и т.д. Например, есть форма, которая отображает список номенклатур проданных клиентам за период. В ней рядом с номенклатурой я хочу видеть клиента, которому продал эту номенклатуру по самой дорогой цене за этот период.
В основном эти методы для этого и пишутся.
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
При этом из таблицы унаследуется вся настройка прав доступа. Не стоит забывать о том, что на display-метод настроить доступ не так-то просто
С правами в АХ2009 гайки закручены мама не горюй. Мало того, что теперь проверяются лукапы, дак еще и при желании в коде можно закрыть доступ через соответствующее свойство таблицы. Не думаю, что в этом случае это сложнее.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 31.10.2011 в 20:06.
Старый 01.11.2011, 00:30   #20  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Одним словом, feedback taken - я обсужу, создам баг, а как будут новости, расскажу
За это сообщение автора поблагодарили: macklakov (2), sukhanchik (5), lev (2), S.Kuskov (3), imir (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не работает переход к основной таблице. samolalex DAX: Программирование 3 14.02.2011 16:13
Накладной расход, переход к основной таблице ZVV DAX: Программирование 0 03.03.2010 16:55
Переход на правильную запись при Переходе к основной таблице. - 2 Anais DAX: Программирование 2 01.11.2004 17:14
Переход на правильную запись при Переходе к основной таблице. Anais DAX: Программирование 11 29.06.2004 19:16
edit и display методы Maxim Gorbunov DAX: База знаний и проекты 4 15.01.2002 12:58

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:07.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.