Устанавливает или отменяет безопасный режим разделения данных по заданному общему реквизиту. Установка безопасного режима действует до вызова его явной отмены или до возврата из метода встроенного языка, в котором выполнена его установка. Правила установки и отмены безопасного режима разделения данных аналогичны привилегированному режиму и безопасному режиму. Не позволяет отменить режим безопасного сеанса, определяемый установкой атрибута safe=”true” элемента zone файла default.vrd. В каждом методе встроенного языка для каждого разделителя неявно определяется счетчик безопасного режима разделения данных с начальным значением 0. Установка безопасного режима разделения данных увеличивает значение счетчика в текущем методе, а отмена - уменьшает. Если значение текущего счетчика – 0, то отмена безопасного режима разделения данных порождает исключение. Если при возврате из метода встроенного языка значение текущего счетчика отлично от 0, то оно принудительно сбрасывается в 0. Если суммарное значение счетчиков по текущему состоянию стека вызовов встроенного языка на сервере 1С:Предприятия отлично от нуля, то безопасный режим разделения данных включен.
Синтаксис
УстановитьБезопасныйРежимРазделенияДанных(<ОбщийРеквизит>, <Режим>)Полное описание, параметры и ограничения
Глобальный контекст.УстановитьБезопасныйРежимРазделенияДанных (Global context.SetDataSeparationSafeMode)
Глобальный контекст (Global context)
УстановитьБезопасныйРежимРазделенияДанных (SetDataSeparationSafeMode)
Доступен, начиная с версии 8.3.1.
Синтаксис:
УстановитьБезопасныйРежимРазделенияДанных(<ОбщийРеквизит>, <Режим>)
Параметры:
<ОбщийРеквизит> (обязательный)
Тип: Строка.
Имя общего реквизита со значением "Использовать" свойства "Разделение данных", для которого должен быть установлен или отменен безопасный режим.
<Режим> (обязательный)
Тип: Булево.
Истина – установить безопасный режим разделения данных по заданному общему реквизиту;
Ложь – отменить безопасный режим разделения данных по заданному общему реквизиту.
Описание:
Устанавливает или отменяет безопасный режим разделения данных по заданному общему реквизиту.
Установка безопасного режима действует до вызова его явной отмены или до возврата из метода встроенного языка, в котором выполнена его установка. Правила установки и отмены безопасного режима разделения данных аналогичны привилегированному режиму и безопасному режиму.
Не позволяет отменить режим безопасного сеанса, определяемый установкой атрибута safe=”true” элемента zone файла default.vrd.
В каждом методе встроенного языка для каждого разделителя неявно определяется счетчик безопасного режима разделения данных с начальным значением 0. Установка безопасного режима разделения данных увеличивает значение счетчика в текущем методе, а отмена - уменьшает.
Если значение текущего счетчика – 0, то отмена безопасного режима разделения данных порождает исключение.
Если при возврате из метода встроенного языка значение текущего счетчика отлично от 0, то оно принудительно сбрасывается в 0.
Если суммарное значение счетчиков по текущему состоянию стека вызовов встроенного языка на сервере 1С:Предприятия отлично от нуля, то безопасный режим разделения данных включен.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
При вызове в толстом клиенте или внешнем соединении в клиент-серверном варианте информационной базы не вызывает никаких действий.
В безопасном режиме разделения данных запрещено:
выключать использование разделителя, если разделение не является условно выключенным;
изменять значение используемого разделителя, если разделение не является условно выключенным;
изменять объекты, которые управляют условным разделением:
для данного разделителя в целом;
для объектов, входящих в состав данного разделителя.
См. также:
Глобальный контекст, метод БезопасныйРежимРазделенияДанных
Использование в версии:
Доступен, начиная с версии 8.3.1.
Методическая информация
Практические примеры
Включить безопасный режим конкретного разделителя
Имя общего реквизита должно существовать в вашей конфигурации и быть разделителем данных.
Где и как запускать
Обычный сервер 1С; также указанные глобальные административные методы могут быть доступны толстому клиенту и внешнему соединению.
Подготовка
Вставьте блок в модуль собственной управляемой формы. Клиентскую процедуру вызовите из обработчика своей кнопки; серверную — через собственный серверный обработчик команды. Специальное место вставки указано отдельно.
Только собственная учебная копия базы с необходимыми правами. Не выполняйте административный пример в рабочей базе.
Создайте собственный общий реквизит-разделитель УчебнаяОбласть и настройте сеанс в своей области данных. Это не имя справочника.
&НаСервереБезКонтекста
Процедура ПроверитьРежимУчебнойОбласти()
Разделитель = "УчебнаяОбласть";
УстановитьБезопасныйРежимРазделенияДанных(Разделитель, Истина);
Включен = БезопасныйРежимРазделенияДанных(Разделитель);
Сообщить("Безопасный режим разделителя: " + Строка(Включен));
УстановитьБезопасныйРежимРазделенияДанных(Разделитель, Ложь);
КонецПроцедурыРазбор по шагам
Передайте точное имя общего реквизита.
Включите режим и прочитайте его фактический признак.
Снимите свое включение нормальным парным вызовом.
Как проверить результат
Результат берется из БезопасныйРежимРазделенияДанных.
Безопасный сеанс из default.vrd не обещается отключенным.
Ожидаемый результат
Показан действующий признак безопасного режима для одного разделителя.
На что обратить внимание
Включения учитываются счетчиком и областью вызова. Это не способ получить чужую область или обойти ее безопасность.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.