Обучение и Решения · 9 мин
Как изучать 1С-программирование: практическое руководство
Практический план изучения 1С-программирования с нуля: платформа, язык запросов, конфигуратор, типовые ошибки и способы проверить свои навыки на реальных задачах.
1С-программирование — это работа с платформой «1С:Предприятие»: встроенный язык, запросы, объекты метаданных и механизмы проведения документов. В отличие от языков общего назначения, здесь почти весь код завязан на предметную область — учёт, склад, зарплату, поэтому учиться эффективнее всего не по абстрактным примерам, а на реальных учётных задачах.
Главная ошибка новичков — пытаться выучить язык отдельно от платформы. Встроенный язык 1С сам по себе несложен, но без понимания того, как устроены справочники, документы, регистры и запросы, синтаксис бесполезен. Поэтому обучение строится вокруг конфигуратора и учебной базы, а не вокруг учебника по синтаксису.
Ниже — рабочий порядок освоения: от установки учебной версии платформы до первых самостоятельных доработок. План подходит и тем, кто приходит из бухгалтерии или внедрения, и тем, у кого уже есть опыт программирования на других языках.
Установите платформу и подготовьте учебную базу
Для обучения достаточно учебной версии платформы «1С:Предприятие 8.3» — она бесплатна и позволяет работать в конфигураторе, создавать собственные конфигурации и отлаживать код. Ограничения учебной версии (нет COM-соединений, ограниченная работа с некоторыми механизмами) на старте не мешают.
Создайте две базы: пустую — для экспериментов «с нуля», и копию типовой демонстрационной конфигурации — чтобы смотреть, как устроены готовые решения. Работа в двух базах показывает разницу между написанием механизма самостоятельно и разбором чужого кода, а это два разных навыка.
Освойте конфигуратор и структуру метаданных
Конфигуратор — основная среда разработки. Первое, что нужно понять: дерево конфигурации и типы объектов. Справочники хранят нормативную информацию, документы фиксируют события, регистры накопления и сведений — движения и показатели, отчёты и обработки извлекают и меняют данные. Пока вы не различаете эти объекты и не понимаете, зачем каждый нужен, двигаться дальше рано.
Практическое упражнение: создайте в пустой базе справочник «Товары», документ «Поступление» с табличной частью и регистр накопления «Остатки». Проведите документ и убедитесь, что появились записи в регистре. Это минимальный каркас почти любой учётной системы, и его стоит собрать руками хотя бы один раз.
- 1Создайте справочник «Товары» с реквизитом «Цена»
- 2Создайте документ «Поступление» с табличной частью: товар, количество
- 3Создайте регистр накопления «Остатки» с измерением «Товар» и ресурсом «Количество»
- 4Напишите в модуле документа обработчик проведения с движениями по регистру
- 5Проведите документ и проверьте записи регистра через список регистра
Выучите встроенный язык на прикладных задачах
Встроенный язык 1С похож на базовый процедурный язык: переменные, условия, циклы, процедуры и функции. Ключевая особенность — код пишется в модулях разных типов: модуль объекта, модуль формы, общий модуль, модуль менеджера. Важно понимать, где какой код выполняется — на клиенте или на сервере, и какие директивы компиляции (&НаКлиенте, &НаСервере) этим управляют.
Учите язык через задачи: вычислить сумму по табличной части, проверить заполненность реквизита и отказать в проведении, вывести сообщение пользователю, обойти коллекцию в цикле. Каждая такая задача — это реальный фрагмент будущей работы, а не абстрактный пример.
Процедура ОбработкаПроведения(Отказ, Режим)
Для Каждого Строка Из Товары Цикл
Движение = Движения.Остатки.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Товар = Строка.Товар;
Движение.Количество = Строка.Количество;
КонецЦикла;
КонецПроцедурыОсвойте язык запросов — это половина профессии
Большая часть реального кода в 1С — это запросы к данным. Язык запросов 1С напоминает SQL, но работает с объектами конфигурации и имеет свои особенности: виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних), соединения, группировки, пакетные запросы и временные таблицы.
Начните с консоли запросов — она есть в типовых конфигурациях и доступна как внешняя обработка. Пишите запросы руками, а не только конструктором: конструктор полезен на старте, но без ручного написания вы не поймёте соединения и виртуальные таблицы. Типовое упражнение — получить остатки по списку товаров на дату и сравнить результат с данными регистра.
Разберитесь с формами и отладкой
Управляемые формы — отдельный пласт платформы: реквизиты формы, элементы, события (ПриСозданииНаСервере, ПередЗаписью), программное изменение видимости и доступности. Практика: добавьте на форму документа кнопку, которая заполняет цены из справочника, и команду с вызовом серверной процедуры.
Параллельно освойте отладчик: точки останова, просмотр значений, табло, пошаговое выполнение. Умение отладить чужой обработчик проведения ценнее умения написать свой — в реальной работе вы чаще разбираете существующий код, чем пишете с нуля. Отладка типового механизма проведения — лучший способ понять, как устроена конфигурация.
Переходите к реальным задачам и типовым конфигурациям
После базовых упражнений берите задачи, близкие к рабочим: внешняя печатная форма, обработка загрузки данных из табличного документа, простой отчёт на СКД (система компоновки данных). СКД — обязательный навык: большинство отчётов в типовых решениях построено именно на ней, и без неё доработка отчётов невозможна.
Изучайте типовые конфигурации через расширения — механизм, позволяющий дорабатывать конфигурацию без изменения её модулей. Это современный стандарт доработок: попробуйте добавить реквизит в документ и вывести его в печатную форму через расширение. Заодно поймёте разницу между изменением типовой конфигурации и расширением — и почему второе предпочтительнее для обновлений.
Что учить дальше
Как проверять прогресс и где брать знания
Проверка навыка проста: поставьте себе задачу из реальной практики (например, «отчёт по продажам по менеджерам за период с детализацией до документа») и выполните её без подглядывания в готовое решение. Если получилось за разумное время и результат сходится с данными регистров — раздел освоен.
Источники: официальная документация и синтакс-помощник, книги по разработке на платформе, демонстрационные конфигурации, профильные курсы и разбор чужого кода. Полезно вести собственную базу заготовок — типовые запросы, шаблоны обработчиков, примеры СКД. Со временем она становится главным рабочим инструментом.
Как понять, что раздел освоен
Пишете обработчик проведения без подглядывания в примеры
Каждую конструкцию приходится искать в справке
Самостоятельно используете виртуальные таблицы и параметры
Путаете таблицу регистра и виртуальную таблицу
Находите причину ошибки в чужом коде за разумное время
Останавливаетесь на первом сообщении об ошибке
Что важно запомнить
Учите 1С через практику в учебной базе: сначала конфигуратор и объекты метаданных, затем встроенный язык, запросы, формы и СКД. Каждый раздел закрепляйте задачей из реального учёта и проверяйте результат по данным регистров.
Частые вопросы об изучении 1С-программирования
Нужно ли знать другой язык программирования перед изучением 1С?
Нет, 1С часто осваивают как первый язык. Опыт программирования ускоряет обучение, но предметная область — учётные механизмы и объекты платформы — всё равно изучается с нуля. Важнее базовая логика и понимание, как устроен учёт.
Сколько времени занимает обучение до первых рабочих задач?
При регулярной практике по несколько часов в неделю базовые доработки (печатные формы, простые отчёты, обработки) обычно становятся доступны через несколько месяцев. Уверенная работа с типовыми конфигурациями требует заметно больше времени, так как нужно знать прикладные механизмы конкретных решений.
Что сложнее всего даётся новичкам?
Чаще всего — язык запросов с виртуальными таблицами и понимание регистров: как формируются движения, остатки и обороты. Второй сложный участок — клиент-серверная модель управляемых форм и контекст выполнения кода.
Стоит ли начинать с типовой конфигурации или с пустой базы?
Лучше параллельно: в пустой базе вы понимаете механизмы изнутри, создавая их руками, а в типовой — учитесь читать чужой код и видите промышленные приёмы разработки. Только типовая конфигурация без пустой базы часто даёт поверхностное понимание.
Нужны ли сертификаты 1С для трудоустройства?
Сертификат «1С:Профессионал» и «1С:Специалист» помогают при устройстве во франчайзи и служат проверкой знаний, но решающим фактором обычно является умение выполнить тестовое задание и наличие практических работ. Готовиться к экзамену полезно уже само по себе — он структурирует знания.
Можно ли учиться без учебной версии, только по видео и книгам?
Теория без практики в 1С почти не работает: большинство навыков — запросы, отладка, движения по регистрам — проверяются только руками. Минимальный набор — установленная учебная платформа и собственная база для экспериментов.