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

Блокировка записей регистра сведений

Автор NazarovS, 03 ноя 2011, 09:13

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

NazarovS

Доброго дня. Есть необходимость реализовать следующее. Документ "Проверка" является регистратором для регистра сведений(режим управления блокировками - управляемый), он заносит определенные задания для пользователей и создает документы "Исполнение поручений", которые впоследствии читают данные из этого регистра. Задача состоит в том что когда либо документ "проверка" либо документ "Исполнение поручений открыт", конечно же использующие одну и ту же запись из регистра сведений, то второй документ с ним завязанный не открывался. Я пытаюсь решить эту задачу через блокировки следующим образом:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   //блокируем запись регистра
   Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ПБПорученияКИсполнению.НаборЗаписей");
   ЭлементБлокировки.УстановитьЗначение("Регистратор",Объект.Ссылка);
   ЭлементБлокировки.Режим    = РежимБлокировкиДанных.Исключительный;
   Блокировка.Заблокировать();

КонецПроцедуры

при закрытии документа планируется блокировку снимать. Но по какой то причине, если я захожу под другим пользователем и открываю этот же документ, либо поручение созданное на основании этого документа никаких ошибок о блокировке данных я не встречаю. Подскажите в чём может быть загвоздка

comol

1) В данном случае ваша блокировка - не блокировка а просто набор кода, который ничего не блокирует - транзакции ведь нет
2) Блокировки они немного не для этого придуманы: http://infostart.ru/public/91880/
3) Задачу нужно решать по-другому

метод глобального контекста:

ПолучитьФорму (GetForm)
Синтаксис:

ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)

Описание:

Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы.
Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности.
Если в параметре <Уникальность> передано значение Истина, то поиск уже открытых форм не осуществляется.
Статьи по оптимизации 1С: http://comol.livejournal.com/

Теги:

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

Рейтинг@Mail.ru

Поиск