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

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

Как научиться писать код в 1С с нуля

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

Язык 1С — это встроенный язык платформы «1С:Предприятие», предназначенный для описания бизнес-логики: проведения документов, расчёта остатков, формирования отчётов и обработки данных. В отличие от универсальных языков вроде Python или C#, он тесно связан с объектами конфигурации — справочниками, документами, регистрами, — поэтому учить его отдельно от платформы невозможно. Эффективное обучение строится на связке «синтаксис + метаданные + практика на реальной базе».

Хорошая новость для новичков: порог входа в 1С-разработку ниже, чем в большинство языков. Синтаксис простой, ключевые слова можно писать на русском, а типовые конфигурации дают тысячи готовых примеров кода. Освоить базовые навыки — написать обработку, добавить печатную форму, доработать документ — реально за несколько месяцев регулярных занятий по 1–2 часа в день.

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

Установите платформу и создайте учебную базу

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

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

Работайте только с файловыми копиями и никогда не экспериментируйте на рабочей базе реальной организации. Отдельная учебная база снимает страх «что-нибудь сломать» — а этот страх главный тормоз на старте.

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

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

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

Изучите базовый синтаксис встроенного языка

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

Особое внимание уделите типам данных, специфичным для платформы: Дата, Строка, Число, Булево, а также объектным типам — СправочникСсылка, ДокументОбъект, ТаблицаЗначений, Запрос. Поймите разницу между ссылкой и объектом: ссылка — это «указатель» на элемент в базе, объект — загруженная в память копия, которую можно менять и записывать. Путаница между ними — источник большинства ошибок новичков.

Тренируйтесь в модуле обработки: создайте внешнюю обработку, добавьте кнопку и пишите код в её обработчике. Начните с простого — перебор элементов справочника, вывод сообщений через «Сообщить()», работа со строками и датами.

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Товары.Ссылка КАК Товар,

| Товары.Наименование КАК Наименование

|ИЗ

| Справочник.Товары КАК Товары

|ГДЕ

| НЕ Товары.ПометкаУдаления";

Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл

Сообщить(Результат.Наименование);

КонецЦикла;

Научитесь читать код типовых конфигураций

Типовые конфигурации — это лучший учебник. Откройте демо-базу, найдите простой документ и проследите его логику: обработчик «ОбработкаПроведения» в модуле объекта, процедуры в общих модулях, обработчики на форме. Используйте отладчик: поставьте точку останова, проведите документ и идите по коду шаг за шагом, наблюдая значения переменных.

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

Полезный приём — глобальный поиск по конфигурации (Ctrl+Shift+F). Хотите понять, как работает какая-то функция — найдите все места её вызова и изучите контекст использования.

Порядок изучения чужого кода
  1. 1
    Откройте демо-базу типовой конфигурации в конфигураторе и в режиме предприятия
  2. 2
    Выберите простой документ и найдите его модуль объекта
  3. 3
    Поставьте точку останова в обработчике ОбработкаПроведения
  4. 4
    Запустите отладку и проведите документ в режиме предприятия
  5. 5
    Проходите код по шагам (F10/F11), наблюдая значения переменных
  6. 6
    Повторите для обработчика на форме документа

Практикуйтесь на задачах нарастающей сложности

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

  1. Внешняя обработка, выводящая список элементов справочника сообщениями или в табличное поле.
  2. Запрос с отбором, группировкой и итогами по регистру накопления.
  3. Собственный отчёт на системе компоновки данных (СКД) с настройками отбора.
  4. Печатная форма документа на основе табличного макета.
  5. Документ с проведением: формирование движений по регистру из данных табличной части.
  6. Доработка копии типовой конфигурации: новый реквизит, новая кнопка, изменение логики проведения.

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

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

Как проверить результат обучения

Написание запроса
Норма

Пишете запрос с отбором и итогами без подглядывания в шпаргалку

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

Каждый запрос копируется из интернета и правится методом тыка

Отладка
Норма

Самостоятельно находите ошибку в коде через точки останова

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

При ошибке ищете готовый ответ по тексту сообщения

Чтение типового кода
Норма

Понимаете, что делает процедура в типовой конфигурации, прочитав её

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

Код типовой конфигурации выглядит непонятным набором строк

Типичные ошибки начинающих и как их избежать

Большинство проблем новичков повторяются. Зная о них заранее, вы сэкономите недели.

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

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

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

Источники знаний и дальнейший рост

Для системного обучения используйте несколько типов источников. Документация разработчика, поставляемая с платформой, и синтакс-помощник в конфигураторе (Ctrl+F1 на любом операторе) — первоисточник по синтаксису и объектам. Книги по практической разработке на 1С дают сквозные учебные примеры — построение конфигурации с нуля. Видеокурсы помогают на старте, когда непонятно даже, куда нажимать в конфигураторе.

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

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

Итог

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

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

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

Сколько времени нужно, чтобы научиться писать код в 1С?

При занятиях 1–2 часа в день базовые навыки — обработки, запросы, простые отчёты и печатные формы — осваиваются за 2–4 месяца. Уверенная доработка типовых конфигураций требует обычно от полугода практики. Сроки сильно зависят от регулярности: ежедневный час эффективнее восьми часов раз в неделю.

Нужно ли высшее образование или опыт в других языках программирования?

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

Можно ли учиться бесплатно?

Да. Учебная версия платформы, демонстрационные конфигурации, документация и синтакс-помощник доступны без оплаты. Этого достаточно для освоения языка и конфигурирования. Платные курсы ускоряют старт за счёт структурированности, но не являются обязательными.

Что учить сначала: встроенный язык или язык запросов?

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

Как понять, что я готов к реальным задачам или работе?

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

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

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