Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / копии -версии документов / 24 сообщений из 24, страница 1 из 1
04.02.2017, 11:39
    #39398556
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
Здравствуйте.

Решил озадачиться вышеозвученной темой.

все вроде более менее понятно. хотя не до конца )
но.
допустим есть цепочка из 4 документов. один на основании другого.

вносим изменение в первый в цепочке. делаем копию всего документа. ставим признак актуальности копии.
Вроде все ок. изменили в копии например сумму документа. но ведь у него по цепочке идут зависимые. и сумма будет старая.
Только если предупредить пользователя, чтобы он обратил внимание на дочерние документы?

Спасибю
...
Рейтинг: 0 / 0
04.02.2017, 13:02
    #39398573
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergqно ведь у него по цепочке идут зависимые. и сумма будет старая.

Нет, цепочка идёт для старого документа. У нового этой цепочки нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.02.2017, 13:12
    #39398577
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergq,

я не очень понял, как ты представляешь себе процесс изменения документа, на основании которого уже что-то сделано. Вот я пишу приказ о командировке Иванова в Тюмень. На основании этого приказа ему покупают билеты, пишут расходник о выдаче командировочных итп. Иванов садится в самолёт, улетает, и тут я беру и меняю в приказе Иванова на Петрова. Так что ли?
...
Рейтинг: 0 / 0
04.02.2017, 13:55
    #39398589
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergq,
Такие действия ни в коем случае нельзя разрешать пользователю.
При острой необходимости, подобные манипуляции может делать только самый-самый главный администратор БД.
Который, естественно, должен править всю цепочку документов.
И обязательно сообщать об этом всем заинтересованным лицам (пользователям).
Ну и, естественно, такие действия должны протоколироваться, чтобы всегда можно было определить кто и когда "наслесарил"...
...
Рейтинг: 0 / 0
04.02.2017, 15:09
    #39398618
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
d7isergq,
Такие действия ни в коем случае нельзя разрешать пользователю.
При острой необходимости, подобные манипуляции может делать только самый-самый главный администратор БД.
Который, естественно, должен править всю цепочку документов.
И обязательно сообщать об этом всем заинтересованным лицам (пользователям).
Ну и, естественно, такие действия должны протоколироваться, чтобы всегда можно было определить кто и когда "наслесарил"...

просто я читал описание одной из госсистем. и там черным по белому было написано - если вы вносите изменения в документ, то на сервере создается его копия. и с этой копией пользователь уже работает. и после подтверждения она сохраняется в системе.
те таким образом построена версионность документов.

это если говорить о документе скажем так первого уровня в цепочке. однако на момент внесения изменений в документ первого уровня в системе уже могут существовать дочерние документы. привязанные к строкам тела первого документа.

те получается что. есть в системе основной документ в версии 1. дочерний привязан к строке тела основного документа в версии 1.
создаем версию 2 основного документа. и в ней будет и версия строки, к который привязан дочерний документ. но дочерний документ будет привязан к версии 1 строки основного документа.
Ну да. тогда либо в версии 2 основного документа запрещать редактировать строки, у которых есть дочерние документы в версиях ниже текущей. либо оповещать пользователя, чтобы он проверил все дочерние документы
...
Рейтинг: 0 / 0
06.02.2017, 12:53
    #39399188
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergq,

Если у документа в процессе жизни появляются версии, то никогда не нужно, и не имеет смысла, вносить правки в первичный документ. На то версии, чтобы править в них.

Например, клиент заключил контракт с поставщиком на поставку продуктов, на год вперед. В исходной версии там было тысяча разных товаров по определенным ценам, и, в частности, позиция "Кока-кола, 10 бутылок (по 1л) в день, по 100 руб. за бутылку".

Прошел 31 день, поставили 310 бутылок, и вот беда - Кока-кола подорожала. Поставщик обосновал по всем статьям, что дальше может поставлять только по 150 руб. Добрый клиент согласился.

Составляется доп.соглашение к контракту (ну или новая версия, как угодно), что Кока-кола поставляется: 310 бутылок по 100 руб (уже выполненные поставки), и оставшиеся 3340 бутылок по 150 руб.

Вот получили две версии документа: первую (исходную) и вторую (текущую).

И теперь, если захотим еще что-то менять, например дальше повышать цену на этот или иной продукт - то первая и вторая версии остаются неприкосновенной, а составляется третья версия на основе второй. И никаких каскадных модификаций сквозь дерево версий не надо.
...
Рейтинг: 0 / 0
06.02.2017, 22:29
    #39399683
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergqдопустим есть цепочка из 4 документов. один на основании другого.

Допустим тут не катит, приведите конкретный пример (может тогда и сами поймете), в противном случае - разговор ни о чем...
...
Рейтинг: 0 / 0
09.02.2017, 22:42
    #39401932
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
Dimitry Sibiryakovsergqно ведь у него по цепочке идут зависимые. и сумма будет старая.

Нет, цепочка идёт для старого документа. У нового этой цепочки нет.


тогда возникает вопрос.
как в новой версии документа узнать есть ли у какой строки тела документа дочерние документа
приходит пока в голову только одно.
в родительском документе сделать поле ссылки на дочерний. и при копировании копировать и его.
только тогда получается, что и у родительского будет ссылка на дочерний. и у дочернего на родительский. вроде как закольцовано )
...
Рейтинг: 0 / 0
09.02.2017, 23:01
    #39401938
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergqкак в новой версии документа узнать есть ли у какой строки тела документа дочерние документа

Так же как и в старой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.02.2017, 04:54
    #39402871
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergq,

Либо копируй весь документ со всеми связями при создании новой версии, либо отдели документ от его характеристик, пусть они хранятся отдельно, как версия. Сложнее со связями, их придётся организовывать через промежуточную таблицу и любые 1:М на документ делать М:М, уже не на документ, а на версию. Если связи сохраняются, значит при создании новой версии, создаются копии М:М на новую версию.

В общем, достаточно тривиальная задача, но множество не тривиальных решений, надо как следует всё продумывать с точки зрения бизнеса, а не хранения в таблицах.
...
Рейтинг: 0 / 0
12.02.2017, 21:09
    #39403070
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
Dimitry Sibiryakovsergqкак в новой версии документа узнать есть ли у какой строки тела документа дочерние документа

Так же как и в старой.


по всей видимости туплю )

версия родительского документа десятая.
дочерний документ создавался, когда версия родительского была третья.

соответственно ссылка у дочернего документа на строку родительского документа в версии три.

делаем выборку родительского документа в версии 10. и соответственно через join дочерних документов у нас не подгребается дочерний документ. тк ссылку у него не версию 3
...
Рейтинг: 0 / 0
12.02.2017, 21:12
    #39403071
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
Dimitry Sibiryakovsergqкак в новой версии документа узнать есть ли у какой строки тела документа дочерние документа

Так же как и в старой.


только если при создании версии во всех дочерних документах менять ФК на строки в новой версии
...
Рейтинг: 0 / 0
12.02.2017, 21:26
    #39403074
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergqделаем выборку родительского документа в версии 10. и соответственно через join дочерних
документов у нас не подгребается дочерний документ. тк ссылку у него не версию 3

И это правильно, поскольку у 10-й версии родительского документа нет никаких дочерних.
Хочешь чтобы были - создавай новые версии дочерних документов для новой версии родительского.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.02.2017, 23:32
    #39403132
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergqверсия родительского документа десятая.
дочерний документ создавался, когда версия родительского была третья.

здается мне, что если б таки вы привели пример своих документов, то было б весело...
Версия1: РД - Пациенту (ошиблись) поставили диагноз воспаление легких -> ДД : назначили пеницилин...
Версия2: РД - Пациенту поставили (правильный) диагноз дизентерия -> ДД : назначили канамицин...
имхо, возможно ТЗ вами интерпретировано не правильно...
...
Рейтинг: 0 / 0
13.02.2017, 11:18
    #39403303
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergqDimitry Sibiryakovпропущено...

Так же как и в старой.


по всей видимости туплю )

версия родительского документа десятая.
дочерний документ создавался, когда версия родительского была третья.

соответственно ссылка у дочернего документа на строку родительского документа в версии три.

делаем выборку родительского документа в версии 10. и соответственно через join дочерних документов у нас не подгребается дочерний документ. тк ссылку у него не версию 3

Ничего не понимаю.

У вас процесс внесения правок, и рождения дочерних документов - он хоть линейный? Есть в каждый момент единственная последняя актуальная версия?

Возникает впечатление, что у вас от одного документа вырастает целое дерево альтернативных мнений, и каждое по-своему правильно :-)
...
Рейтинг: 0 / 0
14.02.2017, 01:42
    #39403849
Seloa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergqЗдравствуйте.

.... ставим признак актуальности копии.
.....

Спасибю

Если не хотите окончательно запутаться сразу вводите признак неактуальности документа.
...
Рейтинг: 0 / 0
14.02.2017, 10:55
    #39403948
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
sergq,
да вообще нельзя менять документы, Если по ним что-то уже создано.
...
Рейтинг: 0 / 0
15.02.2017, 13:36
    #39404874
Seloa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
MasterZiv,

это сплошь и рядом в жизни происходит...
...
Рейтинг: 0 / 0
15.02.2017, 16:52
    #39405126
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
Seloaэто сплошь и рядом в жизни происходит...

спор будет бесконечным пока не представлен конкретный пример от ТС, ну или хотя бы от вас...
...
Рейтинг: 0 / 0
17.02.2017, 04:44
    #39406251
Seloa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
vmag,

Гарант весь из них состоит.
Был такой случай - Минобрнауки сначала издал предписание на устранение несоответствий с приказом, а потом сам приказ отменил.
...
Рейтинг: 0 / 0
17.02.2017, 09:11
    #39406300
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
SeloaГарант весь из них состоит.
Был такой случай - Минобрнауки сначала издал предписание на устранение несоответствий с приказом, а потом сам приказ отменил.

немножко не то... тут просто констатация во времени как должно быть на сей момент, без учета реакций и действий на это во времени кого либо (диод в одну сторону)... у ТС есть какие-то действия, суммы фигурируют в промежутках, которые плывут...
...
Рейтинг: 0 / 0
17.02.2017, 11:24
    #39406404
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
SeloaБыл такой случай - Минобрнауки сначала издал предписание на устранение несоответствий с приказом, а потом сам приказ отменил.

Никаких коллизий не вижу. В иерархических структурах всегда следует исполнять последний полученный приказ, даже если он противоречит всем предыдущим.
...
Рейтинг: 0 / 0
18.02.2017, 01:22
    #39407001
Seloa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
Cane Cat Fisher,

последним был приказ - устранить несоответствия.
...
Рейтинг: 0 / 0
21.02.2017, 12:29
    #39408427
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
копии -версии документов
SeloaCane Cat Fisher,

последним был приказ - устранить несоответствия.

Нет. Последним был приказ об отмене приказа.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / копии -версии документов / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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