ОбъектМетаданных: ОбщийРеквизит.РазделениеДанных

Свойства · DataSeparation

Тип: РазделениеДанныхОбщегоРеквизита. Показывает, используется ли общий реквизит в разделении данных.

Полное описание, параметры и ограничения

ОбъектМетаданных: ОбщийРеквизит.РазделениеДанных (MetadataObject: CommonAttribute.DataSeparation)

ОбъектМетаданных: ОбщийРеквизит (MetadataObject: CommonAttribute)

РазделениеДанных (DataSeparation)

Доступен, начиная с версии 8.2.

Использование:
Только чтение.
Описание:
Тип: РазделениеДанныхОбщегоРеквизита.
Показывает, используется ли общий реквизит в разделении данных.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Разобрать схему разделителя, не менять область данных сеанса

На ОбластьДанныхВспомогательныеДанные читаем ссылки на параметры сеанса и условную константу, но не значения этих параметров.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

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

Описание = Метаданные.ОбщиеРеквизиты.Найти("ОбластьДанныхВспомогательныеДанные");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ОбщиеРеквизиты.ОбластьДанныхВспомогательныеДанные";
КонецЕсли;
Сообщить("Разделение данных: " + Строка(Описание.РазделениеДанных));
Сообщить("Уровень разделения: " + Строка(Описание.ИспользованиеРазделяемыхДанных));
ПараметрЗначения = Описание.ЗначениеРазделенияДанных;
Если ПараметрЗначения <> Неопределено Тогда
    Сообщить("Параметр значения: " + ПараметрЗначения.ПолноеИмя());
КонецЕсли;
ПараметрИспользования = Описание.ИспользованиеРазделенияДанных;
Если ПараметрИспользования <> Неопределено Тогда
    Сообщить("Параметр использования: " + ПараметрИспользования.ПолноеИмя());
КонецЕсли;
Условие = Описание.УсловноеРазделение;
Если Условие <> Неопределено Тогда
    Сообщить("Условная константа: " + Условие.ПолноеИмя());
КонецЕсли;

Разбор по шагам

  1. РазделениеДанных и ИспользованиеРазделяемыхДанных описывают механизм схемы.

  2. ЗначениеРазделенияДанных здесь возвращает описание параметра сеанса, не номер текущей области.

  3. ИспользованиеРазделенияДанных тоже описание параметра; УсловноеРазделение — описание константы.

  4. ПараметрыСеанса и менеджер констант в коде не используются: область и условие не меняем.

Как проверить результат

  1. В данном XML указаны ОбластьДанныхЗначение, ОбластьДанныхИспользование и ИспользоватьРазделениеПоОбластямДанных; сравните полные имена в текущей копии.

  2. В выводе нет фактического номера области, значения параметров или содержимого разделённых записей.

Ожидаемый результат

Построены связи разделителя с настройками сеанса и условной константой.

На что обратить внимание

  1. Переключать разделитель в рабочем сеансе ради получения доступа к данным нельзя.

  2. Наличие ссылок не является доказательством правильной изоляции: нужны отдельные проверки в контролируемой копии.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не путать разделение записей, пользователей, аутентификации и расширений

Сравниваем независимые свойства одного разделителя. По одному флагу РазделениеДанных нельзя делать вывод обо всех механизмах изоляции.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

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

Описание = Метаданные.ОбщиеРеквизиты.Найти("ОбластьДанныхВспомогательныеДанные");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ОбщиеРеквизиты.ОбластьДанныхВспомогательныеДанные";
КонецЕсли;
Сообщить("Данные: " + Строка(Описание.РазделениеДанных));
Сообщить("Пользователи: " + Строка(Описание.РазделениеПользователей));
Сообщить("Аутентификация: " + Строка(Описание.РазделениеАутентификации));
Сообщить("Расширения: " + Строка(Описание.РазделениеРасширенийКонфигурации));
Сообщить("История значений: " + Строка(Описание.ИсторияДанных));
Сообщить("Комментарий схемы: " + Описание.Комментарий);

Разбор по шагам

  1. РазделениеПользователей относится к списку пользователей, а РазделениеАутентификации — к идентификации пользователя.

  2. РазделениеРасширенийКонфигурации — отдельная настройка использования расширений с разделителем.

  3. ИсторияДанных относится к истории значений объекта; это не журнал подключений.

  4. Печатаем только декларации схемы, не перечень пользователей и не историю записей.

Как проверить результат

  1. В данном XML данные разделяются, но пользователи и аутентификация имеют DontUse. Это допустимая комбинация, а не автоматическое противоречие.

  2. Сверьте пять отдельных настроек; ни одна не была изменена этим кодом.

Ожидаемый результат

Показаны независимые уровни настроек, которые нужно проверять отдельно.

На что обратить внимание

  1. Такой вывод не удостоверяет безопасность многопользовательского сервиса.

  2. Не публикуйте вывод со служебными именами конфигурации без необходимости.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.