09.01.2014, 16:26 | #1 |
Участник
|
Существуют ли шаблонные пути реализации таких требований?
Достаточно стандартная задача, но интересно, как можно ее эллегантно решить:
К клиенту может быть привязан набор характеристик (варианты доставки или ких-нить ответственных лиц - все, что угодно), каждая из которых ссылается на один и тот же справочник. Заказчик уверяет, что в нашем случае этих конкретных характеристик может быть для клиента указано не более 6. При создании заказа по умолчанию он наследует эти же 6 характеристик от клиента, но можно указать другие или удалить некоторые и тд. При решении задачи топорно, можно создать справочник характеристик 1) а потом в таблицу клиентов добавить 6 полей и в заказы тоже 6 полей, кот по умолчанию будут заполняться данными из клиента. Жизнь прекрасна .. Но..., ест-но, это вариант хоть оч простой для реализации, но не гибкий : закладываемся на 6 и, вообще, с архитектурной тз "некрасивый" , пухнут таблицы кими-то уродышами вроде Поле1 Поле2 Поле3 и тд 2) создать таблицу, кот связывает характеристику и заказ/клиента (приблизит как tableGroupAll). Рабочий вариант, но с тз интерфейса не понимаю, как сделать его таким же удобным для пользователя, как и предыдущий. Например, как по умолчанию показывать пользователю харктеристики с клиента, но дать возможность их менять - вижу, что придется либо кнопку "копировать из клиента" добавлять,либо доп закладку, либо(скорей всего, даже) кую-нить врем таблицу программисту создавать и заполнять ее данными и если пользователь по ОК закроет форм. то записывать данные в норм таблицу. Но все это - куча неочевидностей и телодвижений для решения простой задачи, поэтому по сравнению с вариантом 1 мы получаем более гибкое решение,но интерфейстно и с тз программирования - неудобный. Неочевидно, что овчинка выделки стоит....Особенно меня интефейсный момент беспокоит, тк если его не продумать, то смысл всех усилий вообще теряется 3) можно при создании набора характеристик для клиента этому набору свой идентификатор присваивать и его копировать в создаваемый заказ. Если переопределяется набор на уровне заказа, то ему присваивается новый идентификатор. Но тут опять таки же те же вопросы, как и с 2) - как сделать удобным интерфейс и не городить кучу кода. Вообщем, по идее - задача же логически простая: по умолчанию унаследвать свойства, но дать возможность переопределнить на уровне потомка. Под разными соусами уже ни раз встречалась на проектах, но почему-то до сих пор не встречала кого-нить шаблона для ее решения. Поделитесь опытом. Буду благодарна сслыкам на примеры реализации. AX2012 R2 Последний раз редактировалось IKA; 09.01.2014 в 16:31. |
|