Путь в разработчики 1С: от первой обработки до сертификата «Специалист»

· 9 мин

Содержание

Выучить программирование 1С с нуля реально за 6–12 месяцев, если заниматься 1–2 часа в день. Порядок такой: учебная версия платформы 8.3 → объекты метаданных → встроенный язык → язык запросов → практика на типовых конфигурациях → отладка и инструменты → сертификат «1С:Профессионал» и первая работа.

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

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

Для старта не нужна лицензия и не нужен сервер. Хватит обычного компьютера с Windows и учебной версии платформы.

📦 Что поставить в первую неделю:

  • Учебная версия платформы 1С:Предприятие 8.3. Бесплатная, работает без ключа защиты. Есть ограничения: только файловый вариант базы и урезанный объём данных. Для учёбы этого достаточно.
  • Пустая база для своей конфигурации. При добавлении базы в окне запуска выберите Создание информационной базы без конфигурации — в ней вы будете собирать объекты сами.
  • Демобаза типовой конфигурации. Например, демо Бухгалтерии предприятия 3.0 — её код вы будете читать на втором этапе.
  • Книга с упражнениями. Классика — «1С:Предприятие 8.3. Практическое пособие разработчика» М. Радченко и Е. Хрусталёвой. По ней за 3–4 недели собирают учебную конфигурацию с документами, регистрами и отчётами.

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

Ориентир по времени при 1–2 часах в день:

Пошаговый план изучения программирования 1С
  1. 1–2 месяцаПлатформа и объекты метаданных
  2. 1–2 месяцаВстроенный язык и формы
  3. 1–2 месяцаЯзык запросов и СКД
  4. 2–3 месяцаЧтение и доработка типовых конфигураций
  5. параллельно с практикойОтладка, хранилище, EDT
  6. 6–12-й месяцСертификат «1С:Профессионал» и поиск работы

Архитектура платформы 1С: из каких деталей собрана любая база

1С — это платформа плюс конфигурация. Платформа (файлы 1cv8.exe, 1cv8c.exe) одна для всех. Конфигурация — описание конкретного решения: Бухгалтерии, ЗУП, вашей учебной базы. Разработчик почти всегда работает с конфигурацией.

🧱 Объекты метаданных, которые нужно знать в первую очередь:

ОбъектЧто хранитПример
СправочникСписки однотипных элементовНоменклатура, контрагенты
ДокументФакт хозяйственной операцииПоступление товаров
ПеречислениеФиксированный набор значенийВиды операций
Регистр сведенийДанные с привязкой к измерениям, часто ко времениКурсы валют, цены
Регистр накопленияОстатки и оборотыТовары на складах
Регистр бухгалтерииПроводки по плану счетовХозрасчётный
Общий модульПереиспользуемый кодПроцедуры расчётов
РольПрава пользователейБухгалтер, кладовщик

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

🖥️ Вторая важная вещь — разделение на клиент и сервер. Пользователь работает в тонком клиенте или в браузере. Данные из базы читаются на сервере. Код формы явно помечают директивами:

  • &НаКлиенте — выполняется на компьютере пользователя, доступа к базе нет;
  • &НаСервере — выполняется на сервере, с передачей данных формы;
  • &НаСервереБезКонтекста — на сервере, без данных формы, вызов дешевле.

Даже в файловой базе на одном компьютере эти контексты работают так же. Поэтому привычку думать «где выполнится этот код» вырабатывают с первого дня.

Встроенный язык 1С: синтаксис, который нужен на старте

Встроенный язык простой. Он похож на Паскаль и Visual Basic, ключевые слова русские (английские тоже поддерживаются). Синтаксис осваивают за 2–3 недели. Дольше учат объектную модель: какие методы есть у документа, у формы, у запроса.

📚 Минимум конструкций:

  • переменные и процедуры: Перем, Процедура … КонецПроцедуры, Функция … Возврат … КонецФункции;
  • условия: Если … Тогда … ИначеЕсли … Иначе … КонецЕсли;
  • циклы: Для Сч = 1 По 10 Цикл, Для Каждого Элемент Из Массив Цикл, Пока … Цикл;
  • обработка исключений: Попытка … Исключение … КонецПопытки;
  • универсальные коллекции: Массив, Структура, Соответствие, ТаблицаЗначений.

Первое практическое задание — обработчик проведения документа. Его пишут в модуле объекта, в процедуре ОбработкаПроведения. Пример движения по регистру накопления в учебной конфигурации:

Процедура ОбработкаПроведения(Отказ, Режим)

	Движения.ТоварыНаСкладах.Записывать = Истина;

	Для Каждого Строка Из Товары Цикл
		Движение = Движения.ТоварыНаСкладах.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
		Движение.Период = Дата;
		Движение.Склад = Склад;
		Движение.Номенклатура = Строка.Номенклатура;
		Движение.Количество = Строка.Количество;
	КонецЦикла;

КонецПроцедуры

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

Конструктор движений (контекстное меню документа в дереве конфигурации) генерирует похожий код сам. Сгенерируйте, а потом перепишите руками — так быстрее запоминается.

Справочник по всем методам — синтакс-помощник в Конфигураторе (Справка → Синтакс-помощник). Привыкайте искать в нём, а не в поисковике: там описание для вашей версии платформы.

Язык запросов 1С: что выучить, чтобы писать быстрый код

Запросы — самая важная часть профессии. На собеседованиях по ним гоняют дольше всего. Язык похож на SQL, но работает с объектами конфигурации, а не с таблицами СУБД.

Пример запроса к остаткам из учебной базы:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|	Остатки.Номенклатура КАК Номенклатура,
|	Остатки.КоличествоОстаток КАК Количество
|ИЗ
|	РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Склад = &Склад) КАК Остатки";
Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("Склад", Склад);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Сообщить(Строка(Выборка.Номенклатура) + ": " + Формат(Выборка.Количество, "ЧГ=0"));
КонецЦикла;

🔍 Что разобрать по запросам, в порядке сложности:

  1. ВЫБРАТЬ, ИЗ, ГДЕ, СГРУППИРОВАТЬ ПО, УПОРЯДОЧИТЬ ПО, параметры через &.
  2. Соединения: ЛЕВОЕ СОЕДИНЕНИЕ, ВНУТРЕННЕЕ СОЕДИНЕНИЕ, ОБЪЕДИНИТЬ ВСЕ.
  3. Виртуальные таблицы регистров: Остатки, Обороты, ОстаткиИОбороты, СрезПоследних.
  4. Временные таблицы (ПОМЕСТИТЬ) и пакетные запросы.
  5. Система компоновки данных (СКД) — на ней построены почти все отчёты типовых конфигураций.

Не выполняйте запрос внутри цикла по строкам документа. Это первая ошибка, которую ищут на код-ревью: 1000 строк превращаются в 1000 обращений к базе. Правильно — собрать данные в таблицу значений, передать её параметром в один запрос.

Второй момент — условия на измерения ставят в параметрах виртуальной таблицы, как Склад = &Склад в примере выше, а не в ГДЕ. Так платформа отбирает данные до расчёта остатков, и запрос работает быстрее.

Для запросов есть отдельная книга — «Язык запросов 1С:Предприятия 8» Е. Хрусталёвой. Её читают после практического пособия.

Практика на реальных задачах и типовых конфигурациях

Учебная конфигурация даёт основы. Работодатель же платит за доработку типовых: Бухгалтерии 3.0, ЗУП 3.1, Управления торговлей 11, ERP. Их код огромный, и умение в нём ориентироваться — отдельный навык.

🛠️ Задачи, которые стоит решить самостоятельно на демобазе:

  • Внешняя печатная форма. Подключается через Администрирование → Печатные формы, отчёты и обработки. Типовая конфигурация при этом не меняется.
  • Внешний отчёт на СКД — например, продажи по менеджерам с группировкой по месяцам.
  • Обработка загрузки из Excel в справочник номенклатуры.
  • Расширение конфигурации . Добавить реквизит в документ и вывести его на форму, не снимая типовую с поддержки. Расширения появились в платформе 8.3.6, и сейчас это основной способ доработки.
  • Подписка на событие или переопределение обработчика через расширение (аннотации &Перед, &После, &Вместо).

Дорабатывайте только копию демобазы. Если вы снимете с поддержки рабочую базу клиента или коллеги, следующее обновление превратится в ручное сравнение-объединение.

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

Где брать задачи, если нет работы:

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

Инструменты разработчика: Конфигуратор, EDT и отладчик

Сегодня рабочих среды две, и знать стоит обе.

ИнструментКогда использоватьОсобенности
КонфигураторУчёба, мелкие доработки, большинство франчайзиВстроен в платформу, запускается из окна 1С:Предприятие
1C:Enterprise Development Tools (EDT)Командная разработка, крупные проектыСреда на базе Eclipse, проект в файлах, работа с Git
Хранилище конфигурацииНесколько разработчиков на одной базе в КонфигуратореЗахват и помещение объектов, история версий

🐞 Отладчик в Конфигураторе осваивают сразу, вместе с языком:

  • F9 — поставить или снять точку останова на строке;
  • F5 — запустить отладку или продолжить выполнение до следующей точки;
  • F11 — шаг с заходом в процедуру, F10 — шаг без захода;
  • Shift+F9 — вычислить выражение и посмотреть значение переменной;
  • табло — окно, куда добавляют переменные, чтобы следить за ними на каждом шаге.

⏱️ Замер производительности (запускается в меню Отладка при активной отладке) показывает, какие строки кода съедают время. С его помощью и находят тот самый запрос в цикле.

Ещё два инструмента, без которых не обойтись:

  • Консоль запросов — внешняя обработка, где запрос пишут и выполняют прямо на данных базы. Удобно проверять текст запроса до вставки в код.
  • Конструктор запроса — вызывается из контекстного меню в модуле. Новичку экономит время на синтаксисе, но читать и править текст запроса руками всё равно придётся.

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

Сертификация и карьера программиста 1С

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

🎓 Лестница сертификатов:

  1. 1С:Профессионал по платформе — компьютерный тест с вопросами на знание платформы. Сдают у партнёров 1С или в центрах сертификации. Обычно его берут через 3–6 месяцев учёбы, с ним уже зовут стажёром.
  2. 1С:Специалист по платформе — практический экзамен: за несколько часов нужно решить задачу в Конфигураторе, затем защитить решение экзаменатору. Считается главным сертификатом разработчика.
  3. 1С:Специалист-консультант и Специалист по конфигурациям (Бухгалтерия, ЗУП, УТ, ERP) — для тех, кто внедряет типовые.
  4. 1С:Эксперт по технологическим вопросам — производительность, блокировки, высоконагруженные системы. Уровень ведущего разработчика или архитектора.

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

💰 Ориентиры по зарплатам (примерно, по вакансиям крупных городов и удалёнке):

УровеньОпытЗадачиОриентир, руб./мес
Стажёр / juniorдо 1 годапечатные формы, отчёты, правки по ТЗ50–100 тыс.
Middle1–3 годадоработки типовых, обмены, расширения120–220 тыс.
Senior / ведущий3+ годаархитектура, производительность, ERPот 250 тыс.

Траектории после первых лет обычно три: углубляться в разработку (ERP, производительность, EDT), уходить в консалтинг по учёту или в руководство проектами внедрения.

📄 Что положить в резюме новичку:

  • сертификат «1С:Профессионал» с номером;
  • 3–5 работ: печатная форма, отчёт на СКД, обработка загрузки, расширение;
  • выгрузку учебной конфигурации (.cf) или репозиторий EDT, который можно показать.

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

Нужно ли знать бухгалтерию, чтобы стать программистом 1С?
Глубоко — нет, но основы нужны. Разработчик должен понимать, что такое проводка, остаток по счёту, НДС к вычету. Иначе вы не поймёте ТЗ бухгалтера. Хватит базового курса по учёту.
Можно ли выучить 1С без опыта программирования?
Можно, многие приходят из бухгалтерии или поддержки пользователей. Встроенный язык проще Python или Java. Сложность не в синтаксисе, а в объёме платформы и типовых конфигураций.
Что выбрать для учёбы: Конфигуратор или EDT?
Начинайте с Конфигуратора: он входит в учебную версию, по нему написаны учебники и экзамены. EDT подключайте, когда пойдёте работать в команду с Git.
Есть ли смысл учить 1С 7.7 или обычные формы 8.2?
Отдельно — нет. Достаточно понимать, что обычные формы встречаются в старых базах. Учитесь на управляемых формах и интерфейсе «Такси».
Сколько стоит обучение программированию 1С?
Ориентировочно: самостоятельно по книгам — стоимость книг и сдачи теста, несколько тысяч рублей. Курсы у учебных центров — примерно от 20 до 100 тыс. руб. в зависимости от объёма и формата.