ПланыВидовХарактеристикМенеджер

Типы · ChartsOfCharacteristicTypesManager

Предназначен для управления планами видов характеристик и предоставляет доступ к значениям типа ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>. Доступ к объекту осуществляется через свойство глобального контекста ПланыВидовХарактеристик.

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

ПланыВидовХарактеристикМенеджер (ChartsOfCharacteristicTypesManager)

ПланыВидовХарактеристикМенеджер (ChartsOfCharacteristicTypesManager)

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

Элементы коллекции:
ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются менеджеры планов видов характеристик.
Возможно обращение к менеджеру плана видов характеристик посредством оператора [...]. В качестве аргумента передается имя плана видов характеристик, как оно задано в конфигурации.

Свойства:
<Имя плана видов характеристик> (<Chart of characteristic types name>)

Методы:
ТипВсеСсылки (AllRefsType)

Описание:

Предназначен для управления планами видов характеристик и предоставляет доступ к значениям типа ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>. Доступ к объекту осуществляется через свойство глобального контекста ПланыВидовХарактеристик.

Доступность:

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

См. также:
Глобальный контекст, свойство ПланыВидовХарактеристик

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

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

Описание изменено в версии 8.3.21.

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

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

Проверить семейство ссылки: четыре своих типа и три неподходящих значения

ТипВсеСсылки возвращает ОписаниеТипов семейства, не коллекцию записей. Классифицируем семь своих значений и отдельно запрещаем бизнес-действие для распознанных пустых ссылок.

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

Полный серверный модуль новой собственной УчебныеСемейства85, 8.5.1.1343. Только четыре пустые ссылки и семь собственных значений в памяти; записи и обмена нет.

Подготовка

  1. Создайте НОВУЮ пустую файловую базу, корневая конфигурация УчебныеСемейства85, платформа точно 8.5.1.1343. Это не копия УТ/КА2/УНФ/БП. Объекты ниже создаются в Конфигураторе, данные в них не вводятся.

  2. Справочники → Добавить: единственный УчебныеТовары85. Код Строка 9, наименование Строка 50, без владельца, иерархии, предопределённых элементов и дополнительных реквизитов. Модули пустые.

  3. Планы видов характеристик → Добавить: единственный УчебныеСвойства85. Код Строка 9, наименование Строка 50, тип значений характеристик Строка 30. Модули пустые, без дополнительных реквизитов, предопределённых элементов и обработчиков.

  4. Планы счетов → Добавить: единственный УчебныеСчета85. Длина кода 9, наименование 50, без предопределённых счетов и дополнительных реквизитов; модули пустые. Для этого урока счета не создаются и состав субконто не используется.

  5. Планы обмена → Добавить: единственный УчебныеУзлы85. Код Строка 9, наименование Строка 50, распределённая информационная база выключена, состав плана пустой. Не создавайте узлы, сообщения, регистрации изменений и начальные образы; модули пустые.

  6. Других объектов этих четырёх семейств не добавляйте. Документов, регистров, расширений, подписок и фоновых заданий для урока нет. Обновите конфигурацию базы данных.

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

  8. Пустые ссылки получаются из своих конкретных менеджеров. Непустые объекты не ищутся по первой строке, кодам или UUID; запись и обмен не выполняются. Данные семи тестов существуют только в собственном массиве в памяти.

  9. Здесь пример в 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 нессылочных значения");
    Сообщить("Определение типа не проверяет существование записи и не разрешает бизнес-операцию");
КонецПроцедуры

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

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

  2. Получить по одному ОписаниеТипов от менеджера семейства. Справочники — менеджер всех справочников, Справочники.УчебныеТовары85 — менеджер конкретного справочника.

  3. Самостоятельно получить четыре пустые ссылки. Их значения пустые, но типы разные и существуют в собственной конфигурации.

  4. Добавить отрицательные проверки: число 7, строка с названием справочника и Неопределено. Название или числовое значение не преобразуется в ссылку.

  5. Для каждого теста взять ТипЗнч и проверить принадлежность через СодержитТип. Проверяется тип, не имя объекта и не результат Строка.

  6. Сравнить фактическую категорию с собственной ожидаемой. Несоответствие вызывает исключение, а не скрывается в итоговом количестве.

  7. После распознавания отдельно проверить ЗначениеЗаполнено: четыре своих ссылки пустые, поэтому бизнес-действие не выполняется.

  8. Проверить все семь тестов: четыре распознаны как семейства, три отклонены. Записи, обмена и проверки существования объекта в этом опыте нет.

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

  1. Четыре проверки возвращаемого ОписаниеТипов показывают Истина.

  2. Все семь категорий совпадают с заданными ожидаемыми: Справочник, ПланСчетов, ПланВидовХарактеристик, ПланОбмена и три НеПоддерживается.

  3. Четыре ссылки распознаны по типу, но отдельно признаны пустыми; код не использует их как существующие записи.

  4. Итог 4/3 получен после проверки каждого теста, а не вместо проверки содержимого. База и сообщения обмена не изменяются.

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

Разобрана проверка входного типа до бизнес-операции и различие между семейством, конкретным типом, заполнением и существованием записи.

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

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

  2. ОписаниеТипов не перечисляет элементы информационной базы. Здесь не выполняются выборки и не читаются данные пустых ссылок.

  3. Тип характеристики Строка не является типом ссылки на элемент плана видов характеристик; этот урок проверяет именно ссылку.

  4. Тип узла плана обмена не даёт разрешения регистрировать изменения, отправлять сообщения или создавать начальный образ.

  5. Заполненная ссылка тоже может вести к отсутствующей записи; этого отдельного условия типовая классификация не доказывает.

  6. Здесь только статическая проверка по справке; запуск в 1С не подтверждён.

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

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

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

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

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