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