Как добавить новую форму и команду в обработку?

Добавление новой формы и команды в обработку в 1С осуществляется через конфигуратор и представляет собой настройку интерфейса и логики пользовательского взаимодействия. Этот процесс состоит из нескольких шагов: создание формы, создание команды, привязка команды к форме и написание обработчиков событий. Всё это может применяться как во внешних, так и внутренних обработках.

1. Создание новой формы

Шаг 1. Открытие обработки

  • В конфигураторе откройте нужную внешнюю или внутреннюю обработку.

  • Если вы только что создали новую обработку, она пока не содержит формы.

Шаг 2. Добавление формы

  • В дереве объектов обработки откройте ветку Формы.

  • Щёлкните правой кнопкой по ветке ФормыДобавить форму.

  • Выберите тип формы: Форма обработки, Форма списка, Произвольная форма (обычно выбирается Форма обработки).

  • Дайте имя форме, например ОсновнаяФорма.

Шаг 3. Настройка визуальных элементов

  • Форма откроется в визуальном редакторе.

  • Добавьте элементы управления: кнопки, поля ввода, табличные поля и т.д.

  • Настройте свойства каждого элемента: заголовки, привязки к реквизитам, выравнивание и т.п.

  • Можно использовать расположение по группам, панели, флажки, переключатели и другие элементы.

2. Создание команды

Шаг 1. Переход в раздел "Команды"

  • В дереве обработки откройте ветку Команды.

  • Щёлкните правой кнопкой → Добавить.

Шаг 2. Настройка команды

  • Укажите имя команды, например КомандаРассчитать.

  • Введите заголовок, который будет отображаться на форме: например, "Рассчитать".

  • В свойствах команды настройте:

    • Видимость (по умолчанию Истина).

    • Доступность (можно сделать зависящей от состояния формы).

    • Действие — выберите "Обработчик команды формы".

3. Привязка команды к форме

Способ 1: Перетаскивание

  • Перейдите в редактор формы.

  • Откройте панель Команды формы.

  • Перетащите команду на нужную панель или в нужную часть формы (например, на панель кнопок).

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

Способ 2: Вручную через свойства

  • В форме добавьте элемент "Кнопка".

  • В её свойствах укажите имя команды, например КомандаРассчитать.

  • Система автоматически привяжет кнопку к вашей команде и вызовет соответствующий обработчик.

4. Создание обработчика команды

Автоматически:

Дважды кликните по кнопке на форме — откроется модуль формы с заготовкой обработчика:

Процедура КомандаРассчитать(Команда)
// Здесь ваш код
КонецПроцедуры

Вручную:

Откройте модуль формы.
Добавьте процедуру вручную:

<br/>Процедура КомандаРассчитать(Команда)
Сообщить("Команда выполнена.");
КонецПроцедуры

5. Использование реквизитов формы в обработчике

Если у вас есть реквизиты, добавленные на форму (например, Сумма или Дата), вы можете использовать их напрямую:

<br/>Процедура КомандаРассчитать(Команда)
Если Сумма > 100 Тогда
Сообщить("Сумма больше 100");
Иначе
Сообщить("Сумма не превышает 100");
КонецЕсли;
КонецПроцедуры

6. Проверка команды и формы в 1С:Предприятии

  1. Сохраните обработку.

  2. Закройте Конфигуратор и запустите 1С:Предприятие.

  3. Через Файл → Открыть выберите вашу обработку .epf.

  4. Убедитесь, что форма открывается, кнопка видна, команда работает.

7. Дополнительные возможности команд

  • Команды можно использовать не только на формах, но и для вызова через панели навигации, горячие клавиши, меню.

  • Можно создавать несколько команд, каждая из которых будет выполнять отдельное действие.

  • Можно добавлять параметры, передавать их в процедуры, работать с табличными данными.

8. Пример создания команды на основе табличных данных

Допустим, у вас есть реквизит Таблица типа ТаблицаЗначений. В обработчике команды можно обрабатывать строки:

Процедура КомандаРассчитать(Команда)
Для Каждого Стр Из Таблица Цикл
Стр.Сумма = Окр(Стр.Количество \* 15, 0);
КонецЦикла;
ЭлементыФормы.Таблица.Обновить();
КонецПроцедуры

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