Разработка и Конфигурация · 13 мин
С чего начать изучать 1С-программирование
С чего начать изучение 1С-программирования: выбор платформы, установка учебной версии, базовый синтаксис, практика и типичные ошибки новичков.
1С-программирование — одно из немногих направлений, где можно начать с нуля и через несколько месяцев осознанной практики уже решать реальные задачи бизнеса. Причина проста: платформа берёт на себя работу с базой данных, интерфейсом и правами доступа, а разработчик сосредотачивается на бизнес-логике. Но именно это обилие «готового» сбивает новичков: непонятно, с какого конца подступиться к системе, которая включает конфигуратор, встроенный язык, запросы и десятки типов объектов.
Главная ошибка начинающих — хаотичное изучение: сегодня смотрят урок по отчётам, завтра читают про регистры, послезавтра пытаются разобраться в типовой конфигурации на десятки тысяч строк кода. Рабочая стратегия противоположная: сначала минимальный фундамент, затем маленькие законченные задачи, и только потом — чтение чужого кода и типовых решений.
Эта статья даёт конкретный маршрут: что установить, в каком порядке изучать темы, какие задачи решать для закрепления и как понять, что вы готовы двигаться дальше. Материал ориентирован на самостоятельное обучение без наставника, но подойдёт и как план для занятий с преподавателем.
Определитесь с целью и направлением
Под «1С-программированием» скрываются разные роли, и от цели зависит, что учить в первую очередь. Разработчик конфигураций пишет код, проектирует объекты метаданных и дорабатывает типовые решения. Внедренец-консультант больше работает с настройкой и бизнес-процессами, но тоже пишет код. Администратор отвечает за серверы, обновления и права доступа — программирование ему нужно в меньшем объёме, но понимание платформы обязательно.
Если цель — трудоустройство разработчиком, посмотрите вакансии в своём городе: чаще всего требуют знание платформы 8.3, управляемых форм, языка запросов и хотя бы одной типовой конфигурации (обычно «1С:Бухгалтерия» или «1С:Управление торговлей»). Это и есть ваш ориентир по глубине.
Если программирование нужно для собственного бизнеса — чтобы дорабатывать конфигурацию под себя, — начните с той конфигурации, которой реально пользуетесь. Изучение платформы на примерах из вашей учётной системы идёт быстрее, потому что вы понимаете предметную область.
Какой путь обучения выбрать
Дёшево и гибко, но требует дисциплины. Подходит, если есть опыт программирования на другом языке.
Хороший баланс для новичка без опыта: виден порядок действий и живые примеры. Ограничение — риск пассивного просмотра без собственных задач.
Быстрее всего приводят к первой работе, есть обратная связь по коду. Минус — стоимость и привязка к расписанию.
Установите учебную версию платформы
Для старта не нужно ничего покупать: фирма «1С» бесплатно распространяет учебную версию платформы 1С:Предприятие 8.3. Она полностью подходит для обучения: доступен конфигуратор, встроенный язык, запросы, отчёты. Ограничения касаются промышленной эксплуатации (например, нет работы с COM-соединениями и части механизмов распределённых баз), но на обучение они не влияют.
Порядок установки стандартный: скачайте дистрибутив учебной версии с официального портала 1С, установите платформу, запустите её и создайте новую пустую информационную базу в файловом варианте. Файловый вариант — самый простой: база хранится в одном файле на диске, сервер не нужен.
После создания базы откройте её в режиме «Конфигуратор» — это среда разработки, где вы будете проводить большую часть времени. Параллельно запустите ту же базу в режиме «1С:Предприятие» — так выглядит результат вашей работы глазами пользователя. Привычка держать открытыми оба окна и переключаться между ними — базовый рабочий ритм 1С-разработчика.
- 1Скачайте и установите учебную версию платформы 8.3
- 2Создайте пустую информационную базу в файловом варианте
- 3Откройте базу в конфигураторе и создайте справочник «Товары» с парой дополнительных реквизитов
- 4Запустите базу в режиме «1С:Предприятие» и добавьте несколько элементов в справочник
- 5Вернитесь в конфигуратор, измените что-то (например, добавьте реквизит) и обновите конфигурацию базы данных по F7
Освойте конфигуратор и объекты метаданных
Конфигуратор — центральный инструмент разработчика. В нём вы описываете структуру системы не кодом, а объектами метаданных: справочниками, документами, регистрами, отчётами. Платформа сама создаёт под них таблицы базы данных, формы ввода и команды интерфейса. Понимание этой модели — главное отличие 1С от классических языков программирования.
Изучайте объекты в таком порядке: справочники (хранение нормативной информации), документы (события хозяйственной жизни), регистры накопления и сведений (учёт остатков и показателей), отчёты (выборка и представление данных). Перечисления, планы счетов и бизнес-процессы оставьте на потом — они понадобятся, когда базовые четыре типа перестанут вызывать вопросы.
Хорошая учебная задача этого этапа — мини-конфигурация «Склад»: справочники «Товары» и «Склады», документы «Поступление» и «Расход», регистр накопления «ОстаткиТоваров», куда документы делают движения при проведении. Если вы можете объяснить, почему остаток по товару меняется именно так, — фундамент заложен.
Изучите встроенный язык 1С
Встроенный язык 1С похож на паскаль по структуре: процедуры, функции, условия «Если…Тогда…КонецЕсли», циклы «Для…Цикл» и «Пока…Цикл». Ключевые слова можно писать по-русски или по-английски — язык двуязычный. Типизация нестрогая: переменные не объявляются заранее, тип определяется присвоенным значением.
Начните с базовых конструкций: переменные и примитивные типы (строка, число, дата, булево), условия, циклы, работа со строками и датами. Затем — универсальные коллекции: массивы, структуры, соответствия и таблицы значений. Таблица значений — рабочая лошадка 1С, через неё проходит большинство выборок данных, уделите ей отдельное время.
Дальше — специфика платформы: обращение к объектам базы данных через ссылки и объектное представление, разница между «СправочникСсылка» и «СправочникОбъект», обработчики событий форм и объектов (ПриЗаписи, ОбработкаПроведения, ПередЗаписью). Именно здесь новички чаще всего путаются, поэтому экспериментируйте: ставьте точки останова в отладчике и смотрите, в каком порядке вызываются обработчики.
Функция ПолучитьОстатокТовара(Товар)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ЕСТЬNULL(СУММА(Остатки.Количество), 0) КАК Остаток
|ИЗ РегистрНакопления.ОстаткиТоваров.Остатки(, Товар = &Товар) КАК Остатки";
Запрос.УстановитьПараметр("Товар", Товар);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Возврат Выборка.Остаток;
КонецФункцииОбязательно освойте отладчик: точки останова, пошаговое выполнение, просмотр значений переменных, табло. Умение отлаживать код экономит часы по сравнению с методом «добавлю Сообщить() везде». Отладка в 1С работает и для клиентского, и для серверного кода — включите её в настройках конфигуратора.
Разберитесь с языком запросов и СКД
Язык запросов 1С напоминает SQL, но работает с объектами конфигурации, а не с физическими таблицами: вы пишете «ВЫБРАТЬ ... ИЗ Справочник.Товары», и платформа сама превращает это в запрос к СУБД. Это основной способ получения данных в 1С — перебор объектов в цикле считается плохой практикой и почти всегда медленнее.
Изучите: выборку с условиями (ГДЕ), соединения таблиц (ЛЕВОЕ СОЕДИНЕНИЕ), группировки и итоги (СГРУППИРОВАТЬ ПО, СУММА), виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних). Виртуальные таблицы поначалу кажутся магией — разберитесь, какие параметры они принимают и какие поля возвращают, это закрывает большинство учётных задач.
СКД (система компоновки данных) — механизм построения отчётов без ручного программирования интерфейса: вы пишете запрос, настраиваете группировки и отборы, а пользователь получает отчёт с возможностью менять настройки. Сделайте два-три отчёта на СКД для своей учебной конфигурации «Склад»: остатки по складам, обороты за период, продажи по товарам.
Практикуйтесь на законченных задачах
Знания без практики в 1С закрепляются плохо: слишком много в платформе завязано на взаимодействие механизмов, которое понятно только в деле. Правило простое: каждую изученную тему закрывайте маленькой, но законченной задачей — от проектирования объекта до проверки результата в пользовательском режиме.
Примеры задач по нарастающей сложности: справочник с иерархией и автоподбором; документ с табличной частью и пересчётом суммы при изменении количества; проведение документа по регистру с контролем отрицательных остатков; отчёт на СКД с отбором по периоду; печатная форма документа; обработка для загрузки данных из табличного документа.
Когда почувствуете уверенность, возьмите учебную версию типовой конфигурации и попробуйте простую доработку: добавить реквизит в документ, вывести его на форму и в печатную форму. Это максимально приближено к реальной работе — большинство задач junior-разработчика выглядят именно так.
Как понять, что тема освоена
Создаёте объект с реквизитами и табличной частью без подглядывания в шпаргалку
Путаетесь, где задаются реквизиты, а где — форма объекта
Пишете обработчик проведения с движениями по регистру и проверяете его отладчиком
Код копируется из примеров, но объяснить каждую строку не получается
Составляете запрос с соединением и группировкой в консоли запросов и понимаете результат
Любую выборку делаете перебором в цикле
Строите отчёт на СКД с отбором и группировкой, меняете настройки в пользовательском режиме
Отчёт работает только с настройками по умолчанию
Частые вопросы и как не застрять
Типичная проблема самоучек — «плато» после первых двух-трёх недель: базовые темы пройдены, а до уровня вакансий ещё далеко. В этот момент помогает смена формата: вместо уроков берите задачи с реального рынка (описания доработок из вакансий и фриланс-бирж) и пробуйте решить их на своей учебной базе.
Второй источник застревания — ошибки, которые не удаётся найти самостоятельно. Здесь работают тематические форумы и сообщества разработчиков 1С: ищите по тексту ошибки, прежде чем задавать вопрос, — подавляющее большинство проблем новичков уже разобрано. Формулируйте вопрос с кодом, текстом ошибки и описанием, что вы уже проверили.
Третий риск — учиться на устаревших материалах по обычным формам и платформе 8.2. Современная разработка ведётся на управляемых формах и тонком/веб-клиенте; проверяйте, что учебный материал описывает платформу 8.3 и управляемое приложение.
FAQ: частые вопросы начинающих
Нужно ли уметь программировать на других языках перед изучением 1С?
Нет, 1С вполне подходит как первый язык: синтаксис простой, а платформа избавляет от сложной инфраструктуры. Опыт других языков ускорит старт, но иногда мешает — приходится переучиваться с привычной модели «код плюс SQL» на объектную модель метаданных.
Сколько времени нужно, чтобы выйти на уровень junior-разработчика?
При регулярных занятиях по 1,5–2 часа в день реалистичный срок — от четырёх до восьми месяцев: первые два уходят на платформу и язык, остальное — на запросы, СКД, практику и знакомство с типовой конфигурацией. Срок сильно зависит от объёма практики, а не от количества просмотренных уроков.
Что учить сначала — язык или конфигуратор?
Параллельно, но с приоритетом конфигуратора на старте. Сначала поймите, что такое справочник, документ и регистр и как они связаны, а код добавляйте постепенно — в обработчиках этих же объектов. Язык в отрыве от объектов учится плохо, потому что большинство конструкций имеет смысл только в контексте данных.
Нужен ли мощный компьютер и платная лицензия для обучения?
Нет. Учебная версия платформы бесплатна, а файловая база небольшого размера комфортно работает на обычном офисном компьютере. Клиент-серверный вариант и полноценные лицензии понадобятся только при изучении администрирования или работе в компании.
Какую типовую конфигурацию изучать первой?
Чаще всего рекомендуют «1С:Бухгалтерию» — она самая распространённая в вакансиях и относительно линейная по логике. Если интересна торговля и склады, подойдёт «1С:Управление торговлей». Не пытайтесь читать её код целиком: разбирайте отдельные механизмы по мере необходимости — проведение документа, построение отчёта, печатная форма.
Подойдёт ли 1С-программирование для удалённой работы и фриланса?
Да, доработки конфигураций, отчёты и обмены данными — типичные удалённые задачи, спрос на них устойчив. Но первые заказы лучше брать после уверенного владения платформой: ошибка в чужой рабочей базе стоит дороже, чем в учебной, и требует навыков аккуратной работы с копиями и обновлениями.
Что важно запомнить
Маршрут старта прост: учебная платформа 8.3, конфигуратор и объекты метаданных, встроенный язык с отладчиком, запросы и СКД, затем практика на законченных задачах и первая типовая конфигурация. Каждую тему закрепляйте рабочим результатом в пользовательском режиме, а эксперименты проводите только на учебной базе.