Путь в разработчики 1С: что учить, в каком порядке и как проверить себя

· 9 мин

Содержание

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

Типичная история: бухгалтер пять лет работает в 1С:Бухгалтерии, знает её лучше штатного программиста и однажды решает сам поправить печатную форму. Открывает Конфигуратор — и видит дерево из сотен объектов. Ниже — порядок, в котором эту систему проще всего разобрать, и то, что действительно спрашивают на собеседованиях.

С чего начать обучение: платформа и среда разработки

Учиться стоит сразу на платформе 8.3 с управляемыми формами. Обычные формы и 7.7 нужны только для поддержки старых баз, начинать с них нет смысла: новые конфигурации на них не пишут.

Учебная версия платформы

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

Ограничения, о которых стоит знать заранее:

  • 🔹 работает только файловый вариант базы, без сервера 1С;
  • 🔹 ограничен объём данных в таблицах, для учебных примеров его хватает;
  • 🔹 часть технологий (внешние соединения, веб-публикация) недоступна или урезана.

Для обучения этого достаточно. Для коммерческой работы нужна обычная лицензия — её предоставляет работодатель или клиент.

Конфигуратор или EDT

СредаПлюсыМинусыКому подходит
КонфигураторВходит в платформу, лёгкий, все учебники на нёмСлабая работа с Git, простой редакторНовичку на первые месяцы
1С:EDTРабота с Git, рефакторинг, проверки кода, удобная навигацияТребует много памяти (от 8–16 ГБ ОЗУ комфортно), сложнее в настройкеКомандной разработке, после освоения основ

Начните с Конфигуратора. Через 2–3 месяца откройте свой учебный проект в EDT: к этому моменту вы уже будете понимать, что именно делает среда, и не утонете в её настройках.

Первая база

  1. Установите учебную платформу.
  2. В окне запуска нажмите Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации.
  3. Откройте базу кнопкой Конфигуратор, затем в меню Конфигурация → Открыть конфигурацию.
  4. Добавьте первый справочник и запустите базу клавишей F5 — программа предложит обновить конфигурацию базы данных.

Через 10 минут у вас будет работающая программа из одного справочника. Это и есть отправная точка.

Устройство конфигурации: объекты метаданных

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

Основные объекты, которые нужно понять в первую очередь:

ОбъектЧто хранитПример
КонстантаОдно значение на всю базуОсновная организация
СправочникСписки условно-постоянной информацииНоменклатура, Контрагенты
ПеречислениеФиксированный набор значений, задаётся в КонфигуратореВиды оплат
ДокументФакт хозяйственной операции с датойПоступление товаров
Регистр сведенийЗначения в разрезе измерений, часто по датамКурсы валют, цены
Регистр накопленияОстатки и оборотыТовары на складах
Регистр бухгалтерииПроводки по плану счетовХозрасчётный
Отчёт, обработкаВывод данных и сервисные действияВедомость, загрузка из Excel
Общий модульПроцедуры, доступные из разных местРабота с файлами

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

Учебный проект

Соберите мини-склад:

  1. Справочники Номенклатура и Склады.
  2. Документы ПриходнаяНакладная и РасходнаяНакладная с табличной частью «Товары».
  3. Регистр накопления ОстаткиТоваров (вид — остатки, измерения: номенклатура, склад; ресурс: количество).
  4. Отчёт по остаткам на системе компоновки данных.

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

Встроенный язык 1С и запросы: как писать код

Язык 1С — процедурный, с русскими ключевыми словами (есть и английские аналоги). Синтаксис осваивается за 2–3 недели, если уже программировали на чём-то другом, и за месяц-полтора с нуля.

Что изучить по порядку:

  • 📌 переменные, типы (Число, Строка, Дата, Булево, Неопределено, ссылки);
  • 📌 условия Если … ИначеЕсли … КонецЕсли, циклы Для, Для Каждого, Пока;
  • 📌 процедуры и функции, параметры по значению (Знач) и по ссылке;
  • 📌 универсальные коллекции: Массив, Структура, Соответствие, ТаблицаЗначений;
  • 📌 обработка исключений Попытка … Исключение … КонецПопытки;
  • 📌 язык запросов: ВЫБРАТЬ, ГДЕ, СГРУППИРОВАТЬ ПО, соединения, временные таблицы, виртуальные таблицы регистров (Остатки, Обороты).

Запросы важнее циклов

Новичок часто перебирает справочник циклом и обращается к реквизитам через точку. На тысяче элементов это работает, на ста тысячах — тормозит. Данные из базы нужно получать запросом.

Пример: команда формы выводит список непомеченных на удаление товаров.

&НаКлиенте
Процедура ВывестиТовары(Команда)
	ВывестиТоварыНаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ВывестиТоварыНаСервере()
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Номенклатура.Наименование КАК Наименование
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	НЕ Номенклатура.ПометкаУдаления
	|
	|УПОРЯДОЧИТЬ ПО
	|	Наименование";
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		Сообщить(Выборка.Наименование);
	КонецЦикла;
КонецПроцедуры

Тексты запросов не обязательно писать вручную: в модуле нажмите правой кнопкой мыши → Конструктор запроса. Но читать и править готовый текст без конструктора нужно уметь — на собеседовании это проверяют первым делом.

Не пишите запросы внутри цикла. Запрос на каждой итерации — самая частая причина медленного проведения документов.

Управляемые формы и интерфейс: клиент и сервер

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

ДирективаГде выполняетсяЧто доступно
&НаКлиентеУ пользователяЭлементы формы, диалоги, но не база данных
&НаСервереНа сервереБаза данных, данные формы (передаются на сервер)
&НаСервереБезКонтекстаНа сервереБаза данных, но без данных формы — вызов легче

Практические правила:

  1. Обращения к базе — только в серверных процедурах.
  2. Каждый вызов сервера с клиента — это сетевой обмен. Собирайте работу в один вызов, а не в десять.
  3. Если серверной процедуре не нужны реквизиты формы, используйте &НаСервереБезКонтекста.
  4. Реквизиты формы (данные) и элементы формы (как они показаны) — разные вещи. Сначала создайте реквизит, потом перетащите его в дерево элементов.

Интерфейс «Такси»

Командный интерфейс собирается из подсистем: объект попадает в раздел, если включён в подсистему и у пользователя есть права. Новичкам часто кажется, что «справочник пропал», хотя его просто не включили ни в одну подсистему или не дали роль.

Для тренировки откройте форму документа из своего учебного проекта и добавьте команду «Заполнить остатками». Здесь сойдутся сразу клиент, сервер, запрос к виртуальной таблице регистра и заполнение табличной части.

Отладка и тестирование конфигурации

Отладчик — главный инструмент, который новички осваивают слишком поздно. Без него поиск ошибки превращается в гадание.

Базовые приёмы в Конфигураторе

  • 🐞 F9 — поставить точку останова на строке;
  • 🐞 F5 — запустить базу в режиме отладки;
  • 🐞 F11 — шаг с заходом в процедуру, F10 — шаг без захода;
  • 🐞 Shift+F9 — вычислить выражение: увидеть значение переменной, содержимое таблицы значений, результат запроса;
  • 🐞 табло — постоянное отслеживание выбранных переменных;
  • 🐞 точка останова с условием — когда ошибка проявляется только на сотой строке табличной части.

Отдельный инструмент — замер производительности (меню Отладка). Он показывает, сколько времени заняла каждая строка кода. С его помощью вы найдёте тот самый запрос в цикле.

Для клиент-серверной базы отладку на сервере нужно включить отдельно: сервер 1С запускают с ключом -debug в параметрах службы агента. Делайте это только на тестовом сервере: перезапуск службы обрывает сеансы всех пользователей.

Проверка и тестирование

  1. Конфигурация → Проверка конфигурации — находит синтаксические ошибки, неиспользуемые процедуры, вызовы несуществующих методов.
  2. Ручное тестирование: проведите документы задним числом, перепроведите, удалите — остатки должны сходиться.
  3. Автоматизированные тесты: сообщество использует открытый инструмент Vanessa Automation, где сценарии пишутся на языке Gherkin («Дано… Когда… Тогда…»). Освоить его стоит после первых реальных задач.

Никогда не отлаживайте доработки в рабочей базе клиента. Сделайте копию через выгрузку .dt и работайте на ней.

План обучения программированию 1С по месяцам и сертификация

Ориентир для человека, который занимается 8–10 часов в неделю.

Программа обучения 1С с нуля
  1. 1-й месяцУчебная платформа, первая база, справочники и документы
  2. 2-й месяцВстроенный язык, коллекции, регистры накопления, проведение
  3. 3-й месяцЯзык запросов, виртуальные таблицы, система компоновки данных
  4. 4-й месяцУправляемые формы, клиент-сервер, права и роли
  5. 5–6-й месяцТиповая конфигурация, расширения, БСП, подготовка к «1С:Профессионал»

Что изучать после основ

  • 🧩 Система компоновки данных (СКД) — на ней строятся почти все отчёты типовых конфигураций.
  • 🧩 Расширения конфигурации — способ дорабатывать типовую конфигурацию без снятия её с поддержки. Именно так сегодня делают большинство доработок у клиентов.
  • 🧩 Библиотека стандартных подсистем (БСП) — общие механизмы типовых решений: печать, дополнительные отчёты и обработки, права. Знание БСП резко ускоряет работу с БП, ЗУП и УТ.
  • 🧩 Стандарты разработки фирмы 1С — правила оформления кода и интерфейса, их проверяют в командах и при сертификации решений.
  • 🧩 Учёт в предметной области — бухгалтер, который понимает проводки, и программист, который понимает регистры, вместе дают сильного специалиста. Если вы пришли из бухгалтерии, это ваше преимущество.

Сертификаты

СертификатФорматЧто даёт
1С:Профессионал по платформеКомпьютерный тест на знание платформыПервый формальный рубеж, часто спрашивают на входе в франчайзи
1С:Профессионал по конфигурациям (БП, ЗУП, УТ)Тест по прикладному решениюПодтверждает знание типовой конфигурации
1С:Специалист по платформе и по конфигурацииПрактический экзамен: решить задачу в Конфигураторе за отведённое времяЦенится выше тестов, влияет на ставку
1С:Эксперт по технологическим вопросамЭкзамен по производительности и крупным внедрениямУровень senior/архитектора

Учебные материалы к экзаменам публикует сама фирма 1С и её центры сертифицированного обучения. Из книг новичку чаще всего советуют «Практическое пособие разработчика» Радченко и Хрусталевой — по нему удобно собирать учебный проект шаг за шагом.

Проверьте себя
Где хранятся остатки товаров в правильно спроектированной конфигурации?
Какую директиву выбрать для серверной процедуры, которой не нужны данные формы?
Как доработать типовую конфигурацию, не снимая её с поддержки?

Ошибки, которые тормозят новичка

  • ❌ Учить синтаксис без проекта. Через месяц знания выветриваются. Каждую тему сразу закрепляйте в своей учебной базе.
  • ❌ Сразу лезть в типовую БП. В ней тысячи объектов и сотни общих модулей. Без опыта на маленькой конфигурации разобраться почти невозможно.
  • ❌ Обращения через точку в цикле. Документ.Контрагент.ИНН в цикле по тысяче документов — тысяча скрытых запросов к базе.
  • ❌ Правка типовой конфигурации напрямую. Снятие с поддержки превращает каждое обновление в ручное сравнение и объединение. Сначала проверьте, решается ли задача расширением.
  • ❌ Игнорировать отладчик. Если вы ищете ошибку через Сообщить() в каждой строке, потратьте вечер на освоение Shift+F9 и условных точек останова.

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

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