Программирование 1С для начинающих: с чего начать и в каком порядке учиться

· 9 мин

Содержание

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

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

Статья — маршрут для тех, кто учится самостоятельно: что осваивать, в каком порядке, на чём тренироваться и как выйти на первую позицию.

Как устроена платформа и почему с неё начинают

1С:Предприятие 8.3 — это платформа, поверх которой работают прикладные решения (конфигурации): «Бухгалтерия», «Зарплата и управление персоналом», «Управление торговлей» и сотни других. Программист 1С почти всегда дорабатывает конфигурацию, а не платформу.

У платформы два основных режима запуска:

  • 💻 1С:Предприятие — режим пользователя. Здесь работают бухгалтеры: заполняют документы, строят отчёты.
  • 🛠 Конфигуратор — рабочее место разработчика. Здесь вы меняете структуру решения и пишете код.

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

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

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

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

Объекты конфигурации: фундамент любой задачи

Прежде чем писать код, нужно понять, из каких «кубиков» собирается решение. Открываете дерево конфигурации в Конфигураторе и видите ветки объектов. Вот те, без которых не обходится ни одна задача.

Справочники — списки однотипных объектов: номенклатура, контрагенты, сотрудники, склады. У справочника есть реквизиты (поля), табличные части и предопределённые элементы.

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

Регистры — таблицы для хранения итогов и движений. Их четыре вида, и различать их нужно твёрдо:

РегистрДля чегоПример
Накопленияколичественные и суммовые остатки/обороты«Товары на складах»
Сведенийхранение значений на дату или без привязки«Цены номенклатуры»
Бухгалтериипроводки по плану счетов (Дт/Кт)«Хозрасчётный»
Расчётасложные взаимозависимые начисленияначисления в ЗУП

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

Отчёты и обработки — объекты, куда встраивают логику вывода данных и обработки информации.

Общие модули — контейнеры для процедур и функций, которые вызываются из разных мест.

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

Что освоить на старте (базовый уровень)
Выполнено: 0 / 6

Встроенный язык: первый код, который вы напишете

Встроенный язык 1С — процедурный, с поддержкой объектов. Синтаксис можно писать по-русски (Процедура, Если, Цикл) или по-английски — в русскоязычных командах это стандарт.

Начинать логично с простого:

  1. Переменные, типы значений, операторы ветвления Если … Тогда … Иначе.
  2. Циклы Для … Цикл и Пока … Цикл.
  3. Процедуры и функции, передача параметров.
  4. Работа с коллекциями: массив, структура, соответствие, таблица значений.

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

&НаКлиенте
Процедура НажалиКнопку(Команда)
    РезультатСоСервера = ПолучитьДанные();
    Сообщить(РезультатСоСервера);
КонецПроцедуры

&НаСервере
Функция ПолучитьДанные()
    Возврат "Данные из базы";
КонецФункции

Запомните правило: обращаться к базе данных (читать справочники, выполнять запросы, проводить документы ) можно только на сервере. Клиент отвечает за интерфейс. Директива &НаСервереБезКонтекста ускоряет вызовы, когда серверной процедуре не нужны данные формы.

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

Разбирать незнакомые методы удобно через Синтакс-помощник (Справка → Синтакс-помощник или сочетание клавиш в Конфигураторе): там описан каждый объект, его свойства и методы с примерами.

Отдельно стоит разобраться с событиями формы. Форма документа или справочника — это не статичная картинка: у неё и у её полей есть события, которые срабатывают при открытии, при изменении значения, перед записью. Логику привязывают именно к ним. Например, обработчик ПриИзменении у поля «Количество» может сразу пересчитать сумму в строке табличной части. Понимание того, какое событие когда вызывается и на клиенте или на сервере оно исполняется, закрывает большую часть задач по интерфейсу.

Запросы и система компоновки данных

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

Минимальный запрос выглядит так:

ВЫБРАТЬ
    Товары.Наименование,
    Товары.Артикул
ИЗ
    Справочник.Товары КАК Товары
ГДЕ
    Товары.ПометкаУдаления = ЛОЖЬ
УПОРЯДОЧИТЬ ПО
    Товары.Наименование

Что освоить в запросах после базового ВЫБРАТЬ:

  • 🔗 соединения таблиц (ЛЕВОЕ СОЕДИНЕНИЕ);
  • 📊 группировки и агрегатные функции (СУММА, КОЛИЧЕСТВО);
  • 🧩 вложенные и пакетные запросы, временные таблицы;
  • ⏳ виртуальные таблицы регистров — Остатки, Обороты, ОстаткиИОбороты. Это главное, ради чего регистры и нужны: платформа сама считает итоги на дату.

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

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

Начать со СКД стоит с простого отчёта по одному регистру: схема → один набор данных на запросе → группировка → ресурс. Дальше наращивать: отборы, параметры, условное оформление.

Рабочее место программиста: Конфигуратор, отладчик и EDT

Основной инструмент — Конфигуратор. В нём дерево конфигурации, редактор кода, редактор форм (визуальная сборка интерфейса из полей и команд), редактор макетов для печатных форм.

Отладка — то, без чего разработку не ведут. Базовые приёмы:

  1. Поставьте точку останова (клик на левом поле строки кода или F9) — программа встанет на этой строке.
  2. Запустите в режиме отладки. Когда выполнение дойдёт до точки, откроется отладчик.
  3. Смотрите значения переменных в табло или наведением мыши.
  4. Шагайте по коду: 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С и книги по платформе (есть серия для начинающих и для специалистов) — дают систему, а не обрывки.
  • 💬 Профессиональные сообщества и форумы разработчиков — туда несут реальные вопросы и там же видят, как думают опытные коллеги.
  • 🧪 Пет-проект — придумайте себе задачу (учёт личных финансов, склад для маленького магазина) и доведите до рабочего состояния. Собственный проект учит быстрее любого учебника.
  • 👥 Стажировка во франчайзи — даже без сертификата многие берут на джуниор-позицию с обучением.

Главное — не застревать в теории. Прочитали про регистры — тут же создайте свой и проведите через него документ. Код закрепляется только руками.

Частые вопросы

Нужно ли знать другие языки программирования, чтобы освоить 1С?
Нет. Встроенный язык 1С самодостаточен, и многие приходят в профессию без опыта программирования вообще. Общее понимание алгоритмов (переменные, циклы, условия) ускорит старт, но не является обязательным.
Сколько времени нужно, чтобы выйти на первую работу?
При регулярных занятиях — примерно 4–6 месяцев до уровня junior: платформа, язык, запросы, СКД и отладка на базовом уровне. Дальше навык растёт уже на реальных задачах.
Нужна ли математика или высшее образование?
Нет. Важнее понимание предметной области — как устроен учёт, зарплата, склад. Многие сильные специалисты пришли из бухгалтерии, а не из IT.
Конфигуратор или EDT — что учить новичку?
Начинайте с Конфигуратора: в нём проще и вся документация под него. EDT осваивают позже, когда понадобится командная работа через Git или удобный современный редактор.
Обязателен ли сертификат 1С для трудоустройства?
Не обязателен, но помогает. «1С:Профессионал» подтверждает базовый уровень и выделяет вас среди кандидатов без подтверждённых знаний. «1С:Специалист» ценится выше, потому что сдаётся решением практической задачи.