Путь разработчика 1С с нуля: что учить, в каком порядке и на чём практиковаться
Содержание
Изучить 1С самостоятельно реально за 4–6 месяцев при 1–2 часах в день. Порядок такой: поставить учебную версию платформы 8.3, собрать в Конфигураторе маленькую учётную базу «склад + продажи», затем освоить язык запросов, встроенный язык и систему компоновки данных. После этого — разбор типовой конфигурации и экзамен «1С:Профессионал» по платформе.
Главное правило: читать и смотреть уроки без своей базы почти бесполезно. Каждую тему сразу повторяйте руками — создайте объект, запишите документ, проверьте движения. Ниже — что именно учить на каждом этапе и где новички теряют время.
С чего начать изучение 1С: платформа, конфигурация и режимы запуска
Сначала разберитесь в трёх понятиях, иначе дальше всё будет путаться.
- 🧱 Платформа — программа 1С:Предприятие 8.3. Она одна и та же для бухгалтерии, зарплаты и склада.
- 📦 Конфигурация — прикладное решение поверх платформы: «Бухгалтерия предприятия», «Зарплата и управление персоналом», ваша учебная база. Это набор объектов, форм и кода.
- 🗄 Информационная база — конкретные данные плюс конфигурация. Бывает файловой (один файл
1Cv8.1CDв папке) и клиент-серверной (данные в СУБД, работа через сервер 1С).
Режимов запуска два:
| Режим | Кто работает | Что делает |
|---|---|---|
| 1С:Предприятие | Пользователь | Вводит документы, смотрит отчёты |
| Конфигуратор | Разработчик, администратор | Меняет структуру, пишет код, выгружает и загружает базу |
Для обучения нужна учебная версия платформы. Она бесплатная, ставится как обычная платформа и рассчитана на небольшие файловые базы — для практики этого хватает с запасом. Её распространяют вместе с учебными книгами фирмы 1С и выкладывают для загрузки на ресурсах для разработчиков.
Первый запуск
- Установите учебную платформу.
- В окне запуска нажмите
Добавить→Создание новой информационной базы→Создание информационной базы без конфигурации. - Укажите каталог на диске, например
C:\Base1C\Uchebnaya. - Откройте базу кнопкой
Конфигуратор, затем менюКонфигурация→Открыть конфигурацию.
Слева откроется дерево конфигурации — пустой каркас, который вы будете наполнять. Запуск отладки — клавиша F5: платформа спросит про обновление конфигурации
базы данных, соглашайтесь.
Привыкайте к интерфейсу «Такси» — он основной в 8.3. Старые учебники с командами вроде «Все действия» описывают интерфейс 8.2, по ним легко запутаться.
Объекты метаданных: из чего строится любая база
Любая конфигурация, от учебной до ERP, собрана из одних и тех же типов объектов. Их нужно понимать на уровне «зачем и когда».
- 📚 Справочники — списки: номенклатура, контрагенты, сотрудники. Есть иерархия, реквизиты, табличные части.
- 📄 Документы — события с датой: поступление, реализация, приём на работу. Документ при проведении делает движения по регистрам.
- 🔢 Перечисления — фиксированные списки значений, которые не меняются в режиме Предприятия (например, виды оплаты).
- 📊 Регистры накопления — остатки и обороты. Вида «Остатки» — для склада и взаиморасчётов, вида «Обороты» — для продаж.
- 🗂 Регистры сведений — данные, которые меняются во времени: цены, курсы, адреса.
- 🧾 Планы счетов и регистры бухгалтерии — бухгалтерский учёт с проводками.
- 🧮 Регистры расчёта и планы видов расчёта — зарплата и перерасчёты. Самая сложная часть, оставьте её на конец.
- ⚙️ Обработки и отчёты — сервисные функции и аналитика.
- 🔐 Роли и подсистемы — права доступа и разделы командного интерфейса.
- 🧩 Общие модули — код, который вызывается из разных мест.
Учебная задача на объекты
Соберите мини-склад:
- Справочники
НоменклатураиСклады. - Регистр накопления
ОстаткиТовароввида «Остатки»: измеренияНоменклатураиСклад, ресурсКоличество. - Документы
ПриходТовараиРасходТоварас табличной частьюТовары. - Подсистема
Склад, в которую включены все эти объекты.
Если на этом шаге вы понимаете, почему остаток хранится в регистре, а не в справочнике, — фундамент заложен. Это ключевая идея 1С: документ фиксирует факт, регистр хранит итог.
Язык запросов: как 1С достаёт данные
Почти любой отчёт и любое серьёзное проведение опирается на запрос. Язык запросов 1С похож на SQL, но работает с объектами конфигурации и умеет обращаться к реквизитам через точку.
Что освоить по порядку:
ВЫБРАТЬ … ИЗ … ГДЕс параметрами через&.- Соединения:
ЛЕВОЕ СОЕДИНЕНИЕ,ВНУТРЕННЕЕ СОЕДИНЕНИЕ. - Группировка и агрегаты:
СГРУППИРОВАТЬ ПО,СУММА,КОЛИЧЕСТВО. - Виртуальные таблицы регистров:
Остатки,Обороты,ОстаткиИОбороты,СрезПоследних. - Временные таблицы и пакетные запросы —
ПОМЕСТИТЬ. - Разыменование полей через точку и почему оно тормозит на больших базах.
Пример запроса к учебному регистру:
ВЫБРАТЬ
Остатки.Номенклатура КАК Номенклатура,
Остатки.Склад КАК Склад,
Остатки.КоличествоОстаток КАК Количество
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки(&Дата, ) КАК Остатки
ГДЕ
Остатки.КоличествоОстаток > 0
Писать запросы
руками с первого дня не обязательно. В модуле вызовите Конструктор запроса из контекстного меню — он соберёт текст по таблицам и полям. Но потом обязательно читайте получившийся текст: на собеседованиях просят писать запрос без конструктора.
Отдельно изучите систему компоновки данных (СКД). Почти все отчёты в типовых конфигурациях сделаны на ней. Схема компоновки — это запрос плюс настройки группировок, отборов и оформления без кода.
Консоль запросов
Для тренировки нужна обработка «Консоль запросов»: вы пишете запрос и сразу видите результат. Она входит в состав некоторых типовых конфигураций и легко находится в открытых наборах инструментов разработчика. Тренируйтесь на демобазе «Бухгалтерии» — там уже есть данные.
Встроенный язык и обработчики событий
Встроенный язык 1С — русскоязычный (есть и английский синтаксис), с процедурами, функциями, циклами и условиями. Синтаксис простой; сложность в другом — понять, где выполняется код и когда он вызывается.
Где живёт код
| Модуль | Когда работает |
|---|---|
| Модуль объекта | При записи, проведении, заполнении конкретного документа или элемента |
| Модуль менеджера | Код, относящийся к объекту целиком (печать, выборки) |
| Модуль формы | Реакции на кнопки и поля формы |
| Общий модуль | Повторно используемые функции |
| Модуль сеанса | При старте сеанса пользователя |
Клиент и сервер
В управляемом приложении код формы разделён директивами компиляции: &НаКлиенте, &НаСервере, &НаСервереБезКонтекста. Запросы к базе выполняются только на сервере. Новички чаще всего спотыкаются именно здесь: пытаются обратиться к данным базы из клиентской процедуры и получают ошибку.
Главные события объектов
ОбработкаЗаполнения— заполнение нового документа, например на основании другого.ПередЗаписью— проверки перед записью, можно отменить запись черезОтказ = Истина.ОбработкаПроведения— формирование движений по регистрам.ОбработкаПроверкиЗаполнения— проверка обязательных реквизитов.
Пример проведения учебного документа ПриходТовара:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.ОстаткиТоваров.Записывать = Истина;
Для Каждого СтрокаТЧ Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = СтрокаТЧ.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = СтрокаТЧ.Количество;
КонецЦикла;
КонецПроцедуры
А так запрос выполняется из кода и выводит результат:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.КоличествоОстаток КАК Количество
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(&Дата, ) КАК Остатки";
Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(СтрШаблон("%1: %2", Выборка.Номенклатура, Выборка.Количество));
КонецЦикла;
Для документа РасходТовара добавьте самостоятельно контроль остатков: перед записью движений запросом получите остаток и, если его не хватает, установите Отказ = Истина с сообщением пользователю. Это классическое задание, которое закрепляет и запросы, и события.
Инструменты, без которых не обойтись
- Синтаксис-помощник — встроенный справочник по всем методам: меню
Справка→Синтаксис-помощник. - Отладчик — точки останова (
F9), пошаговое выполнение, просмотр значений переменных. - Замер производительности — показывает, какая строка кода тормозит.
Позже присмотритесь к 1C:Enterprise Development Tools (EDT) — среде разработки на базе Eclipse. Её используют в командной разработке вместе с Git. Для старта хватит Конфигуратора.
План самообучения 1С и где брать знания
Ниже ориентировочный график для человека, который занимается 1–2 часа в день и раньше не программировал. Если есть опыт в SQL или другом языке, этапы 2–3 пройдут быстрее.
- 2–3 неделиУчебная платформа, режимы запуска, первые справочники и документы
- 3–4 неделиРегистры накопления и сведений, проведение документов
- 3–4 неделиЯзык запросов и виртуальные таблицы
- 3–4 неделиУправляемые формы, клиент-сервер, общие модули
- 2–3 неделиСКД и отчёты, печатные формы
- 4–6 недельРазбор типовой конфигурации, расширения, подготовка к «1С:Профессионал»
Книги
- 📘 «1С:Предприятие 8.3. Практическое пособие разработчика» (М. Радченко, Е. Хрусталёва) — базовый учебник. Проходите его последовательно, выполняя все примеры.
- 📗 «Язык запросов 1С:Предприятия 8» (Е. Хрусталёва) — когда упрётесь в запросы.
- 📙 «Разработка сложных отчётов в 1С:Предприятии 8. Система компоновки данных» (Е. Хрусталёва) — для СКД.
Другие источники
- 🎓 Курсы учебных центров и онлайн-школ — платные, но с проверкой домашних заданий. Ориентировочно от 10–15 тыс. руб. за базовый курс до 60–100 тыс. руб. за длинную программу с наставником.
- 💬 Профессиональные форумы и сообщества разработчиков 1С — там разбирают реальные ошибки и делятся обработками.
- 📝 Стандарты разработки фирмы 1С — правила оформления кода и проектирования, по которым работают в командах. Начните читать их уже на этапе форм.
Сертификация
Экзамен «1С:Профессионал» по платформе — тест на знание механизмов платформы. Его часто требуют работодатели и партнёры фирмы 1С. Следующая ступень — «1С:Специалист»: практическое решение задачи на платформе или по конкретной конфигурации. Ставьте «Профессионал» целью на конец самостоятельного этапа: подготовка к нему хорошо выявляет пробелы.
Ошибки самоучек и куда расти после обучения
Что тормозит обучение
- ❌ Учить только теорию. Без своей базы знания не держатся. Правило: прочитали главу — повторили в Конфигураторе.
- ❌ Сразу лезть в типовую конфигурацию . «Бухгалтерия» или ERP содержат тысячи объектов и сложные библиотеки. Без базы из первых этапов в них легко утонуть. Открывайте типовую после того, как сделали свой мини-склад.
- ❌ Пропускать клиент-серверное разделение. Код из старых примеров для обычного приложения не работает в управляемых формах так же. Это частая причина «у автора работает, у меня нет».
- ❌ Запросы в цикле. Выполнять запрос на каждую строку табличной части — медленно. Учитесь получать данные одним запросом сразу для всех строк.
- ❌ Править типовую конфигурацию напрямую. В реальной работе доработки делают расширениями (они появились в 8.3.6). Тогда типовая обновляется без ручного слияния изменений.
Учитесь только на своих копиях баз. Никогда не тренируйтесь на рабочей базе предприятия — даже «просто посмотреть код»: случайное сохранение конфигурации или проведение документа меняет реальные данные.
Карьерные треки
| Направление | Чем занимается | Что учить дополнительно |
|---|---|---|
| Программист 1С | Доработки типовых, отчёты, обработки | Расширения, СКД, стандарты разработки |
| Консультант / аналитик | Настройка учёта, постановка задач программистам | Учёт: бухгалтерия, склад, зарплата |
| Специалист по интеграциям | Обмены между базами, сайтами, маркетплейсами | HTTP-сервисы, JSON, конвертация данных |
| Администратор 1С | Серверы, СУБД, производительность | Кластер 1С, PostgreSQL или MS SQL |
Первую работу обычно находят стажёром или младшим программистом у партнёра фирмы 1С или во внутреннем ИТ-отделе компании. Ориентировочно зарплата младшего специалиста — 50–90 тыс. руб. в месяц, через 2–3 года практики уровень заметно растёт; цифры сильно зависят от региона и формата работы.
Плюсом при отклике будет портфолио: выложите свою учебную конфигурацию в репозиторий (выгрузка в файлы делается в Конфигураторе через меню Конфигурация) и опишите, что умеет база.