Быстрый старт · 12 мин
1С-программирование с нуля: с чего начать самостоятельное обучение
Как самостоятельно выучить 1С-программирование с нуля: выбор платформы, план обучения, первые задачи, типичные ошибки новичков и проверка результата.
Программирование в 1С — одно из немногих направлений, где можно начать с нуля без профильного образования и через несколько месяцев системных занятий выполнять простые реальные задачи. Причина в том, что встроенный язык платформы заточен под прикладные задачи учёта: справочники, документы, отчёты. Новичку не нужно разбираться в низкоуровневых деталях — достаточно понять, как устроены объекты конфигурации и как писать обработчики событий.
Главная ошибка начинающих — учить «всё подряд»: смотреть случайные видеоуроки, читать форумы без системы, копировать чужой код без понимания. Рабочий подход другой: сначала освоить базовые объекты конфигурации и встроенный язык на учебной базе, затем решать небольшие практические задачи с нарастающей сложностью и только потом переходить к типовым конфигурациям вроде «Управление торговлей» или «Зарплата и управление персоналом».
Для самостоятельного старта достаточно компьютера с Windows, бесплатной учебной версии платформы и 1–2 часов занятий в день. Ниже — конкретный маршрут: что установить, что учить в первую очередь, какие задачи решать и как понять, что вы действительно прогрессируете, а не топчетесь на месте.
Шаг 1. Установите платформу и создайте учебную базу
Первое практическое действие — получить работающую среду разработки. Для обучения подходит учебная версия платформы «1С:Предприятие 8.3», которую фирма «1С» распространяет для ознакомления. Она позволяет создавать собственные конфигурации, писать код и отлаживать его, но имеет ограничения: не работает с COM-соединениями и некоторыми механизмами интеграции, данные в файловой базе хранятся с ограничениями. Для обучения этих ограничений достаточно, а платить за полноценную лицензию на старте не нужно.
После установки платформы запустите её и создайте новую информационную базу из шаблона «пустая конфигурация». Именно пустая, а не демо-версия типового решения: на пустой конфигурации вы будете строить объекты своими руками и понимать каждый шаг. Базу размещайте в файловом варианте — серверная установка на этапе обучения не нужна.
Проверьте, что всё работает: откройте конфигуратор, создайте один справочник (например, «Товары»), сохраните конфигурацию и запустите базу в режиме «Предприятие». Если справочник открывается и в него можно добавить элемент — среда готова к обучению.
- 1Скачайте и установите учебную версию платформы 1С:Предприятие 8.3
- 2Создайте новую информационную базу с пустой конфигурацией
- 3Откройте конфигуратор и добавьте справочник «Товары» с парой реквизитов
- 4Обновите конфигурацию базы данных (F7) и запустите режим «Предприятие»
- 5Добавьте 2–3 элемента в справочник — среда готова к работе
Шаг 2. Освойте базовые объекты конфигурации
Ядро любой конфигурации — объекты метаданных. Учить их нужно не по алфавиту, а в порядке практической востребованности. Начните со справочников — это простейшие хранилища нормативной информации: товары, контрагенты, сотрудники. Разберитесь с реквизитами, табличными частями, иерархией и предопределёнными элементами.
Следующий уровень — документы. Документ в 1С отражает хозяйственную операцию и умеет «проводиться», то есть формировать записи в регистрах. Именно связка «документ → движения по регистру» — сердце учётных систем, и её нужно понять досконально: что такое обработка проведения, как отменить проведение, чем отличается оперативное проведение от неоперативного.
Затем изучите регистры: накопления (остатки и обороты), сведений (цены, курсы валют), расчёта. Понимание разницы между регистром сведений и регистром накопления — один из ключевых вопросов на собеседованиях и в реальной работе. Завершите базовый блок отчётами и обработками — инструментами, которые вы будете писать чаще всего.
Шаг 3. Выучите встроенный язык и язык запросов
Встроенный язык 1С по синтаксису напоминает упрощённый Паскаль с русскоязычными ключевыми словами: «Если... Тогда», «Для Каждого... Цикл», «Процедура... КонецПроцедуры». Писать можно и на английском синтаксисе, но в российской практике почти весь код русскоязычный — привыкайте сразу к нему. Начните с типов данных (число, строка, дата, булево, ссылки на объекты), условий, циклов и работы с коллекциями: массивами, структурами, таблицами значений.
Отдельный и обязательный блок — язык запросов. Он похож на SQL, но работает с объектами конфигурации и учитывает права доступа. Умение написать запрос с соединением таблиц, группировкой и итогами — навык, без которого невозможно сделать ни один приличный отчёт. Тренируйтесь в консоли запросов на своей учебной базе: выберите данные из справочника, затем соедините документ с его движениями по регистру.
Разберитесь, где физически живёт код: модули объектов, модули форм, общие модули, модули менеджеров. Ключевое понятие — директивы компиляции «&НаКлиенте» и «&НаСервере»: в тонком клиенте часть кода выполняется на компьютере пользователя, часть — на сервере, и путаница между контекстами — источник большинства ошибок новичков.
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиТоваров.Записывать = Истина;
Для Каждого СтрокаТовара Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Товар = СтрокаТовара.Товар;
Движение.Количество = СтрокаТовара.Количество;
КонецЦикла;
КонецПроцедурыШаг 4. Постройте собственную учебную конфигурацию
Чтение и просмотр уроков без собственного проекта почти не дают результата. Лучший учебный проект — мини-конфигурация «складской учёт»: справочники «Товары» и «Склады», документы «ПоступлениеТоваров» и «РеализацияТоваров», регистр накопления «ОстаткиТоваров» и отчёт по остаткам. Такая конфигурация охватывает все базовые механизмы и делается за 2–4 недели неспешных занятий.
Двигайтесь итерациями. Сначала сделайте примитивную версию: документ просто записывает количество в регистр. Затем добавьте контроль остатков при продаже — чтобы система не давала продать больше, чем есть на складе. Потом добавьте цены, суммы, расчёт себестоимости. Каждая итерация заставит вас разобраться в новом механизме, а не переписывать готовое решение.
Обязательно ломайте и чините. Удалите движения документа и посмотрите, что покажет отчёт. Проведите документ задним числом и разберитесь, почему изменились итоги. Понимание поведения системы в нестандартных ситуациях отличает программиста от человека, прошедшего курс.
Шаг 5. Освойте отладку и синтакс-помощник
Отладчик — главный инструмент обучения. Поставьте точку останова в обработке проведения документа, запустите базу в режиме отладки и проведите документ: вы увидите выполнение кода по шагам, значения переменных и содержимое коллекций. Привычка смотреть код в отладчике, а не гадать, экономит десятки часов.
Синтакс-помощник (открывается по Ctrl+F1 из модуля) — встроенная документация по всем методам платформы. Не ищите описание стандартных функций в поисковике: в синтакс-помощнике информация точнее и привязана к вашей версии платформы. Полезный приём — выделить незнакомый метод в чужом коде и сразу открыть его описание.
Дополнительно изучите замер производительности (встроен в отладчик) и консоль запросов. Эти инструменты понадобятся, когда вы начнёте оптимизировать отчёты: медленный отчёт — самая частая претензия пользователей к начинающим разработчикам.
Как проверить, что обучение идёт
Создаёте объект, пишете обработку проведения и проверяете движения без подглядывания в шпаргалку
Каждый шаг требует поиска готового примера в интернете
Можете проследить цепочку: документ → движения → итоги регистра → отчёт
Цифры в отчёте воспринимаются как нечто непредсказуемое
Точка останова и просмотр переменных — стандартная реакция на проблему
Ошибку ищете перечитыванием кода или случайными изменениями
Шаг 6. Переходите к типовым конфигурациям и реальным задачам
После 2–4 месяцев работы с собственной конфигурацией откройте демо-базу типового решения, например «Управление торговлей» или «Бухгалтерия предприятия». Задача — не выучить её целиком, а научиться ориентироваться: находить, где формируется конкретный документ, как устроен нужный отчёт, как добавить реквизит через расширение, не трогая основную конфигурацию.
Обязательно освойте механизм расширений. В реальной работе типовые конфигурации почти никогда не дорабатывают напрямую — это ломает обновления. Доработки делают через расширения или внешние обработки и отчёты. Умение добавить печатную форму внешней обработкой — классическая первая рабочая задача джуниор-разработчика.
Дальше ищите практику: задачи на фриланс-биржах, стажировки во франчайзи 1С, помощь знакомым предпринимателям с их учётом. Реальные задачи отличаются от учебных размытыми формулировками («сделайте, чтобы было удобно») — и именно умение превращать пожелание пользователя в техническое решение делает из ученика специалиста.
Сколько времени займёт обучение и как не сойти с дистанции
Реалистичный срок до уровня «могу выполнять простые задачи под контролем» — 3–6 месяцев при занятиях 1–2 часа в день. До уверенного самостоятельного уровня — около года практики. Точные сроки зависят от того, было ли у вас раньше знакомство с любым программированием или учётными системами: бухгалтеры и внедренцы осваивают разработку быстрее, потому что понимают предметную область.
Главный риск самостоятельного обучения — не сложность материала, а потеря регулярности. Работает правило маленьких шагов: одна конкретная задача на занятие (например, «добавить контроль остатков») вместо абстрактного «поучить 1С». Ведите список решённых задач — он станет и мотивацией, и основой будущего портфолио.
Полезно участвовать в профессиональных сообществах: форумы и чаты разработчиков 1С помогают, когда застряли, но задавайте вопросы правильно — с описанием конфигурации, фрагментом кода и текстом ошибки. Вопрос «ничего не работает, что делать» почти никогда не получает полезного ответа.
Как выбрать следующий шаг
Что важно запомнить
Начинайте с учебной платформы и пустой конфигурации, осваивайте объекты в порядке: справочники → документы → регистры → отчёты. Обязательно стройте собственную учебную конфигурацию, пользуйтесь отладчиком и синтакс-помощником, а к типовым решениям переходите только после уверенного владения базой. Регулярность занятий важнее интенсивности.
Частые вопросы
Нужно ли высшее образование или знание другого языка программирования для старта в 1С?
Нет, ни то ни другое не обязательно. Встроенный язык 1С часто становится первым языком программирования, и его синтаксис прощает многие ошибки новичков. Полезнее оказаться знакомым с основами учёта — понимать, что такое остаток, оборот и проводка.
Можно ли учиться на macOS или Linux?
Технически платформа имеет версии для Linux, но подавляющее большинство учебных материалов и реальная работа ориентированы на Windows. Для обучения разумнее использовать Windows-машину или виртуальную машину с Windows, чтобы не тратить время на побочные проблемы окружения.
Что лучше для старта: платные курсы или самообучение по бесплатным материалам?
Бесплатных материалов — документации, статей, видеоуроков — достаточно для освоения базы. Платные курсы оправданы, если вам нужна структура, проверка домашних заданий и обратная связь. Главный фактор результата — не формат, а объём самостоятельно написанного кода.
Как понять, что я готов искать первую работу или заказы?
Практический критерий: вы можете самостоятельно, без пошагового руководства, создать документ с проведением по регистру, написать отчёт на запросе и сделать внешнюю печатную форму. Если эти три задачи не вызывают ступора — пора откликаться на junior-вакансии и мелкие заказы.
Стоит ли учить сразу «1С:Предприятие 8.3» или есть более новые версии?
Версия 8.3 — актуальная основная линия платформы, и именно на ней работает подавляющее большинство внедрений. Учить нужно её; навык работы со старыми версиями вроде 8.2 пригодится только в организациях с устаревшими системами и осваивается быстро на месте.
Обязательно ли знать бухгалтерский учёт, чтобы стать 1С-программистом?
На старте — нет, достаточно общего представления о документах и остатках. Но по мере роста знание предметной области становится конкурентным преимуществом: разработчик, понимающий проводки и взаиморасчёты, решает задачи быстрее и дороже стоит на рынке.