Обратиться к собственным элементам обычной формы по имени

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

На собственной обычной форме разделяем динамические свойства значений реквизитов и доступ к конкретным элементам формы.

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

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

Подготовка

  1. Создайте свою внешнюю обработку с обычной формой, запуск — толстый клиент. Реквизиты Наименование (Строка 100), Количество (Число 10.0), Цена и Сумма (Число 12.2).

  2. Разместите поля ПолеНаименования с данными Наименование и ПолеСуммы с данными Сумма. Основной блок назначьте ПриОткрытии этой обычной формы.

  3. Имя реквизита и имя элемента намеренно различаются: ЭтаФорма.Наименование — значение, ЭлементыФормы.ПолеНаименования — элемент управления.

Процедура ПриОткрытии()
    ЭтаФорма.Наименование = "Учебная книга";
    ЭтаФорма.Количество = 3;
    ЭтаФорма.Цена = 250;
    ЭтаФорма.Сумма = ЭтаФорма.Количество * ЭтаФорма.Цена;
    ЭлементыФормы.ПолеНаименования.ТолькоПросмотр = Ложь;
    ЭлементыФормы.ПолеСуммы.ТолькоПросмотр = Истина;
    Сообщить(ЭтаФорма.Наименование + ": " + Строка(ЭтаФорма.Сумма));
КонецПроцедуры

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

  1. Создаём в редакторе именно тот реквизит, элемент, параметр или модуль, имя которого используется кодом.

  2. Работаем с конкретным подготовленным владельцем динамического свойства.

  3. Проверяем изменение своей формы / результат расчёта, не обращаясь к рабочим данным.

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

  1. Собственная книга имеет количество 3, цену 250 и сумму 750.

  2. Наименование можно редактировать, поле суммы только для просмотра. Коллекция возвращает элемент, а не хранит значение реквизита.

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

Динамическое имя показано на собственном созданном контексте, а не на неизвестном входном объекте.

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

  1. Имя внутри угловых скобок из справки не вставляется в код буквально: его заменяет имя реально созданной метадаты / колонки / элемента.

  2. Коллекция только для чтения может возвращать элемент с изменяемыми свойствами. Не присваивайте новый объект самому именованному свойству коллекции.

  3. Код 1С при сборке HTML не исполнялся; рабочая конфигурация и её данные не изменялись.

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

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

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

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

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