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