#0
by ИС-2
Есть код, который исправляет множество контрагентов. Надо сделать так, что если есть хотя бы одна ошибка, то транзакция вся откатывалась. Но код вылетает с ошибкой "В данной транизакции уже происходили ошибки". Что делаю не так? Где ошибка Вот упрощенный пример кода:
#6
by ssh2006
после того как не удалось записать один элемент, что либо записать в этой транзакции уже нельзя, поэтому
#9
by Maxus43
всем внимательно читать код, а потом советовать выносить до цикла. Сути это не меняет, криво - да, толку ноль от выноса
#12
by Man4kin
тогда он узнает все ошибки и будет править, а при прерывании он будет запускать обработку несколько раз и по одной ошибке исправлять.
#13
by Maxus43
вторая ошибка в транзакции вызовет сообщение . Оно надо? он откатить хочет, а не показ ошибки
#17
by ssh2006
если в транзакции произошла хоя бы одна ошибка связанная с записью данных, то продолжение транзакции невозможно
#20
by ssh2006
"Если восстановимая ошибка базы данных произошла в процессе выполнения транзакции, то, вне зависимости от того, было исключение, вызванное этой ошибкой, перехвачено и обработано или нет, транзакция уже не может быть продолжена или зафиксирована. Единственная операция с базой данных, которую можно произвести в такой ситуации - это отмена транзакции."
#22
by ИС-2
не точно поставил ТЗ :) Надо вывести еще все сообщения об ошибках. Т.е прервать не подходит
#27
by Maxus43
смысл транзакции - или всё, или ничего. При наступлении ошибки срабатывает вариант Ничего, и далее продолжать попытки не имеет смысла
#29
by Maxus43
+ и потом, если ошибок нет, то можно записать все. Будет как бы двойная попытка записи в ИБ, первая для отлова ошибок, вторая - собственно запись
#30
by ИС-2
тоже ругается. Вылатает несколько "В этой транзакции уже происходили ошибки" и аварийная ошибка
#33
by Славен
если только не хранить список изменний для каждого объекта отдельно и откатывать назад не отменой транзакции, а обратной записью измененных реквизитов
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- В данной транзакции уже были ошибки!
- 1cv8: Как откатить конфиг с 8.0.9.32 на 8.0.8.7 СРОЧНО
- Можно ли откатить завершенную транзакцию в базе SQL?
- В данной транзакции уже происходили ошибки
- В данной транзакции уже происходили ошибки
- Надоело вылетать после "в данной транзакции происходили ошибки."...
- В данной транзакции уже происходили ошибки - под sql, а в файловой 8.1 норм
- Как "откатить" изменения в 1С SQL
- "В данной транзакции уже были ошибки". Как обойти ошибку?
- v8: Как откатить изменения в таблице MySQL?
- Как Откатить базу?
- В данной транзакции уже происходили ошибки!
В этой группе 1С
- изменить №лицевого счета(сотр.) в ЗУП
- УПП Сторно Требования наклодной, после расч. себест. суммы обнуляются
- ПланыСчетов.Хозрасчетный.НайтиПоКоду(код) - одноразовая команда?
- Как выбрать записи из регистра накопления с определенным видом движения?
- v7: Торговля и Склад списывать с разных складов одним документом.
- Подключение к сетевому каталогу
- Где хранить картинки? Во внешней базе? и как организовать быструю печать их?
- Проблема с КФО в выгрузке платежного поручения
- БП Не закрывается 40 и 43 счет, я плакать
- 1С 8.3 файловая вылетает при публикации на IIS 7.5
- Размер шрифта печатной формы 1С
- Поясните разницу между регламентными и фоновыми заданиями.
- ТипЗнч(Модуль) <> Тип("ОбщийМодуль") - Возможно ошибочный параметр ОбщийМодуль
- Макет. как установить различную ширину столбцов для строк?
- УТ 10.3 учет веса брутто при доставке?
- Отправка по почте файлов из регламентного задания. Чудеса..
- Отборы по Документу регистратору в 8.1 (регистр остатков)
- Если обновлю регламентированную отчетность в 1С:УПП данные сохраняться?
- Как в скд изменить фон и шрифт итогов?
- v7: Дисплей покупателя Posiflex PD2300U