|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
Пытаюсь уйти от существующей жесткой иерархии справочника объектов учета (клиенты, поставщики, отделы, сотрудники, машины, основные средства, etc.) организованной на схеме с жестким числом подчинений. В плане схема с таблицей связей, позволяющая создавать неопределенное количество не только связей, но и их видов/слоев. Проблема в следующем: Необходимо учитывать изменения некоторых реквизитов объектов (например форму собственности, фамилию или номер паспорта (ключи, конечно, везде суррогатные)). Т.е. отчеты за прошлые периоды должны показывать те реквизиты, которые действовавшие на тот момент. Вместе с тем, необходимо вместе с этими реквизитами учитывать и связи объекта в тот момент. Т.е. если я беру отчет по объектам входящим в отдел "Розница", я их вижу в прошлых периодах, даже если они в дальнейшем были перемещены в другие отделы. Так вот, что-то у меня с таблицами не вытанцовывается :( Может не с той стороны подхожу? Посоветуйте в какую сторону грести, может похожее решение у кого есть и не жалко :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2003, 13:47 |
|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
Есть такая структура БД и инструменты, и не жалко. Yaffil/Delphi ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2003, 14:01 |
|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
У нас подобная проблема была при проекторовании справочника организаций (контрагентов если нравится). так вот, решили делать так: набор сущностей организации - по потребностям. Связанные с организацией 2 таблицы: расчетные счета, аналитики (какие-то признаки отношений приедприятия: район, источник финансирования и пр.), Все сущности с течением времени могут изменяться. Сделали так, если с момента последнего изменения на данное предприятие были выписаны документы (т.е. образовались зависимые связи), создается копия, куда и вносится сделанные изменения. У старого предприятия устанавливается дата закрытия периода действия, сквозной код заносится в новое. Сквозной код необходим для дальнейшей отчетности по данному предприятию. Ведь то, что он сменил форму собственности или адрес не снимает с него долгов ;) Вроде так. Может что непонятно - объясню. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2003, 14:48 |
|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
В общем-то я подразумевал подобную систему, с созданием копии sub-объекта, но с уже новыми реквизитами и дальнейшие ссылки уже на него. У меня получилась схемка, типа (упрощенно): Objects: ObjectId Name ObjRec: ObjRecId ObjectId FullName DatBegin DatEnd Actions: ActionId ObjRecFrom ObjRecTo SumMoney Соответственно при изменении FullName, в таблице ObjRec создается копия, новый sub-объект (извиняюсь за такую терминологию) с новым полным наименованием и ссылки в таблице Actions уже идут на нее. Даты действия в ObjRec необходимы при необходимости выписать документ задним числом, так бы хватило и одного boolean, означающего что sub-объект содержит не последнюю версию данных. Все очень красиво и, казалось бы, просто. НО! Необходимо хранить и связи между объектами в ретроспективе. Тоже, вроде как, несложно. Создал табличку вида ObjectRelations: ObjectId_Up ObjectId_Dwn TypeRelation DatBegin DatEnd и ворочай там чего хочешь. Однако, если с первой связкой, благодаря созданию новой записи при изменении реквизита, при построении отчетов и выписке новых документов я вообще могу не рассматривать поля дат, то здесь без них вообще чихнуть не могу. Сплошные вычисления. Кошмар. ПАмАгите!!! ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2003, 15:45 |
|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
Может народу не очень понятно, почему я так бьюсь за эффективность обработок. Есть один маленький ньюанс - реализовывать я это вынужден в M$Access, по крайней мере пока. Соответственно, файл-сервер, никаких тебе ХП и ВСЕ считается на клиенте. Поневоле начнешь искать наиболее эффективную реализацию. Что-то мне не верится, что я придумал самый лучший вариант. грустно так: Помоогиитее!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2003, 11:13 |
|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
Есть такая структура БД и инструменты, и не жалко. Yaffil/Delphi А что в поставку Yaffil/Delphi входит куча примеров построения схем БД для решения подобных задач? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2003, 11:41 |
|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
Нет, не входит, сами писали, успешно работает ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2003, 14:52 |
|
Структура справочника КонтрАгентов ;)
|
|||
---|---|---|---|
#18+
to Могун: Если не жалко, поделись на посмотреть мыл - ikogovuk()krd.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2003, 16:11 |
|
|
start [/forum/topic.php?fid=32&fpage=176&tid=1546757]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 179ms |
0 / 0 |