Тип: ДополнительныеИндексы. Коллекция объектов метаданных, описывающих дополнительные индексы данного объекта метаданных.
Полное описание, параметры и ограничения
ОбъектМетаданных: Документ.ДополнительныеИндексы (MetadataObject: Document.AdditionalIndexes)
ОбъектМетаданных: Документ (MetadataObject: Document)
ДополнительныеИндексы (AdditionalIndexes)
Доступен, начиная с версии 8.3.26.
Использование:
Только чтение.
Описание:
Тип: ДополнительныеИндексы.
Коллекция объектов метаданных, описывающих дополнительные индексы данного объекта метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.3.26.
Методическая информация
Практические примеры
Проверить стандартные Номер/Дата и собственные поля заявки
Для документа стандартные реквизиты отличаются от справочника. Ищем их обходом описаний и отдельно проверяем Комментарий и табличную часть Товары.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.
Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.
Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.
Выполняйте только в новой базе Учебная85. Проверки читают настройки УчебнаяЗаявка; документы не создаются, не записываются и не проводятся.
Не добавляйте документу свои команды, макеты, характеристики, дополнительные индексы или основания ввода. Расширения в учебную базу не устанавливайте.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
ВызватьИсключение "Сначала создайте УчебнаяЗаявка по подготовке";
КонецЕсли;
Описание = Метаданные.Документы.УчебнаяЗаявка;
ЕстьНомер = Ложь;
ЕстьДата = Ложь;
Для Каждого Стандартный Из Описание.СтандартныеРеквизиты Цикл
Если Стандартный.Имя = "Номер" Тогда
ЕстьНомер = Истина;
КонецЕсли;
Если Стандартный.Имя = "Дата" Тогда
ЕстьДата = Истина;
КонецЕсли;
КонецЦикла;
Сообщить(ЕстьНомер);
Сообщить(ЕстьДата);
Сообщить(Описание.Реквизиты.Найти("Комментарий") <> Неопределено);
Сообщить(Описание.ТабличныеЧасти.Найти("Товары") <> Неопределено);
Сообщить(Описание.ВводитсяНаОсновании.Количество() = 0);
Сообщить(Описание.ДополнительныеИндексы.Количество() = 0);
Сообщить(Описание.Характеристики.Количество() = 0);
Сообщить(Описание.Команды.Количество() = 0);
Сообщить(Описание.Макеты.Количество() = 0);
Сообщить("Число полей блокировки документа: " + Строка(Описание.ПоляБлокировкиДанных.Количество()));
Сообщить("Режим управления блокировкой: " + Строка(Описание.РежимУправленияБлокировкойДанных));Разбор по шагам
Описания стандартных реквизитов поддерживают обход; у коллекции нет Найти. Проверяем имена Номер и Дата через булевы признаки.
Обычные реквизиты и табличные части — коллекции объектов метаданных, у них есть Найти. Ищем Комментарий и Товары, не значения конкретной заявки.
Пустые дополнительные настройки ожидаются по подготовке. Ноль дополнительных индексов не означает отсутствие индексов платформы.
Настройки блокировки читаются, но блокировки не устанавливаются и транзакции не начинаются.
Как проверить результат
Девять проверок дают Истина; затем фактические настройки блокировки.
В описании есть табличная часть Товары, но строки товаров и количество заявок базы не читались.
Ожидаемый результат
Контроль схемы заявки перед заполнением или импортом без операций с документами.
На что обратить внимание
Не используйте одинаковый набор стандартных полей для справочника и документа: у заявки Номер/Дата, а не Код/Наименование.
Поля блокировки не равны автоматически набору всех реквизитов.
Пустая коллекция собственных команд не доказывает отсутствие стандартных действий платформы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.