|
v7: Ошибка: объект заблокирован при проведении | ☑ | ||
---|---|---|---|---|
0
1snik_d
19.05.15
✎
14:31
|
Всем доброго времени суток. ТиС SQL, монополно сижу в базе, перепровожу документы обработкой, команда Провести(). 1С ругается Ошибка: объект заблокирован при проведении документов с определенного периода. Интерактивно провожу документ, все проводится без ошибок. Как такое может быть? Как это можно исправить?
|
|||
1
Ёпрст
19.05.15
✎
14:33
|
и скуль поди - 2000 ?
|
|||
2
1snik_d
19.05.15
✎
14:35
|
(1) скуль 2008, 1с - "секретный" релиз.
|
|||
3
Ёпрст
19.05.15
✎
14:37
|
покажи скрин ошибки
|
|||
4
1snik_d
19.05.15
✎
14:40
|
(3) куда картинку лучше постить?
|
|||
5
Ёпрст
19.05.15
✎
14:42
|
да пофик, хоть сюда
http://pics.rsh.ru/ |
|||
6
1snik_d
19.05.15
✎
14:54
|
||||
7
Ёпрст
19.05.15
✎
14:55
|
и это, в коде нет явных установленных ручонками транзакций или проведения других документов из модуля проведения (с открытием формы) ?
|
|||
8
1snik_d
19.05.15
✎
14:56
|
Вот код
// Переносим ТА на конкретный документ Если МонопольныйРежим() = 1 Тогда УстановитьТАНА(Объект); КонецЕсли; ЕстьОшибкиПроведения = 0; // Пробуем провести в транзакции, потом откатим НачатьТранзакцию(); Попытка Если Объект.Провести() = 0 Тогда ТекстовыйФайл.ДобавитьСтроку("Не удалось провести документ " + Строка(Объект)); ТекстовыйФайл.Записать(КаталогИБ() + "Error.txt"); ЕстьОшибкиПроведения = 1; КонецЕсли; Исключение глСообщениеПроведения("Не удалось провести документ " + Строка(Объект) + " Ошибка: " + ОписаниеОшибки(), Объект.ТекущийДокумент(),,,1); ТекстовыйФайл.ДобавитьСтроку("Не удалось провести документ " + Строка(Объект) + " Ошибка: " + ОписаниеОшибки()); ТекстовыйФайл.Записать(КаталогИБ() + "Error.txt"); ЕстьОшибкиПроведения = 1; КонецПопытки; Если ЕстьОшибкиПроведения = 1 Тогда ОтменитьТранзакцию(); Продолжить; КонецЕсли; ЗафиксироватьТранзакцию(); |
|||
9
Ёпрст
19.05.15
✎
14:56
|
(6) очень хорошо. Теперь осталось открыть код и посмотреть, кто пишет такую ошибку в обработке и при каком событии.
ЗЫ: а так - тупо фиксация ошибки в попытке-исключении и... никакой блокировки там нет, просто док не проводится по какой-либо причине и фсё. |
|||
10
1snik_d
19.05.15
✎
14:59
|
(9) но интерактивно же он проводится и без ошибок.
|
|||
11
1snik_d
19.05.15
✎
15:00
|
(11) документы перепроводились с 2011 года и проблемы не было, проблемы начались в июле 2014.
|
|||
12
Ёпрст
19.05.15
✎
15:02
|
(11) проводи через операции - проведение документов, там это будет в потоке и не придётся пользоваться самодельными поделками перепроведения, которые еще и в одной большой транзакции всё делают.
|
|||
13
1snik_d
19.05.15
✎
15:06
|
(12) у меня урбд, поэтому приходится сторонними поделками проводить.
Для периферийных бах нужен правильный регистр партий, поэтому делаю так: 1. Пробую провести документ в транзакции. 2. Сравниваю движения до и после проведения, если движения одинаковые (ничего не изменилось), откатываю транзакцию, иначе фиксирую. |
|||
14
1snik_d
19.05.15
✎
15:10
|
(13) Если все скопом перепроводить, периферийки колом встанут при обмене.
А по сабжу, что еще можно посмотреть? |
|||
15
Ёпрст
19.05.15
✎
15:10
|
(13) забавная логика, в которой транзакция и не нужна вовсе.
|
|||
16
Ёпрст
19.05.15
✎
15:11
|
(14) ну, это же не весь код в (8).
Ошибка только в коде. |
|||
17
1snik_d
19.05.15
✎
15:13
|
(15) а как без транзакции штатными средствами 1С обойтись?
|
|||
18
Nirvana
19.05.15
✎
20:38
|
(0) Документ - Реализация?
|
|||
19
1snik_d
19.05.15
✎
21:33
|
(18) Разные документы. И приходные и расходные. Я причину нашел. Оказывается, отмена транзакции в некоторых случаях не освобождает объект, в этой транзакции использующийся. Закономерности не заметил, но, сделав принудительный сброс блокировки, я решил проблему.
|
|||
20
1snik_d
19.05.15
✎
21:34
|
(19) причем нигде в документации про это не написано
|
|||
21
Garykom
гуру
19.05.15
✎
21:43
|
а может просто с вложенными транзакциями какие то...
|
|||
22
Z1
20.05.15
✎
10:31
|
(19) Все правильно блокировка документа это файловая блокировка
и отмена транзакции на нее ( на блокировку документа ) никак не может влиять. |
|||
23
Z1
20.05.15
✎
10:39
|
(19) очень похоже что из одного документа ты проводишь другой документ. Если это так - ну это в принципе сам себе кладешь грабли
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |