Программист 1С с нуля без курсов: что учить, в каком порядке и как проверить себя
Содержание
Выучить программирование 1С самостоятельно реально за 4–6 месяцев при 8–10 часах в неделю. Порядок такой: учебная версия платформы 8.3 → своя маленькая конфигурация с нуля → язык запросов → модули и события → отчёты на СКД → отладчик → сертификат «1С:Профессионал» по платформе. Курсы не обязательны, а вот ежедневная практика в Конфигураторе — обязательна.
Главная ловушка новичка — начать с типовой «Бухгалтерии» и утонуть в тысячах объектов. Сначала собирают свою конфигурацию на 10–15 объектов: склад, приход, расход, остатки, отчёт. Только после этого открывают типовые и читают чужой код.
С чего начать самостоятельное изучение 1С: платформа, книги и стратегия
Какую платформу поставить
Для учёбы берут учебную версию платформы 1С:Предприятие 8.3. Она бесплатная и распространяется легально вместе с учебными книгами и на сайте фирмы 1С в разделе для обучения.
Ограничения учебной версии:
- 📁 только файловый режим, без сервера 1С;
- 📉 ограничено количество записей в таблицах — для промышленного учёта не годится, для учебных задач хватает;
- 🧩 Конфигуратор полноценный: метаданные, модули, конструкторы, отладчик.
Ставьте самую свежую доступную версию 8.3 с интерфейсом «Такси». Материалы про 8.2 и обычные формы (ОбычнаяФорма, меню «Все действия») читайте только как историю: в новых конфигурациях этого уже нет.
Какую стратегию выбрать
| Путь | Кому подходит | Минусы |
|---|---|---|
| Книги + своя конфигурация | Тем, кто готов к самодисциплине | Нет обратной связи на ошибки |
| Книги + бесплатные видеоуроки | Тем, кому проще смотреть, чем читать | Легко «смотреть» и не писать код |
| Самостоятельно + стажировка у франчайзи | Тем, кто хочет работу быстрее | Нужен минимальный уровень для собеседования |
Рабочая связка для самоучки — книга как основа и практика в своей базе после каждой главы. Видео — для отдельных тем вроде СКД.
Что читать
- 📘 «1С:Предприятие 8.3. Практическое пособие разработчика» (Радченко, Хрусталёва) — сквозной пример с нуля, лучший старт;
- 📗 «Язык запросов 1С:Предприятия 8» (Хрусталёва) — когда дойдёте до запросов;
- 📙 «Разработка сложных отчётов в 1С:Предприятии 8. Система компоновки данных» (Хрусталёва) — для СКД;
- 📕 «Профессиональная разработка в системе 1С:Предприятие 8» — справочник на второй этап, а не учебник для первого месяца.
Встроенная справка Конфигуратора и синтакс-помощник (Справка → Синтакс-помощник) — ваш главный инструмент. Каждый незнакомый метод сначала ищите там.
- недели 1–2Установка учебной платформы, первая конфигурация, справочники и документы
- недели 3–5Регистры накопления и сведений, проведение документов
- недели 5–8Язык запросов: выборки, соединения, виртуальные таблицы
- недели 8–11Управляемые формы, клиент и сервер, общие модули
- недели 11–15Отчёты на СКД, отладка, замер производительности
- недели 16–20Подготовка и сдача теста «1С:Профессионал» по платформе
Объекты метаданных: что выучить в первую очередь
Конфигурация 1С — это дерево объектов. Синтаксис языка учится за пару недель, а понимание, какой объект под какую задачу, — дольше. С него и начинайте.
Минимальный набор для старта
| Объект | Что хранит | Учебный пример |
|---|---|---|
| Справочник | Условно-постоянные данные | Номенклатура, Склады, Контрагенты |
| Документ | Факт хозяйственной операции | Приход товаров, Расход товаров |
| Регистр накопления | Остатки и обороты | ОстаткиТоваров (склад, номенклатура, количество) |
| Регистр сведений | Значения с привязкой к разрезам и датам | Цены номенклатуры |
| Перечисление | Фиксированный список значений | Виды операций |
| Константа | Одно значение на всю базу | Основная организация |
| Отчёт, обработка | Вывод данных, сервисные действия | Ведомость по остаткам |
Регистры бухгалтерии и расчёта оставьте на потом. Они нужны, если идёте в доработку БП или ЗУП, но без понимания регистров накопления их не освоить.
Учебная задача на первые недели
- Создайте пустую конфигурацию: в окне запуска добавьте новую информационную базу без конфигурации.
- Добавьте справочники
НоменклатураиСклады. - Добавьте документы
ПриходТоваровиРасходТоваровс табличной частьюТовары. - Создайте регистр накопления
ОстаткиТовароввида «Остатки»: измеренияНоменклатура,Склад, ресурсКоличество. - Настройте проведение документов через конструктор движений, а затем перепишите движения руками.
- Добавьте подсистему, чтобы объекты появились в интерфейсе.
Эта мини-конфигурация станет полигоном для всего остального: запросов, отчётов, отладки.
Язык запросов 1С: как освоить его самостоятельно
Без запросов программиста 1С не берут даже на стажировку. Это SQL-подобный язык с русскими ключевыми словами и своими «виртуальными таблицами» регистров.
Порядок изучения
- 🔹
ВЫБРАТЬ,ИЗ,ГДЕ,УПОРЯДОЧИТЬ ПО, параметры через&; - 🔹
ЛЕВОЕ СОЕДИНЕНИЕиВНУТРЕННЕЕ СОЕДИНЕНИЕ, разница в результате; - 🔹
СГРУППИРОВАТЬ ПОи агрегатные функцииСУММА,КОЛИЧЕСТВО; - 🔹 виртуальные таблицы
Остатки,Обороты,ОстаткиИОбороты,СрезПоследнихи их параметры; - 🔹 временные таблицы (
ПОМЕСТИТЬ) и пакетные запросы; - 🔹
ОБЪЕДИНИТЬ ВСЕ,ВЫБОР КОГДА,ЕСТЬNULL.
Первый рабочий пример — остатки по складу на дату:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.КоличествоОстаток КАК Остаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(&НаДату, Склад = &Склад) КАК Остатки";
Запрос.УстановитьПараметр("НаДату", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("Склад", Склад);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(СтрШаблон("%1: %2", Выборка.Номенклатура, Выборка.Остаток));
КонецЦикла;
Условие на склад передано в параметры виртуальной таблицы, а не в ГДЕ. Так платформа отбирает данные до расчёта остатков. Это один из первых вопросов на собеседовании.
Пишите запросы сначала конструктором (правый клик в модуле → Конструктор запроса), затем читайте сгенерированный текст и правьте вручную. Для экспериментов поставьте в учебную базу внешнюю обработку
«Консоль запросов» — она есть в открытом доступе и позволяет выполнить запрос без написания кода.
Модули и события: как писать код в 1С
Где живёт код
| Модуль | Когда выполняется |
|---|---|
| Модуль объекта | При работе с конкретным документом или элементом справочника: запись, проведение, заполнение |
| Модуль менеджера | Действия с объектом в целом: печать, выборки, служебные функции |
| Модуль формы | Реакция на действия пользователя в форме |
| Общий модуль | Процедуры, которые вызываются из разных мест |
| Модуль сеанса, модуль управляемого приложения | Старт сеанса и запуск клиентского приложения |
Ключевые события объекта
- ⚙️
ОбработкаЗаполнения— заполнение нового документа, в том числе «на основании»; - ⚙️
ПередЗаписью— проверки и доработка реквизитов, можно отменить запись черезОтказ; - ⚙️
ОбработкаПроверкиЗаполнения— проверка обязательных реквизитов; - ⚙️
ОбработкаПроведения— формирование движений по регистрам; - ⚙️
ПриЗаписи— действия после записи в той же транзакции.
Движения документа «Приход товаров», написанные вручную:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.ОстаткиТоваров.Записывать = Истина;
Для Каждого СтрокаТЧ Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = СтрокаТЧ.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = СтрокаТЧ.Количество;
КонецЦикла;
КонецПроцедуры
Для расходного документа добавьте контроль остатков: после записи движений запросом к Остатки найдите отрицательные значения и выставьте Отказ = Истина. Это классическое упражнение, которое показывает, понимаете ли вы проведение.
Клиент и сервер в управляемых формах
Вторая стена для самоучки — директивы компиляции. Разберитесь, чем отличаются:
&НаКлиенте— код в приложении пользователя, без доступа к базе;&НаСервере— код на сервере, с данными формы;&НаСервереБезКонтекста— серверный вызов без передачи формы, самый «лёгкий».
Каждый серверный вызов из клиента — это обращение по сети. Пять вызовов подряд в цикле на клиенте вместо одного на сервере — частая причина «тормозов» в чужих доработках.
Отчёты на СКД: следующий шаг после запросов
Почти все отчёты в типовых конфигурациях построены на системе компоновки данных. Пользователь сам меняет группировки и отборы, а разработчик описывает только схему.
Что освоить в схеме компоновки
- Набор данных — запрос. Тот же язык запросов, плюс расширение для СКД в фигурных скобках.
- Ресурсы. Поля, которые суммируются в итогах: количество, сумма.
- Параметры. Период, склад, организация; связь с параметрами виртуальных таблиц.
- Вычисляемые поля. Расчёт без изменения запроса.
- Варианты отчёта. Группировки, отборы, условное оформление.
- Вывод в код. Программное формирование через
КомпоновщикМакетаКомпоновкиДанныхиПроцессорКомпоновкиДанных— понадобится, когда отчёт нужно собрать в обработке.
Учебная задача: ведомость по товарам за период на виртуальной таблице ОстаткиИОбороты с колонками «Начальный остаток — Приход — Расход — Конечный остаток» и группировкой по складам. Если справились без подсказок, базу СКД вы знаете.
Не тащите в СКД логику, которую проще сделать в запросе. И наоборот: не пишите вручную вывод в табличный документ, если отчёт укладывается в схему. Самодельные отчёты без СКД неудобны пользователю и тяжело поддерживаются.
Отладка и поиск ошибок в своём коде
Отладчик в 1С 8.3 — не дополнительная опция, а ежедневный инструмент. Научитесь им пользоваться в первый же месяц.
Основные приёмы
- 🔴 Точка останова —
F9на строке, запуск отладки —F5; - ⏭️ Шаги —
F10(через вызов),F11(внутрь процедуры),Shift+F11(выйти из процедуры); - 🔍 Вычислить выражение —
Shift+F9: значение переменной, результат функции, содержимое запроса; - 📊 Табло — значения переменных, пока идёт пошаговое выполнение;
- ⏱️ Замер производительности — показывает, какие строки съедают время. Без него оптимизацию делают «на глаз».
Для серверного кода в клиент-серверной базе отладку на сервере включают отдельно, в настройках сервера 1С. В учебной файловой базе всё работает сразу.
Тестирование
- ✅ ручной сценарий: создать документ → провести → проверить движения → отменить проведение;
- ✅ проверка на «граничных» данных: пустая табличная часть, нулевое количество, документ задним числом;
- ✅ автоматические тесты — фреймворк Vanessa Automation (сценарии на языке Gherkin). Это уже уровень Middle, но знание инструмента выделит вас на собеседовании.
Ошибки читайте целиком: текст сообщения указывает модуль и номер строки. Двойной клик по ошибке в окне сообщений Конфигуратора переходит к строке кода.
Сертификация 1С и путь от самоучки до работы
Какие сертификаты бывают
| Сертификат | Формат | Что даёт |
|---|---|---|
| 1С:Профессионал по платформе | Тест на знание платформы, сдаётся в центре сертификации или онлайн | Первая строчка в резюме, допуск к «Специалисту» |
| 1С:Специалист по платформе | Экзамен: решение практической задачи в Конфигураторе | Сильный сигнал работодателю, обязателен для многих франчайзи |
| 1С:Специалист по конфигурации (БП, ЗУП, УТ) | Экзамен по доработке типовой | Ведущий разработчик внедрений |
| 1С:Эксперт по технологическим вопросам | Экзамен по производительности и highload | Уровень архитектора |
«Профессионал» по платформе реально сдать самостоятельно после 4–5 месяцев практики. Для подготовки есть официальные сборники тестовых вопросов; прорешайте их полностью, причём каждый неверный ответ проверяйте в своей учебной базе, а не заучивайте.
Как найти первую работу
- Соберите портфолио: своя конфигурация, 2–3 внешние обработки и отчёт на СКД. Выложите на GitHub или держите
.cfи.epfпод рукой. - Сдайте «1С:Профессионал» по платформе.
- Откликайтесь на вакансии «стажёр / младший программист 1С» у франчайзи. Там поток задач по доработке типовых, и рост быстрее, чем в одиночку.
- Параллельно освоите типовую конфигурацию , в которой работает ваша компания: БП 3.0, ЗУП 3.1 или УТ 11. Подойдёт демонстрационная база.
Бухгалтер, который знает учёт и выучил программирование 1С, ценится выше чистого программиста: ему не надо объяснять, что такое закрытие месяца и зачем проводки.
Частые ошибки тех, кто учит 1С без наставника
- ❌ Начинать с доработки типовой. В БП 3.0 тысячи объектов и библиотека стандартных подсистем; без базы вы будете копировать код, не понимая его.
- ❌ Изменять типовую конфигурацию напрямую. Учитесь делать доработки через расширения (появились в 8.3.6): так типовая остаётся на поддержке и обновляется без боли.
- ❌ Запрос в цикле. Обращение к базе на каждой строке табличной части вместо одного запроса со всеми строками.
- ❌ Обращение «через точку» к реквизитам ссылок в цикле.
СтрокаТЧ.Номенклатура.ЕдиницаИзмерениянеявно читает объект из базы. Нужные поля получайте запросом. - ❌ Учить синтаксис без задачи. Прочитать главу и не написать код — потерянный вечер. Минимум одно упражнение после каждой темы.
- ❌ Пропускать стандарты разработки. Фирма 1С публикует «Стандарты и методики разработки». Их требования спрашивают и на экзаменах, и на код-ревью.