|
|
|
В данной транзакции уже происходили ошибки! | ☑ | ||
|---|---|---|---|---|
|
0
YHVVH
01.03.10
✎
08:51
|
Пишет ошибку
Ошибка при вызове метода контекста (Прочитать): В данной транзакции уже происходили ошибки! НаборЗаписей.Прочитать(); Вот мой код: размещается в модкуле объекта БП. При выполнении Попытка Организация.Записать(); Исключение Отказ = Истина; КонецПопытки; Если Отказ тогда НаборЗаписей = РегистрыСведений.Лог.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.ТочкаМаршрута.Установить(ТочкаМаршрутаБизнесПроцесса); НаборЗаписей.Отбор.БизнесПроцесс.Установить(ЭтотОбъект.Ссылка); НаборЗаписей.Прочитать(); ...... КонецЕсли; |
|||
|
1
YHVVH
01.03.10
✎
08:53
|
собсно вопрос
почему ошибка возникает |
|||
|
2
YHVVH
01.03.10
✎
09:00
|
я так понимаю есть транзакция
в ней вложенная тразакция во вложенной транзакции происходит ошибка и что из за этого, нельзя регистр прочитать? |
|||
|
3
Aprobator
01.03.10
✎
09:19
|
сдается мне что весь этот код внутри НачатьТранзакцию и ЗафиксироватьТранзакцию.
А поскольку при выполнении еще выскакивает и в исключение - такое сообщение и вылезает. Почему - хрен знает, но если внутри транзакции есть Попытка и там было исключение - то транзакцию откатит. |
|||
|
4
YHVVH
01.03.10
✎
09:21
|
(3) я не использую НачатьТранзакцию
|
|||
|
5
YHVVH
01.03.10
✎
09:22
|
но если внутри транзакции есть Попытка и там было исключение - то транзакцию откатит.
не понял что значит откатит? |
|||
|
6
YHVVH
01.03.10
✎
09:24
|
(4) скорей всего 1с сама их создает при выполнеиии это одна транзакция
при записи элемента справочника другая вложенная. |
|||
|
7
Aprobator
01.03.10
✎
09:28
|
(5) все действия выполняемые внутри транзакции будут отменены.
|
|||
|
8
Maxus43
01.03.10
✎
09:31
|
(0) Поставь в отладчике остановку по ошибке, увидишь где косяк
|
|||
|
9
Maxus43
01.03.10
✎
09:32
|
(8) + точнее косяк не один, а минимум 2 их будет. имхо
|
|||
|
10
YHVVH
01.03.10
✎
09:33
|
(8) (9) не понял
|
|||
|
11
YHVVH
01.03.10
✎
09:37
|
есть справочник организаций
при записи идет проверка инн если он не правильно заполнен то в модуле объекта справочника призаписии будет отказ = истина в => сарботает попытка исключение внутрення транзакция будет отменена ну так и хрен с ней не записался объект и не зааписался я не могу понять почему я не могк регистр сведений после этого прочиать? |
|||
|
12
Maxus43
01.03.10
✎
09:38
|
(11) повторяю. Поставь в отладчике остановку по ошибке. Тебе он тыкнет в больное место, а потом уже думай
|
|||
|
13
YHVVH
01.03.10
✎
09:39
|
(12) блин это я уже сделал давно перед тем как сюда вопросы задавать полез.
|
|||
|
14
Aprobator
01.03.10
✎
09:39
|
(10) я тоже не понял. Вообще твой код размещается в процедуре ПриЗаписи? Помести его в процедуре ПередЗаписью.
|
|||
|
15
YHVVH
01.03.10
✎
09:40
|
(14) в смысле перед записью
код располагется в модуле бизнес процесса и выполняется при выполнении задачи. |
|||
|
16
Aprobator
01.03.10
✎
09:41
|
(15) тогда я пас. Это я еще не грыз.
|
|||
|
17
YHVVH
01.03.10
✎
09:42
|
(12) отладчик выдает ощибку на строчке
НаборЗаписей.Прочитать(); |
|||
|
18
YHVVH
01.03.10
✎
09:43
|
(16) да дело ни в этом даже
это может распологаться в модуле проведениии документа |
|||
|
19
Maxus43
01.03.10
✎
09:50
|
(17) погугли по этой ошибке ("В данной транзакции уже происходили ошибки!"). Там описаны причины возникновения данной ошибки, может найдёш похожий случай.
А ошибку эту надо тупо обходить, т.е. использовать вариант не дающий ошибки (проверку перед этит какую-нибудь), например. я так боролся в подобном случае |
|||
|
20
Рэйв
01.03.10
✎
09:52
|
ВСе процедуры с "Отказ" - это транзакции. Поэтому если внутри них еще одна транзакция, то оно так и вылетит по ошибке.
|
|||
|
21
Рэйв
01.03.10
✎
09:54
|
+а Попытка это и есть транзакция
|
|||
|
22
YHVVH
01.03.10
✎
09:55
|
(21) попытка эта не транзакция
|
|||
|
23
Рэйв
01.03.10
✎
09:57
|
(22) предположим ты в попытку поместил кучу кода, с записью изменений в базу. Как думаешь куда они денутся если на последней строчке попытка вывалится в исключние?
|
|||
|
24
YHVVH
01.03.10
✎
09:57
|
(20) блин че то я не въезжаю.
|
|||
|
25
YHVVH
01.03.10
✎
10:00
|
(23) запишутся
|
|||
|
26
Рэйв
01.03.10
✎
10:00
|
Запусти простой код
Попытка А=1; Попытка А=а/0; Исключение Сообщить("дошло до исключения 2"); КонецПопытки; Исключение Сообщить("дошло до исключения 1"); КонецПопытки; |
|||
|
27
YHVVH
01.03.10
✎
10:01
|
че запускать то
|
|||
|
28
YHVVH
01.03.10
✎
10:01
|
вывлится в сиключение
|
|||
|
29
Maxus43
01.03.10
✎
10:01
|
(22) По названию Попытка может и не транзакция. А по Сути? Не транзакция?
|
|||
|
30
YHVVH
01.03.10
✎
10:01
|
а при чем тут это?
|
|||
|
31
Рэйв
01.03.10
✎
10:01
|
вывалится в твою ошибку : В этой транзакции уже были ошибки
|
|||
|
32
YHVVH
01.03.10
✎
10:02
|
(31) погодь
|
|||
|
33
YHVVH
01.03.10
✎
10:04
|
написал дошел доисключение2
|
|||
|
34
Рэйв
01.03.10
✎
10:06
|
и сообщить написал? Может у нас разные 1С?:)...у мнея всегда вываливалось с сообщением о том что ошибка уже была:)
|
|||
|
35
YHVVH
01.03.10
✎
10:06
|
(34) написал
дошел доисключение2 и все |
|||
|
36
Рэйв
01.03.10
✎
10:07
|
все страньше и страньше...
|
|||
|
37
YHVVH
01.03.10
✎
10:08
|
че вы меня тут запутали попытка какая нафиг транзакция
попытка это попытка транзакция это транзакция ппопытка относиткся в основном не к данным, и не откатывает изменения в самой БД |
|||
|
38
Maxus43
01.03.10
✎
10:10
|
(37) Если ничего не путаю, то при Попытка 1с создает не явную транзакцию
|
|||
|
39
vde69
01.03.10
✎
10:13
|
(38) с какого перепою?
ИХМО по сабжу: 1с не поддерживает вложеные транкзации... |
|||
|
40
YHVVH
01.03.10
✎
10:15
|
Попытка
Город = Справочники.Города.СоздатьЭлемент(); Город.Наименование = "Попытка 1"; Город.Записать(); Город = Справочники.Города.СоздатьЭлемент(); Город.Наименование = "Попытка 2"; Город.Записать(); А = 1/0; Исключение КонецПопытки; НачатьТранзакцию(); Город = Справочники.Города.СоздатьЭлемент(); Город.Наименование = "транзакция 1"; Город.Записать(); Город = Справочники.Города.СоздатьЭлемент(); Город.Наименование = "транзакция 2"; Город.Записать(); ОтменитьТранзакцию(); Есть разница? |
|||
|
41
YHVVH
01.03.10
✎
10:16
|
(39) поддерживает , только отмена ведет к отмене всех транзакций.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |