|
В данной транзакции уже происходили ошибки | ☑ | ||
---|---|---|---|---|
0
dvrk
21.01.21
✎
08:56
|
УТ 10, при записи контрагента нового выходит эта ошибка, оно из-за потытка исключение ?
|
|||
1
dvrk
21.01.21
✎
09:02
|
Попытка
ЗаписатьВФорме(); Исключение ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, "Элемент не записан!"); ОсновнойДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.ПустаяСсылка(); Отказ = Истина; КонецПопытки; |
|||
2
xXeNoNx
21.01.21
✎
09:04
|
Оно из-за второй или третей ошибочной транзакции
|
|||
3
dvrk
21.01.21
✎
09:05
|
(2) а как мне понять в чем проблема в данном случае ?
|
|||
4
Fedor-1971
21.01.21
✎
09:08
|
(3) Только отладчиком, записываются дополнительные данные и, где-то там, в дебрях дремучих кода, произошла ошибка
Для начала посмотри в журнал, может в нём что и записано |
|||
5
dvrk
21.01.21
✎
09:09
|
(4) ничего в журнале нет
|
|||
6
Fedor-1971
21.01.21
✎
09:09
|
4+ Поставь "Остановку по ошибке", возможно, что получится отловить место возникновения первой ошибки быстрее
|
|||
7
xXeNoNx
21.01.21
✎
09:14
|
(2) убрать Отказ = Истина;
может помочь выявить первую ошибку |
|||
8
ДенисЧ
21.01.21
✎
09:15
|
(7) Не отказ убрать, а попытку.
|
|||
9
xXeNoNx
21.01.21
✎
09:18
|
(8) Отказ убрать
|
|||
10
Вафель
21.01.21
✎
09:19
|
|
|||
11
Дык ё
21.01.21
✎
09:25
|
(1) а куда уходит этот отказ, если в итоге ты пытаешься зафиксировать транзакцию?
|
|||
12
dvrk
21.01.21
✎
09:28
|
(11) можно попроще спросить
|
|||
13
Йохохо
21.01.21
✎
09:28
|
(11) это всё же ПриЗаписи )
|
|||
14
ДенисЧ
21.01.21
✎
09:28
|
Убрать попытку и увидишь, где возникает исходная ошибка.
Это для целей нахождения места... |
|||
15
xXeNoNx
21.01.21
✎
09:35
|
(0) Убрать отказ и найдешь место)
|
|||
16
dvrk
21.01.21
✎
09:36
|
а поч кто-то пишет отказ, а кто-то попытку
|
|||
17
xXeNoNx
21.01.21
✎
09:37
|
(16) Это как белое и черное, определись на какой ты стороне
|
|||
18
xXeNoNx
21.01.21
✎
09:38
|
а что тебе сообщает эта строчка?(ОписаниеОшибки())
|
|||
19
mikecool
21.01.21
✎
09:44
|
в каждом ИСключение по цепочке добавить ВызватьИсключение
|
|||
20
xXeNoNx
21.01.21
✎
09:45
|
(19) Зачем? Что бы получить исключение, которые обходишь попыткой?)
|
|||
21
dka80
21.01.21
✎
09:45
|
(17) не совсем согласен:
1. если ты напишешь Попытку, то ты можешь пользователю сказать, что ты редиска не заполнил чего-то там 2. если ты сделаешь без попытки, то у тебя будет "Произошла ошибка деления на ноль", что для пользователя не совсем понятно где он накосячил или это ошибка программы |
|||
22
Дык ё
21.01.21
✎
09:46
|
(12) эта ошибка возникает при попытке фиксации сбойной транзакции. зачем ты её фиксируешь, если Отказ = Истина?
|
|||
23
dka80
21.01.21
✎
09:46
|
+21 т.е. без попытки пользователь может словить runtime error exception, что для продуктивной системы нехорошо
|
|||
24
ДенисЧ
21.01.21
✎
09:47
|
(21) Без попытки - на время разработки. Чтобы автырь понял, где он дурак. Исходная ошибка покажет это место.
А если мы её прикроем второй попыткой, то ничего хорошего для такого понимания это не даст |
|||
25
xXeNoNx
21.01.21
✎
09:47
|
(21) Да суть не в этом, код скорее всего не тот...
тут в любом случае была выдана бы ошибка, т.к. : "ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, "Элемент не записан!");" тут не важно что убрать |
|||
26
xXeNoNx
21.01.21
✎
09:54
|
В общем, ошибку вложенной транзакции первого уровня можно бы было отловить уже тут "ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, "Элемент не записан!");"
Если ТС ее не нашел, значит все глубже |
|||
27
TormozIT
гуру
21.01.21
✎
09:56
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |