Тип: СозданиеПриВводе. Режим создания при вводе. Если значение = Авто, то участие в механизме создания при вводе определяется значением свойства СозданиеПриВводе объекта метаданных этого типа.
Полное описание, параметры и ограничения
ОбъектМетаданных: Документ.СозданиеПриВводе (MetadataObject: Document.CreateOnInput)
ОбъектМетаданных: Документ (MetadataObject: Document)
СозданиеПриВводе (CreateOnInput)
Доступен, начиная с версии 8.3.3.
Использование:
Только чтение.
Описание:
Тип: СозданиеПриВводе.
Режим создания при вводе. Если значение = Авто, то участие в механизме создания при вводе определяется значением свойства СозданиеПриВводе объекта метаданных этого типа.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.3.3.
Методическая информация
Практические примеры
Проверить настройку ввода ссылки на заявку по номеру
Номер входит в ВводПоСтроке после ручной настройки. Чтение этого состава не равно поиску или созданию реальной заявки.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.
Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.
Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.
Выполняйте только в новой базе Учебная85. Проверки читают настройки УчебнаяЗаявка; документы не создаются, не записываются и не проводятся.
Не добавляйте документу свои команды, макеты, характеристики, дополнительные индексы или основания ввода. Расширения в учебную базу не устанавливайте.
В УчебнаяЗаявка → Ввод по строке включите стандартный реквизит Номер и обновите БД. Уроку не нужны записанные заявки.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
ВызватьИсключение "Сначала создайте УчебнаяЗаявка по подготовке";
КонецЕсли;
Описание = Метаданные.Документы.УчебнаяЗаявка;
Сообщить(Описание.ВводПоСтроке.Найти("Номер") <> Неопределено);
Сообщить(Описание.ВводПоСтроке.Количество() >= 1);
Сообщить("История выбора документа: " + Строка(Описание.ИсторияВыбораПриВводе));
Сообщить("Создание при вводе: " + Строка(Описание.СозданиеПриВводе));
Сообщить("Способ поиска строки: " + Строка(Описание.СпособПоискаСтрокиПриВводеПоСтроке));
Сообщить("Режим получения при вводе: " + Строка(Описание.РежимПолученияДанныхВыбораПриВводеПоСтроке));
Сообщить("Полнотекстовый поиск документа: " + Строка(Описание.ПолнотекстовыйПоиск));
Сообщить("Полнотекстовый поиск при вводе: " + Строка(Описание.ПолнотекстовыйПоискПриВводеПоСтроке));Разбор по шагам
Найти у ВводПоСтроке проверяет состав разрешённых полей, а не ищет запись по номеру.
История выбора относится к предыдущим действиям выбора, а не версиям документа.
Способ поиска и режим получения описывают поиск строк. Полнотекстовый поиск — отдельный механизм с собственными условиями.
СозданиеПриВводе читаем, но не вызываем создание документа и не тестируем чужую форму ввода.
Как проверить результат
Две проверки дают Истина; остальные сообщения показывают текущие режимы.
После удаления Номер из настройки первая проверка становится Ложь. Ни один документ от этого кода не создаётся.
Ожидаемый результат
Проверка поля поиска ссылки на учебную заявку без операций записи.
На что обратить внимание
Один номер может не быть уникальным вне области нумерации/периода: настройка не заменяет устойчивую ссылку.
Флаг полнотекстового поиска не подтверждает готовность индекса или результат конкретного поиска.
Не путайте настройки метаданных с параметрами отдельного поля управляемой формы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить номер документа вместе с периодичностью, не только строку
ЗаказКлиента КА2 имеет строковый номер и годовую периодичность. Одинаковая строка номера в разных годах не обязана определять один документ.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Варианты = Метаданные.СвойстваОбъектов;
Описание = Метаданные.Документы.Найти("ЗаказКлиента");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Документы.ЗаказКлиента";
КонецЕсли;
Сообщить(Описание.ТипНомера = Варианты.ТипНомераДокумента.Строка);
Сообщить(Описание.ПериодичностьНомера = Варианты.ПериодичностьНомераДокумента.Год);
НомерИзОбмена = "000123";
ДатаПервого = Дата(2025, 12, 31);
ДатаВторого = Дата(2026, 1, 1);
ОдинПериод = Год(ДатаПервого) = Год(ДатаВторого);
Сообщить(Не ОдинПериод);
Если Описание.ТипНомера = Варианты.ТипНомераДокумента.Строка Тогда
Сообщить(НомерИзОбмена = "000123");
КонецЕсли;
Если Описание.ПериодичностьНомера = Варианты.ПериодичностьНомераДокумента.Год Тогда
Сообщить("Для сопоставления номера учитывайте год и собственный внешний ключ обмена");
КонецЕсли;
Сообщить("Создание при вводе: " + Строка(Описание.СозданиеПриВводе));
Если Описание.СозданиеПриВводе = Варианты.СозданиеПриВводе.НеИспользовать Тогда
Сообщить("Не рассчитывайте на автоматическое создание документа при вводе строки");
КонецЕсли;Разбор по шагам
Системные значения ТипНомераДокумента и ПериодичностьНомераДокумента берём из СвойстваОбъектов.
Сохраняем ведущие нули строкового номера.
Сравниваем две собственные даты по году: граница 31 декабря/1 января меняет период нумерации.
СозданиеПриВводе не является разрешением автоматически записывать документ обмена.
Как проверить результат
Для предоставленного XML четыре сравнения Истина: строковый номер, годовой период, разные годы и сохранённое 000123.
Код не ищет и не записывает документы: проверяется контракт сопоставления.
Ожидаемый результат
Выбран контекст для будущего поиска номера без смешения разных периодов.
На что обратить внимание
Не считайте строку номера универсальным ID внешней системы.
В другой конфигурации периодичность может отличаться; прочитайте её до построения условия поиска.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.