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

· 9 мин

Содержание

Учить программирование 1С лучше не с синтаксиса языка, а с одной учебной конфигурации, которую вы соберёте сами: справочник, документ, регистр, отчёт. Установите учебную версию платформы 1С:Предприятие 8.3, откройте Конфигуратор и за 2–3 месяца пройдите путь «метаданные → встроенный язык → запросы → СКД». Этого хватает, чтобы сдать тест 1С:Профессионал по платформе и выйти на первую работу стажёром.

Частая ошибка новичка — сразу открыть типовую Бухгалтерию 3.0 и пытаться понять её код. В ней тысячи объектов и библиотека стандартных подсистем, новичок тонет за неделю. Типовые конфигурации изучают вторым этапом, когда своя маленькая база уже работает.

С чего начать изучение 1С: платформа, конфигурация и база

Сначала разберитесь, из чего состоит система. Без этой картины код не складывается в голове.

  • 🧩 Платформа — исполняемая часть (1cv8.exe), одна для всех решений. Версии идут как 8.3.xx.
  • 📦 Конфигурация — прикладное решение: Бухгалтерия, ЗУП, УТ или ваша учебная. Это набор объектов метаданных, форм и модулей.
  • 🗄️ Информационная база — конфигурация плюс данные пользователей. Бывает файловой (папка с файлом 1Cv8.1CD) и клиент-серверной (СУБД плюс сервер 1С).
  • 🖥️ Режимы запуска — «1С:Предприятие» для пользователя и «Конфигуратор» для разработчика.

Что установить для старта

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

Сразу заведите вторую базу из демо-конфигурации любого типового решения. Она понадобится позже, чтобы смотреть, как устроены настоящие документы и отчёты.

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

СредаКогда выбиратьМинусы для новичка
КонфигураторСтарт, учебные курсы, экзамены, большинство вакансийСкромный редактор кода
1C:Enterprise Development Tools (EDT)Командная разработка, Git, большие проектыТяжёлая, требует много памяти, порог входа выше

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

Встроенный язык 1С: синтаксис, модули и клиент-сервер

Встроенный язык 1С похож на Visual Basic и Pascal, только ключевые слова русские. Базовый синтаксис учится за неделю: переменные, условия Если … Тогда … КонецЕсли, циклы Для … Цикл и Пока … Цикл, процедуры и функции.

Основные универсальные коллекции надо знать на память:

  • 📋 Массив — простой список значений.
  • 🗂️ Структура — набор пар «ключ — значение» с ключами-строками.
  • 🔑 Соответствие — то же, но ключом может быть любое значение, например ссылка.
  • 📊 ТаблицаЗначений — таблица в памяти; с ней работают постоянно.

Где живёт код

Код в 1С лежит не в одном файле, а в модулях объектов. Новичку нужно знать пять видов:

  1. Модуль объекта — события записи и проведения (ПередЗаписью, ОбработкаПроведения).
  2. Модуль менеджера — методы, которые не привязаны к конкретному элементу.
  3. Модуль формы — реакция на действия пользователя.
  4. Общие модули — библиотека процедур для всей конфигурации.
  5. Модуль сеанса и модуль приложения — код при запуске.

Клиент и сервер — главный барьер

В управляемых формах код делится директивами компиляции &НаКлиенте, &НаСервере, &НаСервереБезКонтекста. На клиенте нельзя обращаться к базе напрямую, на сервере нельзя показывать диалоги пользователю. Пока это не уложится в голове, ошибки «метод недоступен на клиенте» будут сыпаться постоянно.

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

Отладчик включите с первых дней: точка останова (F9) и пошаговое выполнение (F10, F11) объясняют чужой и свой код быстрее любой книги.

Объекты метаданных: справочники, документы, регистры

Это ядро профессии. Программист 1С в первую очередь проектирует, какие объекты хранят данные, и только потом пишет код.

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

Учебная задача, через которую проходят все

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

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

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

Процедура ОбработкаПроведения(Отказ, Режим)
	Движения.ОстаткиТоваров.Записывать = Истина;
	Для Каждого СтрокаТовара Из Товары Цикл
		Движение = Движения.ОстаткиТоваров.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
		Движение.Период = Дата;
		Движение.Номенклатура = СтрокаТовара.Номенклатура;
		Движение.Склад = Склад;
		Движение.Количество = СтрокаТовара.Количество;
	КонецЦикла;
КонецПроцедуры

Следующий шаг — контроль остатков в документе расхода: проверить запросом, что товара хватает, и при нехватке установить Отказ = Истина. Эта задача почти дословно встречается на собеседованиях.

Язык запросов 1С и скорость работы

Язык запросов — это SQL-подобный язык поверх объектов метаданных. Обращаетесь вы не к таблицам СУБД, а к Справочник.Номенклатура или РегистрНакопления.ОстаткиТоваров.Остатки.

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

Что выучить по запросам

  • 🔗 Соединения: ЛЕВОЕ СОЕДИНЕНИЕ, ВНУТРЕННЕЕ СОЕДИНЕНИЕ, разница между ними на примере.
  • 📐 Группировки и агрегатные функции: СГРУППИРОВАТЬ ПО, СУММА, КОЛИЧЕСТВО.
  • 📦 Временные таблицы и пакетные запросы (ПОМЕСТИТЬ).
  • 📈 Виртуальные таблицы регистров: Остатки, Обороты, ОстаткиИОбороты, СрезПоследних.
  • 🛠️ Консоль запросов — обработка, где пишут и проверяют запросы без программирования формы.

Правила производительности, которые спрашивают на экзамене

  1. Никогда не выполняйте запрос в цикле. Соберите данные одним запросом и обработайте результат.
  2. Условия на измерения передавайте в параметры виртуальной таблицы, а не в ГДЕ после неё.
  3. Не обращайтесь к реквизитам через точку по составным типам: каждая точка — неявное соединение.
  4. Не тяните всю таблицу ради одной строки — ставьте отбор и ПЕРВЫЕ.
  5. Помните про индексы: измерения регистров индексируются, условия по неиндексированным полям в больших таблицах медленные.

Для оценки скорости используйте замер производительности в Конфигураторе: он показывает, какие строки кода съедают время.

Отчёты на СКД

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

Схема компоновки состоит из нескольких частей:

  • 🧾 Набор данных — обычно запрос.
  • 🧮 Ресурсы — поля, которые суммируются в итогах.
  • ⚙️ Параметры — период, организация, склад.
  • 🎛️ Настройки — группировки, отборы, сортировки, условное оформление.

Порядок изучения СКД

  1. Сделайте отчёт по остаткам из своего регистра без единой строки кода — только схема.
  2. Добавьте группировку по складу и номенклатуре, итоги по количеству.
  3. Включите пользовательские настройки, чтобы пользователь сам менял отборы.
  4. Сделайте кросс-таблицу (номенклатура по строкам, склады по колонкам).
  5. Попробуйте вывести отчёт программно через ПриКомпоновкеРезультата — это нужно, когда схема не справляется.

Для углублённого изучения есть книга Е. Ю. Хрусталёвой о разработке сложных отчётов на СКД. Её читают уже после основ.

Практика, сертификация 1С:Профессионал и первая работа

Теория без задач не держится. Хороший ориентир по времени, если заниматься 1–2 часа в день:

ЭтапСрокРезультат
Архитектура и метаданные2–3 неделиСвоя база со справочниками и документами
Встроенный язык и формы3–4 неделиПроведение, проверки, клиент-сервер без ошибок
Запросы2–3 неделиКонтроль остатков, отчёт через консоль запросов
СКД2 недели3–4 отчёта с настройками
Типовые конфигурации3–4 неделиПонимаете, где искать код в БП или УТ

Книги и материалы

  • 📘 «1С:Предприятие 8.3. Практическое пособие разработчика» (М. Г. Радченко, Е. Ю. Хрусталёва) — классика для первого этапа, примеры идут по шагам.
  • 📗 Сборники задач для подготовки к экзамену 1С:Профессионал по платформе — решайте все подряд.
  • 📙 Стандарты и методики разработки фирмы 1С — читайте после первой базы. По ним оценивают код на работе.

Сертификаты

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

Где искать первую работу

  • 🏢 Партнёры-франчайзи 1С — берут стажёров и учат на задачах клиентов. Много мелких доработок, быстрый рост.
  • 🏭 ИТ-отделы компаний — одна-две базы, глубже погружение в учёт, меньше разнообразия.
  • 🧑‍💻 Фриланс — только после года практики: клиенту нужен результат, а не обучение за его счёт.

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

Проверьте себя
Где нельзя напрямую обращаться к базе данных?
Что делать, если нужно получить данные по каждой строке табличной части?
Где хранить остатки товаров по складам?

Частые ошибки новичков

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

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

Нужно ли знать другой язык программирования перед 1С?
Нет. Встроенный язык 1С проще большинства универсальных языков, его учат с нуля. Опыт в другом языке ускоряет старт, но не обязателен.
Можно ли научиться программированию 1С самостоятельно, без курсов?
Да. Учебной версии платформы, книги Радченко и сборника задач к экзамену 1С:Профессионал хватает. Курсы дают темп и проверку кода, но не уникальные знания.
Сколько нужно учиться до первой работы?
При занятиях 1–2 часа в день — ориентировочно 3–5 месяцев до уровня стажёра у франчайзи. До уверенной самостоятельной работы — около года практики.
Что такое БСП и когда её изучать?
Библиотека стандартных подсистем — набор общих механизмов, на которых построены типовые конфигурации: права, печать, дополнительные реквизиты. Изучайте её после первой своей базы, когда начнёте разбирать типовые решения.
Обязателен ли английский для программиста 1С?
Для основной работы — нет: язык, документация и интерфейс на русском. У встроенного языка есть английский синтаксис, но в российских проектах его почти не используют.