Re: Отобразить в GUI разные аспекты сущности
От: sereginseregin Россия http://daremanager.sourceforge.net/ru/
Дата: 06.04.10 09:16
Оценка:
Здравствуйте, stomsky, Вы писали:

S>1. На одной форме набросать кучу контролов на все случаи жизни (для удобства сгруппировать из по закладкам или GroupBox'ам) и отображать те или иные в зависимости от типа данного конкретного контрагента.

S>2. Завести некую почти иерархическую сеть справочников: справочник контрагентов (корневой, содержащий только Наименование и Краткое_Наименование), справочник физ.лиц (допустим с Датой_рождения, Адресами, Телефонами и пр....), справочник налогоплательщиков (ИНН, привязка к налоговому органу), ну и все в таком духе... Во всех справочниках, кроме корневого, выбирать контрагента ТОЛЬКО из справочника контрагентов.

Я бы сделал так:
1. На уровне СУБД выделил сущность Контрагенты (Ид, Шифр, Краткое наименование, Полое наименование, Описание, Тип контрагента). Ид-сквозной идентификатор для всех контрагентов, Шифр — некий удобный код для поиска (ИНН, БИК, ОГРН), Описание — Перечисление всех реквизитов контрагента через запятую.
Три варианта реализации:
a) Много таблиц (каждому контрагенту своя), объединенных во VIEW через UNION
б) Много таблиц, объединенных родителем (Если СУБД поддерживает наследование). Шифр, Краткое наименование, Полое наименование, Описание, Тип контрагента заполняются по триггеру
в) Одна таблица с дополнительным XML полем, каждому контрагенту своя XML схема (Если СУБД поддерживает XML). Шифр, Краткое наименование, Полое наименование, Описание, Тип контрагента заполняются по триггеру

2. На уровне GUI для каждого типа контрагента своя форма редактирования (добавления)

3. На уровне GUI для писка и выбора контрагента из списка достаточно одной универсальной формы по сущности Контрагенты
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.