При выполнении на стороне сервера - "В данной транзакции уже происходили ошибки!"

Новая тема
Показывать по сообщений
"В вашем примере он падает на строчке в исключении Объект = Ссылка.ПолучитьОбъект();<br>его в принципе, повторно получать не стОит, либо получать его перед попыткой. Потому как по коду подразумевается, что ошибки при получении объекта не должно быть. Либо в начале отменить транзакцию, а потом уже получать объект повторно, хотя опять же не понятно, зачем.<br><br>Тоже погоняла транзакции :)<br>Ошибка возникает еще в таком случае (по-моему, это все-таки баг платформы):<br><br>НачатьТранзакцию();<br>Для н=1 По 2 Цикл<br>Попытка<br>а=1/0;<br>Исключение<br>КонецПопытки;<br>КонецЦикла;<br>ЗафиксироватьТранзакцию();<br><br>То есть, получается, обрабатываем себе преспокойненько своё ожидаемое исключение, и если попадаем в него второй раз в этой же транзакции - она падает!.. Кстати, как вариант, падает и в случае, если мы внутри транзакции падаем на двух разных исключениях. То есть вариант <br><br>НачатьТранзакцию();<br>Попытка<br>а=1/0;<br>Исключение<br>КонецПопытки;<br><br>Попытка<br>Объект = Ссылка.ПолучитьОбъект();<br>Объект.Код = "00000008476";   //Заведомо существующий<br>Объект.Записать();<br>Исключение<br>КонецПопытки;<br><br>ЗафиксироватьТранзакцию();<br><br><br>тоже сваливается в эту же ошибку. Тогда спрашивается - нафига нам вообще исключения? Ответ - чтобы их обрабатывать и что-то делать дальше. А тут получается, что нам можно свалиться в исключение только один раз внутри транзакции.<br><br>Правда, иногда этого не происходит (в реальном, но аналогичном примере у меня транзакция не падает почему-то). Пока не разобралась почему, но есть подозрение, что просто там у нее внутри есть еще какие-то неявные транзакции и дело в них. "
"Интересно, а какая у вас платформа?<br>У меня на 1/0 не реагирует, т.е. кусок:<br>НачатьТранзакцию();<br>Для н=1 По 2 Цикл<br>Попытка<br>а=1/0;<br>Исключение<br>КонецПопытки;<br>КонецЦикла;<br>ЗафиксироватьТранзакцию();<br><br>работает спокойно."
Интересно... неужели исправили в более свежей версии, чем моя?<br><br>У меня - Платформа 1С:Предприятие 8.1 (8.1.12.101), а у Вас?
8.1.13.41
Читают тему
(гостей: 1)

Быстрый переход