Предназначен для управления планами видов характеристик и предоставляет доступ к значениям типа ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>. Доступ к объекту осуществляется через свойство глобального контекста ПланыВидовХарактеристик.
Полное описание, параметры и ограничения
ПланыВидовХарактеристикМенеджер (ChartsOfCharacteristicTypesManager)
ПланыВидовХарактеристикМенеджер (ChartsOfCharacteristicTypesManager)
Доступен, начиная с версии 8.0.
Элементы коллекции:
ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются менеджеры планов видов характеристик.
Возможно обращение к менеджеру плана видов характеристик посредством оператора [...]. В качестве аргумента передается имя плана видов характеристик, как оно задано в конфигурации.
Свойства:
<Имя плана видов характеристик> (<Chart of characteristic types name>)
Методы:
ТипВсеСсылки (AllRefsType)
Описание:
Предназначен для управления планами видов характеристик и предоставляет доступ к значениям типа ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>. Доступ к объекту осуществляется через свойство глобального контекста ПланыВидовХарактеристик.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Возможен обмен с сервером.
См. также:
Глобальный контекст, свойство ПланыВидовХарактеристик
Использование в версии:
Доступен, начиная с версии 8.0.
Описание изменено в версии 8.3.21.
Методическая информация
Практические примеры
Проверить семейство ссылки: четыре своих типа и три неподходящих значения
ТипВсеСсылки возвращает ОписаниеТипов семейства, не коллекцию записей. Классифицируем семь своих значений и отдельно запрещаем бизнес-действие для распознанных пустых ссылок.
Где и как запускать
Полный серверный модуль новой собственной УчебныеСемейства85, 8.5.1.1343. Только четыре пустые ссылки и семь собственных значений в памяти; записи и обмена нет.
Подготовка
Создайте НОВУЮ пустую файловую базу, корневая конфигурация УчебныеСемейства85, платформа точно 8.5.1.1343. Это не копия УТ/КА2/УНФ/БП. Объекты ниже создаются в Конфигураторе, данные в них не вводятся.
Справочники → Добавить: единственный УчебныеТовары85. Код Строка 9, наименование Строка 50, без владельца, иерархии, предопределённых элементов и дополнительных реквизитов. Модули пустые.
Планы видов характеристик → Добавить: единственный УчебныеСвойства85. Код Строка 9, наименование Строка 50, тип значений характеристик Строка 30. Модули пустые, без дополнительных реквизитов, предопределённых элементов и обработчиков.
Планы счетов → Добавить: единственный УчебныеСчета85. Длина кода 9, наименование 50, без предопределённых счетов и дополнительных реквизитов; модули пустые. Для этого урока счета не создаются и состав субконто не используется.
Планы обмена → Добавить: единственный УчебныеУзлы85. Код Строка 9, наименование Строка 50, распределённая информационная база выключена, состав плана пустой. Не создавайте узлы, сообщения, регистрации изменений и начальные образы; модули пустые.
Других объектов этих четырёх семейств не добавляйте. Документов, регистров, расширений, подписок и фоновых заданий для урока нет. Обновите конфигурацию базы данных.
Создайте серверный общий модуль УчебныеСемействаПримеры. Вставьте весь модуль и вызовите ВыполнитьПример() Экспорт из своей серверной команды обработки. Не вставляйте экспортную процедуру в тело другой процедуры.
Пустые ссылки получаются из своих конкретных менеджеров. Непустые объекты не ищутся по первой строке, кодам или UUID; запись и обмен не выполняются. Данные семи тестов существуют только в собственном массиве в памяти.
Здесь пример в 1С не запускался. Контракты сверены с установленной справкой 8.5.1.1343. Распознавание семейства типа не является проверкой заполнения, существования записи, разрешения доступа или пригодности для бизнес-операции.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Справочники.Количество() <> 1
Или Метаданные.Справочники.Найти("УчебныеТовары85") = Неопределено Тогда
ВызватьИсключение "Нужен только собственный объект УчебныеТовары85";
КонецЕсли;
Если Метаданные.ПланыСчетов.Количество() <> 1
Или Метаданные.ПланыСчетов.Найти("УчебныеСчета85") = Неопределено Тогда
ВызватьИсключение "Нужен только собственный объект УчебныеСчета85";
КонецЕсли;
Если Метаданные.ПланыВидовХарактеристик.Количество() <> 1
Или Метаданные.ПланыВидовХарактеристик.Найти("УчебныеСвойства85") = Неопределено Тогда
ВызватьИсключение "Нужен только собственный объект УчебныеСвойства85";
КонецЕсли;
Если Метаданные.ПланыОбмена.Количество() <> 1
Или Метаданные.ПланыОбмена.Найти("УчебныеУзлы85") = Неопределено Тогда
ВызватьИсключение "Нужен только собственный объект УчебныеУзлы85";
КонецЕсли;
ТипыТоваров = Справочники.ТипВсеСсылки();
ТипыСчетов = ПланыСчетов.ТипВсеСсылки();
ТипыСвойств = ПланыВидовХарактеристик.ТипВсеСсылки();
ТипыУзлов = ПланыОбмена.ТипВсеСсылки();
Сообщить(ТипЗнч(ТипыТоваров) = Тип("ОписаниеТипов"));
Сообщить(ТипЗнч(ТипыСчетов) = Тип("ОписаниеТипов"));
Сообщить(ТипЗнч(ТипыСвойств) = Тип("ОписаниеТипов"));
Сообщить(ТипЗнч(ТипыУзлов) = Тип("ОписаниеТипов"));
Тесты = Новый Массив;
Тесты.Добавить(Новый Структура("Значение,Ожидается", Справочники.УчебныеТовары85.ПустаяСсылка(), "Справочник"));
Тесты.Добавить(Новый Структура("Значение,Ожидается", ПланыСчетов.УчебныеСчета85.ПустаяСсылка(), "ПланСчетов"));
Тесты.Добавить(Новый Структура("Значение,Ожидается", ПланыВидовХарактеристик.УчебныеСвойства85.ПустаяСсылка(), "ПланВидовХарактеристик"));
Тесты.Добавить(Новый Структура("Значение,Ожидается", ПланыОбмена.УчебныеУзлы85.ПустаяСсылка(), "ПланОбмена"));
Тесты.Добавить(Новый Структура("Значение,Ожидается", 7, "НеПоддерживается"));
Тесты.Добавить(Новый Структура("Значение,Ожидается", "УчебныеТовары85", "НеПоддерживается"));
Тесты.Добавить(Новый Структура("Значение,Ожидается", Неопределено, "НеПоддерживается"));
Распознано = 0;
Отклонено = 0;
Для Каждого Тест Из Тесты Цикл
ТипВхода = ТипЗнч(Тест.Значение);
Если ТипыТоваров.СодержитТип(ТипВхода) Тогда
Категория = "Справочник";
ИначеЕсли ТипыСчетов.СодержитТип(ТипВхода) Тогда
Категория = "ПланСчетов";
ИначеЕсли ТипыСвойств.СодержитТип(ТипВхода) Тогда
Категория = "ПланВидовХарактеристик";
ИначеЕсли ТипыУзлов.СодержитТип(ТипВхода) Тогда
Категория = "ПланОбмена";
Иначе
Категория = "НеПоддерживается";
КонецЕсли;
Если Категория <> Тест.Ожидается Тогда
ВызватьИсключение "Семейство своего тестового значения определено неверно";
КонецЕсли;
Сообщить(Строка(ТипВхода) + " → " + Категория);
Если Категория = "НеПоддерживается" Тогда
Отклонено = Отклонено + 1;
Сообщить("Значение не преобразуется из числа или строки в ссылку");
Иначе
Распознано = Распознано + 1;
Если ЗначениеЗаполнено(Тест.Значение) Тогда
ВызватьИсключение "Тест должен содержать только собственную пустую ссылку";
КонецЕсли;
Сообщить("Семейство распознано, но ссылка пустая: бизнес-действие запрещено");
КонецЕсли;
КонецЦикла;
Если Тесты.Количество() <> 7 Или Распознано <> 4 Или Отклонено <> 3 Тогда
ВызватьИсключение "Не подтверждено прохождение всех семи своих тестов";
КонецЕсли;
Сообщить("Распознано 4 пустых типизированных ссылки, отклонено 3 нессылочных значения");
Сообщить("Определение типа не проверяет существование записи и не разрешает бизнес-операцию");
КонецПроцедурыРазбор по шагам
Проверить точную платформу, имя собственной новой конфигурации и наличие только своих четырёх объектов метаданных.
Получить по одному ОписаниеТипов от менеджера семейства. Справочники — менеджер всех справочников, Справочники.УчебныеТовары85 — менеджер конкретного справочника.
Самостоятельно получить четыре пустые ссылки. Их значения пустые, но типы разные и существуют в собственной конфигурации.
Добавить отрицательные проверки: число 7, строка с названием справочника и Неопределено. Название или числовое значение не преобразуется в ссылку.
Для каждого теста взять ТипЗнч и проверить принадлежность через СодержитТип. Проверяется тип, не имя объекта и не результат Строка.
Сравнить фактическую категорию с собственной ожидаемой. Несоответствие вызывает исключение, а не скрывается в итоговом количестве.
После распознавания отдельно проверить ЗначениеЗаполнено: четыре своих ссылки пустые, поэтому бизнес-действие не выполняется.
Проверить все семь тестов: четыре распознаны как семейства, три отклонены. Записи, обмена и проверки существования объекта в этом опыте нет.
Как проверить результат
Четыре проверки возвращаемого ОписаниеТипов показывают Истина.
Все семь категорий совпадают с заданными ожидаемыми: Справочник, ПланСчетов, ПланВидовХарактеристик, ПланОбмена и три НеПоддерживается.
Четыре ссылки распознаны по типу, но отдельно признаны пустыми; код не использует их как существующие записи.
Итог 4/3 получен после проверки каждого теста, а не вместо проверки содержимого. База и сообщения обмена не изменяются.
Ожидаемый результат
Разобрана проверка входного типа до бизнес-операции и различие между семейством, конкретным типом, заполнением и существованием записи.
На что обратить внимание
Проверка семейства может быть шире допустимого конкретного справочника: в реальном обработчике дополнительно проверяйте точный контракт параметра.
ОписаниеТипов не перечисляет элементы информационной базы. Здесь не выполняются выборки и не читаются данные пустых ссылок.
Тип характеристики Строка не является типом ссылки на элемент плана видов характеристик; этот урок проверяет именно ссылку.
Тип узла плана обмена не даёт разрешения регистрировать изменения, отправлять сообщения или создавать начальный образ.
Заполненная ссылка тоже может вести к отсутствующей записи; этого отдельного условия типовая классификация не доказывает.
Здесь только статическая проверка по справке; запуск в 1С не подтверждён.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.