К статье
Практический материал

Разработка и Конфигурация · 13 мин

С чего начать изучать 1С-программирование

С чего начать изучение 1С-программирования: выбор платформы, установка учебной версии, базовый синтаксис, практика и типичные ошибки новичков.

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

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

Эта статья даёт конкретный маршрут: что установить, в каком порядке изучать темы, какие задачи решать для закрепления и как понять, что вы готовы двигаться дальше. Материал ориентирован на самостоятельное обучение без наставника, но подойдёт и как план для занятий с преподавателем.

Определитесь с целью и направлением

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

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

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

Какой путь обучения выбрать

Самостоятельно по учебникам и документации

Дёшево и гибко, но требует дисциплины. Подходит, если есть опыт программирования на другом языке.

Видеокурсы с практикой

Хороший баланс для новичка без опыта: виден порядок действий и живые примеры. Ограничение — риск пассивного просмотра без собственных задач.

Очные курсы или наставничество

Быстрее всего приводят к первой работе, есть обратная связь по коду. Минус — стоимость и привязка к расписанию.

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

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

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

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

Первый запуск за вечер
  1. 1
    Скачайте и установите учебную версию платформы 8.3
  2. 2
    Создайте пустую информационную базу в файловом варианте
  3. 3
    Откройте базу в конфигураторе и создайте справочник «Товары» с парой дополнительных реквизитов
  4. 4
    Запустите базу в режиме «1С:Предприятие» и добавьте несколько элементов в справочник
  5. 5
    Вернитесь в конфигуратор, измените что-то (например, добавьте реквизит) и обновите конфигурацию базы данных по F7

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

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

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

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

Изучите встроенный язык 1С

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

Начните с базовых конструкций: переменные и примитивные типы (строка, число, дата, булево), условия, циклы, работа со строками и датами. Затем — универсальные коллекции: массивы, структуры, соответствия и таблицы значений. Таблица значений — рабочая лошадка 1С, через неё проходит большинство выборок данных, уделите ей отдельное время.

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

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

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

Разберитесь с языком запросов и СКД

Язык запросов 1С напоминает SQL, но работает с объектами конфигурации, а не с физическими таблицами: вы пишете «ВЫБРАТЬ ... ИЗ Справочник.Товары», и платформа сама превращает это в запрос к СУБД. Это основной способ получения данных в 1С — перебор объектов в цикле считается плохой практикой и почти всегда медленнее.

Изучите: выборку с условиями (ГДЕ), соединения таблиц (ЛЕВОЕ СОЕДИНЕНИЕ), группировки и итоги (СГРУППИРОВАТЬ ПО, СУММА), виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних). Виртуальные таблицы поначалу кажутся магией — разберитесь, какие параметры они принимают и какие поля возвращают, это закрывает большинство учётных задач.

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

Типичные ошибки новичков
01
Перебор справочника циклом вместо запроса — на больших объёмах это работает в разы медленнее и засоряет код
02
Изменение данных объекта без вызова метода Записать() — изменения просто не сохраняются в базе
03
Смешение клиентского и серверного кода без директив компиляции (&НаСервере, &НаКлиенте) — код падает или ведёт себя непредсказуемо
04
Чтение типовой конфигурации до освоения основ — огромный объём чужого кода демотивирует и не даёт системной картины
05
Игнорирование отладчика и поиск ошибок методом тыка — время растёт, понимание не формируется

Практикуйтесь на законченных задачах

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

Примеры задач по нарастающей сложности: справочник с иерархией и автоподбором; документ с табличной частью и пересчётом суммы при изменении количества; проведение документа по регистру с контролем отрицательных остатков; отчёт на СКД с отбором по периоду; печатная форма документа; обработка для загрузки данных из табличного документа.

Когда почувствуете уверенность, возьмите учебную версию типовой конфигурации и попробуйте простую доработку: добавить реквизит в документ, вывести его на форму и в печатную форму. Это максимально приближено к реальной работе — большинство задач junior-разработчика выглядят именно так.

Контрольные точки

Как понять, что тема освоена

Справочники и документы
Норма

Создаёте объект с реквизитами и табличной частью без подглядывания в шпаргалку

Тревожный признак

Путаетесь, где задаются реквизиты, а где — форма объекта

Встроенный язык
Норма

Пишете обработчик проведения с движениями по регистру и проверяете его отладчиком

Тревожный признак

Код копируется из примеров, но объяснить каждую строку не получается

Запросы
Норма

Составляете запрос с соединением и группировкой в консоли запросов и понимаете результат

Тревожный признак

Любую выборку делаете перебором в цикле

Отчёты
Норма

Строите отчёт на СКД с отбором и группировкой, меняете настройки в пользовательском режиме

Тревожный признак

Отчёт работает только с настройками по умолчанию

Частые вопросы и как не застрять

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

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

Третий риск — учиться на устаревших материалах по обычным формам и платформе 8.2. Современная разработка ведётся на управляемых формах и тонком/веб-клиенте; проверяйте, что учебный материал описывает платформу 8.3 и управляемое приложение.

FAQ: частые вопросы начинающих

Нужно ли уметь программировать на других языках перед изучением 1С?

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

Сколько времени нужно, чтобы выйти на уровень junior-разработчика?

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

Что учить сначала — язык или конфигуратор?

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

Нужен ли мощный компьютер и платная лицензия для обучения?

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

Какую типовую конфигурацию изучать первой?

Чаще всего рекомендуют «1С:Бухгалтерию» — она самая распространённая в вакансиях и относительно линейная по логике. Если интересна торговля и склады, подойдёт «1С:Управление торговлей». Не пытайтесь читать её код целиком: разбирайте отдельные механизмы по мере необходимости — проведение документа, построение отчёта, печатная форма.

Подойдёт ли 1С-программирование для удалённой работы и фриланса?

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

Итог

Что важно запомнить

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