Разработка и Конфигурация · 11 мин
Как писать программу в 1С: практическое руководство
Как писать программу в 1С: установка платформы, конфигуратор, встроенный язык, создание объектов и отладка кода. Пошаговая инструкция для начинающих разработчиков.
Программирование в 1С — это работа с конфигурацией: вы описываете объекты учёта (справочники, документы, отчёты) и пишете логику на встроенном языке, похожем на процедурный язык высокого уровня с русским синтаксисом. Платформа сама берёт на себя работу с базой данных, интерфейсом и правами доступа, поэтому разработчик концентрируется на бизнес-логике.
Чтобы написать первую программу, достаточно учебной версии платформы 1С:Предприятие, конфигуратора и базового понимания, как устроены объекты метаданных. Путь новичка выглядит так: установить платформу → создать пустую информационную базу → открыть конфигуратор → добавить объекты → написать код обработки событий → проверить результат в режиме предприятия.
Материал ниже рассчитан на тех, кто начинает с нуля или переходит в 1С из другого языка. Мы пройдём весь цикл: от установки до отладки и типичных ошибок, которые допускают почти все начинающие разработчики.
Что нужно установить и подготовить перед началом
Минимальный набор — платформа 1С:Предприятие. Для обучения подходит учебная версия: она бесплатна и позволяет создавать собственные конфигурации, но имеет ограничения (не работает с COM-соединениями, ограничен объём данных, нельзя использовать пароли пользователей в полной мере). Для рабочих проектов понадобится коммерческая лицензия.
Порядок установки стандартный: скачайте дистрибутив платформы, запустите установщик, выберите компоненты (минимум — «Тонкий клиент» и «1С:Предприятие» с конфигуратором). После установки откройте стартер 1С и создайте новую информационную базу — при создании выберите вариант «без конфигурации», если хотите писать всё с нуля, или загрузите типовую конфигурацию, чтобы учиться на готовом коде.
- 1Установите платформу 1С:Предприятие подходящей версии
- 2Запустите стартер 1С и нажмите «Добавить» → «Создание новой информационной базы»
- 3Выберите создание базы без конфигурации для чистого проекта
- 4Укажите каталог базы (файловый вариант достаточен для обучения)
- 5Откройте базу в режиме «Конфигуратор»
Как устроен конфигуратор и дерево метаданных
Конфигуратор — это среда разработки 1С. Главный элемент интерфейса — дерево конфигурации (открывается через меню «Конфигурация → Открыть конфигурацию»). В нём перечислены все типы объектов: справочники, документы, перечисления, отчёты, обработки, регистры сведений и накопления, роли, подсистемы и другие.
Каждый объект — это не просто таблица, а законченная сущность: у справочника автоматически появляются формы списка и элемента, таблица в базе данных, права доступа. Ваша задача как разработчика — добавить нужные реквизиты (поля), при необходимости табличные части и написать код в модулях объекта.
Ключевая идея платформы: вы описываете «что», а не «как». Вы не создаёте таблицы SQL-запросами и не рисуете формы вручную — платформа генерирует их по вашему описанию. Это ускоряет разработку, но требует понимания, какой объект метаданных подходит под конкретную задачу.
Создаём первый объект: справочник и документ
Классическая учебная задача — учёт товаров и их продаж. Для неё нужны два объекта: справочник «Товары» (хранит номенклатуру) и документ «Продажа» (фиксирует факт продажи).
Чтобы создать справочник, в дереве конфигурации щёлкните правой кнопкой по ветке «Справочники» → «Добавить». Задайте имя «Товары». У справочника уже есть стандартные реквизиты «Код» и «Наименование». На вкладке «Данные» добавьте, например, реквизит «Цена» с типом «Число» (длина 15, точность 2). На вкладке «Формы» платформа сама предложит сгенерировать формы — согласитесь.
Документ создаётся аналогично: ветка «Документы» → «Добавить» → имя «Продажа». На вкладке «Данные» добавьте табличную часть «Товары» с реквизитами «Товар» (тип — СправочникСсылка.Товары) и «Количество» (Число). Табличная часть — это строки документа, которые пользователь заполняет при вводе.
Пишем код на встроенном языке
Код в 1С пишется в модулях: модуль объекта, модуль формы, общие модули. Самый частый сценарий для документа — обработчик проведения, который выполняется, когда пользователь нажимает «Провести». Откройте модуль объекта документа «Продажа» (правой кнопкой по объекту → «Открыть модуль объекта») и добавьте процедуру ОбработкаПроведения.
Процедура ОбработкаПроведения(Отказ, Режим)
Для Каждого Строка Из Товары Цикл
Если Строка.Количество <= 0 Тогда
Сообщить("В строке указано нулевое количество: " + Строка.Товар);
Отказ = Истина;
КонецЕсли;
КонецЦикла;
КонецПроцедурыЗдесь мы перебираем строки табличной части и проверяем, что количество больше нуля. Если установить параметр Отказ в значение Истина, документ не проведётся, а пользователь увидит сообщение. Это базовый приём контроля данных.
Синтаксис языка простой: переменные объявляются через «Перем», условия — «Если ... Тогда ... Иначе ... КонецЕсли», циклы — «Для Каждого ... Из ... Цикл» и «Пока ... Цикл». Точка с запятой обязательна в конце оператора. Ключевые слова можно писать по-русски или по-английски (If, Then, EndIf) — компилятор понимает оба варианта, но русский синтаксис является стандартом в отрасли.
Для запросов к данным используется встроенный язык запросов, похожий на SQL. Например, выбрать все товары дороже заданной цены можно объектом «Запрос» с текстом «ВЫБРАТЬ Товары.Ссылка ИЗ Справочник.Товары ГДЕ Товары.Цена > &Цена». Запросы работают быстрее перебора объектов и являются основным способом чтения данных в серьёзных решениях.
Формы, отчёты и пользовательский интерфейс
Формы в 1С описываются декларативно: вы добавляете элементы (поля ввода, таблицы, кнопки) в редакторе формы, а платформа сама их отрисовывает. Для формы документа обычно достаточно автоматически сгенерированной — платформа разместит все реквизиты и табличные части.
Отчёты строятся на системе компоновки данных (СКД). Вы пишете запрос, СКД сама формирует настройки группировок, отборов и оформления, а пользователь может менять их без изменения кода. Для простого отчёта «Продажи за период» создайте объект «Отчёт», откройте «Основную схему компоновки данных», напишите запрос по табличной части документов и задайте ресурсы (суммируемые поля).
Начинающие часто пытаются рисовать интерфейс кодом или выводить данные через Сообщить(). Правильный путь — СКД для отчётов и декларативные формы для ввода. Код в модулях форм нужен только для нестандартной логики: динамических отборов, заполнения по кнопке, проверок перед записью.
Отладка и проверка результата
После изменения конфигурации её нужно обновить: «Конфигурация → Обновить конфигурацию базы данных» (клавиша F7). Платформа покажет список изменений структуры и применит их. Затем запустите базу в режиме предприятия (F5 или «Сервис → 1С:Предприятие»), создайте пару товаров, введите документ «Продажа» и проведите его.
Отладчик включается автоматически при запуске из конфигуратора. Поставьте точку останова (F9 на строке кода), выполните действие в режиме предприятия — выполнение остановится, и вы сможете посмотреть значения переменных (Shift+F9 — вычислить выражение) и пошагово пройти код (F10/F11).
Как проверить результат
Окно реструктуризации закрывается без ошибок, изменения приняты
Сообщения об ошибках, конфигурация не обновляется
Документ проводится, при нулевом количестве появляется сообщение и отказ
Документ проводится с любыми данными — обработчик не срабатывает
Данные выводятся, итоги считаются корректно
Пустой отчёт при наличии проведённых документов — ошибка в запросе
Типичные ошибки начинающих и безопасные границы
Первая частая ошибка — изменение типовой конфигурации без расширения. Если вы дорабатываете рабочую базу (например, «1С:Бухгалтерию»), прямые правки затруднят обновление. Используйте механизм расширений конфигурации: он позволяет добавлять объекты и переопределять обработчики, не трогая исходный код поставщика.
Вторая ошибка — обращение к данным перебором вместо запроса. Конструкция вида «выбрать все элементы справочника и в цикле проверять условие» работает медленно на больших базах. Почти всегда фильтрацию следует выполнять запросом.
Частые вопросы
Нужно ли знать программирование, чтобы начать писать в 1С?
Нет, встроенный язык 1С считается одним из самых доступных для входа: русский синтаксис, простая структура программ, платформа берёт на себя работу с базой данных и интерфейсом. Базовые обработчики событий пишутся после нескольких дней практики. Однако понимание общих принципов — переменные, условия, циклы — заметно ускорит обучение.
Чем учебная версия платформы отличается от рабочей?
Учебная версия позволяет создавать и изменять конфигурации, писать код и отлаживать его, но имеет ограничения: не поддерживает COM-соединения и некоторые механизмы интеграции, ограничивает объём данных в таблицах. Для обучения и написания первых программ её достаточно, для коммерческой работы нужна лицензионная платформа.
Где писать проверки данных: в форме или в модуле объекта?
Контроль корректности данных должен находиться в модуле объекта (обработчики ОбработкаПроверкиЗаполнения, ОбработкаПроведения). Проверки в модуле формы срабатывают только при интерактивном вводе; если документ создаётся программно или загружается обменом, они будут пропущены.
Что такое расширение конфигурации и когда его применять?
Расширение — это надстройка над конфигурацией, которая добавляет объекты и переопределяет обработчики, не изменяя исходный код. Применяйте расширения при доработке типовых решений: обновления поставщика будут устанавливаться без снятия конфигурации с поддержки, а ваши доработки сохранятся.
Как выучить язык запросов 1С?
Начните с конструктора запроса: в модуле нажмите правой кнопкой → «Конструктор запроса», выберите таблицы и поля мышью — платформа сгенерирует текст запроса. Разбирая сгенерированный код и постепенно добавляя условия, соединения и группировки, вы освоите синтаксис на практике без заучивания справочника.
Можно ли писать в 1С на английском синтаксисе?
Да, компилятор поддерживает английские варианты ключевых слов (If, Then, EndIf и другие), а конфигуратор умеет отображать синтаксис на двух языках. Однако отраслевой стандарт — русский синтаксис: большинство типовых конфигураций, документации и примеров написаны именно на нём.
Что важно запомнить
Разработка в 1С — это описание объектов метаданных плюс код обработчиков на встроенном языке. Начните с учебной платформы и простой пары «справочник + документ», проверки пишите в модуле объекта, данные читайте запросами, типовые конфигурации дорабатывайте расширениями и никогда не тестируйте код на рабочей базе без копии.