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

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

Как написать свою конфигурацию 1С с нуля

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

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

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

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

Что нужно подготовить перед началом разработки

Для разработки потребуется установленная платформа «1С:Предприятие» (актуальная версия линейки 8.3) и конфигуратор — инструмент, входящий в поставку. Для локальной разработки и обучения достаточно файловой информационной базы: она создаётся в пару кликов и не требует сервера. Для командной работы и нагрузочного тестирования понадобится клиент-серверный вариант с СУБД (PostgreSQL, MS SQL Server).

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

Создаём пустую конфигурацию в конфигураторе

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

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

Порядок действий при старте
  1. 1
    Установите платформу и создайте пустую файловую базу
  2. 2
    Откройте конфигурацию и задайте имя, синоним и версию
  3. 3
    Создайте подсистемы под разделы будущего интерфейса
  4. 4
    Добавьте первый справочник и первый документ
  5. 5
    Создайте регистр накопления и настройте движения документа
  6. 6
    Обновите конфигурацию базы данных (F7) и проверьте в режиме предприятия

Проектируем объекты метаданных

Объекты метаданных — это строительные блоки конфигурации. Справочники хранят условно-постоянную информацию (номенклатура, контрагенты, склады). Документы фиксируют события во времени (приход, расход, начисление). Регистры накапливают данные документов в разрезах, нужных для отчётов. Правильное распределение данных между этими объектами определяет 80% качества решения.

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

При создании справочника задайте длину кода и наименования, добавьте реквизиты (например, для номенклатуры — «Единица измерения», «Цена», ссылка на справочник «Группы»). Используйте иерархию только там, где она реально нужна: лишняя иерархичность усложняет отборы. Для документа настройте нумерацию, периодичность, реквизиты шапки и табличные части — именно табличные части обычно хранят строки товаров или услуг.

Регистры накопления и сведений

Регистр накопления — главный инструмент учёта остатков и оборотов. Определите измерения (разрезы учёта: склад, номенклатура), ресурсы (числовые показатели: количество, сумма) и вид регистра: «Остатки» для складского учёта, «Обороты» для аналитики без хранения остатков. Регистр сведений подходит для хранения значений в разрезе измерений — например, цен номенклатуры с периодичностью.

Пишем код на встроенном языке

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

Типовой код проведения выглядит так: очищаются старые движения, перебираются строки табличной части, для каждой строки создаётся запись движения регистра с заполнением измерений и ресурсов. После цикла набор записей записывается. Для выборки данных используйте язык запросов — он похож на SQL и выполняется эффективнее, чем перебор объектов в коде.

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

Движения.ОстаткиНоменклатуры.Записывать = Истина;

Для Каждого Строка Из Товары Цикл

Движение = Движения.ОстаткиНоменклатуры.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Номенклатура = Строка.Номенклатура;

Движение.Количество = Строка.Количество;

КонецЦикла;

КонецПроцедуры

Выгружайте всю табличную часть одним запросом через ВЫБРАТЬ ... ИЗ Документ.ПриходнаяНакладная.Товары вместо обращения к реквизитам строк в цикле. На документах с сотнями строк разница в скорости проведения заметна невооружённым глазом, а код получается короче.
ПЗ
Практическое замечание

Формы, отчёты и права доступа

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

Отчёты создавайте на системе компоновки данных (СКД): она позволяет описать запрос и настройки отчёта декларативно, а пользователь получит возможность менять группировки и отборы без программирования. Для учебного отчёта достаточно мастера: выбрать регистр, указать поля, задать ресурсы. Роли и права настройте до передачи решения пользователям: создайте роли по должностям и назначьте доступ к объектам, иначе все пользователи получат полные права.

Типичные ошибки
01
Проектирование регистров «на вырост» с десятком лишних измерений — это замедляет проведение и раздувает базу
02
Обращение к базе данных в цикле вместо одного запроса — резкое падение производительности на больших объёмах
03
Хранение остатков в реквизитах справочника вместо регистра — данные расходятся при отмене проведения
04
Отсутствие контроля отрицательных остатков при расходе — склад уходит в минус
05
Разработка без ролей и подсистем — пользователи получают пустой или перегруженный интерфейс

Отладка, тестирование и проверка результата

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

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

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

Как проверить результат

Проведение документа
Норма

Движения появляются в регистре, отчёт показывает верные остатки

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

Регистр пуст или суммы не совпадают со строками документа

Отмена проведения
Норма

Движения полностью удаляются, остатки возвращаются

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

Остатки «зависают» или дублируются после перепроведения

Расход при нехватке остатка
Норма

Документ не проводится с понятным сообщением об ошибке

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

Остатки уходят в минус без предупреждения

Интерфейс пользователя
Норма

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

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

Пустая панель навигации или доступ ко всем объектам у всех

Часто задаваемые вопросы

Можно ли написать конфигурацию 1С без опыта программирования?

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

Чем собственная конфигурация лучше доработки типовой?

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

Нужна ли лицензия для разработки своей конфигурации?

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

Как перенести конфигурацию на другую базу или компьютер?

Конфигурация выгружается через «Конфигурация → Сохранить конфигурацию в файл» (файл .cf). На целевой базе она загружается через «Загрузить конфигурацию из файла» с последующим обновлением конфигурации базы данных. Для переноса вместе с данными используйте выгрузку информационной базы в файл .dt.

Что делать, если конфигурация стала медленно работать?

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

Итог

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

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