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

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

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

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

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

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

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

Установка платформы и создание пустой базы

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

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

Проверьте результат: в списке должна появиться новая база, а при запуске в режиме конфигуратора откроется пустое дерево конфигурации. Если конфигуратор не открывается, проверьте, что база не занята другим сеансом и у пользователя есть права на запись в каталог базы.

Проектирование структуры данных до начала разработки

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

Нарисуйте схему связей на бумаге или в любом редакторе диаграмм. Для учёта заявок минимальный набор выглядит так: справочник «Клиенты», справочник «Сотрудники», документ «Заявка» со ссылками на оба справочника и регистр сведений «Статусы заявок» для хранения истории изменений. Уже на схеме видно, какие реквизиты нужны и какие отчёты можно построить.

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

Количество сущностейЧисло справочников и документов

Если сущностей больше 15–20, стоит разбить проект на этапы и внедрять по подсистемам

Изменчивые данныеЦены, статусы, ответственные

Каждое изменчивое значение с историей требует периодического регистра сведений

ОтчётыСписок показателей для руководства

Если отчёт нельзя построить из запроектированных регистров — структуру нужно пересмотреть

Создание объектов метаданных в конфигураторе

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

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

Третий шаг — регистр сведений «Статусы заявок». Создайте его с режимом «Периодический» (в пределах секунды) и независимым режимом записи. Измерение — «Заявка» (ссылка на документ), ресурс — «Статус» (перечисление: Новая, В работе, Выполнена, Отменена). Перечисление создаётся в отдельной ветке метаданных и представляет собой фиксированный список значений.

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

Написание кода: проведение и обработчики событий

Основная бизнес-логика размещается в модулях объектов. У документа «Заявка» ключевой обработчик — «ОбработкаПроведения»: именно здесь формируются записи в регистрах. Минимальный пример записи статуса при проведении выглядит так: в модуле документа создаётся процедура ОбработкаПроведения, в которой в регистр «Статусы заявок» добавляется запись с текущей датой и нужным статусом.

Для контроля корректности данных используйте обработчик «ОбработкаПроверкиЗаполнения». В нём можно запретить проведение заявки без указания клиента или с пустой табличной частью — через установку параметра «Отказ» в значение Истина и вывод сообщения пользователю. Проверки на стороне кода надёжнее, чем надежда на дисциплину пользователей.

Для отчётов используйте систему компоновки данных (СКД): создайте отчёт, откройте «Конструктор схемы компоновки данных» и постройте запрос по регистру «Статусы заявок». СКД позволяет получить настраиваемый отчёт с группировками и отборами без написания кода вывода — платформа сделает это сама.

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

	Движения.СтатусыЗаявок.Записывать = Истина;
	Движение = Движения.СтатусыЗаявок.Добавить();
	Движение.Период = Дата;
	Движение.Заявка = Ссылка;
	Движение.Статус = Перечисления.СтатусыЗаявок.ВРаботе;

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

Настройка прав, ролей и интерфейса

Конфигурация без разграничения прав пригодна только для одного пользователя. В ветке метаданных «Роли» создайте роли по принципу «одна роль — один набор задач»: например, «Менеджер» с правами на создание и изменение заявок и «ЧтениеОтчётов» с правами только на просмотр. В настройках роли для каждого объекта отмечаются права: чтение, добавление, изменение, удаление, проведение.

Пользователи заводятся в режиме предприятия через раздел администрирования или в конфигураторе через «Администрирование» → «Пользователи». Каждому пользователю назначаются одна или несколько ролей. Проверяйте права отдельным входом под тестовым пользователем: то, что доступно администратору, может быть закрыто для менеджера, и это нужно увидеть до внедрения.

Интерфейс настраивается через подсистемы: создайте подсистемы «Продажи» и «Отчётность», распределите по ним объекты. Подсистемы формируют панель разделов в режиме предприятия — пользователь видит только свои разделы, что снижает количество ошибок и ускоряет обучение персонала.

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

Тестирование и обновление конфигурации базы данных

После каждого изменения метаданных конфигурацию нужно обновить в базе: клавиша F7 или «Конфигурация» → «Обновить конфигурацию базы данных». Если изменения затрагивают структуру таблиц, платформа выполнит реструктуризацию — при больших объёмах данных это может занять заметное время. Перед реструктуризацией рабочей базы всегда делайте выгрузку в файл .dt.

Тестирование ведите по сценариям реальной работы: создайте тестового клиента, оформите заявку, проведите её, проверьте записи в регистре и постройте отчёт. Затем проверьте отрицательные сценарии: попытка провести заявку без клиента, отмена проведения, изменение статуса. Именно отрицательные сценарии выявляют большинство дефектов.

Полезный приём — проверять данные напрямую через запрос в консоли запросов или через стандартную функцию «Все функции» → «Стандартные» → списки регистров. Если запись в регистре появилась с правильным периодом, измерением и ресурсом — проведение работает корректно. Если записи нет или она дублируется — ищите ошибку в обработчике проведения.

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

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

Обновление конфигурации базы данных
Норма

Реструктуризация завершается без ошибок, база открывается в режиме предприятия

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

Сообщения о конфликтах или невозможности изменить тип реквизита

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

В регистре появляется одна запись с корректными значениями

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

Записи нет, дублируется или содержит пустые измерения

Права пользователя
Норма

Менеджер видит свои разделы и не может удалить чужие документы

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

Пользователь видит всё или, наоборот, не может открыть свой документ

Отчёт по регистру
Норма

Данные совпадают с проведёнными документами

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

Суммы или количество строк не сходятся с документами

Дальнейшее развитие конфигурации

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

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

Маршрут решения

Как выбрать действие

Нужен учёт уникальных сущностей с постоянными свойствамиСоздавайте справочник
Нужно фиксировать событие с датой и номеромСоздавайте документ
Нужна история изменения значения во времениСоздавайте периодический регистр сведений
Нужны остатки или обороты по измерениямСоздавайте регистр накопления
Значение выбирается из фиксированного короткого спискаСоздавайте перечисление

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

Итог

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

Начинайте с проектирования структуры данных на бумаге, разрабатывайте только в отдельной копии базы, изменчивые значения храните в периодических регистрах, права настраивайте до запуска пользователей, а каждое изменение проверяйте тестовыми сценариями, включая отрицательные.

Частые вопросы

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

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

Чем учебная версия платформы отличается от рабочей?

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

Можно ли изменить структуру конфигурации, когда база уже заполнена данными?

Да, платформа выполняет реструктуризацию при обновлении конфигурации базы данных. Однако изменение типа реквизита или удаление объектов может привести к потере данных в затронутых полях. Перед любой реструктуризацией рабочей базы обязательно делайте выгрузку в файл .dt.

Что выбрать: файловую базу или клиент-серверную?

Для разработки, обучения и небольшого числа пользователей достаточно файловой базы — она проще в развёртывании и резервном копировании. Клиент-серверный вариант на СУБД оправдан при одновременной работе множества пользователей, больших объёмах данных и требованиях к отказоустойчивости.

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

Через меню «Конфигурация» → «Сохранить конфигурацию в файл» создаётся файл .cf, который загружается в целевую базу командой «Загрузить конфигурацию из файла». Данные при этом не переносятся — только структура и код. Для переноса данных используются выгрузка .dt или универсальные обмены XML.

Сколько времени занимает создание простой конфигурации?

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