|
Модифицированность объекта при установке такого же значения переменных. | ☑ | ||
---|---|---|---|---|
0
Crush
05.02.15
✎
11:12
|
В ПриЗаписи присваиваю значение реквизиту объекта. Не важно изменилось ли значение или нет, Модифицированность() становится Истина.
А можно как то на уровне платформы обойти установку модифицированности, если значения реквизитов остались прежними? |
|||
1
Crush
05.02.15
✎
11:13
|
Описался * в ПередЗаписью()
|
|||
2
ЛЮС
05.02.15
✎
11:24
|
Перед присвоением проверяй, совпадает ли текущее значение с новым. Если совпадает, то ничего не делай.
|
|||
3
Ozavi
05.02.15
✎
11:41
|
(0) врем = ИмяРеквизита
Если врем <> ИмяРеквизита Тогда ИмяРеквизита = врем; КонецЕсли Можно в отдельную функцию вынести, если это часто. |
|||
4
Ozavi
05.02.15
✎
11:42
|
(0) (3)
врем = НовоеЗначение; Извиняюсь |
|||
5
Crush
05.02.15
✎
11:49
|
(2) (3) с условием то понятно.
Так то в конце процедуры ПередЗаписью можно пробежать по метаданным и сравнить значения реквизитов ссылки с значениями реквизитов объектов. Надеялся, что у платформы есть какая-нибудь функция типа РеальняМодифицированность() |
|||
6
Ozavi
05.02.15
✎
11:55
|
(5) Не очень понятно назначение этого. Для каких-то обменов?
|
|||
7
SUA
05.02.15
✎
11:55
|
(5)меняешь реквизит - значит модифицируешь
что может быть еще реальнее правильно в (3) - нечего менять, если менять нечего |
|||
8
Crush
05.02.15
✎
12:01
|
(6) Как я понимаю, модифицированность блокирует объект для других пользователей. Хочу минимизировать эти блокировки.
|
|||
9
Ozavi
05.02.15
✎
12:02
|
(8) Э нее, брат, блокировка это одно, модифицированность другое.
|
|||
10
SUA
05.02.15
✎
12:08
|
модифицированность формы вообще ничего не блокирует
|
|||
11
Crush
05.02.15
✎
12:08
|
(9) Только что проверил.
Получил объект в двух клиентах. В одном перезаписал значение реквизита. После этого во втором уже ничего присвоить нельзя, пишет что объект заблокирован |
|||
12
Crush
05.02.15
✎
12:09
|
(10) Не о форме речь. Об объекте
|
|||
13
Crush
05.02.15
✎
12:12
|
(9) Согласен, что модифицированность и блокировка - разные вещи. Но они между собой тесно связаны. Блокировка может быть наложена без модифицированности, а модифицированность без блокировки не существует
|
|||
14
kosts
05.02.15
✎
12:17
|
(13) Зачем пользователю что-то менять в форме, когда он не собирается внести изменения, и что это за форма когда её одновременно 2 пользователя пытаются менять?
|
|||
15
H A D G E H O G s
05.02.15
✎
12:19
|
(9) Нет, это связанные вещи, если речь идет об объектеных (нетранзакционных) блокировках.
|
|||
16
Crush
05.02.15
✎
12:29
|
(14) Да не о формах речь.
В объекте куча реквизитов по разным видам учета. Куча объектов обрабатывается пакетами с разными назначениями. При этом еще и куча пользователей постоянно создают кучу транзакций. Постепенно разношу данные по регистрам, но тормоза на скуле приводят к постоянным конфликтам блокировок. В процессе выполнения ПередЗаписью кто то еще упевает схватить объект. Да даже не схватить.. Элементарно запрос не всегда выполняется, если в выборке присутствует заблокированный объект. |
|||
17
kosts
05.02.15
✎
12:30
|
(16) >Элементарно запрос не всегда выполняется, если в выборке присутствует заблокированный объект.
Довольно странно. |
|||
18
H A D G E H O G s
05.02.15
✎
12:33
|
(16) У тебя каша в мыслях. Перезагрузись.
|
|||
19
Crush
05.02.15
✎
12:36
|
(18) Не по регламенту. Сегодня только четверг:) Завтра будет глобальная перезагрузка:)
А если ты как бы намекаешь, что после ПередЗаписью когда то зафиксируется транзакция и ранее полученный экземпляр объекта уже будет ни к чему, то я это понимаю. Ищу решения.. |
|||
20
H A D G E H O G s
05.02.15
✎
12:39
|
(17) "Заблокированный" объект находится в транзакции своей записи. Объектная блокировка здесь не причем.
Запрос, который не выполняется - тоже находится в транзакции, база не в режиме 8.3, без snapshot-ов. |
|||
21
Wern
05.02.15
✎
12:47
|
Зачем этот запрос выполняется в транзакции, вот в чем вопрос.
|
|||
22
Ozavi
05.02.15
✎
13:20
|
(15) Связаны конечно, всегда думал что объект нужно сначала заблокировать, прежде чем модифицировать.. разве где-то есть наоборот? Я не говорил что они не связаны. Только помоему причина и следствие перепутаны здесь.
|
|||
23
Ozavi
05.02.15
✎
13:39
|
(22) (16) Я о чем в общем то - ты ищешь как избежать модифицированности объекта, но может быть надо искать как избежать избежать вообще захвата и получения объекта.. не?
|
|||
24
Crush
05.02.15
✎
15:33
|
(20) платформа 8.2.19.116 в режиме совместимости с 8.1
snapshot - не знаю что такое (23) так и есть. Но для этого нужно знать нужно захватывать этот объект или нет. У меня в транзакции записи одного объекта возможна запись других объектов или создание новых с присвоением ссылки. Пока транзакция активна, ссылка есть на новый объект, записанный в этой транзакции. А если по какой то причине транзакция отменяется, то и ссылка на новый объект пропадает, а её уже где то прочитали. Думаю не стоит пока ломать голову. продолжу причёсывать запись объекта. А там посмотрю как выйдет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |