|
вызов исключения в документе плюс транзакция | ☑ | ||
---|---|---|---|---|
0
ASimonova
17.11.22
✎
11:39
|
1С:Предприятие 8.3 (8.3.18.1741)
код обработки: " начать транзакцию попытка проведение документа исключение некий код конец попытки зафиксировать или отменить транзакцию некий еще код " а в проведении документа при записи идет вызов исключения в результате после вызова исключения в коде, который называется "некий код" и "некий еще код" творится вакханалия там иногда при обращении к любым переменным еще раз вызывается исключение, а иногда если идти отладчиком все нормально, а без отладчика вообще без вариантов - все валится. что я делаю не так? |
|||
1
Волшебник
модератор
17.11.22
✎
11:42
|
||||
2
Волшебник
модератор
17.11.22
✎
11:44
|
НачатьТранзакцию();
Попытка ДелаемЧтоТо(); ЗафиксироватьТранзакцию(); Исключение Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; ВызватьИсключение; КонецПопытки; |
|||
3
ASimonova
17.11.22
✎
12:09
|
(2) переделала как написано. не могу сказать, что у меня было как-то уж совсем неправильно, у меня при вызове исключения фиксация транзакции не происходила все равно... ну ладно короче, я в итоге сделала ровно как написано. результат все равно плохой. вот мы переходим в исключение:
Исключение Если ТранзакцияАктивна() Тогда И все! на обращении к ТранзакцияАктивна() идет еще один вызов исключения и ошибка "в данной транзакции уже происходили ошибки" |
|||
4
ASimonova
17.11.22
✎
12:12
|
(1) за статью спасибо, я ее еще читаю
|
|||
5
vicof
17.11.22
✎
12:12
|
Для начал нужно понять что такое транзакции, и зачем они нужны.
|
|||
6
ASimonova
17.11.22
✎
12:16
|
(5) я же не на экзамене, если знаете ответ как правильно написать код, где в транзакции должно быть проведено несколько документов, поделитесь, пожалуйста
|
|||
7
ASimonova
17.11.22
✎
12:20
|
(1) статью дочитала, в итоге поняла, что все приходит к тому коду, который вы скинули в сообщении (2)
у меня оно не сработало((( |
|||
8
ASimonova
17.11.22
✎
12:29
|
вот так это выглядит, в исключении не определена ни одна переменная, я такого в жизни не видела
https://disk.yandex.kz/i/5IkburD0nNZGsQ |
|||
9
Kassern
17.11.22
✎
12:30
|
(0) "если идти отладчиком все нормально, а без отладчика вообще без вариантов " - кэш чистили?
|
|||
10
Kassern
17.11.22
✎
12:34
|
У вас количество начатых транзакций совпадает с количеством зафиксированных?
(3) "в данной транзакции уже происходили ошибки" - так это ругается при проведении документа. Вполне возможно, что в коде проведения у вас создается с ошибкой еще какой-либо объект и из-за это валится основной (например не проводится реализация из-за ошибки создания счет-фактуры и т.д.). |
|||
11
ASimonova
17.11.22
✎
12:43
|
(9) да, ошибка была вообще замечена в двух разных базах от двух разных пользователей сервера
|
|||
12
ASimonova
17.11.22
✎
12:56
|
капец, она просто заработала...
может действительно кэш был, я обработку перезаписала и она заработала чего только ни бывает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |