← Назад к вопросам

Что такое команда?

1.0 Junior🔥 211 комментариев
#Объекты метаданных#Формы и интерфейс

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Команда в 1С (Команда)

Команда в 1С это элемент пользовательского интерфейса, который выполняет определённое действие при клике пользователя. Команда это основной способ взаимодействия пользователя с приложением.

Определение

Команда это:

  • Действие которое выполняется в приложении
  • Кнопка, пункт меню или ссылка в интерфейсе
  • Обработчик события связанный с командой
  • Визуальное представление (название, иконка, горячая клавиша)

Структура команды

// Команда: "Создать документ"

// Основные свойства:
Наименование = "Создать документ" // текст в кнопке
Представление = "Создать" // отображаемое имя
Только = Ложь // видна всегда
Описание = "Создаёт новый документ продажи"
Картинка = Картинки.СоздатьДокумент // иконка кнопки
КартинкаРазмер = СреднийРазмер
Ускоритель = "Ctrl+N" // горячая клавиша
ВидИспользования = КнопкаПанелиИнструментов

Типы команд по способу вызова

1. Команда кнопки

// На форме документа есть кнопка "Сохранить"
// Расположение: панель инструментов

Процедура СохранитьНажатие()
    // Выполняется при клике на кнопку
    Объект.Записать();
КонецПроцедуры

2. Команда пункта меню

// Меню: Документ → Провести
// Расположение: основное меню

Процедура ПроводитьНажатие()
    Объект.Провести();
КонецПроцедуры

3. Команда контекстного меню

// Правый клик на элемент таблицы → "Удалить"
// Расположение: контекстное меню таблицы

Процедура УдалитьСтрокуНажатие()
    Строка = Элементы.Таблица.ТекущаяСтрока;
    Таблица.Удалить(Строка);
КонецПроцедуры

Создание команды в конфигураторе

Форма → Команды → Добавить команду

Свойства команды:
- Имя: "СохранитьДокумент"
- Название: "Сохранить"
- Описание: "Сохраняет документ в базе"
- Ускоритель: "Ctrl+S"
- Картинка: выбрать из галереи

Практический пример

// На форме есть команда "Рассчитать сумму"

Процедура РассчитатьСуммуНажатие()
    
    // Шаг 1: Получить данные из формы
    КоличествоТовара = Объект.Количество;
    ЦенаТовара = Объект.Цена;
    
    // Шаг 2: Выполнить вычисление
    Сумма = КоличествоТовара * ЦенаТовара;
    
    // Шаг 3: Обновить форму
    Объект.Сумма = Сумма;
    
    // Шаг 4: Показать результат
    Сообщить("Сумма рассчитана: " + Сумма + " руб");
    
КонецПроцедуры

Расположение команд на форме

Панель инструментов

┌─────────────────────────────┐
│ [Создать] [Сохранить] [Удалить] ... │
└─────────────────────────────┘

Основное меню

Документ
├─ Создать
├─ Сохранить
├─ Провести
├─ Отменить проведение
└─ Удалить

Контекстное меню (при правом клике)

┌─ Добавить строку
├─ Удалить строку
├─ Вставить строку выше
└─ Вставить строку ниже

Группировка команд

// На форме можно группировать команды
// Группа "Основные операции":

├─ Сохранить
├─ Провести
└─ Отменить проведение

// Группа "Действия":
├─ Копировать
├─ Переместить
└─ Отправить

Управление доступностью команды

// Команда может быть активна или неактивна

Процедура ПриОткрытииФормы(Отмена, СтандартнаяОбработка)
    
    // Если документ проведён — деактивировать команду "Удалить"
    Если Объект.Статус = "Проведён" Тогда
        Элементы.УдалитьКоманда.Доступна = Ложь;
    Иначе
        Элементы.УдалитьКоманда.Доступна = Истина;
    КонецЕсли;
    
КонецПроцедуры

Процедура ОбъектПриИзменении(Отмена)
    // При изменении документа включить кнопку "Сохранить"
    Элементы.СохранитьКоманда.Доступна = Истина;
КонецПроцедуры

Визуальное оформление команды

// Команда "Предупреждение" с красной иконкой

Процедура ПредупреждениеНажатие()
    Элементы.ПредупреждениеКоманда.Картинка = Картинки.Предупреждение;
    Элементы.ПредупреждениеКоманда.ЦветТекста = ЦветЧисло(255, 0, 0); // красный
КонецПроцедуры

Обработчики команд

// Когда пользователь нажимает на команду,
// вызывается процедура с суффиксом "Нажатие"

Процедура ИмяКомандыНажатие()
    // Код команды здесь
КонецПроцедуры

// Альтернативно, можно назначить обработчик вручную
Процедура МояОбработчик(Элемент)
    // Код команды здесь
КонецПроцедуры

Быстрые клавиши (Ускорители)

// Команда "Сохранить" имеет ускоритель Ctrl+S
// Пользователь может нажать Ctrl+S вместо клика на кнопку

// Распространённые ускорители:
Ctrl+S - Сохранить
Ctrl+P - Печать
Ctrl+N - Новый документ
Ctrl+Z - Отмена
Ctrl+Y - Повтор
Del - Удалить
F5 - Обновить

Команды в разных типах форм

На форме документа

- Создать новый
- Сохранить
- Провести / Отменить проведение
- Удалить
- Печать
- Отправить

На форме справочника

- Создать элемент
- Сохранить
- Удалить
- Копировать
- Выбрать

На форме отчёта

- Обновить
- Сохранить
- Печать
- Экспорт в Excel
- Экспорт в PDF

Стандартные команды платформы

Платформа автоматически создаёт команды:

ПолучитьСтандартныеКоманды();
// Возвращает:
// "Записать" - Ctrl+S
// "ОтменитьПроведение" - Ctrl+Q
// "Провести" - Ctrl+P
// "Удалить" - Del
// "Отмена" - Ctrl+Z
// "Повтор" - Ctrl+Y

Практический пример: полная команда

// На форме счёта создана команда "Рассчитать НДС"

Процедура РассчитатьНДСНажатие()
    
    // Проверка предусловия
    Если Не Объект.НД Тогда
        ВызватьИсключение("Выберите НД");
    КонецЕсли;
    
    // Вычисление
    Для каждого Строка Из Объект.Товары Цикл
        Строка.НДС = Строка.Сумма * 0.18;
        Строка.СуммаСНДС = Строка.Сумма + Строка.НДС;
    КонецЦикла;
    
    // Итого по документу
    ИтогоСумма = 0;
    ИтогоНДС = 0;
    Для каждого Строка Из Объект.Товары Цикл
        ИтогоСумма = ИтогоСумма + Строка.Сумма;
        ИтогоНДС = ИтогоНДС + Строка.НДС;
    КонецЦикла;
    
    Объект.ИтогоСумма = ИтогоСумма;
    Объект.ИтогоНДС = ИтогоНДС;
    Объект.ИтогоСуммаСНДС = ИтогоСумма + ИтогоНДС;
    
    // Сообщение об успехе
    Сообщить("НДС рассчитан: " + ИтогоНДС + " руб");
    
КонецПроцедуры

Чеклист при создании команды

  • Команда имеет понятное название
  • Есть описание для справки
  • Установлена подходящая иконка
  • Назначена горячая клавиша (если нужна)
  • Обработчик команды выполняет одну функцию
  • Команда проверяет предусловия
  • Результат отображается пользователю
  • Команда управляет доступностью (Доступна)
  • Проведено тестирование

Итого: команда это основной способ взаимодействия пользователя с приложением в 1С, представляющий собой кнопку, пункт меню или ссылку, которая выполняет определённое действие.