0

Запись всех изменений в одной транзакции 1С

#1С 8.2#1С 8.3#1С 8.1

Друзья, у меня к вам вопрос. Я написал обработку, которая изменяет реквизиты справочника ДоговорыКонтрагентов, я хочу что бы если хотя бы один из элементов справочника записать не удалось, то отменялись изменения уже обработанных элементов, то есть если не удалось изменить один, то не изменять и все остальные. Объясните, можно ли в 1С 8 работать с транзакциями?

 3099 2
Добавленоuser140928750242861 день назад
Отредактировано691 день назад


Добавить комментарий

Иван написал:861 день назад0

Да, нужно запись всех элементов справочника делать в одной транзакции и использовать конструкцию Попытка Исключение. Примерно вот так:

//Тут пишешь текст запроса, например

Результат = Запрос.Выполнить().Выгрузить();

НачатьТранзакцию();

Попытка
    Для Каждого Стр из Результат Цикл
        СправочникОбъект = Стр.ДоговорКонтрагента.ПолучитьОбъект();

        //Твой код по изменению реквизитов справочника

        СправочникОбъект.Записать();
    КонецЦикла;

    ЗафиксироватьТранзакцию();
Исключение
    Сообщить("Неудалось изменить элементы справочника!");
    ОтменитьТранзакцию();
КонецПопытки;

Ответить

Кирилл написал:691 день назад0

Можно кстати сделать и так:

НачатьТранзакцию();

    Для Каждого Стр из Результат Цикл
        СправочникОбъект = Стр.ДоговорКонтрагента.ПолучитьОбъект();

        //Твой код по изменению реквизитов справочника

        СправочникОбъект.Записать();
    КонецЦикла;

 ЗафиксироватьТранзакцию();

Если в момент СправочникОбъект.Записать(); происходит ошибка - то платформа просто не доходит до строчки с фиксацией транзакции. Соответственно ты откатишься к начальному варианту данных.

Ответить

Задать вопрос!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Проблема при создании новый элементов справочника

В обработке создаю новый элементы справочника номенклатура, и в конце обработки ...

Вопрос по форме справочника контрагенты в интерфейсе такси.

Добрый день, подскажите пожалуйста. Есть форма справочника контрагенты в верху ...

Получение текущего списка справочника

Добрый день. При работе с обычной формой списка справочника возникла задача полу...

Если нет разницы!!Зачем тогда Условие В ВТ? Или все таки разница ЕСТЬ!!!!!

Привет. Пожалуйста подскажите! И ТАК ВОПРОС: В параметрах виртуальной таблицы ...

Изменение реквизитов элементов справочника при проведении документа

Доброго времени суток! Прошу помочь, нужно изменить реквизиты элементов справочн...

Новое

Работа с регистром накопления и документами

Друзья! Прошу помощи! Есть документ ПередачаОбъектаВПрокат, который выполняет дв...

Компановщик макета неуправляемых форм

Добрый вечер! Проблема состоит в следующем: происходит динамическое формирование...

как убрать Партионный учет с одного счета?

Имеется 1 с 8.2 в настройках управления МПЗ выставлено “ведется учет по партиям...

Погашение стоимости спецодежды

Добрый день. Столкнулась вот с какой проблемой: при проведении документа в 1С 8...

Привязка контрагента к менеджеру

Добрый день! Подскажите, пожалуйста, есть ли возможность в 1С 8.3 Предприятие сд...