|
|
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Думаю как правильно реализовать версии записи. Пришло в голову только добавить к коду 2 даты: дата начала действия и дата окончания действия. Ключ сделать по 3-м полям. Дата окончания для того, чтоб можно было выбирать записи по индексу. Какие еще есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 07:59:29 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Ты описал не версии, а периоды. Так вот, периоды можно хранить в отдельной табличке, с номерами "версий". А у записи только одно поле - "версия". Вообще, вариантов можно мульён придумать, зависит от конкретной задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 12:37:31 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
WildSery> Так вот, периоды можно хранить в отдельной табличке, с номерами "версий". Разверни мысль, плиз. Желательно на примере. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 12:48:25 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
WildSeryТы описал не версии, а периоды. Версия действует определенный период времени. Потом она меняется. Я это имел ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 12:58:02 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Нарисовал схему, получается какая-то фигня. Почти не отличается от хранения дат непосредственно в таблице с данными. Может, конечно, в большой куче версий будет экономия небольшая, но что-то сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 15:05:15 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
ПисемистВерсия действует определенный период времени. Потом она меняется. Я это имел ввиду. А гугля ты на предмет "периодических атрибутов" уже спрашивал?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 15:21:41 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА гугля ты на предмет "периодических атрибутов" уже спрашивал?.. Нашел в частности вот это: Версионность и история данных Похоже, мне не самое плохое решение в голову пришло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2014, 19:56:59 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
WildSeryНарисовал схему, получается какая-то фигня.Да фиг с ней со схемой, ты хоть словами объясни. Я почему спрашиваю - есть периодические данные (хранимые всем скопом или в отдельной таблице от справочника - не суть) и есть версионные данные, которые, по сути, являются вырожденным случаем периодических (ибо то же самое, но без дат). Но я ещё не слышал и не видел, чтобы данные были одновременно и версионными, и периодическими, и поэтому и интересуюсь - какое, собсно, прикладное применение этого требует и какие впечатления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 12:50:05 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Да что там объяснять-то, вроде довольно стандартная схема. В справочнике хранится только номер текущей версии, а периоды и собственно версии - в дополнительной "исторической таблице". В документах получается ссылка на версию (не на период), которая на момент заполнения (перезаполнения) берётся текущая из справочника. Собственно, в такой схеме нетривиально получить "справочник на дату", поскольку не заточена именно на периоды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 13:52:07 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
WildSery> В справочнике хранится только номер текущей версии Я еще туда же и само значение агрегирую. Так дешевле. > периоды и собственно версии - в дополнительной "исторической таблице". А нафига нужны одновременно и периоды и версии? Если ты выбираешь значение на дату - это запрос по периоду, не по версии. Если ты выбираешь просто актуальную версию, а старые нужны для истории или для старых документов - то уже даты не нужны. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 14:04:04 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Я непонятно написал, предполагал, что в справочнике хранятся и сами данные (текущая версия). Соединение по версии работает гораздо быстрее, чем по периоду. Сами периоды нужны в редких случаях, когда нужно перезаполнить документ актуальными на дату данными (тут фантазировать не буду, механизм есть, а для каких случаев его применяют, не забивал голову), чаще же при обнаружении в справочнике ошибочных данных. Это как раз узкое место метода - два раза исправил - две версии. Документ успели забить. Если за собой редактирующий справочник не подчистил историю - то потом, по результатам проверок, будут перезаполняться ссылки, которые успели создать на "неправильный элемент". Тут в общем-то тоже всё автоматизировано - обработка поиска таких ссылок при убиении элемента справочника, но вот система, к сожалению, не может сама решить, что предыдущая запись, хотя бы она и вчерашняя (сегодняшние исправления предлагает перезатереть) неправильная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 18:48:41 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамА нафига нужны одновременно и периоды и версии? Если ты выбираешь значение на дату - это запрос по периоду, не по версии. Если ты выбираешь просто актуальную версию, а старые нужны для истории или для старых документов - то уже даты не нужны. Для того чтобы, не взирая на сделанные корректировки, выдать отчеты за прошлые периоды именно с такими цифирьками какие были на момент их выдачи ранее Вот и приходится выбирать значение на дату в "старой версии" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 19:04:14 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
m7m> Для того чтобы Или один из нас не понимает смысла слова "одновременно", или не понимает, что такое периодические реквизиты. > Вот и приходится выбирать значение на дату в "старой версии" Велик и могуч русский язык, да. Я спрашиваю "зачем?" - мне отвечают "приходится ... на дату в старой версии". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 19:22:11 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
WildSeryСоединение по версии работает гораздо быстрее, чем по периоду.Чего это? Если выбирать версии для многих объектов - наверное, но версии нужны обычно для одного объекта. WildSeryчаще же при обнаружении в справочнике ошибочных данных. Это как раз узкое место метода - два раза исправил - две версии.В смысле, две (или больше) версии на один период, одна (или несколько) из которых неправильные? В общем, ладно. Чую, не уразумели мы друг друга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 19:28:46 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамИли один из нас не понимает смысла слова "одновременно", или не понимает, что такое периодические реквизиты. Возможно и так, но однако я сомневаюсь в этом Гаджимурадов Рустам> Вот и приходится выбирать значение на дату в "старой версии" Велик и могуч русский язык, да. Я спрашиваю "зачем?" - мне отвечают "приходится ... на дату в старой версии". угу, только до этой фразы было вот это Для того чтобы, не взирая на сделанные корректировки, выдать отчеты за прошлые периоды именно с такими цифирьками какие были на момент их выдачи ранее Могу и поподробнее, схема упрощенная вот такая 1 февраля закончили ввод и обработку данных за январь Выдали отчеты за январь "закрыли" месяц январь Работают дальше и при этом вводят корректировки периодических реквизитов которые затрагивают январь месяц (ну например с 8 января в квартире проживает не 2 человека а 3) и тут в марте надо выдать отчет за январь и надо его выдать именно с теми цифирьками которые были в том январьском отчете Если это не периодические реквизиты и не их версии , то тогда да я не прав и влез не туда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 19:56:30 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
m7m> и тут в марте надо выдать отчет за январь и надо его выдать m7m> именно с теми цифирьками которые были в том январьском отчете Вот, спасибо большое за конкретику и пример. И за отчёт спасибо - это я как раз немного знать и немного разуметь, много собак на этом скушать. Так вот - насколько я тебя понял, эти реквизиты не периодические, и дата сама по себе никакого значения, в данном случае, не имеет, поскольку вся обработка (и учёт) делается по номеру версии. Т.е. если дату выкинуть - то ничего не изменится, это сугубо информационный реквизит, не более, и даже как фильтр почти нигде не используется. Вот был, условно говоря документ/отчёт - взяли элемент (и его значение) под версией №1. Потом меняете (неважно по какой причине) значение элемента, плодя версию №2. Всё замечательно, первый документ со своей версией, новые - с новой или выбранной вручную. И неочевидный/сложный момент тут я вижу всего один: как выбирается актуальное значение (или версия, что то же самое), если изменения делаются задним числом (исправление ошибок). m7m> Если это не периодические реквизиты и не m7m> их версии , то тогда да я не прав и влез не туда Влез-то туда. Но на вопрос - нафига одновременно периодика и версии - так и не ответил. Нет у тебя хронологии и периодов, у тебя версии. Ну да, если документ/отчёт за январь - отфильтруются записи по датам и дальше всё равно надо будет версию выбирать, а не автоматически, как с периодикой. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 22:22:58 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
> Т.е. если дату выкинуть - то ничего не изменится, > это сугубо информационный реквизит , не более, "атрибут", разумеется. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 22:24:13 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, >>Так вот - насколько я тебя понял, эти реквизиты >>не периодические, и дата сама по себе никакого >>значения, в данном случае, не имеет, поскольку >>вся обработка (и учёт) делается по номеру версии. .... >>Нет у тебя хронологии и периодов, у тебя версии. моя твоя не понимает с 01.01.2014 значение=1 с 08.01.2014 значение=3 с 18.01.2014 значение=1 и что это как не хронология и периоды и через некоторое время (неделю, месяц, день) вдруг всё меняется (уточняю, меняется не в течении некоторого времени, а сразу одним документом) с 01.01.2014 значение=4 с 10.01.2014 значение=2 с 25.01.2014 значение=1 и еще через некоторое время с 01.01.2014 значение=4 с 10.01.2014 значение=3 что это как не версии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 01:57:55 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
m7m> с 01.01.2014 значение=1 > с 08.01.2014 значение=3 > с 18.01.2014 значение=1 > с 01.01.2014 значение=4 > с 10.01.2014 значение=2 > с 25.01.2014 значение=1 > с 01.01.2014 значение=4 > с 10.01.2014 значение=3 > что это как не версии Петро, это - не версии!!! Это - издевательство какое-то!.. :( -- Vladimir A.Bakhvaloff E-Mail: zirra1969<bark>gmail<dot>com Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 02:14:25 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
zirram7m> с 01.01.2014 значение=1 > с 08.01.2014 значение=3 > с 18.01.2014 значение=1 > с 01.01.2014 значение=4 > с 10.01.2014 значение=2 > с 25.01.2014 значение=1 > с 01.01.2014 значение=4 > с 10.01.2014 значение=3 > что это как не версии Петро, это - не версии!!! Это - издевательство какое-то!.. :( -- Vladimir A.Bakhvaloff E-Mail: zirra1969<bark>gmail<dot>com Обычное сторно :) а закрытые периоды править нельзя, а то бобо будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 09:05:59 |
|
||
|
версии записи
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамWildSeryСоединение по версии работает гораздо быстрее, чем по периоду.Чего это? Если выбирать версии для многих объектов - наверное, но версии нужны обычно для одного объекта. А где нужно получать версии только для одного объекта? Мне почему-то видится это только частным случаем. Как только я рисую отчёт, где по документу нужна развёртка с полями периодического справочника - мне нужно соединить документ и справочник. Вот про эту обычную ситуацию я и написал - соединение ON DOC.DIC1_ID = DIC1.ID AND DOC.DIC1_VER = DIC1.VER значительно эффективнее, чем ON DOC.DIC1_ID = DIC1.ID AND DOC.DATE BETWEEN DIC1.VER_DATEBEG AND DIC1.VER_DATEEND Гаджимурадов РустамWildSeryчаще же при обнаружении в справочнике ошибочных данных. Это как раз узкое место метода - два раза исправил - две версии.В смысле, две (или больше) версии на один период, одна (или несколько) из которых неправильные? Нет, версии корректно разбивают периоды, но одна из версий "плохая". Т.к. версии создаются автоматически при изменении справочника, их количество получается больше чем требуется (что пофиг), но также ошибочные версии (некорректные данные) тоже имеют свой (короткий) период действия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:19:39 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=104&tid=1563948]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
273ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 193ms |
| total: | 561ms |

| 0 / 0 |
