ОбъектМетаданных: Реквизит.Тип

Свойства · Type

Тип: ОписаниеТипов. Тип данных объекта метаданных.

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

ОбъектМетаданных: Реквизит.Тип (MetadataObject: Attribute.Type)

ОбъектМетаданных: Реквизит (MetadataObject: Attribute)

Тип (Type)

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

Использование:
Только чтение.
Описание:
Тип: ОписаниеТипов.
Тип данных объекта метаданных.
Доступность:

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

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

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

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

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

Различить полнотекстовый поиск и историю данных артикула

Обе настройки у Артикул включены, но они решают разные задачи. Чтение свойства не означает, что поисковый индекс или история уже актуальны.

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

Полный серверный общий модуль учебной копии КА2 Progress. Только схема и собственные значения в памяти.

Подготовка

  1. Используйте отдельную учебную копию КА2 Progress, соответствующую C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Названия и настройки проверены по реальным Catalogs/Номенклатура.xml и Catalogs/ВидыПодарочныхСертификатов.xml.

  2. Создайте серверный общий модуль УчебныеЗадачи, вставьте полный модуль одного урока и вызовите ВыполнитьПример() из своего серверного обработчика учебной команды.

  3. Примеры читают схему и создают значения только в памяти. Они не создают и не записывают товары, не меняют метаданные, не запускают заполнение объекта или перестроение поискового индекса.

Процедура ВыполнитьПример() Экспорт
    Справочник = Метаданные.Справочники.Найти("Номенклатура");
    Если Справочник = Неопределено Тогда
        ВызватьИсключение "В учебной конфигурации отсутствует Справочники.Номенклатура";
    КонецЕсли;
    Описание = Справочник.Реквизиты.Найти("Артикул");
    Если Описание = Неопределено Тогда
        ВызватьИсключение "В найденном справочнике нет нужного реквизита учебного урока";
    КонецЕсли;
    Сообщить(Описание.ПолнотекстовыйПоиск = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать);
    Сообщить(Описание.ИсторияДанных = Метаданные.СвойстваОбъектов.ИспользованиеИсторииДанных.Использовать);
    Сообщить(Описание.Индексирование = Метаданные.СвойстваОбъектов.Индексирование.Индексировать);
    Сообщить(Описание.Тип.СодержитТип(Тип("Строка")));
    Сообщить(Описание.Тип.КвалификаторыСтроки.Длина = 50);
    УчебныйАртикул = "000123";
    Сообщить(ТипЗнч(УчебныйАртикул) = Тип("Строка"));
    Сообщить(УчебныйАртикул = "000123");
КонецПроцедуры

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

  1. ПолнотекстовыйПоиск включает участие данных поля в полнотекстовом поиске. Это не запуск обновления индекса и не обычный индекс СУБД.

  2. ИсторияДанных описывает участие поля в механизме истории данных, а не историю выпадающего выбора пользователя.

  3. Индексирование отдельно относится к индексированию данных реквизита. Три свойства нельзя объединять одним флагом Быстрый поиск.

  4. Реальный Артикул — строка длиной 50. Учебное 000123 остаётся строкой и сохраняет ведущие нули; поле не приравнивается к коду справочника.

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

  1. Семь контрольных Истина для исходных настроек и собственного строкового артикула.

  2. Нет записи артикула, обновления индекса или изменения настроек истории.

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

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

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

  1. Настройка Use не доказывает актуальность индекса или полноту истории в рабочей базе.

  2. Не преобразуйте цифровой на вид артикул в Число.

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

Прочитать значение заполнения, не обещая автоматическое заполнение товара

У ВариантОформленияПродажи задано значение РеализацияТоваровУслуг, но FillFromFillingValue=false. Значение и разрешение его использования — разные настройки.

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

Полный серверный общий модуль учебной копии КА2 Progress. Только схема и собственные значения в памяти.

Подготовка

  1. Используйте отдельную учебную копию КА2 Progress, соответствующую C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Названия и настройки проверены по реальным Catalogs/Номенклатура.xml и Catalogs/ВидыПодарочныхСертификатов.xml.

  2. Создайте серверный общий модуль УчебныеЗадачи, вставьте полный модуль одного урока и вызовите ВыполнитьПример() из своего серверного обработчика учебной команды.

  3. Примеры читают схему и создают значения только в памяти. Они не создают и не записывают товары, не меняют метаданные, не запускают заполнение объекта или перестроение поискового индекса.

Процедура ВыполнитьПример() Экспорт
    Справочник = Метаданные.Справочники.Найти("Номенклатура");
    Если Справочник = Неопределено Тогда
        ВызватьИсключение "В учебной конфигурации отсутствует Справочники.Номенклатура";
    КонецЕсли;
    Описание = Справочник.Реквизиты.Найти("ВариантОформленияПродажи");
    Если Описание = Неопределено Тогда
        ВызватьИсключение "В найденном справочнике нет нужного реквизита учебного урока";
    КонецЕсли;
    ЗначениеПоУмолчанию = Описание.ЗначениеЗаполнения;
    Ожидаемое = Перечисления.ВариантыОформленияПродажи.РеализацияТоваровУслуг;
    Сообщить(ЗначениеПоУмолчанию = Ожидаемое);
    Сообщить(Описание.ЗаполнятьИзДанныхЗаполнения = Ложь);
    Сообщить(Описание.Тип.СодержитТип(ТипЗнч(ЗначениеПоУмолчанию)));
    Если Описание.ЗаполнятьИзДанныхЗаполнения Тогда
        Сообщить("Флаг использования данных заполнения включён; реальное заполнение требует отдельного анализа обработчика");
    Иначе
        Сообщить("Наличие значения не означает включённое использование данных заполнения");
    КонецЕсли;
    Сообщить("Объект номенклатуры не создавался и процедура заполнения не запускалась");
КонецПроцедуры

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

  1. ЗначениеЗаполнения читается как типизированное значение пользовательского перечисления, не как строка РеализацияТоваровУслуг.

  2. Ожидаемое значение существует в XML этой КА2. Оно не объявляется универсальным для УТ, УНФ или пустой учебной конфигурации.

  3. ЗаполнятьИзДанныхЗаполнения читается отдельно и в исходном XML равно false. Не делаем из факта наличия значения вывод о заполнении каждого нового объекта.

  4. СодержитТип проверяет совместимость значения со схемой. Объект не создаётся, Заполнить и Записать не вызываются.

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

  1. Три проверки — Истина в исходной копии и пояснение выключенного флага.

  2. Никакая номенклатура не изменена; подтверждение реального заполнения потребовало бы отдельного теста обработчика на копии.

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

Ученик различает объявленный шаблон значения и фактический механизм заполнения объекта.

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

  1. Не подменяйте значение пользовательского перечисления строкой его имени.

  2. Метаданные не объясняют все программные переопределения заполнения.

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

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

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

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

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