Разработка и Конфигурация · 11 мин
Как научиться писать код в 1С с нуля
Как научиться писать код в 1С с нуля: изучение встроенного языка, конфигуратора, объектов метаданных, практика на учебной базе, типичные ошибки новичков и FAQ.
Язык 1С — это встроенный язык платформы «1С:Предприятие», предназначенный для описания бизнес-логики: проведения документов, расчёта остатков, формирования отчётов и обработки данных. В отличие от универсальных языков вроде Python или C#, он тесно связан с объектами конфигурации — справочниками, документами, регистрами, — поэтому учить его отдельно от платформы невозможно. Эффективное обучение строится на связке «синтаксис + метаданные + практика на реальной базе».
Хорошая новость для новичков: порог входа в 1С-разработку ниже, чем в большинство языков. Синтаксис простой, ключевые слова можно писать на русском, а типовые конфигурации дают тысячи готовых примеров кода. Освоить базовые навыки — написать обработку, добавить печатную форму, доработать документ — реально за несколько месяцев регулярных занятий по 1–2 часа в день.
Плохая новость: без системности легко застрять на уровне «копирую чужой код, но не понимаю, как он работает». Ниже — конкретный маршрут обучения, который ведёт от установки платформы до уверенного написания собственных решений.
Установите платформу и создайте учебную базу
Первый шаг — развернуть рабочее окружение. Для обучения достаточно учебной версии платформы «1С:Предприятие», которую можно получить легально без покупки коммерческой лицензии: она имеет ограничения (например, не работает с COM-соединениями и частью механизмов), но для изучения языка и конфигурирования её возможностей хватает полностью.
После установки создайте две базы. Первая — пустая конфигурация, где вы будете строить объекты с нуля и понимать, как устроена платформа. Вторая — демонстрационная база типовой конфигурации (например, «Управление торговлей» или «Бухгалтерия»), в которой вы будете подсматривать, как решают задачи опытные разработчики.
Работайте только с файловыми копиями и никогда не экспериментируйте на рабочей базе реальной организации. Отдельная учебная база снимает страх «что-нибудь сломать» — а этот страх главный тормоз на старте.
Освойте конфигуратор и структуру метаданных
Конфигуратор — это среда разработки 1С, и писать код вы будете именно в нём. Прежде чем изучать синтаксис, разберитесь с деревом конфигурации: что такое справочники, документы, регистры накопления и сведений, перечисления, отчёты и обработки. Каждый объект имеет модули — модуль объекта, модуль формы, модуль менеджера, — и понимание, где какой код живёт, критично для дальнейшей работы.
Практическое упражнение на этом этапе: создайте в пустой конфигурации справочник «Товары», документ «Поступление» и регистр накопления «ОстаткиТоваров». Проведите документ вручную и посмотрите, что записалось в регистр. Это займёт один вечер, но даст понимание связки «объект — движения — данные», без которого код 1С воспринимается как магия.
Изучите базовый синтаксис встроенного языка
Синтаксис языка 1С несложный: переменные объявляются без явного типа, есть условия «Если...Тогда...КонецЕсли», циклы «Для...Цикл» и «Пока...Цикл», процедуры и функции. Ключевые слова можно писать по-русски, и на старте это удобно — код читается почти как текст.
Особое внимание уделите типам данных, специфичным для платформы: Дата, Строка, Число, Булево, а также объектным типам — СправочникСсылка, ДокументОбъект, ТаблицаЗначений, Запрос. Поймите разницу между ссылкой и объектом: ссылка — это «указатель» на элемент в базе, объект — загруженная в память копия, которую можно менять и записывать. Путаница между ними — источник большинства ошибок новичков.
Тренируйтесь в модуле обработки: создайте внешнюю обработку, добавьте кнопку и пишите код в её обработчике. Начните с простого — перебор элементов справочника, вывод сообщений через «Сообщить()», работа со строками и датами.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Ссылка КАК Товар,
| Товары.Наименование КАК Наименование
|ИЗ
| Справочник.Товары КАК Товары
|ГДЕ
| НЕ Товары.ПометкаУдаления";
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
Сообщить(Результат.Наименование);
КонецЦикла;
Научитесь читать код типовых конфигураций
Типовые конфигурации — это лучший учебник. Откройте демо-базу, найдите простой документ и проследите его логику: обработчик «ОбработкаПроведения» в модуле объекта, процедуры в общих модулях, обработчики на форме. Используйте отладчик: поставьте точку останова, проведите документ и идите по коду шаг за шагом, наблюдая значения переменных.
Отладчик — главный инструмент обучения. Когда видите непонятную конструкцию, не гадайте — запустите выполнение и посмотрите, что реально происходит. За несколько недель такого чтения вы усвоите типовые приёмы: как формируются движения, как обходятся выборки, как устроена проверка заполнения.
Полезный приём — глобальный поиск по конфигурации (Ctrl+Shift+F). Хотите понять, как работает какая-то функция — найдите все места её вызова и изучите контекст использования.
- 1Откройте демо-базу типовой конфигурации в конфигураторе и в режиме предприятия
- 2Выберите простой документ и найдите его модуль объекта
- 3Поставьте точку останова в обработчике ОбработкаПроведения
- 4Запустите отладку и проведите документ в режиме предприятия
- 5Проходите код по шагам (F10/F11), наблюдая значения переменных
- 6Повторите для обработчика на форме документа
Практикуйтесь на задачах нарастающей сложности
Теория без практики в 1С не работает. Двигайтесь по лестнице задач, где каждая следующая опирается на предыдущую. Не перескакивайте через ступени: попытка сразу доработать сложный отчёт без понимания запросов закончится фрустрацией.
- Внешняя обработка, выводящая список элементов справочника сообщениями или в табличное поле.
- Запрос с отбором, группировкой и итогами по регистру накопления.
- Собственный отчёт на системе компоновки данных (СКД) с настройками отбора.
- Печатная форма документа на основе табличного макета.
- Документ с проведением: формирование движений по регистру из данных табличной части.
- Доработка копии типовой конфигурации: новый реквизит, новая кнопка, изменение логики проведения.
Каждую задачу доводите до работающего результата, а не до «вроде понял». Признак освоения темы — вы можете воспроизвести решение с нуля, не подглядывая в готовый код.
Как проверить результат обучения
Пишете запрос с отбором и итогами без подглядывания в шпаргалку
Каждый запрос копируется из интернета и правится методом тыка
Самостоятельно находите ошибку в коде через точки останова
При ошибке ищете готовый ответ по тексту сообщения
Понимаете, что делает процедура в типовой конфигурации, прочитав её
Код типовой конфигурации выглядит непонятным набором строк
Типичные ошибки начинающих и как их избежать
Большинство проблем новичков повторяются. Зная о них заранее, вы сэкономите недели.
Отдельно стоит сказать про обновления. Если вы дорабатываете типовую конфигурацию, используйте механизм расширений там, где это возможно, и минимизируйте прямые изменения типовых объектов. Это профессиональная привычка, которую стоит выработать с первых месяцев.
Самый быстрый рост у новичков происходит, когда учебная задача решает реальную потребность: автоматизируйте что-то для себя или знакомых — обработку прайса, сверку остатков, нестандартный отчёт. Реальные данные и реальный заказчик (пусть и дружеский) дисциплинируют сильнее любых абстрактных упражнений.
Источники знаний и дальнейший рост
Для системного обучения используйте несколько типов источников. Документация разработчика, поставляемая с платформой, и синтакс-помощник в конфигураторе (Ctrl+F1 на любом операторе) — первоисточник по синтаксису и объектам. Книги по практической разработке на 1С дают сквозные учебные примеры — построение конфигурации с нуля. Видеокурсы помогают на старте, когда непонятно даже, куда нажимать в конфигураторе.
Сообщества разработчиков полезны для разбора нестандартных ситуаций, но не заменяют практику. Правило простое: сначала пытаетесь решить задачу сами и через отладчик, и только потом ищете готовое решение — и обязательно разбираете, почему оно устроено именно так.
Дальнейший рост после освоения базы: система компоновки данных на продвинутом уровне, механизмы обмена данными, работа с хранилищем конфигурации в команде, оптимизация запросов. Эти темы имеет смысл открывать, когда базовые навыки уже доведены до автоматизма.
Что важно запомнить
Обучение программированию в 1С строится на практике: учебная база, конфигуратор, понимание метаданных, базовый синтаксис и запросы, ежедневные задачи нарастающей сложности и чтение кода типовых конфигураций через отладчик. Экспериментируйте только на копиях баз и вырабатывайте привычку дорабатывать типовые решения через расширения.
Частые вопросы
Сколько времени нужно, чтобы научиться писать код в 1С?
При занятиях 1–2 часа в день базовые навыки — обработки, запросы, простые отчёты и печатные формы — осваиваются за 2–4 месяца. Уверенная доработка типовых конфигураций требует обычно от полугода практики. Сроки сильно зависят от регулярности: ежедневный час эффективнее восьми часов раз в неделю.
Нужно ли высшее образование или опыт в других языках программирования?
Нет. Встроенный язык 1С специально спроектирован простым, и многие разработчики приходят из бухгалтерии или внедрения без технического образования. Опыт в других языках ускоряет освоение синтаксиса, но ключевая сложность 1С — понимание предметной области учёта и устройства платформы, а это изучается отдельно в любом случае.
Можно ли учиться бесплатно?
Да. Учебная версия платформы, демонстрационные конфигурации, документация и синтакс-помощник доступны без оплаты. Этого достаточно для освоения языка и конфигурирования. Платные курсы ускоряют старт за счёт структурированности, но не являются обязательными.
Что учить сначала: встроенный язык или язык запросов?
Параллельно, с небольшим приоритетом запросов. Большая часть прикладного кода в 1С — это получение данных запросом и их обработка. Начните с простых запросов к справочникам на первой же неделе и постепенно усложняйте: соединения, итоги, виртуальные таблицы регистров.
Как понять, что я готов к реальным задачам или работе?
Практический критерий: вы можете самостоятельно, без копирования, написать отчёт на СКД, обработку с запросом и доработать проведение документа в копии типовой конфигурации, а ошибки находите через отладчик. Если эти задачи решаются уверенно — можно брать простые коммерческие доработки или претендовать на позицию junior-разработчика.
Чем расширения отличаются от изменения конфигурации и когда что использовать?
Расширение — это надстройка над конфигурацией, не меняющая её исходный код: типовая база остаётся на поддержке и обновляется штатно. Прямое изменение конфигурации даёт больше возможностей, но усложняет обновления. Правило: всё, что можно сделать расширением (добавить реквизит, форму, печатную форму, переопределить обработчик), делайте расширением.