Гость
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура справочника КонтрАгентов ;) / 9 сообщений из 9, страница 1 из 1
13.11.2003, 13:47
    #32322965
Fagrant
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
Пытаюсь уйти от существующей жесткой иерархии справочника объектов учета (клиенты, поставщики, отделы, сотрудники, машины, основные средства, etc.) организованной на схеме с жестким числом подчинений.
В плане схема с таблицей связей, позволяющая создавать неопределенное количество не только связей, но и их видов/слоев.
Проблема в следующем: Необходимо учитывать изменения некоторых реквизитов объектов (например форму собственности, фамилию или номер паспорта (ключи, конечно, везде суррогатные)). Т.е. отчеты за прошлые периоды должны показывать те реквизиты, которые действовавшие на тот момент. Вместе с тем, необходимо вместе с этими реквизитами учитывать и связи объекта в тот момент. Т.е. если я беру отчет по объектам входящим в отдел "Розница", я их вижу в прошлых периодах, даже если они в дальнейшем были перемещены в другие отделы. Так вот, что-то у меня с таблицами не вытанцовывается :( Может не с той стороны подхожу? Посоветуйте в какую сторону грести, может похожее решение у кого есть и не жалко :)
...
Рейтинг: 0 / 0
13.11.2003, 14:01
    #32322998
Могун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
Есть такая структура БД и инструменты, и не жалко. Yaffil/Delphi
...
Рейтинг: 0 / 0
13.11.2003, 14:48
    #32323095
Miktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
У нас подобная проблема была при проекторовании справочника организаций (контрагентов если нравится). так вот, решили делать так: набор сущностей организации - по потребностям. Связанные с организацией 2 таблицы: расчетные счета, аналитики (какие-то признаки отношений приедприятия: район, источник финансирования и пр.), Все сущности с течением времени могут изменяться. Сделали так, если с момента последнего изменения на данное предприятие были выписаны документы (т.е. образовались зависимые связи), создается копия, куда и вносится сделанные изменения. У старого предприятия устанавливается дата закрытия периода действия, сквозной код заносится в новое. Сквозной код необходим для дальнейшей отчетности по данному предприятию. Ведь то, что он сменил форму собственности или адрес не снимает с него долгов ;) Вроде так. Может что непонятно - объясню.
...
Рейтинг: 0 / 0
13.11.2003, 15:45
    #32323228
Fagrant
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
В общем-то я подразумевал подобную систему, с созданием копии 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

и ворочай там чего хочешь. Однако, если с первой связкой, благодаря созданию новой записи при изменении реквизита, при построении отчетов и выписке новых документов я вообще могу не рассматривать поля дат, то здесь без них вообще чихнуть не могу. Сплошные вычисления. Кошмар. ПАмАгите!!! ;)
...
Рейтинг: 0 / 0
14.11.2003, 11:13
    #32324119
Fagrant
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
Может народу не очень понятно, почему я так бьюсь за эффективность обработок. Есть один маленький ньюанс - реализовывать я это вынужден в M$Access, по крайней мере пока. Соответственно, файл-сервер, никаких тебе ХП и ВСЕ считается на клиенте. Поневоле начнешь искать наиболее эффективную реализацию. Что-то мне не верится, что я придумал самый лучший вариант. грустно так: Помоогиитее!!!
...
Рейтинг: 0 / 0
14.11.2003, 11:41
    #32324186
___
___
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
Есть такая структура БД и инструменты, и не жалко. Yaffil/Delphi

А что в поставку Yaffil/Delphi входит куча примеров построения схем БД для решения подобных задач?
...
Рейтинг: 0 / 0
14.11.2003, 14:52
    #32324571
Могун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
Нет, не входит, сами писали, успешно работает
...
Рейтинг: 0 / 0
17.11.2003, 16:11
    #32326460
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
to Могун: Если не жалко, поделись на посмотреть
мыл - ikogovuk()krd.ru
...
Рейтинг: 0 / 0
17.11.2003, 16:32
    #32326509
Могун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура справочника КонтрАгентов ;)
Непременно. Если будут вопросы - пожалуйста.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура справочника КонтрАгентов ;) / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]