0

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

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

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

 3710 2
Добавленоuser140928750242989 дней назад
Отредактировано819 дней назад


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

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

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

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

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

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

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

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

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

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

Ответить

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

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

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

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

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

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

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

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

Ответить

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

Наш канал на Youtube

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

Похожее

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

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

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

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

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

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

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

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

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

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

Новое

Помогите

Надо создать в 1С выдачу пенсий помогите. Мне надо сделать до 17.05.2017г скайп ...

Выгрузка из 1С ЗУП

Всем привет! у меня такой вопрос: в феврале 2017г сотруднице было начислено посо...

Требуется Программист 1С (Нижний Новгород)

Крупная и развивающаяся кампания находится в поисках Программиста 1С (Финансовы...

Требуется программист 1С

Добрый день, Ищу программиста 1С с опытом разработки программных продуктов для с...

Бюджетирование - статьи бюджета по произвольным данным

Помогите, пожалуйста! Создаю статью бюджета с произвольными данными. Загружаю с...