Получить менеджер записи области данных. Получает в транзакции менеджер записи для регистра ОбластиДанных.
// Получает в транзакции менеджер записи для регистра ОбластиДанных.
//
// Параметры:
// ОбластьДанных - Число - номер области данных.
// Статус - Перечисления.СтатусыОбластейДанных - ожидаемый статус области.
//
// Возвращаемое значение:
// РегистрыСведений.ОбластиДанных.МенеджерЗаписи - менеджер записи области данных.
//
Функция ПолучитьМенеджерЗаписиОбластиДанных(Знач ОбластьДанных, Знач Статус) Экспорт
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
Элемент = Блокировка.Добавить("РегистрСведений.ОбластиДанных");
Элемент.УстановитьЗначение("ОбластьДанныхВспомогательныеДанные", ОбластьДанных);
Элемент.Режим = РежимБлокировкиДанных.Разделяемый;
Блокировка.Заблокировать();
МенеджерЗаписи = РегистрыСведений.ОбластиДанных.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ОбластьДанныхВспомогательныеДанные = ОбластьДанных;
МенеджерЗаписи.Прочитать();
Если НЕ МенеджерЗаписи.Выбран() Тогда
ШаблонСообщения = НСтр("ru = 'Область данных %1 не найдена'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, ОбластьДанных);
ВызватьИсключение(ТекстСообщения);
ИначеЕсли МенеджерЗаписи.Статус <> Статус Тогда
ШаблонСообщения = НСтр("ru = 'Статус области данных %1 не равен ""%2""'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, ОбластьДанных, Статус);
ВызватьИсключение(ТекстСообщения);
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииПодготовкаОбластиДанных(),
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение;
КонецПопытки;
Возврат МенеджерЗаписи;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Ключ менеджера записи регистра сведений
ПолучитьПользователяИБПоПользователюОбластиДанных (БСП)
ПолучитьБлокировкуСеансовОбластиДанных (БСП)
ПолучитьМодельДанныхОбласти (БСП)
ОтправитьЗапросыНаИспользованиеВнешнихРесурсовОбластиДанных (БСП)
ПолучитьЧасовойПоясОбластиДанных (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)