Программирование 1С для начинающих: с чего начать и в каком порядке учиться
Содержание
Начинать стоит с установки учебной версии платформы и режима Конфигуратор — именно там живёт весь код и структура прикладного решения. Дальше идёт понятная лестница: сначала объекты конфигурации (справочники, документы, регистры), затем встроенный язык, потом язык запросов и система компоновки данных. На базовый уровень, достаточный для первой работы, уходит примерно 4–6 месяцев при занятиях по часу-два в день.
Программирование 1С отличается от «обычной» разработки: вы не пишете приложение с чистого листа, а дорабатываете готовую платформу. Половина работы — это знание предметной области (учёт, зарплата, склад) и устройства типовых конфигураций, а не только синтаксис. Поэтому план ниже идёт от платформы к коду, а не наоборот.
Статья — маршрут для тех, кто учится самостоятельно: что осваивать, в каком порядке, на чём тренироваться и как выйти на первую позицию.
Как устроена платформа и почему с неё начинают
1С:Предприятие 8.3 — это платформа, поверх которой работают прикладные решения (конфигурации): «Бухгалтерия», «Зарплата и управление персоналом», «Управление торговлей» и сотни других. Программист 1С почти всегда дорабатывает конфигурацию, а не платформу.
У платформы два основных режима запуска:
- 💻 1С:Предприятие — режим пользователя. Здесь работают бухгалтеры: заполняют документы, строят отчёты.
- 🛠 Конфигуратор — рабочее место разработчика. Здесь вы меняете структуру решения и пишете код.
Открыть нужный режим можно в окне запуска: выбираете базу в списке и жмёте кнопку Конфигуратор или 1С:Предприятие. Для учёбы удобно создать пустую информационную базу «без конфигурации» — чистый лист, на котором можно строить свои объекты.
Ключевая мысль, которую стоит усвоить сразу: конфигурация хранится отдельно от данных. Есть дерево конфигурации (структура: какие справочники, документы, регистры существуют) и есть сама база данных (введённые пользователем записи). Когда вы меняете структуру, нужно отдельно выполнить обновление конфигурации базы данных — это отдельный шаг, а не автоматическое действие.
Ещё один момент, который экономит время новичку: не нужно учить сразу конкретную конфигурацию вроде «Бухгалтерии». Сначала осваивают платформу на маленьких учебных базах, где нет лишних объектов и видно каждый механизм. Типовые решения огромны (тысячи объектов), и погружаться в них без понимания основ бесполезно — вы просто утонете в чужом коде. Предметную область (как устроен учёт или расчёт зарплаты) подтягивают параллельно, но на реальные конфигурации переходят, уже умея читать код и строить запросы.
Для обучения берите учебную версию платформы — она бесплатна и работает без лицензии. Ограничение у неё одно: небольшой объём данных, для тренировок этого хватает с запасом.
Объекты конфигурации: фундамент любой задачи
Прежде чем писать код, нужно понять, из каких «кубиков» собирается решение. Открываете дерево конфигурации в Конфигураторе и видите ветки объектов. Вот те, без которых не обходится ни одна задача.
Справочники — списки однотипных объектов: номенклатура, контрагенты, сотрудники, склады. У справочника есть реквизиты (поля), табличные части и предопределённые элементы.
Документы — регистрация событий хозяйственной жизни: «Поступление товаров», «Начисление зарплаты», «Реализация». Документ проводится и при проведении формирует движения по регистрам.
Регистры — таблицы для хранения итогов и движений. Их четыре вида, и различать их нужно твёрдо:
| Регистр | Для чего | Пример |
|---|---|---|
| Накопления | количественные и суммовые остатки/обороты | «Товары на складах» |
| Сведений | хранение значений на дату или без привязки | «Цены номенклатуры» |
| Бухгалтерии | проводки по плану счетов (Дт/Кт) | «Хозрасчётный» |
| Расчёта | сложные взаимозависимые начисления | начисления в ЗУП |
Перечисления — фиксированные наборы значений (например, «Пол»: мужской/женский), которые задаёт разработчик, а не пользователь.
Отчёты и обработки — объекты, куда встраивают логику вывода данных и обработки информации.
Общие модули — контейнеры для процедур и функций, которые вызываются из разных мест.
Хорошая тренировка на этом этапе — собрать маленькую учётную систему: справочник «Товары», документ «Приход», регистр накопления «Остатки». Когда документ научится увеличивать остаток, половина базовых механик станет понятной.
Встроенный язык: первый код, который вы напишете
Встроенный язык 1С — процедурный, с поддержкой объектов. Синтаксис можно писать по-русски (Процедура, Если, Цикл) или по-английски — в русскоязычных командах это стандарт.
Начинать логично с простого:
- Переменные, типы значений, операторы ветвления
Если … Тогда … Иначе. - Циклы
Для … ЦиклиПока … Цикл. - Процедуры и функции, передача параметров.
- Работа с коллекциями: массив, структура, соответствие, таблица значений.
Код живёт в модулях: модуль формы, модуль объекта, общий модуль. Важнейшая тема, на которой спотыкаются новички, — клиент и сервер. Платформа исполняет код в разных контекстах, и это задаётся директивами компиляции:
&НаКлиенте
Процедура НажалиКнопку(Команда)
РезультатСоСервера = ПолучитьДанные();
Сообщить(РезультатСоСервера);
КонецПроцедуры
&НаСервере
Функция ПолучитьДанные()
Возврат "Данные из базы";
КонецФункции
Запомните правило: обращаться к базе данных (читать справочники, выполнять запросы, проводить документы
) можно только на сервере. Клиент отвечает за интерфейс. Директива &НаСервереБезКонтекста ускоряет вызовы, когда серверной процедуре не нужны данные формы.
Самая частая ошибка начинающих — попытка обратиться к базе в клиентской процедуре. Платформа выдаст ошибку компиляции. Если видите «значение не является значением объектного типа» или ссылку на недоступный метод — проверьте, в каком контексте стоит код.
Разбирать незнакомые методы удобно через Синтакс-помощник (Справка → Синтакс-помощник или сочетание клавиш в Конфигураторе): там описан каждый объект, его свойства и методы с примерами.
Отдельно стоит разобраться с событиями формы. Форма документа или справочника — это не статичная картинка: у неё и у её полей есть события, которые срабатывают при открытии, при изменении значения, перед записью. Логику привязывают именно к ним. Например, обработчик ПриИзменении у поля «Количество» может сразу пересчитать сумму в строке табличной части. Понимание того, какое событие когда вызывается и на клиенте или на сервере оно исполняется, закрывает большую часть задач по интерфейсу.
Запросы и система компоновки данных
Как только появляются данные, встаёт задача их выбрать. Для этого есть язык запросов — отдельный декларативный язык, похожий на SQL, но со своими возможностями под объекты 1С.
Минимальный запрос выглядит так:
ВЫБРАТЬ
Товары.Наименование,
Товары.Артикул
ИЗ
Справочник.Товары КАК Товары
ГДЕ
Товары.ПометкаУдаления = ЛОЖЬ
УПОРЯДОЧИТЬ ПО
Товары.Наименование
Что освоить в запросах после базового ВЫБРАТЬ:
- 🔗 соединения таблиц (
ЛЕВОЕ СОЕДИНЕНИЕ); - 📊 группировки и агрегатные функции (
СУММА,КОЛИЧЕСТВО); - 🧩 вложенные и пакетные запросы, временные таблицы;
- ⏳ виртуальные таблицы регистров —
Остатки,Обороты,ОстаткиИОбороты. Это главное, ради чего регистры и нужны: платформа сама считает итоги на дату.
Писать запросы вручную тяжело — используйте Конструктор запроса. В модуле ставите курсор в строку, вызываете контекстное меню и выбираете конструктор: он соберёт текст из таблиц и полей визуально.
Отдельная большая тема — СКД (система компоновки данных). Это механизм, на котором строятся почти все отчёты в типовых конфигурациях. Вы задаёте схему компоновки: запрос, наборы данных, вычисляемые поля, ресурсы (итоги), а пользователь уже сам настраивает группировки, отбор и оформление. Освоение СКД — рубеж, после которого вы можете делать отчёты любой сложности без ручного вывода таблиц.
Начать со СКД стоит с простого отчёта по одному регистру: схема → один набор данных на запросе → группировка → ресурс. Дальше наращивать: отборы, параметры, условное оформление.
Рабочее место программиста: Конфигуратор, отладчик и EDT
Основной инструмент — Конфигуратор. В нём дерево конфигурации, редактор кода, редактор форм (визуальная сборка интерфейса из полей и команд), редактор макетов для печатных форм.
Отладка — то, без чего разработку не ведут. Базовые приёмы:
- Поставьте точку останова (клик на левом поле строки кода или
F9) — программа встанет на этой строке. - Запустите в режиме отладки. Когда выполнение дойдёт до точки, откроется отладчик.
- Смотрите значения переменных в табло или наведением мыши.
- Шагайте по коду:
F11— зайти внутрь процедуры,F10— выполнить строку целиком.
Для анализа производительности в отладчике есть замер производительности — он покажет, какие строки кода выполняются дольше всего. Пригодится, когда отчёт или обработка начнёт «тормозить».
Второй инструмент, с которым рано или поздно столкнётесь, — 1C:Enterprise Development Tools (EDT). Это среда разработки на базе Eclipse: современный редактор, рефакторинг, встроенная работа с системой контроля версий Git. Многие команды переходят на EDT, но для старта достаточно Конфигуратора — не распыляйтесь на два инструмента сразу.
Про командную работу: конфигурацию хранят либо в хранилище конфигурации (классический механизм платформы с захватом объектов на редактирование), либо в Git через EDT. На первых порах это не нужно — работайте в одиночной базе, а к системам версий вернётесь на реальном проекте.
Сертификаты 1С и путь в профессию
Фирма 1С выстроила понятную лестницу сертификатов. Экзамены платные, принимаются в авторизованных центрах, стоимость одной попытки — ориентировочно 4–10 тыс. рублей в зависимости от уровня.
- 1С:Профессионал — проверка знания конкретной конфигурации или платформы на уровне уверенного пользователя-специалиста. Формат — тест. Отсюда начинают почти все.
- 1С:Специалист — экзамен с решением практической задачи за компьютером (например, по платформе, по «Бухгалтерии» или по оперативному учёту). Подтверждает умение разрабатывать.
- 1С:Специалист-консультант — для тех, кто внедряет и настраивает прикладные решения.
Сертификат не обязателен для трудоустройства, но заметно помогает на старте: он показывает работодателю, что базовый уровень действительно освоен.
Про деньги и карьеру — ориентиры по рынку (суммы примерные, зависят от города и типа работодателя):
| Уровень | Что умеет | Доход, ориентировочно |
|---|---|---|
| Junior | дорабатывает по задаче, пишет простой код и отчёты | 60–100 тыс. ₽ |
| Middle | ведёт задачи самостоятельно, знает типовые конфигурации | 120–200 тыс. ₽ |
| Senior | архитектура, сложные интеграции, оптимизация | 200 тыс. ₽ и выше |
Первую работу чаще всего находят во франчайзи (партнёрская сеть 1С) — там берут новичков и быстро прокачивают на потоке клиентских задач. Альтернатива — отдел автоматизации внутри компании, где нагрузка ровнее.
Если самостоятельно идёт тяжело
Самоучка упирается в две стены: не на чём практиковаться и некому задать вопрос. Варианты обхода:
- 📚 Официальные учебные курсы 1С и книги по платформе (есть серия для начинающих и для специалистов) — дают систему, а не обрывки.
- 💬 Профессиональные сообщества и форумы разработчиков — туда несут реальные вопросы и там же видят, как думают опытные коллеги.
- 🧪 Пет-проект — придумайте себе задачу (учёт личных финансов, склад для маленького магазина) и доведите до рабочего состояния. Собственный проект учит быстрее любого учебника.
- 👥 Стажировка во франчайзи — даже без сертификата многие берут на джуниор-позицию с обучением.
Главное — не застревать в теории. Прочитали про регистры — тут же создайте свой и проведите через него документ. Код закрепляется только руками.