![]() |
![]() |
|
deadlock и run time error при записи элемента подчиненного справочника | ☑ | ||
---|---|---|---|---|
0
diggerr
24.09.09
✎
15:12
|
Здравствуйте! Прошу помочь в решении такой проблемы:
Имеется кусок кода Спр = СоздатьОбъект("Справочник.МойСправочник"); Спр.ИспользоватьВладельца(ОбъектИзСвязанногоСправочника); Если Спр.ВыбратьЭлементы() = 0 Тогда Спр.Новый(); Иначе Спр.ПолучитьЭлемент(); КонецЕсли; // заполнение значений реквизитов справочника // ... Спр.Записать(); он выполняется периодически в процедуре ожидания, на строке Спр.Записать(); иногда вываливаются deadlocks и в следующем проходе run time error. Это происходит только для элементов которые уже есть в подчиненном справочнике, для вновь созданных таких ошибок не возникает. суть в том что это единственное место в конфигурации, которое работает с этим справочником. В чем здесь может быть проблема? релиз 1С 7.7.027 конфигурация доработанная торговля, используется ВК 1С++ |
|||
1
ТелепатБот
гуру
24.09.09
✎
15:12
|
||||
2
Sadovnikov
24.09.09
✎
15:13
|
(0)
1. А что это вообще за странные действия? 2. Какой именно дидлок происходит? |
|||
3
diggerr
24.09.09
✎
15:18
|
(2)
1.Ну тут вообщем проверяется есть ли запись в подчиненном справочнике для данного элемента, если есть модифицируем ее, если нет создаем новую. 2.SQL State: 40001 Native: 1205 Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Transaction (Process ID 78) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. |
|||
4
Дык ё
24.09.09
✎
15:24
|
(0) попробуй после ПолучитьЭлемент вставить Блокировка(1)
|
|||
5
Sadovnikov
24.09.09
✎
15:26
|
(3)
1. Да я понимаю, что делает этот кусочек кода :) Я не понимаю - зачем? 2. А точно этот справочник больше нигде не юзается? Как-то это сомнительно... |
|||
6
diggerr
24.09.09
✎
15:43
|
(5)
1. ну вкратце это часть процедуры периодического обмена с MySQL сервером, в этом справочнике, подчиненном справочнику номенклатура хранится информация об остатках уже выгруженных на MySQL и при каждом обмене обновляется чтобы несколько раз одно и тоже не выгружать. 2. точно справочник пользует только эта процедура |
|||
7
diggerr
24.09.09
✎
15:44
|
(4)
спс, попробую сейчас. |
|||
8
Sadovnikov
24.09.09
✎
15:45
|
(6) Дык у тебя п 1 не стыкуется с п 2.
|
|||
9
diggerr
24.09.09
✎
15:49
|
(8)
Я имел ввиду что больше справочник этот нигде не используется кроме как в этой процедуре в нескольких местах. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |