Мастер-группа. Тема №10. Объектные блокировки
Продолжаем тематические сессии мастер-группы.
Сегодня говорим об объектных оптимистических и пессимистических блокировках.
Эта тема не заслуженно оставляется специалистами “на потом”. Хотя сложного ничего нет, а знать этот материал важно.
Представляем вам 14 видео-уроков:
1. Введение.
2. Предназначение. Объектные и транзакционные блокировки.
3. Объектная пессимистическая блокировка.
4. Блокировка объекта при изменении реквизита формы, не являющегося реквизитом объекта. Управляемые формы.
5. Блокировка объекта при изменении реквизита формы, не являющегося реквизитом объекта. Обычные формы.
6. Объектная оптимистическая блокировка.
7. Программная работа с блокировками. Синтаксис методов.
8. Программная установка блокировки в обычной форме.
9. Проверка блокировки объекта.
10. Сложности установки блокировки в управляемых формах.
11. Синтаксис методов блокировки для управляемых форм.
12. Установка блокировки в управляемых формах.
13. Практическое применения свойства “Версия данных”.
14. Применимость объектных блокировок на практике.
Можно как – то получить список активных пользователей ИБ ?
Метод
ПользователиИнформационнойБазы.ПолучитьПользователей();
ПользователиИнформационнойБазы.ПолучитьПользователей(); выдает всех пользователей
Глобальный контекст (Global context)
ПолучитьСоединенияИнформационнойБазы (GetInfoBaseConnections)
Не совсем понятно снятие блокировки при использовании “ЗаблокироватьДанныеДляРедактирования”
При открытии управляемой формы делаю ЗаблокироватьДанныеДляРедактирования(Форма.Ключ,,Форма.УникальныйИдентификатор)
в синтаксис помощнике сказано, что если указать 3-й параметр Уникальный идентификатор формы Если параметр указан, то блокировка устанавливается на все время жизни формы и может быть снята при закрытии формы;
Пользователь открывает – все хорошо, блокируется
Пользователь записывается и закрывает форму – тоже все хорошо, блокировка снимается
Пользователь ЗАКРЫВАЕТ ФОРМУ БЕЗ ЗАПИСИ – блокировка не снимается
Так и должно быть? или я что то делаю не так?
Вопрос интересный. Рассмотрим его.
Но хотелось бы сделать уточнение.
> ЗаблокироватьДанныеДляРедактирования(Форма.Ключ,,Форма.УникальныйИдентификатор)
Используется именно такой синтаксис?
В какой форме это происходит?
Да именно такой. Из некоторых форм спр. и док ПриСозданииНаСервере вызывается внешняя процедура в которой и происходит попытка заблокировать.
Ситуацию рассматриваем.
Уточните, какая практическая задача решается наложением блокировки при создании формы?
Это особенность платформы.
В будущем она должна быть исправлена.
Пока можно использовать аналогичный метод управляемой формы.
Хм… Никогда не пользовался… даже не знал…
Спасибо за урок! Взял на заметку :)
Пополнили арсенал приемов :)
Спасибо. Придется вернуться и внести коррективы в обработку.
Ах как же это в тему!!! Как раз идет полным ходом разработка конфы “с нуля”, а там понадобилось блокировать объекты. Спасибо!
5. Блокировка объекта при изменении реквизита формы, не являющегося реквизитом объекта. Обычные формы.
Если я не ошибаюсь, то в обычных формах тоже есть такой флаг … только называется он “Изменяет данные”…
Точно, спасибо.