"В данной транзакции уже происходили ошибки" #306862


#0 by agent-J
Есть форма документа, которую открываю модально. Если после нажатия на кнопку "ОК" в обработке проведения происходят ошибки (причем даже если отловленные через Попытка..Исключение), потом практически любое действие вызывает ошибку "В данной транзакции уже происходили ошибки" Как с этим боротся?
#1 by ТелепатБот
#2 by Fram
и больше ничего?
#3 by agent-J
всмысле "больше ничего"?
#4 by Fram
эта ошибка обычно еще какими то надписями сопровождается
#5 by Kerk
всмылсле вопрос звучит типа: "Вот тут косяк, а как его исправить", а что косяк, на каком месте, по каким данным...
#6 by agent-J
в частности ошибка вылетела на Запрос.Выполнить (вызывался при начале выбора для элемента формы). Я так понимаю, если документ не провелся и форма осталась висеть открытой, то пользователь должен иметь возможность изменить введенные данные и попробовать еще раз, а так практически любое действие (помимо выполенения запроса пока закономерность не проследил) спотыкается об "в транзакции уже были ошибки". Кстати а в самой обработке проведения было что-то вроде такого Попытка  СвязанныйДокумент.Записать(РежимЗаписиДокумента.Проведение);
#7 by Kerk
А если не модально открывать, то все работает как надо? Может просто пользователю прав не хватает... бывает и такое.
#8 by agent-J
Мне по любому надо модально А причем тут права? если б не хватало прав, то так бы и написано было
#9 by Kerk
Хи... я тоже так думал, пока не поставил ограничения прав по организациям. :) Например, выботка идет по 1 справочнику, анализируются ссылки 2-го, а 2-ой доступен не полностью, как только пытается прочитать закрытую запись, тут и такая ошибка.
#10 by agent-J
и в ошибке написано "В транзакции уже происходили ошибки"?! Странно! Но в любом случае, это не моя ситуация, т.к. до первой неудачной попытки проведения этот же запрос (который на начале выбора поля ввода) срабатывает нормально
#11 by France
найти и устранить причину ошибки... как правило, истинная ошибка скрыта конструкциями "Попытка исключение"..
#12 by agent-J
- у меня ими скрыты не истинные ошибки, а попытки и исключения:) См. код в . т.е. в СвязанныйДокумент есть своя обработка проведения, со своими алгоритмами, контролирующими возможность его проведения, и если там было установлено Отказ=Истина, то в этом документе оно должно просто непровестись, без каких-то левых сообщений. А перекраивать все модуля изза этой херни я нехочу И НЕ БУДУ!
#13 by France
ай ай ай.. ты в обработке проведения пытаешся провести другой документ?.. И что должно быть, если СвязанныйДокумент не проведется?... Я думаю, что текущий документ тоже не должен проводится - с сообщением, что в транзакции были ошибки, и транзакция откатывается..
#14 by agent-J
так она ж блин и не откатывается, как я понял! или может ее надо явно отменять как-то Т.е. я хочу, чтоб коль уж после неудачного проведения форма документа осталась на экране, можно было попытатся ее еще раз провести
#15 by agent-J
Вот что меня пугает, натолкнулся тут на такую фразу: "Кондаков Владимир                          Apr 29 2005, 15:58 Использование попытки имеет ряд интересных особенностей, по крайней мере тех, с которыми мне удалось столкнуться. Если честно отследить причинно следственную связь в моем проекте весьма проблематично, так как проблемы возникают из за параллельной работы десятков клиентов с одной таблицей, с завидной периодичностью (раз в 3 секунды). Так вот, обнаружено, что если в рамках выполнения некой транзакции (проведение документа, выполнение задачи) срабатывает "Исключение" транзакцию завершить или отменить уже не возможно "В данной транзакции уже происходили ошибки". По этому, попытки, делу не сильно помогают." Может кто прокоментирует?
#16 by BabySG
Предполагаю, что платформа не понимает вложенности попыток в обработки проведения. Т.е. сначала перехватывается платформой (Обработка проведения), и только потом кодом.
#17 by agent-J
Итак, вставка ОменитьТранзакцию в блоке Исключение помогла избавится от ошибки "В данной транзакции уже происходили ошибки", т.е. код из выглядит примерно так: Попытка  СвязанныйДокумент.Записать(РежимЗаписиДокумента.Проведение); но вылез другой нюанс Сама модальная форма документа открывается из такой конструкции:        ДокИсправление=Документы.Исправление.СоздатьДокумент;        ...            ...ну и далее по тексту Выражение ДокИсправление.Модифицированность (как и ДокИсправление.ЭтоНовый) вызывает ошибку "Документ не выбран" Как можно это обойти? т.е. или избавится от этой ошибки, или по другому код написать (что б если в открытой модально форме нового документа нажали кнопку ОК и провели его -продолжить выполнение некоторой процедуры, а если в модальной форме документа нажали "Отмена" (возможно попытвшись перед этим нажать "ОК" и получив ответ, мол "очень жаль, но низя:)") выполнение процедурки, откуда была открыта модальная форма документа прерывалось)
#18 by agent-J
ап
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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