0

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

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

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

 3451 2
Добавленоuser140928750242928 дней назад
Отредактировано757 дней назад


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

Иван написал:927 дней назад0

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

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

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

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

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

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

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

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

Ответить

Кирилл написал:757 дней назад0

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

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

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

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

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

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

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

Ответить

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

Наш канал на Youtube

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

Похожее

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

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

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

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

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

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

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

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

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

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

Новое

счет-фактура на возврат денег поставщиком

по оплате от поставщика мы приняли к зачету ндс по сч-фактуре. теперь деньги нам...

Расчет районного коэффициента в больничном листе

Добрый день! Очень нужна помощь! При расчете б/л не верно считает положительную ...

Отражение зарплаты в регламентирован ним учете

Использую Зуп 2.5 Потребовался отчёт для выборки данных по сотрудникам из докуме...

Возврат по картам по зарплате, в случае изменения реквизитов банка

По карте была перечислена зарплата, но платеж вернулся (изменились реквизиты бан...

Составление отчета

Здравствуйте!! Нужна помощь !!! что означает Ошибка получения информации набора ...