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

Обучение и Решения · 9 мин

Как изучать 1С-программирование: практическое руководство

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

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

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

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

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

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

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

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

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

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

Первое учебное упражнение
  1. 1
    Создайте справочник «Товары» с реквизитом «Цена»
  2. 2
    Создайте документ «Поступление» с табличной частью: товар, количество
  3. 3
    Создайте регистр накопления «Остатки» с измерением «Товар» и ресурсом «Количество»
  4. 4
    Напишите в модуле документа обработчик проведения с движениями по регистру
  5. 5
    Проведите документ и проверьте записи регистра через список регистра

Выучите встроенный язык на прикладных задачах

Встроенный язык 1С похож на базовый процедурный язык: переменные, условия, циклы, процедуры и функции. Ключевая особенность — код пишется в модулях разных типов: модуль объекта, модуль формы, общий модуль, модуль менеджера. Важно понимать, где какой код выполняется — на клиенте или на сервере, и какие директивы компиляции (&НаКлиенте, &НаСервере) этим управляют.

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

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

Освойте язык запросов — это половина профессии

Большая часть реального кода в 1С — это запросы к данным. Язык запросов 1С напоминает SQL, но работает с объектами конфигурации и имеет свои особенности: виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних), соединения, группировки, пакетные запросы и временные таблицы.

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

Типичные ошибки с запросами
01
Обращение к таблице регистра вместо виртуальной таблицы Остатки — получаете все движения вместо итогов и тормозите базу
02
Выборка данных в цикле запросом вместо одного запроса с группировкой — резкое падение производительности
03
Игнорирование параметра Период в виртуальных таблицах — неверные итоги на дату

Разберитесь с формами и отладкой

Управляемые формы — отдельный пласт платформы: реквизиты формы, элементы, события (ПриСозданииНаСервере, ПередЗаписью), программное изменение видимости и доступности. Практика: добавьте на форму документа кнопку, которая заполняет цены из справочника, и команду с вызовом серверной процедуры.

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

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

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

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

Маршрут решения

Что учить дальше

Хотите работать во франчайзи 1С или на внедренияхУглубляйте типовые конфигурации (ERP, УТ, ЗУП), обмены данными и расширения
Планируете разрабатывать собственные решенияФокус на архитектуре: подсистемы, общие модули, стандарты разработки 1С
Нужны интеграции с внешними системамиИзучайте HTTP-сервисы, веб-сервисы, форматы JSON и XML в платформе

Как проверять прогресс и где брать знания

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

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

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

Как понять, что раздел освоен

Встроенный язык
Норма

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

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

Каждую конструкцию приходится искать в справке

Запросы
Норма

Самостоятельно используете виртуальные таблицы и параметры

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

Путаете таблицу регистра и виртуальную таблицу

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

Находите причину ошибки в чужом коде за разумное время

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

Останавливаетесь на первом сообщении об ошибке

Итог

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

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

Частые вопросы об изучении 1С-программирования

Нужно ли знать другой язык программирования перед изучением 1С?

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

Сколько времени занимает обучение до первых рабочих задач?

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

Что сложнее всего даётся новичкам?

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

Стоит ли начинать с типовой конфигурации или с пустой базы?

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

Нужны ли сертификаты 1С для трудоустройства?

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

Можно ли учиться без учебной версии, только по видео и книгам?

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