Первый самостоятельный результат

Как создать
внешнюю обработку в 1С: форма, кнопка и
«Привет мир»

Сделаем первую программу — Hello World в 1С. Создадим внешнюю обработку с управляемой формой и кнопкой: сначала она покажет «Привет». Потом изменим сообщение, зададим понятное название обработки, сохраним файл и откроем его заново. На каждом шаге есть снимок настоящего конфигуратора 1С.

Обработка «Привет мир» в 1С: кнопка «Выполнить» вывела сообщение «Привет мир 1С» внизу окна
Такой результат получим в конце: название обработки — «Привет мир», текст сообщения — «Привет мир 1С». Нажмите на снимок, чтобы рассмотреть его целиком.
  • От пустой формы до сообщения
  • Картинка и подпись на кнопке
  • Привязка команды к процедуре
  • Сохранение и повторный запуск
Содержание

Что понадобится и где будем работать

Для нового старта используйте 1С:Предприятие 8.5 с конфигуратором. Комьюнити-лицензию и доступную для неё сборку берите в личном кабинете developer.1c.ru. Выбирайте установщик для своей операционной системы и следуйте условиям лицензии. Отдельный продукт «Учебная версия» и комьюнити-лицензия — не одно и то же.

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

Работаем с внешней обработкой: она хранится в отдельном файле .epf. Для этого упражнения не добавляем объекты в основную конфигурацию, не меняем её структуру и не записываем документы или справочники. Рабочая база организации здесь не нужна.

Конфигуратор — место, где создаём форму и пишем код. 1С:Предприятие — отдельное окно, где пользователь нажимает кнопку и видит результат. Если на снимке мелко, нажмите на него: откроется исходное изображение целиком.

Создаём внешнюю обработку и форму

Сначала оставим имена, которые предлагает платформа. Понятное название дадим после первого успешного запуска: так будет проще сверяться со снимками.

  1. Покажите дерево конфигурации

    В конфигураторе нажмите «Открыть конфигурацию» — значок выделен красной рамкой. Эта же команда есть в меню «Конфигурация». Слева появится дерево объектов.

    Дерево открываем для знакомства с рабочим местом. Нашу обработку не добавляем в его раздел «Обработки»: она будет отдельным файлом.

    Кнопка «Открыть конфигурацию» в конфигураторе 1С
    Сначала откройте дерево конфигурации кнопкой на панели инструментов.
  2. Выберите «Файл» → «Новый» → «Внешняя обработка»

    Откройте меню «Файл», нажмите «Новый…». Windows: Ctrl+N; macOS: Cmd+N. В появившемся списке выберите «Внешняя обработка» и нажмите «ОК». Это не новый документ учёта и не изменение конфигурации базы.

    В окне выбора вида документа выделена внешняя обработка
    В списке нужен именно вид документа «Внешняя обработка».
  3. Добавьте форму обработки

    Откроется редактор с именем «ВнешняяОбработка1». Пока не переименовывайте его. В дереве этого небольшого окна выделите «Формы» и нажмите зелёный плюс.

    Раздел «Формы» внешней обработки и кнопка добавления формы
    Добавляем форму внутри внешней обработки, а не основной конфигурации.
  4. Назначьте форму основной

    В конструкторе оставьте «Форма обработки», имя «Форма» и флажок «Назначить форму основной». Нажмите «Готово». Основная форма будет открываться, когда запустим файл обработки.

    Если в вашей версии предлагается выбор между обычной и управляемой формой, для этого примера нужна управляемая.

    Конструктор формы обработки с основной формой и кнопкой «Готово»
    Флажок основной формы отмечен. После «Готово» откроется редактор формы.

Добавляем команду и размещаем кнопку

Команда задаёт действие, а кнопка показывает его пользователю. Просто нарисовать кнопку недостаточно: дальше свяжем команду с процедурой.

  1. Откройте вкладку «Команды»

    В правой части редактора формы переключитесь с «Реквизитов» на «Команды». Внутри должна быть выбрана вкладка «Команды формы».

    Вкладка «Команды» в редакторе управляемой формы
    Нужна вкладка команд в редакторе, а не командная панель в дереве слева.
  2. Нажмите зелёный плюс

    В списке команд нажмите «Добавить». Платформа создаст «Команда1». Если окно свойств не появилось, откройте свойства новой команды через контекстное меню.

    Зелёный плюс добавления команды формы в 1С
    Создаём одну собственную команду формы.
  3. Оставьте имя «Команда1»

    В свойстве «Имя» оставьте «Команда1» — дальше именно так будет называться обработчик на снимках. В свойстве «Заголовок» напишите «Выполнить». Имя используется в настройках и коде, а заголовок увидит пользователь.

    Свойство «Имя» новой команды формы со значением «Команда1»
    Не путайте внутреннее имя команды и надпись на будущей кнопке.
  4. Перетащите команду на командную панель

    Перетащите «Команда1» из правого списка в «Командную панель» слева, как показывает стрелка. Появится элемент «ФормаКоманда1», а в предварительном просмотре внизу — кнопка «Выполнить».

    В свойствах созданной кнопки «ИмяКоманды» должно указывать на «Команда1». Так кнопка связана с командой; код для команды добавим чуть ниже.

    Перетаскивание команды «Команда1» на командную панель формы
    Стрелка показывает направление: из команд формы справа в дерево элементов слева.

Добавляем картинку на кнопку

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

  1. Откройте свойство «Картинка»

    Выделите «ФормаКоманда1» в дереве элементов слева. В свойствах кнопки найдите «Картинка» и нажмите кнопку выбора с многоточием. Сейчас редактируем именно кнопку, не команду справа.

    Свойство «Картинка» кнопки и кнопка выбора с многоточием
    Выберите элемент кнопки и откройте подбор картинки.
  2. Переключитесь на стандартные картинки

    В окне «Выбор картинки» оставьте «Из библиотеки» и откройте вкладку «Стандартные». Вкладка «Из конфигурации» нужна для картинок самой конфигурации; сейчас они не понадобятся.

    Вкладка «Стандартные» в окне выбора картинки 1С
    Ищем готовую картинку в стандартной библиотеке платформы.
  3. Найдите картинку по названию

    Поставьте курсор в список стандартных картинок и вызовите поиск через меню «Правка» → «Найти». Введите начало названия «Выпол» и нажмите «Искать». Для поиска в этом списке: Windows — Ctrl+F, macOS — Cmd+F.

    Поиск по стандартным картинкам 1С с введённым фрагментом «Выпол»
    Короткого фрагмента достаточно, чтобы перейти к подходящему названию.
  4. Выберите «ВыполнитьЗадачу»

    Выделите «ВыполнитьЗадачу». Справа увидите предварительный просмотр — лист с зелёной галочкой. Подтвердите выбор кнопкой «ОК».

    В другой версии набор картинок может отличаться. Можно выбрать похожую стандартную картинку: на работу обработчика это не влияет.

    Стандартная картинка «ВыполнитьЗадачу» в библиотеке 1С
    Выберите «ВыполнитьЗадачу», проверьте изображение справа и нажмите «ОК».
  5. Оставьте видимыми и картинку, и подпись

    В свойствах кнопки найдите «Отображение» и выберите «Картинка и текст». В предварительном просмотре должны быть видны значок и слово «Выполнить». Если оставить только картинку, новичку будет сложнее понять назначение кнопки.

    Выбор режима «Картинка и текст» для кнопки формы
    У кнопки остаётся понятная подпись, а рядом с ней появляется картинка.

Связываем кнопку с процедурой и пишем «Привет»

Не нужно вручную придумывать процедуру и надеяться, что кнопка её найдёт. Создадим обработчик через действие команды — платформа сама установит связь.

  1. Откройте «Действие команды»

    Нажмите правой кнопкой мыши на элементе «ФормаКоманда1» слева и выберите «Действие команды». Другой путь — выбрать саму «Команда1» справа и открыть её свойство «Действие».

    Контекстное меню кнопки с пунктом «Действие команды»
    Создаём код, который будет вызван при выполнении этой команды.
  2. Создайте обработчик на клиенте

    В окне создания обработчика выберите «Создать на клиенте» и нажмите «ОК». Для вывода сообщения пользователю серверная процедура не требуется.

    Создание обработчика команды с вариантом «Создать на клиенте»
    Платформа добавит клиентскую процедуру в модуль формы и свяжет её с командой.
  3. Найдите тело процедуры

    Откроется модуль формы с директивой «&НаКлиенте», строкой «Процедура Команда1(Команда)» и «КонецПроцедуры». Код пишем между началом и концом процедуры.

    Напечатайте «Сооб», как на снимке, и вызовите контекстную подсказку. Windows: Ctrl+Пробел; macOS: Cmd+Пробел или Cmd+M. В списке выберите «Сообщить» стрелками и нажмите Enter — редактор допишет имя. Это ещё не готовая строка: следующим шагом передадим текст сообщения.

    На Mac Cmd+Пробел может перехватить Spotlight. Тогда в редакторе модуля 1С используйте дополнительное сочетание Cmd+M; для параметров — Cmd+Shift+M. Не нужно отключать системный поиск ради упражнения.

    Начало ввода кода в созданном клиентском обработчике «Команда1»
    После «Сооб» вызовите подсказку, выберите «Сообщить» и подтвердите Enter.
  4. Передайте текст в «Сообщить»

    После имени «Сообщить» откройте скобку. Подсказка показывает обязательный параметр «ТекстСообщения» с типом «Строка». Поэтому наш текст нужно заключить в двойные кавычки. Закройте скобку и поставьте точку с запятой.

    Если подсказка параметров не появилась, вызовите её, пока курсор находится внутри скобок. Windows: Ctrl+Shift+Пробел; macOS: Cmd+Shift+Пробел или Cmd+Shift+M.

    Подсказка параметра «ТекстСообщения» у процедуры «Сообщить»
    Первый параметр — строка, которую пользователь увидит в сообщениях.
  5. Проверьте готовый обработчик

    Должно получиться ровно одно действие: Сообщить("Привет");. Не добавляйте вторую процедуру с тем же именем — замените только содержимое уже созданной.

    Снова откройте свойства «Команда1»: в «Действие» должна быть указана процедура «Команда1». Связь целиком выглядит так: кнопка «ФормаКоманда1» → команда «Команда1» → процедура «Команда1(Команда)».

    Готовый клиентский обработчик в 1С со строкой Сообщить("Привет")
    Код уже готов. Кнопкой запуска, выделенной на снимке, воспользуемся после сохранения файла.
    BSL · первое сообщение
    &НаКлиенте
    Процедура Команда1(Команда)
        Сообщить("Привет");
    КонецПроцедуры

Сохраняем файл и получаем первое «Привет»

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

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

    Пока активен редактор обработки, выберите «Файл» → «Сохранить» или нажмите значок дискеты. Windows: Ctrl+S; macOS: Cmd+S. При первом сохранении выберите свою учебную папку и имя «ВнешняяОбработка1.epf». Запомните, где лежит этот файл.

    Расширение .epf означает внешнюю обработку. Не сохраняйте её как текстовый документ. Для изменения этого файла не нужно обновлять конфигурацию базы данных.

  2. Запустите 1С:Предприятие

    В конфигураторе нажмите «Начать отладку» — кнопку с треугольником, отмеченную на снимке выше, или выберите «Отладка» → «Начать отладку». Windows: F5; macOS: F5, а если клавиша управляет системой — Fn+F5.

    Откроется окно той же учебной базы в режиме 1С:Предприятия. Для простого сообщения не нужно включать автоматическое подключение серверных сеансов. Его назначение разберём в отдельной статье об отладке.

    Окно 1С:Предприятия с выделенным меню в правом верхнем углу
    Это пользовательское окно, а не конфигуратор. Дальше откроем в нём наш файл.
  3. Откройте меню «Файл» в предприятии

    Нажмите меню в правом верхнем углу и выберите «Файл». Не создавайте здесь новую обработку: её мы уже сделали и сохранили в конфигураторе.

    Пункт «Файл» в меню 1С:Предприятия
    Раскройте подменю «Файл» в работающей учебной базе.
  4. Выберите «Открыть» и свой файл .epf

    Нажмите «Открыть…» (Windows: Ctrl+O; macOS: Cmd+O), перейдите в свою учебную папку и выберите «ВнешняяОбработка1.epf». Если папок и версий несколько, сверьте имя и место сохранения: иначе легко открыть прежнюю копию.

    Команда «Файл» → «Открыть» в пользовательском режиме 1С
    Открываем файл внешней обработки как отдельный файл с диска.
  5. Проверьте предупреждение безопасности

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

    Это не совет разрешать любые обработки из интернета. Не отключайте предупреждение и не меняйте настройки защиты ради упражнения. Если происхождение файла неизвестно, запускать его нельзя.

    Предупреждение 1С перед открытием внешней обработки и подтверждение открытия
    Подтверждайте только запуск собственной учебной обработки с проверенным содержимым.
  6. Нажмите «Выполнить»

    Откроется «ВнешняяОбработка1» с нашей кнопкой и картинкой. Нажмите «Выполнить». Внизу, в панели «Сообщения», должна появиться строка «Привет».

    Если кнопка видна, но сообщения нет, сначала проверьте «ИмяКоманды» кнопки и «Действие» команды. Затем убедитесь, что сохранили файл и открыли нужную копию.

    Кнопка «Выполнить» в обработке вывела «Привет» в панель сообщений
    Первый результат готов: нажатие кнопки вызвало нашу процедуру.

Меняем название и выводим «Привет мир 1С»

Первый запуск уже работает. Теперь изменим текст сообщения и название, которое видно пользователю. Это разные настройки: изменение названия обработки само по себе не меняет строку в сообщениях.

  1. Замените текст внутри кавычек

    Вернитесь в конфигуратор, в модуль той же внешней обработки. Замените только «Привет» на «Привет мир 1С». Имя процедуры «Команда1» и её параметр «Команда» не меняйте.

    В модуле формы текст сообщения изменён на «Привет мир 1С»
    Меняется строка, которую передаём в Сообщить, а не имя процедуры.
    BSL · сообщение «Привет мир 1С»
    &НаКлиенте
    Процедура Команда1(Команда)
        Сообщить("Привет мир 1С");
    КонецПроцедуры
  2. Задайте синоним «Привет мир»

    Откройте основное окно редактирования внешней обработки. В поле «Синоним» напишите «Привет мир», как на снимке. Внутреннее имя «ВнешняяОбработка1» оставьте прежним.

    Мы специально меняем только синоним: после повторного открытия вы увидите, что пользователю показывается именно он. При этом имя обработки «ВнешняяОбработка1» и имя команды «Команда1» остаются прежними. Это наглядная проверка различия между внутренним именем и видимым названием.

    Имя файла .epf и текст сообщения — тоже отдельные вещи. Синоним не переименовывает файл и не заменяет строку внутри Сообщить.

    Свойства внешней обработки с синонимом «Привет мир»
    Намеренно меняем только синоним: в интерфейсе появится «Привет мир», а внутренние имена останутся прежними.
  3. Сохраните оба изменения

    Нажмите значок дискеты в конфигураторе, пока активна наша внешняя обработка. Windows: Ctrl+S; macOS: Cmd+S. Сохраните тот же файл .epf: и новый текст, и синоним должны попасть в него.

    Сохранение файла не заменяет автоматически уже открытую форму в 1С:Предприятии. Поэтому следующим шагом закроем прежний экземпляр.

    Кнопка сохранения в конфигураторе после изменения текста сообщения
    Дискета сохраняет изменения внешней обработки в файл.
  4. Закройте старую форму обработки

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

    Крестик закрытия прежней формы внешней обработки в 1С:Предприятии
    Закрываем прежнюю форму, которая ещё показывает результат «Привет».
  5. Откройте файл заново и нажмите «Выполнить»

    Повторите «Файл» → «Открыть» в 1С:Предприятии (Windows: Ctrl+O; macOS: Cmd+O) и выберите тот же сохранённый файл. Теперь заголовок формы должен быть «Привет мир». Нажмите «Выполнить»: внизу появится «Привет мир 1С».

    Если осталось старое сообщение, проверьте три вещи: сохранение в конфигураторе, закрытие старой формы и путь к заново открытому файлу. Изменение основной конфигурации здесь не поможет — мы работаем с отдельным .epf.

    Повторный запуск обработки «Привет мир» с сообщением «Привет мир 1С»
    Финальная проверка: новое название формы и новый текст сообщения видны одновременно.

Быстрые команды для Windows и Mac

Эти сочетания относятся к конфигуратору 1С, установленному в Windows или macOS, а не к EDT и не к Windows через удалённый рабочий стол на Mac. Cmd — клавиша Command (⌘), Option — клавиша ⌥. Если верхний ряд управляет громкостью или яркостью, добавьте Fn к F-клавише; на Windows-ноутбуке это тоже зависит от режима клавиатуры. Сочетание рядом с пунктом меню в вашей версии — основной ориентир.

Перед сохранением проверьте модуль: Windows: Ctrl+F7; macOS: Cmd+F7 (при необходимости Fn+Cmd+F7). Это проверка синтаксиса, а не запуск кнопки. Одна F7 выполняет другую команду — обновляет конфигурацию базы данных; для внешней обработки этого делать не нужно.

Сочетания клавиш в конфигураторе 1С: Windows и macOS
ДействиеWindowsmacOS
Файл → НовыйCtrl+NCmd+N
Подсказка имени методаCtrl+ПробелCmd+Пробел или Cmd+M
Подсказка параметровCtrl+Shift+ПробелCmd+Shift+Пробел или Cmd+Shift+M
Проверить модульCtrl+F7Cmd+F7 / Fn+Cmd+F7
Сохранить активный документCtrl+SCmd+S
Начать / продолжить отладкуF5F5 / Fn+F5
Файл → ОткрытьCtrl+OCmd+O

Что теперь стоит проверить самостоятельно

У вас получилась небольшая законченная программа: отдельный файл, форма, кнопка, обработчик и видимый результат. Попробуйте повторить её без подсказки по каждому нажатию — так станет понятно, какие шаги уже запомнились.

  • Объясните, чем кнопка отличается от команды и где у команды задано действие.
  • Смените только заголовок кнопки: сообщение должно остаться прежним.
  • Смените только текст в Сообщить, сохраните файл и откройте заново: измениться должно сообщение.
  • Проверьте режим «Картинка и текст»: у кнопки должны быть и значок, и понятная подпись.

Хотите увидеть, как кнопка доходит до строки кода?

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

В отдельной инструкции разобраны меню «Подключение», назначение автоматического подключения и причины, по которым точка не срабатывает.

Разобрать подключение отладчика →

Самопроверка

Частые вопросы

Нужно обновлять конфигурацию базы данных?

Нет. В этом упражнении меняется только внешний файл .epf. Сохраните его в конфигураторе, закройте прежнюю форму в предприятии и заново откройте файл.

Почему название изменилось, а сообщение осталось «Привет»?

Название задаёт синоним обработки, сообщение — строка в Сообщить. Это разные значения. Проверьте код, сохраните файл и откройте его заново.

Почему кнопка показывает только картинку?

Выделите кнопку в дереве элементов формы и задайте свойству «Отображение» значение «Картинка и текст». У команды должен быть заполнен заголовок «Выполнить».

Можно переименовать «Команда1»?

Да, в собственных программах полезны содержательные имена. В первом повторении оставьте имя как на снимках. Если меняете его позже, проверьте имя команды у кнопки, действие команды и имя процедуры: все связи должны остаться действительными.

Первичные источники

Что проверить дополнительно

Полезный материал

Поделиться статьёй

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

Следующий шаг

Первая кнопка работает. Что дальше?

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

Перейти к открытой практике →