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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.02.2014, 15:22   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
? AX 2012 R2: как лучше ссылаться на договор в своих модификациях?
В локализованной AX 2012 R2 имеется следующее:
  • стандартная таблица AgreementHeader и связанный с ней функционал. Первичный ключ на таблице - суррогатный, альтернативного ключа нет;
  • стандартные таблицы SalesAgreementHeader и PurchAgreementHeader, являющиеся наследниками AgreementHeader. Первичный ключ на них - суррогатный, но на каждой таблице есть еще альтернативный ключ - SalesNumberSequence + SellingLegalEntity и PurchNumberSequence + BuyingLegalEntity, соответственно; иными словами, в стандартном приложении предполагается, что SalesAgreementId/PurchAgreementId уникальны лишь для того или иного контрагента;
  • локализаторская таблица AgreementHeaderExt_RU, не являющаяся наследником AgreementHeader и ссылающаяся на нее по RecId. Первичный ключ - суррогатный, но есть альтернативный ключ - AgreementId. Еще есть производные от нее таблицы SalesAgreementHeaderExt_RU и PurchAgreementHeaderExt_RU, но с точки зрения хранения ссылок на договор их наличие ничего особо не меняет. NB! индекс по ссылке на AgreementHeader.RecId в локализаторской таблице зачем-то сделан неуникальный, хотя по всем признакам кардинальность связи двух таблиц при включенной локализации должна быть 1:1;
  • локализаторские же таблички вроде SalesTable_RU/PurchTable_RU, которые ссылаются на AgreementHeaderExt_RU.RecId;
  • куча локализаторского функционала, которая также использует ссылку на AgreementHeaderExt_RU.RecId;
  • некий общий подход к использованию суррогатных ключей в качестве первичных и, как следствие, ссылок на сущности по суррогатному ключу (RecId);
  • строки журналов ГК, в которых - единственных, кажется - ссылки на договора для счета/кор.счета реализованы локализаторами через строковый AgreementId, а не через суррогатный ключ.
Чего хочется:
  1. использовать в своих модификациях унифицированный подход для ссылок на договоры
  2. использовать в своих модификациях как стандартный, так и локализаторский функционал, работающий с договорами, с минимумом дополнительных телодвижений
  3. нормально пользоваться стандартным функционалом просмотра подробных сведений там, где есть ссылка на договор
  4. нормально пользоваться стандартным функционалом reference group для выбора договоров и отображения дополнительных полей из них на формах, где в источниках данных есть ссылка на договор
  5. обязательно отображать на формах и в отчетах текстовый идентификатор как минимум клиентских договоров
  6. при ручном выборе договора дать возможность пользователям сужать выборку по группам договоров (AgreementClassification)
  7. уметь нормально вводить ссылку на договор в диалогах, т.е. через unbound-контролы
  8. на некоторых формах - фильтровать записи по названию групп договоров (AgreementClassification.Name)
  9. при всем при этом не плодить шибко много join'ов и не утяжелять запросы, а если и плодить join'ы, то опять же максимально за счет стандартных средств и возможностей (reference data sources, navigation methods, etc)
Какой подход к реализации ссылок на договоры в "своих" таблицах , по-вашему, лучше выбрать с учетом описанных хотелок и имеющихся в стандарте особенностей реализации? AgreementHeaderExtRecId_RU вроде всем хорош, но не вполне удовлетворяет требованиям 3, 4, 8, 9. AgreementHeaderRecId более симпатичен, но не вполне удовлетворяет требованиям 2, 5 (если неизвестно, клиентский у нас договор или поставщический), 7. Как вы дорабатываете (если дорабатываете) стандартную схему данных договоров с учетом локализации? Возможно, в хотелках не указано явно что-то важное с учетом особенностей реализации договоров в стандартном приложении, если так, то что именно?
За это сообщение автора поблагодарили: Logger (3), S.Kuskov (10), Yrich (1).
Теги
ax2012r2, ax2012r3, договор, как правильно, локализация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Sustained Engineering: Announcing Compatibility Certification: Lync 2013 with AX 2012 R2 and AX 2012 ; BizTalk 2013 with AX 2009 SP1 Blog bot DAX Blogs 0 15.12.2013 02:18
mfp: AX 2012 R2 CU7 has been released! Blog bot DAX Blogs 14 26.11.2013 12:12
Dynamics AX Sustained Engineering: Announcing Compatibility Certification: Lync 2013 with AX 2012 R2 and AX 2012 ; BizTalk 2013 with AX 2009 SP1 Blog bot DAX Blogs 0 17.09.2013 07:13
DAX: Enabling Power View on Multidimensional Models for Microsoft Dynamics AX 2012 R2 Blog bot DAX Blogs 0 27.06.2013 06:16
dynamics-ax: Interview with Microsoft's Lachlan Cash on his new role, AX 2012 and more Blog bot DAX Blogs 6 22.04.2011 14:55
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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