Ошибка при выполнении процедуры ЗафиксироватьТранзакцию #221963


#0 by дущ
ПУБ: SQL Выполняю следующий код Но... выполнение данного кода останавливается. Вот записи в файле лога: 20:12:30 : Обрабатываю документ: Выпуск продукции К000202 (10.02.06) 20:12:30 : Разбиваю документ на части 20:12:31 : (Транзакция) Создан документ: Выпуск продукции К000417 (10.02.06) 20:12:31 : (Транзакция) Проведен документ: Выпуск продукции К000417 (10.02.06) 20:12:31 : (Транзакция) Создан документ: Выпуск продукции К000418 (10.02.06) 20:12:31 : (Транзакция) Проведен документ: Выпуск продукции К000418 (10.02.06) 20:12:31 : (Транзакция) Удаляю документ: Выпуск продукции К000202 (10.02.06) 20:12:31 : (Транзакция) Документ удалён. 20:12:31 : Ошибка в процессе проведения документа Ошибка: Ошибка при выполнении процедуры ЗафиксироватьТранзакцию" То есть, если судить по файлу лога: выполнение останавливается непосредственно на процедуре ЗафиксироватьТранзакцию Так вот: такой вот вопрос - отчего эта ошибка происходит? Лично я думаю что это какие то грабли в SQL. Может база в СКЛ Сервере неправильно настроена?
#1 by ТелепатБот
#2 by дущ
забыл добавить - выполняю всё монопольно.
#3 by SnarkHunter
ОтменитьТранзакцию убери...
#4 by дущ
а это тут при чём? ошибка ведь наступает до этой строки?
#5 by КонецЦикла
Наверное надо пройтись поиском по транзакции внутри попытки
#6 by 1 апреля
научи :)
#7 by дущ
дело в том, что эта ошибка не стабильна. Т.е. возникает время от времени. И поймать дебагером её не могу.
#8 by SnarkHunter
Потому что получишь такое сообщение: Транзакция неактивна. А чтобы поймать свою ошибку вообще убери все, что относится к транзакциям...
#9 by дущ
если убрать всё что относится к транзакциям - ошибки не возникает как таковой. Т.е. всё вполне нормально и безошибочно записывается и проводится. Повторяю: ошибка возникает при выполнении процедуры ЗафиксироватьТранзакцию не раньше и не позже.
#10 by дущ
Самое смешное - сейчас дома делаю эту же самую операцию на DBFе. Никаких ошибок не возникает, всё нормально. Может дело в SQLе?
#11 by КонецЦикла
Перепиши алгоритм, переставь попытку и вообще... Нафига попытка если монопольно? Нельзя проверить возможные ошибки?
#12 by дущ
попытка  - для того что бы если что- то не проведётся отменить всё назад так как было, а не оставлять после себя непроведённые документы. А как можно проверить возможные ошибки? Если один раз они в одном числе возникают, другой раз - в другом?
#13 by КонецЦикла
Такс... а отменить транзакцию значит не делает все как было?
#14 by дущ
делает. для этого она там и стоит.
#15 by ShoGUN
Вообще-то при возникновении ошибки в транзакции зафиксировать транзакцию все равно не получится. Так что попытка тут точно - лишнее.
#16 by КонецЦикла
:) Ну ладно, пока всем КонецСвязи....
#17 by дущ
ну может быть. Но так хотя бы ошибку в лог запишу. Ладно, всем пока. Буду копать дальше.
#18 by Viper03
ОтменитьТранзакцию - в исключении Если в блоке попытка" ошибка - переходим в блок исключение и пытаемся отменить неактивную транзакцию. Уже ошибка. Но самое главное: Проведение документа - уже транзакция. Ты пытаешься внутри одной транзакции начать другую... Правильно сказали: убери транзакцию нафиг...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С