Тип: Индексирование. Вид дополнительных индексов, создаваемых для работы с данными объекта метаданных.
Полное описание, параметры и ограничения
ОбъектМетаданных: Реквизит.Индексирование (MetadataObject: Attribute.Indexing)
ОбъектМетаданных: Реквизит (MetadataObject: Attribute)
Индексирование (Indexing)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: Индексирование.
Вид дополнительных индексов, создаваемых для работы с данными объекта метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Для всех реквизитов, кроме реквизитов, описывающих отчеты, обработки и табличные части отчетов и обработок.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Различить полнотекстовый поиск и историю данных артикула
Обе настройки у Артикул включены, но они решают разные задачи. Чтение свойства не означает, что поисковый индекс или история уже актуальны.
Где и как запускать
Полный серверный общий модуль учебной копии КА2 Progress. Только схема и собственные значения в памяти.
Подготовка
Используйте отдельную учебную копию КА2 Progress, соответствующую C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Названия и настройки проверены по реальным Catalogs/Номенклатура.xml и Catalogs/ВидыПодарочныхСертификатов.xml.
Создайте серверный общий модуль УчебныеЗадачи, вставьте полный модуль одного урока и вызовите ВыполнитьПример() из своего серверного обработчика учебной команды.
Примеры читают схему и создают значения только в памяти. Они не создают и не записывают товары, не меняют метаданные, не запускают заполнение объекта или перестроение поискового индекса.
Процедура ВыполнитьПример() Экспорт
Справочник = Метаданные.Справочники.Найти("Номенклатура");
Если Справочник = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Справочники.Номенклатура";
КонецЕсли;
Описание = Справочник.Реквизиты.Найти("Артикул");
Если Описание = Неопределено Тогда
ВызватьИсключение "В найденном справочнике нет нужного реквизита учебного урока";
КонецЕсли;
Сообщить(Описание.ПолнотекстовыйПоиск = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать);
Сообщить(Описание.ИсторияДанных = Метаданные.СвойстваОбъектов.ИспользованиеИсторииДанных.Использовать);
Сообщить(Описание.Индексирование = Метаданные.СвойстваОбъектов.Индексирование.Индексировать);
Сообщить(Описание.Тип.СодержитТип(Тип("Строка")));
Сообщить(Описание.Тип.КвалификаторыСтроки.Длина = 50);
УчебныйАртикул = "000123";
Сообщить(ТипЗнч(УчебныйАртикул) = Тип("Строка"));
Сообщить(УчебныйАртикул = "000123");
КонецПроцедурыРазбор по шагам
ПолнотекстовыйПоиск включает участие данных поля в полнотекстовом поиске. Это не запуск обновления индекса и не обычный индекс СУБД.
ИсторияДанных описывает участие поля в механизме истории данных, а не историю выпадающего выбора пользователя.
Индексирование отдельно относится к индексированию данных реквизита. Три свойства нельзя объединять одним флагом Быстрый поиск.
Реальный Артикул — строка длиной 50. Учебное 000123 остаётся строкой и сохраняет ведущие нули; поле не приравнивается к коду справочника.
Как проверить результат
Семь контрольных Истина для исходных настроек и собственного строкового артикула.
Нет записи артикула, обновления индекса или изменения настроек истории.
Ожидаемый результат
Правильно определены тип входящего артикула и три независимых механизма работы с ним.
На что обратить внимание
Настройка Use не доказывает актуальность индекса или полноту истории в рабочей базе.
Не преобразуйте цифровой на вид артикул в Число.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Сверить типы Артикул и Цена, не путая формат с ограничением значения
ОписаниеТипов сообщает допустимый тип и квалификаторы. Маска, формат и многострочный режим управляют представлением/вводом и не заменяют числовой контракт.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Реквизиты = Метаданные.Справочники.УчебныеТовары.Реквизиты;
Артикул = Реквизиты.Найти("Артикул");
Цена = Реквизиты.Найти("Цена");
Если Артикул = Неопределено Или Цена = Неопределено Тогда
ВызватьИсключение "Не созданы учебные Артикул и Цена";
КонецЕсли;
Сообщить(Артикул.Тип.СодержитТип(Тип("Строка")));
Сообщить(Артикул.Тип.КвалификаторыСтроки.Длина = 20);
Сообщить(Цена.Тип.СодержитТип(Тип("Число")));
Сообщить(Цена.Тип.КвалификаторыЧисла.Разрядность = 12);
Сообщить(Цена.Тип.КвалификаторыЧисла.РазрядностьДробнойЧасти = 2);
Сообщить(Цена.Тип.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный);
Для Каждого Описание Из Реквизиты Цикл
Сообщить("Имя: " + Описание.Имя + "; синоним: " + Описание.Синоним);
Сообщить("Комментарий: " + Описание.Комментарий);
Сообщить("Подсказка: " + Описание.Подсказка);
Сообщить("Формат вывода: " + Описание.Формат);
Сообщить("Формат ввода: " + Описание.ФорматРедактирования);
Сообщить("Маска: " + Описание.Маска);
Сообщить("Многострочный режим: " + Строка(Описание.МногострочныйРежим));
Сообщить("Расширенное редактирование: " + Строка(Описание.РасширенноеРедактирование));
Сообщить("Режим пароля: " + Строка(Описание.РежимПароля));
Сообщить("Отрицательные выделяются: " + Строка(Описание.ВыделятьОтрицательные));
Сообщить("Проверка заполнения: " + Строка(Описание.ПроверкаЗаполнения));
Сообщить("Использование для групп/элементов: " + Строка(Описание.Использование));
Сообщить("Индексирование: " + Строка(Описание.Индексирование));
Сообщить("Заполнение из переданных данных: " + Строка(Описание.ЗаполнятьИзДанныхЗаполнения));
КонецЦикла;Разбор по шагам
Найти получает описания двух собственных реквизитов; для первого запуска они созданы точно по подготовке.
Тип содержит ОписаниеТипов. Для Артикул читаем квалификатор строки, для Цена — квалификаторы числа.
Отдельно выводим Формат, ФорматРедактирования и Маска: они не меняют сами данные и не разрешают цену с отрицательным знаком.
МногострочныйРежим и РасширенноеРедактирование влияют на ввод текста; РежимПароля скрывает ввод, а не шифрует значение в базе.
ПроверкаЗаполнения и Использование описывают проверку и применимость реквизита. Индексирование — настройка хранения/поиска, а не индекс позиции в коллекции.
Как проверить результат
Артикул: Строка/20, Цена: Число/12.2/неотрицательное; все шесть сравнений — Истина.
В начальной подготовке Маска и оба формата не заданы. Пустая строка этих настроек не означает отсутствующий реквизит.
Если поменять только Формат для Цена, её тип Число 12.2 останется прежним.
Ожидаемый результат
Проверены реальные ограничения типов и отдельно прочитаны настройки отображения, ввода и заполнения.
На что обратить внимание
Цена 12.2 ограничена числом цифр, а не правилом наценки или допустимой валютой.
ВыделятьОтрицательные меняет отображение; запрет отрицательных значений задаётся квалификатором и бизнес-проверками.
РежимПароля не является защитой хранимых секретов. Не храните реальные пароли в учебных реквизитах.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.