Создание: собственное поле обычной формы

Учебные задачи

Команда создания открывает собственный новый объект с начальным наименованием. Записать автоматически не вызывается.

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

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

Подготовка

  1. Создайте собственную внешнюю обработку с обычной формой. Запускайте в толстом клиенте, не в тонком клиенте управляемого приложения.

  2. Реквизиты формы: Наименование (Строка 100), Количество (Число 10.0), Цена (Число 12.2), Сумма (Число 12.2). Элемент ПолеУрока — ПолеВвода, основной обработчик назначьте его событию Создание.

  3. Поле для суммы выведите только для просмотра. В числовых опытах цена 100; при количестве 3 сумма 300. Имена реквизитов и элемента различаются намеренно.

  4. Основной код и дополнительные блоки — отдельные процедуры модуля обычной формы. Директивы &НаКлиенте / &НаСервере не добавляются.

  5. Создайте собственный справочник УчебныеТоварыКонтроля: строковый код 10 с автонумерацией, наименование 100. Создайте у него обычную форму элемента УчебнаяОбычная с основным объектом и полем наименования.

  6. Добавьте реквизит формы ВыбранныйТовар типа СправочникСсылка.УчебныеТоварыКонтроля. У ПолеУрока данные ВыбранныйТовар; не оставляйте строковый тип этого опыта.

  7. Выполните стандартную команду Создание из выпадающего списка ссылочного поля. Это событие связано с этой командой, не с кнопкой открытия существующего.

  8. Дополнительную ПриОткрытии назначьте событию самой формы. Повторный опыт проводите в новом экземпляре формы, чтобы начальные данные были известны.

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

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

  1. Подготавливаем реальное поле ПолеУрока и реквизит соответствующего этому опыту типа.

  2. Платформа вызывает обработчик по указанному действию пользователя; параметры после Элемент взяты из справки.

  3. Команда создания открывает собственный новый объект с начальным наименованием. Записать автоматически не вызывается.

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

  1. Открыта новая карточка Новая собственная книга; её ещё можно закрыть без записи.

  2. Передача результата после ручной записи зависит от штатных оповещений объектной формы; один этот обработчик ссылку не присваивает.

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

Показана реальная обработка ввода в собственном поле обычной формы.

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

  1. Поле ввода строки, числа и ссылки — разные варианты подготовки; не оставляйте несовместимый тип реквизита.

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

  3. Пример не изменяет рабочие документы; вся используемая номенклатура создаётся как собственные учебные метаданные.

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

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

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

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

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

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