К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как писать программу в 1С: практическое руководство

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

Программирование в 1С — это работа с конфигурацией: вы описываете объекты учёта (справочники, документы, отчёты) и пишете логику на встроенном языке, похожем на процедурный язык высокого уровня с русским синтаксисом. Платформа сама берёт на себя работу с базой данных, интерфейсом и правами доступа, поэтому разработчик концентрируется на бизнес-логике.

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

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

Что нужно установить и подготовить перед началом

Минимальный набор — платформа 1С:Предприятие. Для обучения подходит учебная версия: она бесплатна и позволяет создавать собственные конфигурации, но имеет ограничения (не работает с COM-соединениями, ограничен объём данных, нельзя использовать пароли пользователей в полной мере). Для рабочих проектов понадобится коммерческая лицензия.

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

Подготовка рабочего места
  1. 1
    Установите платформу 1С:Предприятие подходящей версии
  2. 2
    Запустите стартер 1С и нажмите «Добавить» → «Создание новой информационной базы»
  3. 3
    Выберите создание базы без конфигурации для чистого проекта
  4. 4
    Укажите каталог базы (файловый вариант достаточен для обучения)
  5. 5
    Откройте базу в режиме «Конфигуратор»

Как устроен конфигуратор и дерево метаданных

Конфигуратор — это среда разработки 1С. Главный элемент интерфейса — дерево конфигурации (открывается через меню «Конфигурация → Открыть конфигурацию»). В нём перечислены все типы объектов: справочники, документы, перечисления, отчёты, обработки, регистры сведений и накопления, роли, подсистемы и другие.

Каждый объект — это не просто таблица, а законченная сущность: у справочника автоматически появляются формы списка и элемента, таблица в базе данных, права доступа. Ваша задача как разработчика — добавить нужные реквизиты (поля), при необходимости табличные части и написать код в модулях объекта.

Ключевая идея платформы: вы описываете «что», а не «как». Вы не создаёте таблицы SQL-запросами и не рисуете формы вручную — платформа генерирует их по вашему описанию. Это ускоряет разработку, но требует понимания, какой объект метаданных подходит под конкретную задачу.

Создаём первый объект: справочник и документ

Классическая учебная задача — учёт товаров и их продаж. Для неё нужны два объекта: справочник «Товары» (хранит номенклатуру) и документ «Продажа» (фиксирует факт продажи).

Чтобы создать справочник, в дереве конфигурации щёлкните правой кнопкой по ветке «Справочники» → «Добавить». Задайте имя «Товары». У справочника уже есть стандартные реквизиты «Код» и «Наименование». На вкладке «Данные» добавьте, например, реквизит «Цена» с типом «Число» (длина 15, точность 2). На вкладке «Формы» платформа сама предложит сгенерировать формы — согласитесь.

Документ создаётся аналогично: ветка «Документы» → «Добавить» → имя «Продажа». На вкладке «Данные» добавьте табличную часть «Товары» с реквизитами «Товар» (тип — СправочникСсылка.Товары) и «Количество» (Число). Табличная часть — это строки документа, которые пользователь заполняет при вводе.

Пишем код на встроенном языке

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

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

Здесь мы перебираем строки табличной части и проверяем, что количество больше нуля. Если установить параметр Отказ в значение Истина, документ не проведётся, а пользователь увидит сообщение. Это базовый приём контроля данных.

Синтаксис языка простой: переменные объявляются через «Перем», условия — «Если ... Тогда ... Иначе ... КонецЕсли», циклы — «Для Каждого ... Из ... Цикл» и «Пока ... Цикл». Точка с запятой обязательна в конце оператора. Ключевые слова можно писать по-русски или по-английски (If, Then, EndIf) — компилятор понимает оба варианта, но русский синтаксис является стандартом в отрасли.

Для запросов к данным используется встроенный язык запросов, похожий на SQL. Например, выбрать все товары дороже заданной цены можно объектом «Запрос» с текстом «ВЫБРАТЬ Товары.Ссылка ИЗ Справочник.Товары ГДЕ Товары.Цена > &Цена». Запросы работают быстрее перебора объектов и являются основным способом чтения данных в серьёзных решениях.

Формы, отчёты и пользовательский интерфейс

Формы в 1С описываются декларативно: вы добавляете элементы (поля ввода, таблицы, кнопки) в редакторе формы, а платформа сама их отрисовывает. Для формы документа обычно достаточно автоматически сгенерированной — платформа разместит все реквизиты и табличные части.

Отчёты строятся на системе компоновки данных (СКД). Вы пишете запрос, СКД сама формирует настройки группировок, отборов и оформления, а пользователь может менять их без изменения кода. Для простого отчёта «Продажи за период» создайте объект «Отчёт», откройте «Основную схему компоновки данных», напишите запрос по табличной части документов и задайте ресурсы (суммируемые поля).

Начинающие часто пытаются рисовать интерфейс кодом или выводить данные через Сообщить(). Правильный путь — СКД для отчётов и декларативные формы для ввода. Код в модулях форм нужен только для нестандартной логики: динамических отборов, заполнения по кнопке, проверок перед записью.
ПЗ
Практическое замечание

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

После изменения конфигурации её нужно обновить: «Конфигурация → Обновить конфигурацию базы данных» (клавиша F7). Платформа покажет список изменений структуры и применит их. Затем запустите базу в режиме предприятия (F5 или «Сервис → 1С:Предприятие»), создайте пару товаров, введите документ «Продажа» и проведите его.

Отладчик включается автоматически при запуске из конфигуратора. Поставьте точку останова (F9 на строке кода), выполните действие в режиме предприятия — выполнение остановится, и вы сможете посмотреть значения переменных (Shift+F9 — вычислить выражение) и пошагово пройти код (F10/F11).

Контрольные точки

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

Обновление конфигурации базы данных
Норма

Окно реструктуризации закрывается без ошибок, изменения приняты

Тревожный признак

Сообщения об ошибках, конфигурация не обновляется

Проведение документа
Норма

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

Тревожный признак

Документ проводится с любыми данными — обработчик не срабатывает

Отчёт
Норма

Данные выводятся, итоги считаются корректно

Тревожный признак

Пустой отчёт при наличии проведённых документов — ошибка в запросе

Типичные ошибки начинающих и безопасные границы

Первая частая ошибка — изменение типовой конфигурации без расширения. Если вы дорабатываете рабочую базу (например, «1С:Бухгалтерию»), прямые правки затруднят обновление. Используйте механизм расширений конфигурации: он позволяет добавлять объекты и переопределять обработчики, не трогая исходный код поставщика.

Вторая ошибка — обращение к данным перебором вместо запроса. Конструкция вида «выбрать все элементы справочника и в цикле проверять условие» работает медленно на больших базах. Почти всегда фильтрацию следует выполнять запросом.

Типичные ошибки
01
Изменение типовой конфигурации напрямую — обновления перестанут устанавливаться автоматически
02
Забытое обновление конфигурации базы данных (F7) — код вроде написан, но в режиме предприятия его нет
03
Проверки данных в модуле формы вместо модуля объекта — при программном создании документа проверка не сработает
04
Работа без копии базы — ошибка в обработке может испортить учётные данные
05
Перебор всех записей в цикле вместо запроса — резкое падение производительности

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

Нужно ли знать программирование, чтобы начать писать в 1С?

Нет, встроенный язык 1С считается одним из самых доступных для входа: русский синтаксис, простая структура программ, платформа берёт на себя работу с базой данных и интерфейсом. Базовые обработчики событий пишутся после нескольких дней практики. Однако понимание общих принципов — переменные, условия, циклы — заметно ускорит обучение.

Чем учебная версия платформы отличается от рабочей?

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

Где писать проверки данных: в форме или в модуле объекта?

Контроль корректности данных должен находиться в модуле объекта (обработчики ОбработкаПроверкиЗаполнения, ОбработкаПроведения). Проверки в модуле формы срабатывают только при интерактивном вводе; если документ создаётся программно или загружается обменом, они будут пропущены.

Что такое расширение конфигурации и когда его применять?

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

Как выучить язык запросов 1С?

Начните с конструктора запроса: в модуле нажмите правой кнопкой → «Конструктор запроса», выберите таблицы и поля мышью — платформа сгенерирует текст запроса. Разбирая сгенерированный код и постепенно добавляя условия, соединения и группировки, вы освоите синтаксис на практике без заучивания справочника.

Можно ли писать в 1С на английском синтаксисе?

Да, компилятор поддерживает английские варианты ключевых слов (If, Then, EndIf и другие), а конфигуратор умеет отображать синтаксис на двух языках. Однако отраслевой стандарт — русский синтаксис: большинство типовых конфигураций, документации и примеров написаны именно на нём.

Итог

Что важно запомнить

Разработка в 1С — это описание объектов метаданных плюс код обработчиков на встроенном языке. Начните с учебной платформы и простой пары «справочник + документ», проверки пишите в модуле объекта, данные читайте запросами, типовые конфигурации дорабатывайте расширениями и никогда не тестируйте код на рабочей базе без копии.