|
|
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть вот такая таблица (например) с 2 столбцами, название заказа и код подразделения который выписал данный заказ: Заказ Подразделение Утюг 100 Стол 100 Тазик 250 Сами подразделения хранятся с учетом хранения вложенности, т.е. родитель-потомок Код подразделения Название Родитель 01 Управление 00 02 Дирекция 00 100 Бухгалтерия 01 200 Заместители 02 Ну что-то вроде этого. Т.е. подразделения входят одно в другое. И вот такая вот задача: У как сохранить всю историю иерархии? Т.е. я могу сохранить, что 100 в 2006 году это была бухгалтерия. А как хранить, что Бухгалтерия была в управлении? Т.е. есть оргструктура, которая очень часто меняется. Это бог с ним - можно решить. Но как хранить история ее изменения? Т.е. мои записи должны показывать в зависимости от того какая дата - ту иерархию которая была на тот момент времени... Вот такая вот задачка, если конено вразумительно смог объяснить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 14:16 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
вводишь 2 поля - Дата_Начала и Дата_Окончания. Записи в таблице не обновляешь, а добавляешь новые. В них пишешь даты действия. Т.о. получаешь все что нужно на любой момент времени... тока табличка будет потихоньку расти, но, думаю, это не критично для данной ситуации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:08 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
Спасибо! С датами вроде немного понятно. Но тогда получается что в таблице заказов рядом с полем где содержится код, необходимо будет указывать дату? Ну и соответсвенно все выборки делать с учетом даты? Хлопотно конечно получится учитывая что это дело хранится не только в базе заказов. Но похоже это единственный вариант. Или может еще есть какие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 14:28 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
а ты определись, что ты автоматизируешь? - если бухгалтерию, то Утюг идёт не на подразделение, а на материально ответственное лицо. - если историю развития организации, то причём тут Утюг? ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 15:45 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
Пользуйте view-хи! Пускай туда попадают только актуальные записи. Выбирать проще будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 19:45 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
View - это понятно, только еще до этого не дошел. Еще базу то не спроектировал! Автоматизировать планируется - работа с договорами. Ну и там соответсвенно разные графы типа "подписал". Например подписал Иванов, он был в 2005 году директором, а в 2006 его перевели в сторожи. И в оргструктуре он в сторожах. Но когда открываем договор за 2005 год, то должны видеть, что подписывал его директор Иванов, который был в структуре ДИРЕКЦИЯ ПРЕДПРИЯТИЯ. Ну вот примерно для этого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 12:11 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
История документов - вещь несколько особая. Кем был Иванов на дату подписания договора ? - чистая история. Какая должность была указана в договоре в момент подписания? - характеристика собственно договора. В какой-то момент она может разойтись с историей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 12:47 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
авторАвтоматизировать планируется - работа с договорами. Например подписал Иванов, он был в 2005 году директором, а в 2006 его перевели в сторожи. Но когда открываем договор за 2005 год, то должны видеть, что подписывал его директор Иванов, который был в структуре ДИРЕКЦИЯ ПРЕДПРИЯТИЯ. вы уверены, что это не ваша инициатива, а заказчика БД? Т.к. закон обратной силы не имеет (если директор стал дворником, то документ - договор всё равно в силе). ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:03 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
Если бы моя инициатива - парился бы я !? В том то и дело, что хотят знать где и кем работал данный сотрудник на тот момент времени. Т.е. ФИО, должность, иерархия подразделений, т.к. например бухгалтеры могут быть в разных службах, а функции разные. Понятное дело что можно поднять историю через ОК, но хотят видеть в программе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 17:12 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
as111Если бы моя инициатива - парился бы я !? В том то и дело, что хотят знать где и кем работал данный сотрудник на тот момент времени. ======= на тот или на этот? Или на тот а в скобках на этот?Т.е. ФИО, должность, иерархия подразделений, т.к. например бухгалтеры могут быть в разных службах, а функции разные. Понятное дело что можно поднять историю через ОК, но хотят видеть в программе... есть договор, у него есть поля. Для: авторВ том то и дело, что хотят знать где и кем работал данный сотрудник на тот момент времени. в запись о договоре достаточно продублировать в копии Должность id Название ФИО_Визировавшего ДолжностьНаМоментПодписи112 ДоговорНаРаботы Иванов_Иван_Иванович Заместитель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 17:41 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
Да... задача... Я бы написал сохраненку, возвращающую курсор. Параметром передавал время, а клиентское приложение привязал бы к сохраненке. Вообще методов много, как лучше сделать - известно наверно только вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 18:12 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
я для хранения истории реализовал "псевдо-транзакционность". есть основные таблицы: 1. Класс 2. Экземпляр класса 3. Состояние экземпляра класса 4. Действие, приведшее к изменению состояния экземпляра класса 5-n. Таблицы с реальными данными, которые привязаны к таблице 3 так можно хранить всё, что угодно, и видеть всю историю изменений. но! связи между экземплярами классов получаются нереляционными, а это усложняет работу с БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 17:29 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
Есть ещё подход. Храним действующих лиц - подразделение, сотрудник, должность и т.д. Это статические объекты. Однажды появившись в системе они остаются в ней навсегда в неизменном виде. И храним факты: в такой то момент сотрудник занимал должность в подразделении. Абстрактный факт может быть связан с внешним событием, например с назначением сотрудника на должность, подписанием договора и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 19:47 |
|
||
|
Сохранение истории иерархии
|
|||
|---|---|---|---|
|
#18+
Стандартная работа периодических полей в 1С. Все просто. Имеем сущности: 1. Сотрудник 2. Должность 3. Подразделение - не иерархическое, просто список всех подразделений 4. Документ, в котором естественно должна быть дата подписания иначе что за документ без даты :-) Имеем таблицы: Должность сотрудника ИдСотрудник ИдДолжность Дата Иерархия подразделений ИдПодразделения ИдРодителя запрос на выбор должности сотрудника, на нужную нам дату (которую можно и из документа взять) Код: plaintext 1. 2. 3. 4. 5. с иерархией тоже самое. думаю разберетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 22:07 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33756091&tid=1545202]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
182ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 520ms |

| 0 / 0 |
