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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.04.2018, 12:45   #1  
kitty is offline
kitty
Участник
 
367 / 26 (1) +++
Регистрация: 24.05.2005
Штаны превращаются .... или как Fin dimension value без backing entity использовать как справочник.
Дали требование - нужна возможность связывать Item с несколькими значениями из конкретного Fin dimension "Тип работ". Тк связь 1:n. (Один и тот же тип работ не может быть связан с несколькими item) , то очевидным было бы решение - добавить поле ItemId на Тип работ, но ....у этого dimension нет справочника (backing entity) и клиент отказывается его заводить.
Поэтому либо нужно добавлть лишнее поле на DimensionFinancialTag, но это не очень хорошо.... Либо нужно создавать отдельную табличку связей и relation на этот dimension....delete action... , что тоже не фонтан ....

Есть ли альтернативные, может, варианты?

Последний раз редактировалось kitty; 11.04.2018 в 12:52.
Старый 11.04.2018, 12:58   #2  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Почему отказывается? Ну т.е. сделать справочник и привязать аналитику к нему - это правильный подход. Не делать и пилить формы/связи - это совсем какой-то обходной путь - ради чего?
__________________
Ivanhoe as is..
Старый 11.04.2018, 13:07   #3  
kitty is offline
kitty
Участник
 
367 / 26 (1) +++
Регистрация: 24.05.2005
Предложила - отказались. Как я понимаю: не хотят, тк система уже рабочая. То есть, эти значения аналитик уже используются.
А то, что попросили сделать - это доработка, поэтому рисковать не хотят, тк потребуется перебивать данные в новый справочник, привязывать к аналитике.... Я не консультант, поэтому не знаю, обоснованы ли их переживания

Последний раз редактировалось kitty; 11.04.2018 в 13:10.
Старый 11.04.2018, 13:32   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Если все равно программировать, может, оценить сколько займет поменять тип аналитики и джобом обновить связи?
__________________
Ivanhoe as is..
Старый 11.04.2018, 13:44   #5  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от kitty Посмотреть сообщение
Дали требование - нужна возможность связывать Item с несколькими значениями из конкретного Fin dimension "Тип работ". Тк связь 1:n. (Один и тот же тип работ не может быть связан с несколькими item) , то очевидным было бы решение - добавить поле ItemId на Тип работ, но ....у этого dimension нет справочника (backing entity) и клиент отказывается его заводить.
Поэтому либо нужно добавлть лишнее поле на DimensionFinancialTag, но это не очень хорошо.... Либо нужно создавать отдельную табличку связей и relation на этот dimension....delete action... , что тоже не фонтан ....

Есть ли альтернативные, может, варианты?
Самое логичное это таки создать отдельную табличку [ItemId, DimensionFinancialTag RecId]. 1:n. Вообще не вижу проблем так как все предельно стандартно.

DimensionFinancialTag сам себе справочник, зачем его дублировать?
Связь через дополнительную таблицу по RecID более чем стандартный подход.Скучное и быстрое программирование.

Последний раз редактировалось ax_mct; 11.04.2018 в 13:46.
За это сообщение автора поблагодарили: AlGol (2).
Старый 13.04.2018, 07:43   #6  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1630 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Встречал еще вариант добавить поле прямо в аналитику - DimensionAttributeValue
На первый взгляд криво конечно, но зато удобно будет потом выбирать это поле при различных фильтрациях, отчетах. Эта таблица везде есть
Старый 01.05.2018, 15:05   #7  
kitty is offline
kitty
Участник
 
367 / 26 (1) +++
Регистрация: 24.05.2005
Как можно ограничить количество полей, показываемое автоматически в Reference group?
Если в таблицу добавить DimensionFinancialTag.RecId , то на форме в ReferenceGroup автоматически будут подтягиваться три(!) поля из альтернативного ключа CategoryValueIdx. Один из них - category - это recId, что для пользователя вообще никакого смысла не имеет видеть. (Таблица явно не заточена к использованию на формах ..... что настораживает, как тогда предполагается показывать значения, привязанные к конкретному аттрибуту? простая задача же по сути)

Тк на таблице DimensionFinancialTag все группы полей содержат три поля, то я так понимаю, что единственный способ ограничить количество полей, автоматически добавляемых на форму - добавить свою новую Field group, содержащую только Value и эту группу уже указать на форме в refrence group -> replacement Field Group. (на моей форме стоит фильтр по категории, поэтому мне нужна только одна колонка - со значениями конкретного атрибута ).
Можно ли как-то иначе, кроме как с помощью новой круппы полей на таблице, ограничить количество колонок в reference group? Как-то магически эти лишние две колонки на форме удалить вруную , например ......

PS: Какой-то бред, что на таблице DimensionFinancialTag уникальный индекс состояит из трех полей FinancialTagCategory, Value, Description. Хотя по логике, да и по методу findByFinancialTagCategoryAndValue очевидно, что двух полей достаточно
Старый 01.05.2018, 17:53   #8  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Использовать свое собственное EDT или просто RefRecId?
Никто на заставляет использовать свойство альтернативный ключ.
Старый 02.05.2018, 12:10   #9  
kitty is offline
kitty
Участник
 
367 / 26 (1) +++
Регистрация: 24.05.2005
без reference group в refRecID мало толку,
тк весь форнт энд либо будет корявым (пользователь лукапы с recId открывать будет) либо надо самому писать "умные" лукапы, которые возвращают и recId и поле пользователю понятное .

Сделала через новую группу на таблице.

Вообще, эта корявая "нормализация" в печенках уже.
Чтобы привинтить список значений одного из аттрибутов мне потребовалось:
1) добавить фильтр в init формы по DimensionFinancialTag.category
2) переписать лукап, чтобы:
a) выпадающие данные тоже фильтровал по category
b) не показвал recId колонку Category (не должно ли это вообще делаться ядром по умолчанию, раз уж сурргатный ключ на category на DimensionFinancialTag ... )
3) сделать группу полей на таблице, чтобы на форму в reference Group одно поле добавлялось ядром , а не три.

и все это ради того. что по сути можно было бы одним relation на таблице или edt раньше сделать....

Последний раз редактировалось kitty; 02.05.2018 в 12:19.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stoneridgesoftware: Part I: Configuring the Dynamics AX 2012 R3 Entity Store Blog bot DAX Blogs 0 27.04.2017 12:11
jaestevan: Descubre la nueva Dynamics AX 2012 R3 Entity Store Blog bot DAX Blogs 0 23.06.2016 18:11
axsa: Extensibility in Dynamics AX 2012 R3 CU8 (CRT, RetailServer, MPOS) Part 2 – New data entity Blog bot DAX Blogs 0 21.05.2015 01:19
palleagermark: Required check and update when deleting a backing entity for a financial dimension Blog bot DAX Blogs 0 13.11.2014 12:11
Как использовать dimension sets (DAX 4.0) Qaz Qwerty DAX: Функционал 9 19.05.2008 21:08
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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