|
|
Конфликт блокировок |
☑ |
|
0
ejikbeznojek
30.04.14
✎
15:11
|
Добрый день.
Имеется проблема в виде конфликта блокировок.
При создании документа создаётся запись в регистр сведений.
Документы создаются очень часто и в большом количестве.
НаборЗаписей = РегистрыСведений.ИнформацияШКЛН.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.ШК.Значение = ШКЛистаНабора; НаборЗаписей.Отбор.ШКЛистаНабора.Значение= ШКЛистаНабора; НаборЗаписей.Отбор.ШКЛистаНабора.Использование = Истина; НаборЗаписей.Отбор.ШК.Использование = Истина;
НаборЗаписей.Очистить();
Запись = НаборЗаписей.Добавить();
Запись.ШК = ШКЛистаНабора;
Запись.ШКЛистаНабора = ШКЛистаНабора;
Запись.НомерЛН = Номер;
Запись.ВидНакладной = ДокОснование.Метаданные().Синоним;
Запись.НомерНакладной = ДокОснование.Номер;
Запись.Количество = товары.Итог("Количество");
Запись.ГруппыТоваров = ГруппыТоваров;
Запись.Подразделение = ПараметрыСеанса.ЭтотУзел.Подразделение;
Запись.КоличествоКоробок = 1;
запись.НомерКоробкиЛН = 1;
Запись.НомерКоробки = 1;
НаборЗаписей.Записать();
Проблема даже не в том, что происходит блокировка транзакций.
А в том, что 1С при этом сразу закрывается.
Даже если ставить попытку, то исключение не отрабатывает, а сразу закрывается 1С.
|
|
|
1
ДенисЧ
30.04.14
✎
15:12
|
Переводи на управляемые блокировки
|
|
|
2
vicof
30.04.14
✎
15:13
|
(1) С языка снял
|
|
|
3
Maxus43
30.04.14
✎
15:13
|
лишнее то убери всё, Очистить() напрмер, и сначала отбор ставь, а потом набор заполняй
Отбор.ШК.Установить(значение)
короче причеши код, а то смотреть тошно)
|
|
|
4
su_mai
30.04.14
✎
15:14
|
Включи технологический журнал и посмотри что 1С перед закрытием напишет.
|
|
|
5
ptiz
30.04.14
✎
15:21
|
(0) Так блокировка или закрывается 1С?
|
|
|
6
ejikbeznojek
30.04.14
✎
15:24
|
1C полностью закрывается
|
|
|
7
vi0
30.04.14
✎
15:25
|
(6) а почему решил, что в блокировках дело?
|
|
|
8
su_mai
30.04.14
✎
15:25
|
(6) Просто она очень устала, возможно от тебя :)
|
|
|
9
ejikbeznojek
30.04.14
✎
15:26
|
Если бы от меня....
У целого складского комплекса так))
|
|
|
10
ejikbeznojek
30.04.14
✎
15:27
|
Закрывается именно на этой строчке
НаборЗаписей.Записать();
|
|
|
11
Господин ПЖ
30.04.14
✎
15:27
|
>Запись.НомерНакладной = ДокОснование.Номер
НомерНакладной надеюсь не измерение...
|
|
|
12
Господин ПЖ
30.04.14
✎
15:28
|
тех. журнал смотрел? ТиИ делал?
|
|
|
13
ejikbeznojek
30.04.14
✎
15:36
|
(11) Реквизит.
(12) ТиИ делал. В тех журнале не вижу записей, связанных с этим регистром или же с этими документами
|
|
|
14
ptiz
30.04.14
✎
15:39
|
Отладчиком пойдись через F11 на Набор.Записать() и дальнейший код посмотри - не сваливается ли в рекурсию.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший