Управлять собственной кнопкой командной панели по имени

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

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

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

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

Подготовка

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

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

  3. Запуск — толстый клиент. Сравните создание формы при исходном количестве 3 и при 0: доступность собственной кнопки определяется при открытии, не обновляется автоматически от любого присваивания.

Процедура ПриОткрытии()
    Количество = 3;
    Цена = 250;
    Сумма = 0;
    КнопкаРасчета = ЭлементыФормы.ПанельУрока.Кнопки.Рассчитать;
    КнопкаРасчета.Доступность = Количество > 0;
    Сообщить("Количество для собственной кнопки: " + Строка(Количество));
КонецПроцедуры
Та же обычная форма: Нажатие собственной кнопки Рассчитать
Процедура РассчитатьНажатие(Кнопка)
    Сумма = Количество * Цена;
    Сообщить("Собственное количество: " + Строка(Количество));
    Сообщить("Результат расчета: " + Строка(Сумма));
КонецПроцедуры

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

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

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

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

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

  1. При количестве 3 кнопка доступна, после нажатия сумма 750.

  2. При начальном количестве 0 кнопка недоступна. Изменение её свойств не создаёт новую кнопку.

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

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

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

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

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

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

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

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

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

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

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