ОбъектМетаданных: Последовательность.Измерения

Свойства · Dimensions

Тип: КоллекцияОбъектовМетаданных. Коллекция объектов метаданных, описывающих измерения данного объекта метаданных.

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

ОбъектМетаданных: Последовательность.Измерения (MetadataObject: Sequence.Dimensions)

ОбъектМетаданных: Последовательность (MetadataObject: Sequence)

Измерения (Dimensions)

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

Использование:
Только чтение.
Описание:
Тип: КоллекцияОбъектовМетаданных.
Коллекция объектов метаданных, описывающих измерения данного объекта метаданных.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

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

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

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

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

Не путать настройку перемещения границы с командой восстановления

У исходной последовательности DontMove, автоматические блокировки и нет измерений. Читаем эти независимые свойства без изменения текущей границы.

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

Полный серверный модуль соответствующей учебной копии КА2 или УТ 10.3. Никаких операций перепроведения или изменения настроек.

Подготовка

  1. Последовательность ПартионныйУчет взята из C:\claude\UT10_3\XML_UT_10_3\Sequences\ПартионныйУчет.xml. Используйте отдельную учебную копию именно этой УТ 10.3 на установленной платформе 8.5.1.1343, не рабочую базу.

  2. Для первых двух уроков о режимах конфигурации используйте отдельную копию КА2 Progress. Для последующих пяти — копию указанной УТ 10.3. Не смешивайте имена и настройки разных конфигураций.

  3. В серверном общем модуле УчебныеЗадачи разместите полный модуль одного урока и вызовите ВыполнитьПример() из своей серверной команды. В обычной конфигурации можно вызвать серверную процедуру из собственной учебной обработки.

  4. Только чтение схемы и собственные значения в памяти: нет проведения, восстановления последовательности, изменения границ, назначения номеров или переключения совместимости.

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

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

  1. НеПеремещать взято из MoveBoundaryOnPosting=DontMove. Перемещать означало бы попытку документа передвинуть границу при проведении, а не отдельную команду полного восстановления.

  2. РежимУправленияБлокировкойДанных=Автоматический взят из DataLockControlMode=Automatic. Он не является списком текущих блокировок.

  3. В XML нет дочерних измерений, поэтому контролируем 0. Не читаем Измерения[0] у пустой коллекции.

  4. ДополнительныеИндексы с 8.3.26 — коллекция описаний индексов. На установленной платформе 8.5 выводим фактическое количество, не создавая индекс СУБД.

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

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

  1. Три контрольные Истина в исходной учебной копии и фактическое число дополнительных индексов.

  2. Настройки блокировки и текущая граница не изменены.

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

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

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

  1. Флаг НеПеремещать не доказывает, что граница правильная или что учёт требует восстановления.

  2. Метаданные дополнительных индексов не подтверждают состояние физических индексов СУБД.

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

Сделать JSON-паспорт последовательности, не выдавая Неопределено за код модуля

Экспортируем в строку только понятные скалярные сведения схемы. МодульНабораЗаписей по справке всегда Неопределено и не возвращает исходный BSL.

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

Полный серверный модуль соответствующей учебной копии КА2 или УТ 10.3. Никаких операций перепроведения или изменения настроек.

Подготовка

  1. Последовательность ПартионныйУчет взята из C:\claude\UT10_3\XML_UT_10_3\Sequences\ПартионныйУчет.xml. Используйте отдельную учебную копию именно этой УТ 10.3 на установленной платформе 8.5.1.1343, не рабочую базу.

  2. Для первых двух уроков о режимах конфигурации используйте отдельную копию КА2 Progress. Для последующих пяти — копию указанной УТ 10.3. Не смешивайте имена и настройки разных конфигураций.

  3. В серверном общем модуле УчебныеЗадачи разместите полный модуль одного урока и вызовите ВыполнитьПример() из своей серверной команды. В обычной конфигурации можно вызвать серверную процедуру из собственной учебной обработки.

  4. Только чтение схемы и собственные значения в памяти: нет проведения, восстановления последовательности, изменения границ, назначения номеров или переключения совместимости.

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

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

  1. МодульНабораЗаписей — метаданные свойства, для которого во встроенном языке не предусмотрено значение; по установленной справке оно всегда Неопределено.

  2. Исходный BSL читают из выгрузки конфигурации, например из соответствующего Module.bsl. Данное свойство не является способом выгрузить код.

  3. В собственную Структура помещаются только строка и числа. Не пытаемся сериализовать объект метаданных со всем графом ссылок.

  4. ЗаписьJSON направлена в строку. Закрыть возвращает результат после ЗаписатьJSON; файл не создаётся.

  5. Паспорт описывает 23 вида документов, 2 регистра и 0 измерений, а не состояние остатков или границы.

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

  1. Две контрольные Истина. JSON содержит Имя=ПартионныйУчет, ВидовДокументов=23, ЗависимыхРегистров=2, Измерений=0.

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

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

Получен читаемый JSON-снимок настоящей схемы последовательности в памяти.

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

  1. Неопределено свойства модуля не означает, что в конфигурации отсутствует BSL-модуль.

  2. Такой JSON-паспорт не является резервной копией базы или экспортом записей последовательности.

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

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

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

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

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