Имя: Пароль:
1C
 
Модифицированность объекта при установке такого же значения переменных.
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) так и есть. Но для этого нужно знать нужно захватывать этот объект или нет. У меня в транзакции записи одного объекта возможна запись других объектов или создание новых с присвоением ссылки. Пока транзакция активна, ссылка есть на новый объект, записанный в этой транзакции. А если по какой то причине транзакция отменяется, то и ссылка на новый объект пропадает, а её уже где то прочитали.
Думаю не стоит пока ломать голову. продолжу причёсывать запись объекта. А там посмотрю как выйдет