helpf.pro
Регистрация
 0 
Распечатать

Использование транзакций

Использование транзакций в 1С
Транзакция предназначена для записи в информационную базу согласованных изменений. Все изменения, внесенные в информационную базу после начала транзакции, будут затем либо целиком записаны, либо целиком отменены. Ключевыми функциями для работы в транзакции всегда являлись: начать, завершить, отменить. Вспомогательные: активность другой транзакции, возможность начала транзакции.

Простой пример использования транзакций приведен в коде ниже, который устанавливает зависимость создания элемента справочника номенклатуры и элемента справочника единицы измерения, владельцем которого является номенклатура. Если не удалось создать базовую единицу измерения, то и нельзя сохранять саму новую номенклатуру. Все действия происходят в транзакции:
Код 1C v 8.х
 Попытка

// Начать транзакцию
НачатьТранзакцию( РежимУправленияБлокировкойДанных.Автоматический );

// Создать элемент номенклатура, записать
// Создать элемент единицы измерения, установить владельца, записать
// Обновить базовую единицу измерения в номенклатуре, записать

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

Исключение

// Отменить транзакцию
ОтменитьТранзакцию();

КонецПопытки;
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 16689
 0 
Распечатать
Возможно, вас также заинтересует
Журнал транзакций для базы данных "db_buh" переполнен. Причина: "LOG_BACKUP". HRESULT=80040E14 1
При обновлении бухгалтерии, на этапе сохранения, получил следующую ошибку: Каталог не обнаружен v8srvr://sql/acc_main/configsave/e0666db2-45d6-49b4-a200-061c6ba7d569.6b9d6525-ee94-4e13-b73d-82d3e8e8441d по причине: Каталог не обнаружен...
Журнал транзакций заполнен. HRESULT=80040E14 0
Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: Журнал транзакций для базы данных " zup" заполнен. Чтобы обнаружить причину, по которой место в журнале не может быть повторно использовано, обратитесь к столбцу log_reuse_wait_desc таблицы ..
Использование предложения ДЛЯ ИЗМЕНЕНИЯ 0
Предложение ДЛЯ ИЗМЕНЕНИЯ позволяет заблаговременно заблокировать некоторые данные (которые могут читаться транзакцией другого соединения) уже при считывании, чтобы исключить взаимные блокировки при записи. ДЛЯ...
Как заблокировать считываемые в транзакции данные, чтобы они не могли читаться из другой транзакции 0
Используется режим управляемых транзакционных блокировок (в автоматическом режиме для этой цели используется конструкция ДЛЯ ИЗМЕНЕНИЯ). Для того чтобы запретить чтение данных другими управляемыми транзакциями,...
Как заблокировать считываемые в транзакции данные,чтобы они не могли изменяться из другой транзакции 0
Используется режим управляемых транзакционных блокировок (в автоматическом режиме ничего делать не нужно, система сама блокирует все считываемые данные). Для того чтобы запретить изменение данных другими...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.