Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 сен 2024, 02:20

Блокировка транзакций

Автор Стаф, 09 дек 2009, 17:52

0 Пользователей и 1 гость просматривают эту тему.

Стаф

Как можно заблокировать считываемые в транзакции данные по остаткам так, чтобы они не могли читаться из другой транзакции, т.е. полностью их отделить от них?

IvlevaM

Для этого нужно использовать режим управляемых транзакционных блокировок Для того чтобы запретить чтение данных другими управляемыми транзакциями, нужно устанавливать исключительный режим блокировки данных. Как?смотрим=)
БлокировкаДанных = Новый БлокировкаДанных;

// При создании элемента блокировки указывается пространство блокировки.
ЭлементБлокировки = БлокировкаДанных.Добавить("РегистрНакопления.ОстаткиНоменклатуры");

// Возможна установка либо исключительного, либо разделяемого режима.
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;

// Ввод значения, сужающего указанное пространство блокировки
// (используется вариант установки одного конкретного значения).
ЭлементБлокировки.УстановитьЗначение("Склад", Склад);

// Указание источника, данные из которого сузят указанное пространство блокировки
// (используется вариант установки нескольких значений из источника данных –
// табличной части Товары).
ЭлементБлокировки.ИсточникДанных = Товары;

// Установка соответствия между полем пространства блокировки и полем источника.
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

БлокировкаДанных.Заблокировать();

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск