БиблиотекаСтилей.Количество

Методы · Count

Получает количество стилей в коллекции стилей.

Синтаксис

Количество()

Примеры платформы

ВсегоСтилей = БиблиотекаСтилей.Количество();
Полное описание, параметры и ограничения

БиблиотекаСтилей.Количество (StyleLib.Count)

БиблиотекаСтилей (StyleLib)

Количество (Count)

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

Синтаксис:
Количество()
Возвращаемое значение:
Тип: Число.

Описание:

Получает количество стилей в коллекции стилей.

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

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

Пример:

ВсегоСтилей = БиблиотекаСтилей.Количество();

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

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

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

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

Различить пустую библиотеку стилей и значение стиля по умолчанию

В исходной КА2 Progress отдельные Styles отсутствуют, хотя собственных элементов стиля много. Создание Новый Стиль не добавляет стиль в конфигурацию и не переключает интерфейс.

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

Полный серверный общий модуль отдельной учебной копии; без изменения стиля приложения.

Подготовка

  1. Только отдельная учебная копия КА2 Progress. Три существующих элемента: АктуальнаяПодпискаЦвет, ВажнаяНадписьШрифт, РамкаОдинарнаяЭПД. Их виды и исходные значения проверены по StyleItems/*.xml, не придуманы.

  2. Для визуальных уроков создайте собственную внешнюю обработку с обычной формой, пустой панелью УчебнаяПанель и кнопкой вне панели. Назначьте кнопке действие ВыполнитьПример. Вставьте полный модуль урока в модуль этой обычной формы; обработчик без аргументов.

  3. Запускайте обычную форму в толстом клиенте учебной копии. В управляемой форме нет ЭлементыФормы и объекта Панель; туда код обычного визуального урока не переносится.

  4. Серверные диагностические уроки отдельно размещаются в серверном общем модуле УчебныеЗадачи. Код не меняет метаданные, ГлавныйСтиль, основной стиль базы или оформление рабочих форм.

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

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

  1. Количество проверяется перед Получить(0). На исходной выгрузке Styles пустой, и ветка получения элемента не выполняется.

  2. Новый Стиль создаёт специальное значение стиля Авто. Это не запись в библиотеке и не объект метаданных с именем.

  3. Индекс возвращает -1 для значения, не найденного в коллекции. Показываем фактический результат; не используем отрицательный индекс для Получить.

  4. Если в учебную копию вручную добавлен стиль, можно проверить обратную связь Получить(0) → Индекс = 0.

  5. Для переключения приложения понадобилось бы отдельное присваивание ГлавныйСтиль. Его здесь намеренно нет: создание значения само по себе ничего не переключает.

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

  1. Проверка типа — Истина. В неизменённой КА2 выводится количество 0 и пояснение пустой коллекции.

  2. При добавленном учебном стиле две проверки внутри непустой ветки — Истина. Главное оформление до и после запуска не изменилось.

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

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

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

  1. Не индексируйте пустую библиотеку.

  2. Новый Стиль не создаёт объект Styles в дереве конфигурации.

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

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

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

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

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