ОбъектМетаданных: ОбщийРеквизит.РазделениеРасширенийКонфигурации

Свойства · ConfigurationExtensionsSeparation

Тип: РазделениеРасширенийКонфигурацииОбщегоРеквизита. Определяет использование разделения расширений конфигурации общим реквизитом.

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

ОбъектМетаданных: ОбщийРеквизит.РазделениеРасширенийКонфигурации (MetadataObject: CommonAttribute.ConfigurationExtensionsSeparation)

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

РазделениеРасширенийКонфигурации (ConfigurationExtensionsSeparation)

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

Использование:
Только чтение.
Описание:
Тип: РазделениеРасширенийКонфигурацииОбщегоРеквизита.
Определяет использование разделения расширений конфигурации общим реквизитом.
Доступность:

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

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

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

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

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

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

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

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

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

Подготовка

  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. Не публикуйте вывод со служебными именами конфигурации без необходимости.

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

Прочитать разные уровни разделения данных без смены области

В КА2 Progress общий реквизит разделяет данные, пользователей, аутентификацию и расширения. Эти настройки не являются текущим значением области пользователя.

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

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

Подготовка

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

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

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

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

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

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

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

  1. Пять флагов сравниваются с пятью отдельными контейнерами. Одинаковое слово Разделять не делает их одним типом настройки.

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

  3. Оба назначения проверены до чтения Имя. Фактические параметры сеанса и привилегированный режим не трогаются.

  4. УсловноеРазделение только диагностируется по типу; константа ИспользоватьРазделениеПоОбластямДанных не записывается и не переключается.

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

  1. Семь Истина и диагностический тип условия по этой учебной копии.

  2. Пользователь остался в своей области, новые доступы не назначены.

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

Схема разделения прочитана без изменения области и прав.

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

  1. По метаданным нельзя обещать видимость чужих областей.

  2. Не меняйте параметры разделения в рабочем сеансе ради изучения примера.

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

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

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

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

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