|
Почему не отрабатывает попытка? | ☑ | ||
---|---|---|---|---|
0
John83
19.11.13
✎
16:46
|
Попытка
док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); Исключение КонецПопытки; Документ не проводится из-за ошибки, но остается непроведенным - почему так? |
|||
1
Ненавижу 1С
гуру
19.11.13
✎
16:47
|
нужно обернуть в транзакцию
|
|||
2
Defender aka LINN
19.11.13
✎
16:48
|
(0) А что заставляет тебя думать, что должно быть как-то иначе?
|
|||
3
John83
19.11.13
✎
16:48
|
(1) тоже была такая мысль, но интересно, почему попытка не срабатывает?
|
|||
4
User_Agronom
19.11.13
✎
16:48
|
Автор полагает, что раз всё не прошло - транзакцию нужно отменить...
|
|||
5
Фокусник
19.11.13
✎
16:49
|
(0)
>но остается непроведенным Так выполнилось: док.Записать(РежимЗаписиДокумента.ОтменаПроведения); вот он и остается НЕ проведенным ;) Если нужно выполнить только "всю пачку кода целиком", то делай в транзакции... |
|||
6
John83
19.11.13
✎
16:50
|
хм.. мне всегда казалось, что попытка это что-то вроде транзакции, но видать заблуждался...
ладно, вопрос снят - всем спасибо |
|||
7
Defender aka LINN
19.11.13
✎
16:50
|
(3) Попытка срабатывает, как ей и положено. Ее мало волнует тот факт, что ты не знаешь, как.
|
|||
8
John83
19.11.13
✎
17:06
|
еще один глупый вопрос
а как в транзакцию обернуть? делаю Попытка НачатьТранзакцию(); док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); ЗафиксироватьТранзакцию(); Исключение говорит, что в данной транзакции уже происходили ошибки |
|||
9
DJ Anthon
19.11.13
✎
17:10
|
обернуть - это значит снаружи
|
|||
10
John83
19.11.13
✎
17:12
|
(9)
НачатьТранзакцию(); Попытка док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); ЗафиксироватьТранзакцию(); Исключение КонецПопытки; ЗафиксироватьТранзакцию(); та же ошибка |
|||
11
John83
19.11.13
✎
17:17
|
+10 хм.. а сейчас не ругается
ЗЫ так думается, что после исключения нужно еще отменитьТранзакцию() |
|||
12
John83
19.11.13
✎
17:54
|
в общем так надо
НачатьТранзакцию(); Попытка док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); ЗафиксироватьТранзакцию(); Исключение ОтменитьТранзакцию(); КонецПопытки; хотя отмену наверное и не надо ставить, но пускай будет |
|||
13
MiniMuk
19.11.13
✎
17:57
|
Вот и вырасло поколение программистов программирующих наугад
|
|||
14
kosts
19.11.13
✎
18:29
|
В чем смысл перед проведением делать отмену проведения?
|
|||
15
zakidonoff
19.11.13
✎
18:30
|
(14) наверное, так экзотично пометку удаления снимает -)
|
|||
16
Classic
19.11.13
✎
19:01
|
(13)
Типа раньше никогда наугад не програмили. И шутка про "работает - не трожь" придумана про нынешних одноэсников |
|||
17
John83
19.11.13
✎
19:02
|
(14) с УТ 11 работал?
|
|||
18
vii88
19.11.13
✎
19:07
|
(12) Попробуй так, должно получиться, если что еще добавь попыток
НачатьТранзакцию(); Попытка док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); Попытка ЗафиксироватьТранзакцию(); Исключение НачатьТранзакцию(); Попытка док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); Попытка ЗафиксироватьТранзакцию(); Исключение НачатьТранзакцию(); Попытка док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); Попытка ЗафиксироватьТранзакцию(); Исключение НачатьТранзакцию(); Попытка док = Выборка.Ссылка.ПолучитьОбъект(); док.Записать(РежимЗаписиДокумента.ОтменаПроведения); док.Записать(РежимЗаписиДокумента.Проведение); Попытка ЗафиксироватьТранзакцию(); Исключение КонецПопытки; Исключение ОтменитьТранзакцию(); КонецПопытки; КонецПопытки; Исключение ОтменитьТранзакцию(); КонецПопытки; КонецПопытки; Исключение ОтменитьТранзакцию(); КонецПопытки; КонецПопытки; Исключение ОтменитьТранзакцию(); КонецПопытки; |
|||
19
Жан Пердежон
19.11.13
✎
20:27
|
(17) движения по взаиморасчетам там рег.заданием формируются (и печатной формой), если тебе их нужно перезаполнить - дергай бы код оттуда
|
|||
20
John83
20.11.13
✎
11:28
|
(19) нет, нужно восстановить последовательность по товарам организаций
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |