Сколько сил уйдёт на то, чтобы стать 1С-программистом

· 10 мин

Содержание

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

Опытному программисту на C#, Java или Python язык покажется простым, даже бедным. Сложно ему будет в другом: принять, что 1С — это не язык общего назначения, а среда для учётных систем со своими правилами. Ниже — где именно лежат трудности и как их пройти быстрее.

Чем язык 1С отличается от «обычных» языков программирования

Встроенный язык 1С:Предприятия 8.3 — процедурный, с динамической типизацией. Код пишут на русском (Процедура, Если, Для Каждого) или на английском (Procedure, If, For Each), в одном модуле допустимо смешивать оба варианта.

Что отличает его от популярных языков:

  • 🧱 Нет своих классов. Объявить класс, наследование или интерфейс нельзя. Роль «классов» играют объекты метаданных: справочники, документы, регистры. Их создают в дереве конфигурации, а не в коде.
  • 🗂 Код живёт в модулях. Модуль объекта, модуль менеджера, модуль формы, общие модули. Где лежит процедура, определяет, когда и в каком контексте она выполнится.
  • 🔀 Клиент и сервер разделены. Директивы &НаКлиенте и &НаСервере указывают, где выполняется код. Половина ошибок новичков — обращение к базе данных с клиента.
  • 🔎 Свой язык запросов. Похож на SQL (ВЫБРАТЬ … ИЗ … ГДЕ), но работает с объектами конфигурации и виртуальными таблицами регистров: остатками, оборотами, срезами последних.
  • 🧩 Готовые механизмы платформы. Проведение документов, движения по регистрам, права доступа , формы, отчёты на системе компоновки данных (СКД) — всё это есть «из коробки». Программист настраивает и дописывает, а не пишет с нуля.

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

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|	Номенклатура.Наименование КАК Наименование
|ИЗ
|	Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|	НЕ Номенклатура.ПометкаУдаления";

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Сообщить(Выборка.Наименование);
КонецЦикла;

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

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

Можно. Многие 1С-разработчики пришли из бухгалтерии, техподдержки или вообще из другой профессии. Порог входа ниже, чем в веб-разработку: не нужно учить HTML, CSS, JavaScript, фреймворки и сборщики. Одна среда, один язык, понятная предметная область.

Ориентировочный путь новичка:

ЭтапЧто осваиваетеСрок (примерно, при 10–15 ч в неделю)
1Синтаксис: переменные, условия, циклы, процедуры и функции2–4 недели
2Объекты метаданных: справочники, документы, перечисления, формы1–2 месяца
3Регистры накопления и сведений, проведение документов1–2 месяца
4Язык запросов, виртуальные таблицы, отчёты на СКД2–3 месяца
5Клиент-серверное взаимодействие, управляемые формы1–2 месяца
6Работа с типовыми конфигурациями (БП, ЗУП, УТ), расширенияпостоянно

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

Где новички спотыкаются чаще всего:

  • 📉 Регистры. Понять, зачем документу «движения» и чем остатки отличаются от оборотов, тяжелее, чем выучить циклы.
  • 🧾 Учёт. Без представления о проводках, НДС и складском учёте трудно понять, что делает типовая конфигурация и почему.
  • 🖥 Управляемые формы. Разделение на клиент и сервер, контекстные и внеконтекстные вызовы, передача данных между ними.

Бухгалтеру переход даётся легче, чем кажется. Предметную область он уже знает, а именно она тормозит выпускников IT-курсов. Остаётся освоить технику.

Что непривычно опытному программисту при переходе в 1С

Разработчику с опытом на Java, C# или Python синтаксис 1С покажется знакомым через день. Трудности другие, и они скорее психологические.

Что раздражает в первые месяцы:

  • 🏗 Нет ООП в привычном виде. Без классов приходится выстраивать код через общие модули и модули менеджеров. Повторное использование решают иначе.
  • 📚 Огромные типовые конфигурации. 1С:Бухгалтерия или 1С:ERP — это сотни тысяч строк чужого кода. Большая часть работы — разобраться в нём и аккуратно встроиться, а не написать своё.
  • 🧬 Библиотека стандартных подсистем (БСП). Типовые решения построены на ней. Хорошему 1С-нику нужно знать её механизмы: печатные формы, дополнительные отчёты и обработки, права доступа, обмены.
  • 🔁 Обновления типовых. Изменили типовой код напрямую — при обновлении конфигурации придётся сравнивать и объединять изменения. Поэтому доработки по возможности делают в расширениях (они появились в платформе 8.3.6).
  • 🧪 Слабее культура тестов. Модульное тестирование в 1С есть (через сторонние инструменты), но во многих командах его нет совсем.

Что, наоборот, обрадует:

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

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

Конфигуратор и EDT: в чём пишут код в 1С

Код и структуру конфигурации правят в одной из двух сред.

СредаЧто этоПлюсыМинусы
КонфигураторВстроенный режим платформы, запуск из окна выбора баз кнопкой «Конфигуратор»Есть всегда, быстро стартует, все уроки и курсы на нёмСлабый редактор, нет нормальной работы с Git
1С:EDT (Enterprise Development Tools)Отдельная среда на основе EclipseУдобный редактор, проверки кода, работа с Git, рефакторингТребует много оперативной памяти, долго импортирует большие конфигурации

Новичку начинать стоит с Конфигуратора. В нём есть всё нужное для учёбы:

  • 🧭 Дерево конфигурации — все объекты метаданных в одном месте.
  • 📖 Синтаксис-помощник — встроенный справочник по каждому методу и свойству языка.
  • 🐞 Отладчик — точки останова, просмотр значений переменных, пошаговое выполнение.
  • 🧰 Конструктор запроса — собирает текст запроса мышкой, это хороший способ понять язык запросов.
  • 🗄 Хранилище конфигурации — командная разработка с захватом объектов.

EDT нужен, когда вы работаете в команде с Git, пишете много кода или участвуете в проектах, где принята проверка кода через запросы на слияние. Многие крупные интеграторы переходят на EDT, поэтому знать его полезно, но изучать раньше Конфигуратора не нужно.

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

С чего начать программировать в 1С: рабочий план

Последовательность, которая работает у большинства самоучек:

  1. Установите учебную версию платформы и создайте пустую информационную базу.
  2. Пройдите классический учебник. Книга М. Г. Радченко и Е. Ю. Хрусталёвой «1С:Предприятие 8.3. Практическое пособие разработчика» ведёт от пустой базы до работающей мини-конфигурации с документами и регистрами.
  3. Отдельно разберите язык запросов. Для этого есть книга Е. Ю. Хрусталёвой «Язык запросов 1С:Предприятия 8». Без запросов дальше младшего уровня не продвинуться.
  4. Откройте типовую конфигурацию (демобазу Бухгалтерии или Управления торговлей) и найдите в ней знакомые механизмы: как проводится документ реализации, откуда берутся остатки.
  5. Сделайте 3–5 своих задач: внешнюю обработку заполнения, отчёт на СКД, печатную форму, расширение с новым реквизитом документа.
  6. Сдайте тест «1С:Профессионал» по платформе. Он проверяет теорию и показывает пробелы.
  7. Ищите стажировку у франчайзи 1С или первую работу на поддержке пользователей с ростом в разработку.

Короткая шпаргалка по объёму практики перед собеседованием на младшего разработчика:

Готов ли я к первой работе 1С-программистом
Выполнено: 0 / 7

Сертификаты, зарплаты и рост 1С-программиста

Карьера в 1С выстроена понятнее, чем во многих других стеках. Фирма 1С ведёт систему сертификации, и работодатели на неё смотрят.

Основные ступени:

  • 🥉 1С:Профессионал — тест на знание платформы или конкретной конфигурации. Это компьютерный тест: короткий, но без знания платформы его не пройти.
  • 🥈 1С:Специалист — практический экзамен: решаете задачу в Конфигураторе за ограниченное время. Ценится сильно: франчайзи нужны сертифицированные специалисты для подтверждения своего партнёрского статуса.
  • 🥇 1С:Эксперт по технологическим вопросам — производительность, блокировки, работа больших баз. Таких специалистов немного, и они на рынке дороже всех.

Ориентировочные уровни дохода (примерно, по открытым вакансиям; в Москве и Санкт-Петербурге выше, в регионах ниже):

УровеньОпытЗарплата, ₽/мес (ориентировочно)
Стажёр / младшийдо 1 года50 000 – 100 000
Разработчик (middle)2–4 года150 000 – 250 000
Ведущий (senior)5+ лет250 000 – 400 000
Архитектор, эксперт7+ летот 400 000

Куда расти дальше:

  • 🛠 Технический путь — сложные интеграции, производительность, архитектура, специализация на ERP.
  • 📊 Консалтинг — внедрение, постановка учёта, руководство проектами. Тут нужны знания учёта не меньше, чем программирования.
  • 💼 Фриланс — доработки для малого бизнеса. Заказов много, особенно на печатные формы, отчёты и обмены.

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

Мифы о том, насколько сложно программировать в 1С

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

«Без бухгалтерского образования не взять». Миф наполовину. Диплом не нужен, но разбираться в учёте придётся: что такое проводка, остаток, себестоимость, НДС. Хватает базового курса и практики на типовых конфигурациях.

«Язык на русском — значит, для гуманитариев». Кириллица в коде ничего не упрощает. Алгоритмы, структуры данных и логика остаются теми же. Английский синтаксис платформа тоже понимает.

«Выучил язык — и ты программист». Самая вредная иллюзия. Язык — это 10–15% нужных знаний. Остальное — платформа, запросы, типовые конфигурации и учёт.

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

«Без курсов за деньги не научиться». Можно и самостоятельно: учебная версия платформы бесплатна, учебники доступны, на профильных форумах вроде Инфостарта разобраны тысячи практических задач. Курсы ускоряют, но не заменяют практику.

Стоит ли начинать изучать программирование 1С

Короткая проверка, подойдёт ли вам это направление.

Кто вы сейчас?

Кому направление, скорее всего, не подойдёт:

  • 🚫 Тем, кто хочет писать продуктовые веб-сервисы, мобильные приложения или игры. 1С — про учёт и бизнес-процессы.
  • 🚫 Тем, кому скучно разбираться в документах, остатках, налогах и логике работы предприятия.
  • 🚫 Тем, кто не готов долго читать чужой код и аккуратно встраиваться в него.

Если вас не отпугивает учёт и нравится, когда результат работы сразу видят бухгалтерия и склад, — 1С даёт быстрый вход в профессию и понятный рост.

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

Нужна ли математика, чтобы программировать в 1С?
Высшая математика не нужна. Достаточно школьной арифметики, логики и понимания, как устроены таблицы и связи между ними. Для запросов полезно базовое представление о реляционных базах данных.
Можно ли устроиться 1С-программистом без опыта?
Да, через стажировку у франчайзи или работу на линии поддержки. Резко повышают шансы сертификат «1С:Профессионал» по платформе и 2–3 своих готовых обработки или отчёта, которые можно показать.
Что учить первым: язык запросов или встроенный язык?
Сначала основы встроенного языка и объекты метаданных, затем запросы. Без понимания, что такое справочник и регистр, запросы к ним будут непонятны.
Обязательно ли знать английский?
Для работы — нет: документация, учебники и сообщество в основном русскоязычные. Английский пригодится при работе с EDT, Git и внешними сервисами в интеграциях.
Сложнее ли 1С, чем Python или Java?
Язык проще. Но для продуктивной работы в 1С нужно знать платформу, типовые конфигурации и учёт, поэтому общий объём знаний сопоставим. Разница в том, что первые полезные результаты в 1С появляются быстрее.