Тип: КоллекцияОбъектовМетаданных. Коллекция объектов метаданных, описывающих измерения данного объекта метаданных.
Полное описание, параметры и ограничения
ОбъектМетаданных: РегистрСведений.Измерения (MetadataObject: InformationRegister.Dimensions)
ОбъектМетаданных: РегистрСведений (MetadataObject: InformationRegister)
Измерения (Dimensions)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: КоллекцияОбъектовМетаданных.
Коллекция объектов метаданных, описывающих измерения данного объекта метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Изучить основной отбор и риск сужения типа кодов региона
КодСубъектаРФ — числовое измерение АдминистративнаяИерархия. Читаем основной отбор, индекс и политику сокращения типа без изменения структуры базы.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Регистр = Метаданные.РегистрыСведений.Найти("АдминистративнаяИерархия");
Если Регистр = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует РегистрыСведений.АдминистративнаяИерархия";
КонецЕсли;
Поле = Регистр.Измерения.Найти("КодСубъектаРФ");
Если Поле = Неопределено Тогда
ВызватьИсключение "В АдминистративнаяИерархия отсутствует измерение КодСубъектаРФ";
КонецЕсли;
Сообщить(Поле.Тип.СодержитТип(Тип("Число")));
Сообщить(Поле.ОсновнойОтбор);
Сообщить(Поле.Индексирование = Метаданные.СвойстваОбъектов.Индексирование.Индексировать);
Сообщить("Режим записи регистра: " + Строка(Регистр.РежимЗаписи));
Если Регистр.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.Независимый Тогда
Политика = Поле.РежимСокращенияТипа;
Сообщить("Сокращение типа: " + Строка(Политика));
Если Политика = Метаданные.СвойстваОбъектов.РежимСокращенияТипа.ПреобразовыватьЗначения Тогда
Сообщить("До сужения типа проверьте потерю точности и возможное совпадение ключей в копии базы");
ИначеЕсли Политика = Метаданные.СвойстваОбъектов.РежимСокращенияТипа.УдалятьДанные Тогда
Сообщить("Особенно опасная политика: изменение структуры может удалить данные, здесь ничего не меняем");
Иначе
Сообщить("Проверьте запрет изменения при потере данных; это отдельная операция Конфигуратора");
КонецЕсли;
КонецЕсли;Разбор по шагам
Числовой тип и индекс сверяем с конкретным измерением, а не с названием региона.
ОсновнойОтбор не заменяет условие конкретного запроса и не является RLS.
РежимСокращенияТипа рассматриваем только у независимого регистра сведений, как указано в справке.
Результат — предупреждение перед проектированием миграции; обновление конфигурации не выполняется.
Как проверить результат
По предоставленному XML три сравнения Истина: число, основной отбор и дополнительный индекс.
В выводе указана реальная политика сужения типа, никаких данных она сейчас не преобразует.
Ожидаемый результат
Собран безопасный предварительный контракт для анализа будущей миграции.
На что обратить внимание
Сужение типа может сделать разные ключи одинаковыми; требуется отдельная копия и анализ данных.
Не меняйте политику на УдалятьДанные как быстрый способ убрать ошибку обновления.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить учебный год по типу измерения и отдельному диапазону
Измерение Год регистра АвтоматическиОбновляемыеГрафикиРаботыСотрудников числовое. Формат отображения не заменяет проверку целого года.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Регистр = Метаданные.РегистрыСведений.Найти("АвтоматическиОбновляемыеГрафикиРаботыСотрудников");
Если Регистр = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует РегистрыСведений.АвтоматическиОбновляемыеГрафикиРаботыСотрудников";
КонецЕсли;
Поле = Регистр.Измерения.Найти("Год");
Если Поле = Неопределено Тогда
ВызватьИсключение "В АвтоматическиОбновляемыеГрафикиРаботыСотрудников отсутствует измерение Год";
КонецЕсли;
Если Не Поле.Тип.СодержитТип(Тип("Число")) Тогда
ВызватьИсключение "Ожидалось числовое измерение Год";
КонецЕсли;
ГодИзОбмена = 2026;
ДопустимГод = ГодИзОбмена = Цел(ГодИзОбмена)
И ГодИзОбмена >= 1900 И ГодИзОбмена <= 2100;
Сообщить(ДопустимГод);
Сообщить("Формат: " + Поле.Формат);
Сообщить("Формат редактирования: " + Поле.ФорматРедактирования);
Сообщить("Выделять отрицательные: " + Строка(Поле.ВыделятьОтрицательные));
Сообщить("Заполнение из отбора: " + Строка(Поле.ЗаполнятьИзДанныхЗаполнения));
Сообщить(Поле.ОсновнойОтбор);
НеверныйГод = 2026.5;
Сообщить(НеверныйГод <> Цел(НеверныйГод));Разбор по шагам
Тип проверяем до применения числовых правил.
Диапазон 1900–2100 выбран явно для этого учебного обмена; это не универсальный диапазон платформы.
Цел отделяет целый год от дробного 2026.5.
Формат и ВыделятьОтрицательные относятся к отображению, ОсновнойОтбор — к организации отбора регистра сведений.
Как проверить результат
Три сравнения Истина: допустимый 2026, ОсновнойОтбор из XML и дробный неверный год.
Замените 2026 на 1800 в учебной переменной: первое сравнение станет Ложь без записи в регистр.
Ожидаемый результат
Проверен собственный входящий год без смешения формата и допустимости.
На что обратить внимание
Числовой тип не запрещает автоматически все логически неверные годы.
ЗаполнятьИзДанныхЗаполнения не доказывает, что значение уже было заполнено в конкретной форме.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.