![]() |
|
Конфликт блокировок. Снова :-) | ☑ | ||
---|---|---|---|---|
0
lanc2233
27.09.12
✎
14:12
|
8.2 версия SQL
В цикле такой код : Запись = РегистрыСведений.ИмяРег.СоздатьМенеджерЗаписи(); Запись.Измерение1 = Значение1; Запись.Измерение2 = Значение2; Запись.Прочитать(); // Запись.Измерение1 = Значение1; Запись.Измерение2 = Значение2; Запись.Ресурс1 = Значение3; Запись.ресурс2 = Значение4; Запись.Записать(); Через некоторое время возникает конфликт блокировок. Выгнал всех пользователей сделал то-же самое, не поменялось. В чем может быть причина при одном пользователе? |
|||
1
trambalda
27.09.12
✎
14:15
|
А строки 2-3 (и возможно 4) они для какой цели присутствуют?
|
|||
2
lanc2233
27.09.12
✎
14:17
|
Найти запись по определенным значениям измерений, и присвоить ей новые значения ресурсов.
|
|||
3
НайдуУбъю
27.09.12
✎
14:18
|
можно запопытить запись раз 5
|
|||
4
lanc2233
27.09.12
✎
14:18
|
Несколько месяцев такая конструкция работала нормально.
|
|||
5
lanc2233
27.09.12
✎
14:19
|
(3) Забыл сказать, при чтении возникает.
|
|||
6
Struk
27.09.12
✎
14:19
|
Если Запись.Выбран() Тогда Запись.Ресурс1 = Значение3
|
|||
7
Struk
27.09.12
✎
14:19
|
режим блокировок какой?
|
|||
8
trambalda
27.09.12
✎
14:20
|
(2) А зачем, в этом случае строки 5-6?
|
|||
9
lanc2233
27.09.12
✎
14:21
|
(8) иначе запись будет с пустыми значениями измерений. проверено.
|
|||
10
rmrush
27.09.12
✎
14:23
|
может так писать?
Запись = РегистрыСведений.ИмяРег.СоздатьМенеджерЗаписи(); Запись.Отбор.Измерение1.Установить(Значение1); //Запись.Измерение2 = Значение2; и т.д. Запись.Прочитать(); // Запись.Измерение1 = Значение1; Запись.Измерение2 = Значение2; Запись.Ресурс1 = Значение3; Запись.ресурс2 = Значение4; Запись.Записать(); |
|||
11
Maxus43
27.09.12
✎
14:24
|
Запись = РегистрыСведений.ИмяРег.СоздатьМенеджерЗаписи();
Запись.Измерение1 = Значение1; Запись.Измерение2 = Значение2; Запись.Ресурс1 = Значение3; Запись.ресурс2 = Значение4; Запись.Записать(); |
|||
12
НайдуУбъю
27.09.12
✎
14:25
|
Запись = РегистрыСведений.ИмяРег.СоздатьМенеджерЗаписи();
Запись.Измерение1 = Значение1; Запись.Измерение2 = Значение2; Запись.Прочитать(); // Если Запись.Выбран() Тогда Запись.Ресурс1 = Значение3; Запись.Ресурс2 = Значение4; Запись.Записать(); КонецЕсли; Этого достаточно |
|||
13
trambalda
27.09.12
✎
14:25
|
(9) А попробовать через создатьнаборзаписей?
|
|||
14
zladenuw
27.09.12
✎
14:25
|
а если без прочтения. сразу записывать :)
|
|||
15
zladenuw
27.09.12
✎
14:26
|
(0) у тебя же нет условий на проверку
|
|||
16
rmrush
27.09.12
✎
14:29
|
Да, не правильно прочитал первую строку.
нужно не Запись = РегистрыСведений.ИмяРег.СоздатьМенеджерЗаписи(); А Запись = РегистрыСведений.ИмяРег.СоздатьНаборЗаписей(); |
|||
17
zladenuw
27.09.12
✎
14:32
|
sql какой ?
|
|||
18
lanc2233
27.09.12
✎
14:32
|
Выяснил что спотыкается на одной и той-же строчке. Скорее всего надо будет ТИИ сделать.
|
|||
19
jump if overflow
27.09.12
✎
14:34
|
Запись.Выбран() не важно он хочет перезаписать значения ресурсов или создать новую запись,
там щеще может быть ИндекСкан хрен прочитаешь |
|||
20
lanc2233
27.09.12
✎
14:36
|
(17) 2005
|
|||
21
НайдуУбъю
27.09.12
✎
14:38
|
(18) на какой?
|
|||
22
zladenuw
27.09.12
✎
14:42
|
||||
23
lanc2233
27.09.12
✎
14:43
|
(21) ничем не примечательная запись. По счету тысяча какая-то.
В цикле сделал на нее исключение, все прошло ок. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |