|
ВерсияДанных | ☑ | ||
---|---|---|---|---|
0
kanalex
30.09.12
✎
21:47
|
Народ, просветите, что есть поле ВерсияДанных в 8.2?
Теоретически понятно, но как с ним работать? Ято оно из себя представляет? Как его расшифровать? Например, в подписке на события ПриЗаписи объекта, можно по нему понять новый объект или уже был записан? |
|||
1
Boleev v2
30.09.12
✎
21:49
|
Это верися объекта, используется для реализации оптимистичной блокировки.
На уровне данных информация была всегда, просто в 8.2 к ней открыли доступ прикладному разработчику. |
|||
2
kanalex
30.09.12
✎
22:05
|
Так можно как-то по нему определить состояние объекта? новый он или уже изменяется?
|
|||
3
Ник второй
30.09.12
✎
22:06
|
(2) По другому надо программировать. Опиши задачу и тебе помогут.
|
|||
4
Aleksey
30.09.12
✎
22:09
|
(2) Нет, максимум можно узнать что объект изменен
|
|||
5
kanalex
30.09.12
✎
22:11
|
(3) я описал задачу в корне темы...
Что оно из себя представляет? Как его расшифровать? Например, в подписке на события ПриЗаписи объекта, можно по нему понять новый объект или уже был записан? |
|||
6
Живой Ископаемый
30.09.12
✎
22:17
|
Если есть версия данных, то он уже записан. Все.
|
|||
7
IamAlexy
30.09.12
✎
22:20
|
(0) при каждой записи обновляется версия.
удобно использовать для синхронизации и понимания что объекты изменены без использованиять какихнить там планов обмена |
|||
8
kanalex
30.09.12
✎
22:30
|
(6) хорошо.
Записан первый раз или уже обновлен? |
|||
9
Aleksey
30.09.12
✎
22:31
|
(8) Каждая запись +1 к версии
|
|||
10
Aleksey
30.09.12
✎
22:32
|
При этом при создании может быть явно записан и несколько раз. Т.е. пользователь создал элемент нажал ОК и версияДанных будет равна к пример 3 (3 раза записан был)
|
|||
11
Живой Ископаемый
30.09.12
✎
22:54
|
2(8) Поставь эксперимент. Создать по 100 объектов 10 разных типов данных. Запиши каждый по 10 раз... Обменяйся с другой базой 3-мя разными способами. Расскажи как меняется при этом версия данных. Пожни славу и PROFIT.
|
|||
12
rs_trade
30.09.12
✎
23:02
|
(9)(10) там поле timestamp вообще то.
|
|||
13
Aleksey
30.09.12
✎
23:04
|
(12) Из СП "Тип: Строка. Содержит текущую версию данных объекта."
|
|||
14
Живой Ископаемый
30.09.12
✎
23:05
|
2(12) для всех типов баз данных? ставил эксперименты?
|
|||
15
Aleksey
30.09.12
✎
23:06
|
Свойство "ВерсияОбъекта", содержащееся в данных формы, представляющих объектные типы (СправочникОбъект и т.п.) переименовано в "ВерсияДанных" и имеет тип Строка. В данной строке содержится Base64-представление версии объекта.
из описания к 8_2_8_195 |
|||
16
rs_trade
30.09.12
✎
23:12
|
(14) для всех типов это оперативная отметка времени.
|
|||
17
rs_trade
30.09.12
✎
23:15
|
(16) нет, не так. автоматом формируемые значения уникальные в пределах базы. как то так.
|
|||
18
Boleev v2
30.09.12
✎
23:22
|
еще раз.
ВерсияДанных используется для оптимистической блокировки и никаких других функций на нее не возлагается. |
|||
19
rs_trade
30.09.12
✎
23:23
|
(7) забавная получится синхронизация. бесконечная.
|
|||
20
rs_trade
30.09.12
✎
23:25
|
(18) не согласен. ВерсияДанных используется для определения изменен объект в базе данных или нет. А где эта проверка используется дело десятое.
|
|||
21
Aleksey
30.09.12
✎
23:35
|
(19) Т.е. хранишь версию с момента последней синхронизации - версия изменилась - объект нужно выгружать и обновить версию
|
|||
22
IamAlexy
30.09.12
✎
23:38
|
(19) с чего бы?
если мне надо малой кровью например из одной базы в другую односторонне перегонять только измененные платежки например не, невзлетит? |
|||
23
rs_trade
30.09.12
✎
23:41
|
(22) нет. это поле заполняется движком субд. у одного и того же объекта, в разных базах, будут всегда разные версии.
|
|||
24
Aleksey
30.09.12
✎
23:43
|
(22) А зачем мне версии "у одного и того же объекта, в разных базах"?
|
|||
25
rs_trade
30.09.12
✎
23:44
|
создал документ в базе, у него версия например 0x0000000000000CA6. перегнал его в другую базу, там у него версия 0x0000000000000C7B стала. в источнике документ перезаписали, версия стала 0x0000000000000CB1. как тут синхронизировать.
|
|||
26
Фокусник
30.09.12
✎
23:45
|
(25) как признак измененности
|
|||
27
rs_trade
30.09.12
✎
23:46
|
версия используется что бы проверять менялся ли объект в субд по отношению к этому же объекту в оперативной памяти.
|
|||
28
rs_trade
30.09.12
✎
23:47
|
(26) а что с чем сравнивать?
|
|||
29
IamAlexy
30.09.12
✎
23:50
|
(25) реально недогоняешь?
я во второй базе сделаю поле "версия_первой_базы" и буду с этим полем сравнивать версию документа. при изменении обновлять документ и номер версии |
|||
30
Фокусник
30.09.12
✎
23:55
|
(29) хотя реально мало знать факт перезаписи, хорошо бы точно определять, были ли значимые изменения или просто "записать" нажали, фактически ничего не изменив :)
|
|||
31
Aleksey
30.09.12
✎
23:55
|
(30) Иногда это "достаточная точность"
|
|||
32
rs_trade
30.09.12
✎
23:56
|
(29) и зачем этот огород городить когда есть планы обмена?
|
|||
33
IamAlexy
30.09.12
✎
23:59
|
(32) реально недоганяешь?
у меня есть адская самописка на УТ. у меня есть 10 отдельных баз БП из которых эта самая УТ дергает разнесенные платежки. БП все на поддержке. УТ11 переписана наглухо (к примеру: в ней есть регистры бухгалтерии и план счетов с типовыми бухгалтерскими отчетами по плану счетов который не бухгалтерский) как думаешь - для 15 баз планы обмена рисовать и поддерживать много легче чем написать обработку которая будет тупо реквизит сверять и если он различается перезаписывать объект. а? |
|||
34
IamAlexy
30.09.12
✎
23:59
|
(33) для 10 баз.. конечно же всего лишь и только для 10
|
|||
35
Фокусник
01.10.12
✎
00:02
|
(31) а если базу перепровели - все документы перезаписались, а фактически нет изменений :)
Буквально неделю назад была такая задача от клиента: "хочу видеть список-отчет об измененных документах в прошлых периодах, но если комментарий у документа поменяли или просто перепровели, то его не включать в отчет" :) |
|||
36
IamAlexy
01.10.12
✎
00:05
|
(35) на эту "жертву" можно пойти.
темболее что например в моем случае ограничение по периоду синхронизации задано. то есть перепроведи всю базу - все равно ВСЕ платежки не лезут. кстати чо там с планами обмена.. если я перепроведу всю базу, в РБД все объеты перейдут заново? |
|||
37
rs_trade
01.10.12
✎
00:06
|
(33) да смысл то ясен. просо никогда не видел обменов на версии данных и сам бы делать не стал.
|
|||
38
Фокусник
01.10.12
✎
00:08
|
(36) тоже заново. Поэтому пришлось свой "слепок данных" делать и с ним сверять, ХЗ может лисапед получился :)
|
|||
39
rs_trade
01.10.12
✎
00:08
|
(36) как напишешь, так и перейдут. можно все, а можно не все.
|
|||
40
Aleksey
01.10.12
✎
00:08
|
(37) А что какая то принципиальная разница между планом и на версии? Никакой. Или в палын попадают только "измененые"? Или групповое перепроведение не влияет на план обменов?
|
|||
41
rs_trade
01.10.12
✎
00:14
|
(40) принципиальная разница если че огромная.
|
|||
42
Aleksey
01.10.12
✎
00:20
|
(41) Никакой
|
|||
43
Aleksey
01.10.12
✎
00:21
|
Дальше продолжать смысла нет, ибо холивар будет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |