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