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

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

Как разработать базу данных в 1С: от проектирования до запуска

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

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

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

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

Анализ требований и проектирование структуры

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

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

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

Относительно постоянные данныеСправочник

Контрагенты, товары, сотрудники, склады — меняются редко

События и операцииДокумент

Заказы, накладные, платежи — имеют дату, номер и проведение

Остатки и оборотыРегистр накопления

Товары на складах, взаиморасчёты, деньги на счетах

Значения, изменяющиеся во времениРегистр сведений

Цены, курсы валют, адреса доставки контрагентов

Выбор платформы и режима хранения данных

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

Далее решите, где будут физически храниться данные. Файловый вариант (каталог с файлом 1Cv8.1CD) подходит для одного пользователя или небольшой группы до примерно 5–7 одновременно работающих: он прост в развёртывании и не требует отдельного сервера. Клиент-серверный вариант на MS SQL Server, PostgreSQL или Oracle нужен при большем числе пользователей и объёмах — он обеспечивает параллельную работу, разграничение блокировок и отказоустойчивость.

Файловый или клиент-серверный вариант

Файловая база

Подходит для 1–5 пользователей и малых объёмов; ограничение — блокировки при одновременной записи и риск повреждения файла при сбое сети

Клиент-сервер (SQL)

Для десятков и сотен пользователей, больших объёмов, регламентных заданий; требует администрирования СУБД и лицензий на сервер

Облачная база (1С:Фреш и аналоги)

Когда нет своей инфраструктуры; ограничение — зависимость от провайдера и ограничения на доработки в некоторых тарифах

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

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

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

Настройка справочников

Для каждого справочника определите реквизиты, иерархию (если нужны группы, как в номенклатуре) и подчинённость (например, договоры подчинены контрагентам). Настройте длину кода и наименования: слишком короткое наименование (по умолчанию 25 символов) быстро перестанет хватать — для номенклатуры ставьте 100–150. Включите нужные стандартные реквизиты и продумайте индексы для реквизитов, по которым будет идти поиск.

Документы и проведение

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

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

Программирование бизнес-логики

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

Для выборки данных используйте язык запросов 1С, а не обход справочника в цикле — запросы выполняются на стороне СУБД и на порядки быстрее. Обход выборки циклом оправдан только для построчной обработки. Избегайте запросов внутри циклов: типичная причина «тормозов» свежей конфигурации — запрос данных о товаре внутри перебора строк документа вместо одного запроса по всей табличной части.

bsl
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.КоличествоОстаток КАК Остаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК Остатки";
Запрос.УстановитьПараметр("Период", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("Склад", Склад);
Результат = Запрос.Выполнить().Выгрузить();

Транзакции при проведении документов платформа управляет автоматически, но при программной записи нескольких связанных объектов оборачивайте операции в явную транзакцию (НачатьТранзакцию() … ЗафиксироватьТранзакцию()) с обработкой исключений — иначе при сбое посередине получите частично записанные данные.

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

Права доступа в 1С настраиваются через роли: создайте роли по должностным обязанностям (например, «МенеджерПродаж», «Кладовщик», «Бухгалтер») и назначьте каждой права на чтение, добавление, изменение и проведение конкретных объектов. Роль «ПолныеПрава» оставьте только администраторам. Для ограничения доступа на уровне записей (менеджер видит только своих контрагентов) используйте RLS — шаблоны ограничений доступа к данным.

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

Тестирование, перенос данных и запуск

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

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

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

Как проверить готовность базы

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

Документ проводится, движения по регистрам соответствуют табличной части

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

Движения пустые, дублируются или не отменяются при отмене проведения

Отчёты по остаткам
Норма

Остатки в отчёте сходятся с данными документов и физическим подсчётом

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

Отрицательные или завышенные остатки без объяснимых причин

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

Каждая роль видит только свои разделы, запретные действия блокируются

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

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

Производительность
Норма

Типовые операции выполняются за секунды на реальном объёме данных

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

Проведение накладной занимает десятки секунд уже на тестовых данных

Типичные ошибки при разработке базы в 1С

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

Типичные ошибки
01
Хранение остатков и цен в реквизитах справочников — данные расходятся с движениями документов, аудит невозможен
02
Запросы внутри циклов по строкам документа — резкое падение производительности при росте объёма
03
Разработка сразу в рабочей базе без копии — один неудачный код проведения повреждает учётные данные
04
Отсутствие контроля остатков при проведении — документы уходят в минус, отчёты теряют смысл
05
Всем пользователям выдаются полные права — случайное удаление документов и невозможность установить виновника
06
Игнорирование индексирования реквизитов поиска — медленный подбор контрагентов и товаров на больших справочниках

Когда дорабатывать типовую, а когда писать с нуля

Если задача покрывается типовой конфигурацией (1С:Управление торговлей, 1С:Бухгалтерия, 1С:ERP) на 70–80 %, рациональнее взять типовую и доработать: вы получаете готовую методологию учёта, обновления под изменения законодательства и поддержку. Разработка с нуля оправдана для нестандартных процессов, которым типовая логика прямо противоречит, — например, специфического производственного учёта или узкоспециализированного сервиса.

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

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

Как выбрать подход

Процессы компании укладываются в стандартный учёт (торговля, услуги, бухгалтерия)Возьмите типовую конфигурацию и доработайте расширениями
Нужно добавить пару печатных форм и отчётов к типовой базеИспользуйте механизм внешних отчётов и обработок — конфигурацию менять не потребуется
Бизнес-процесс уникален и типовая логика ему мешаетПроектируйте собственную конфигурацию с нуля, начав с прототипа
Нет опыта разработки, а база нужна для реального учётаНачните с типовой конфигурации в стандартном виде — дорабатывать можно позже
Итог

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

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

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

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

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

Чем отличается конфигурация от информационной базы?

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

Сколько пользователей выдержит файловая база?

Комфортная работа — обычно до 5–7 одновременных пользователей при умеренных объёмах. При большем числе начинаются конфликты блокировок и замедление. Точный порог зависит от интенсивности записи: база с редкими документами выдержит больше пользователей, чем база с непрерывным вводом накладных. При росте переходите на клиент-серверный вариант.

Как перенести данные из старой базы в новую разработку?

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

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

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

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

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