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

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

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

📊 С какой целью вы изучаете схемы 1С?
Для разработки конфигураций
Для настройки отчётов
Для интеграции с другими системами
Для понимания бизнес-процессов
Другое

1. Что такое схема в 1С: основные определения

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

  • 📊 Схема данных — описание таблиц базы данных, их полей и связей (аналог ER-диаграмм в SQL). Используется для анализа структуры хранения информации.
  • 🔄 Схема бизнес-процессов — графическое отображение последовательности действий (например, согласование заказа или начисление зарплаты). Часто строится в нотации BPMN.
  • 📑 Схема компоновки данных (СКД) — шаблон для формирования отчётов, определяющий источники данных, группировки и вывод.

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

В 1С:Предприятие 8 схемы могут быть как внешними (созданными в сторонних инструментах типа Microsoft Visio или Lucidchart), так и встроенными (например, схемы компоновки данных в конфигураторе). Последние редактируются прямо в платформе и автоматически применяются при генерации отчётов.

💡

Если вам нужна схема для документации, используйте инструменты вроде draw.io или PlantUML — они бесплатны и интегрируются с через экспорт/импорт данных.

2. Виды схем в 1С и их назначение

Разберём подробнее каждый тип схем, чтобы вы могли выбрать подходящий для своей задачи.

Тип схемы Назначение Где используется Инструменты создания
Схема данных Описание структуры базы данных (таблицы, поля, связи) Анализ производительности, миграция данных, разработка Конфигуратор 1С, DBVisualizer, SQL Server Management Studio
Схема бизнес-процессов Визуализация последовательности действий (например, согласование документа) Оптимизация workflow, обучение сотрудников 1С:BPM, Bizagi, Lucidchart
Схема компоновки данных (СКД) Шаблон для формирования отчётов (источники, группировки, вывод) Создание пользовательских отчётов, аналитика Конфигуратор 1С (редактор СКД)
Организационная схема Иерархия подразделений и должностей в компании Настройка прав доступа, кадровый учёт 1С:Зарплата и Управление Персоналом, OrgChart

Ключевое отличие схем данных от схем бизнес-процессов: первые описывают «что хранится», а вторые — «как это используется». Например, схема данных покажет, что в базе есть таблица «ЗаказыПокупателей» с полями «Дата», «Сумма» и «Статус», а схема бизнес-процесса — как статус заказа меняется от «Черновик» до «Оплачен» и кто отвечает за каждый переход.

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

Чем схема компоновки данных отличается от обычного отчёта?

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

3. Как создать схему данных в 1С: пошаговая инструкция

Создание схемы данных — одна из самых востребованных задач при разработке или модификации конфигураций. Рассмотрим процесс на примере 1С:Предприятие 8.3.

Шаг 1. Получение структуры базы данных

Чтобы построить схему, сначала нужно получить информацию о таблицах. Это можно сделать:

  • 🔧 Через Конфигуратор: откройте меню Файл → Открыть → Конфигурацию, затем перейдите в Администрирование → Поддержка и обслуживание → Структура хранения данных.
  • 🗃️ Через SQL-запрос: подключитесь к базе через SQL Server Management Studio (для MS SQL) или pgAdmin (для PostgreSQL) и выполните запрос:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_CATALOG = 'YourDatabaseName'

Для файлового варианта 1С (без SQL) используйте утилиты типа 1C:Enterprise Development Tools (EDT) или плагины для Visual Studio Code.

Шаг 2. Визуализация схемы

Полученные данные можно визуализировать:

  • 📈 В 1С:EDT: инструмент автоматически строит диаграммы классов и связей между объектами.
  • 🖼️ В draw.io или Lucidchart: импортируйте данные из SQL или создайте схему вручную.
  • 🔄 Через скрипты: например, на Python с библиотекой SQLAlchemy можно сгенерировать ER-диаграмму.

Получить список таблиц базы данных|Определить связи между таблицами (1:1, 1:М, М:М)|Выбрать инструмент визуализации|Добавить описания полей (типы данных, обязательность)|Проверить актуальность схемы после обновления конфигурации-->

Пример кода для генерации схемы через Python (требуется библиотека er_alchemy):

from er_alchemy import render_er

render_er('postgresql://user:password@localhost:5432/your_db', 'er_diagram.png')

Шаг 3. Анализ и оптимизация

После построения схемы:

  • 🔍 Проверьте избыточные связи (например, дублирующиеся поля в разных таблицах).
  • ⚡ Оптимизируйте индексы для часто используемых запросов.
  • 📊 Сравните схему с логической моделью (если она есть) на предмет расхождений.
💡

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

4. Схема компоновки данных (СКД): разбор на примерах

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

  • 📌 Определять источники данных (запросы, объекты, таблицы).
  • 🔢 Настраивать группировки и сортировки.
  • 🎨 Форматировать вывод (условное оформление, диаграммы).

Рассмотрим простой пример: отчёт по продажам с группировкой по менеджерам.

Пример 1: Простая СКД для отчёта по продажам

1. В Конфигураторе создайте новый отчёт (Файл → Новый → Отчёт).

2. В редакторе СКД добавьте источник данных — запрос:

ВЫБРАТЬ

Продажи.Менеджер КАК Менеджер,

СУММА(Продажи.Сумма) КАК СуммаПродаж

ИЗ

Документ.РеализацияТоваровУслуг КАК Продажи

ГДЕ

Продажи.Дата МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО

Продажи.Менеджер

3. В разделе Настройки → Группировки добавьте поле «Менеджер».

4. В разделе Настройки → Другие настройки включите условное оформление, чтобы выделить менеджеров с продажами выше среднего.

Результат: отчёт будет автоматически группировать данные по менеджерам и показывать сумму продаж за выбранный период.

Пример 2: СКД с параметрами

Добавим в отчёт параметры для фильтрации:

  1. В разделе Параметры создайте параметры НачалоПериода и КонецПериода типа Дата.
  2. В запрос добавьте условие Продажи.Дата МЕЖДУ &НачалоПериода И &КонецПериода.
  3. При открытии отчёта пользователь сможет выбрать период.
💡

Чтобы ускорить работу отчёта, используйте индексированные поля в запросе (например, Дата или Ссылка на документ).

5. Схемы бизнес-процессов: нотации и инструменты

Схемы бизнес-процессов в помогают описать, как проходят операции в компании — от приёма заказа до выплаты зарплаты. Для их создания используют стандартные нотации:

  • 📜 BPMN 2.0 — наиболее распространённый стандарт (поддерживается в 1С:BPM).
  • 🔄 IDEF0 — для детального описания функций (используется в государственных проектах).
  • 📊 Flowchart — простые блок-схемы для быстрого пояснения логики.

Пример бизнес-процесса «Согласование заказа» в нотации BPMN:

  1. Старт: менеджер создаёт заказ.
  2. Задача: проверка наличия товара на складе.
  3. Ветвление:
    • Если товар есть → переход к оплате.
    • Если нет → уведомление клиента о дефиците.
  • Завершение: заказ передан в отгрузку.
  • В 1С:Предприятие бизнес-процессы можно:

    • 🖥️ Моделировать в модуле 1С:BPM (для версий 8.3.10+).
    • 🔧 Автоматизировать через механизм БизнесПроцессы в конфигураторе.
    • 📂 Документировать в 1С:Документооборот.
    Как связать схему бизнес-процесса с данными в 1С?

    В модуле 1С:BPM можно привязать задачи процесса к документам (например, задача «Согласование» будет привязана к документу «Заказ клиента»). Для этого в настройках процесса укажите тип документа и поля, которые нужно заполнить.

    Пример кода для создания бизнес-процесса в :

    Процесс = БизнесПроцессы.СоздатьБизнесПроцесс("СогласованиеЗаказа");
    

    Процесс.Документ = Документы.ЗаказКлиента.НайтиПоНомеру(123);

    Процесс.Запустить();

    6. Организационные схемы в 1С: настройка структуры компании

    Организационные схемы отражают иерархию подразделений и должностей в компании. В их используют для:

    • 👥 Настройки прав доступа (роли привязываются к подразделениям).
    • 💰 Расчёта зарплаты (структура влияет на надбавки и премии).
    • 📋 Формирования отчётности (например, по головному офису и филиалам).

    Чтобы создать организационную схему:

    1. Откройте 1С:Зарплата и Управление Персоналом (или 1С:ERP).
    2. Перейдите в раздел Кадры → Организационная структура.
    3. Добавьте подразделения (например, «Дирекция», «Бухгалтерия», «Отдел продаж»).
    4. Назначьте должности и привяжите к ним сотрудников.

    Пример структуры:

    Дирекция

    ├── Бухгалтерия

    │ ├── Главный бухгалтер

    │ └── Бухгалтер

    └── Отдел продаж

    ├── Руководитель отдела

    └── Менеджер по продажам

    Для визуализации схемы можно:

    • 📊 Использовать отчёт Организационная структура в 1С:ЗУП.
    • 🖼️ Экспортировать данные в OrgChart или Visio.
    💡

    Организационная схема в 1С влияет на расчёт зарплаты. Например, если в структуре есть должность «Заместитель директора» с надбавкой 20%, то при назначении сотрудника на эту должность надбавка будет учитываться автоматически.

    7. Типичные ошибки при работе со схемами и как их избежать

    Даже опытные пользователи допускают ошибки при создании или использовании схем. Вот самые распространённые:

    ⚠️ Внимание: Если вы строите схему данных для файловой базы , помните, что её структура может отличаться от SQL-варианта. Например, в файловом режиме нет явных внешних ключей — связи реализуются через ссылки в коде.
    • 🔗 Неактуальные связи: схема не обновлялась после изменений в конфигурации. Решение: используйте скрипты для автоматического обновления схем (например, через 1C:EDT).
    • 📉 Избыточная детализация: схема содержит слишком много элементов, что затрудняет её чтение. Решение: разбивайте большие схемы на подсхемы (например, отдельно для справочников и документов).
    • 🔄 Несоответствие нотаций: в одной схеме смешаны BPMN и flowchart. Решение: выберите одну нотацию и придерживайтесь её.
    • 🔒 Отсутствие версионности: нет истории изменений схемы. Решение: храните схемы в системе контроля версий (например, Git).

    Пример ошибки в СКД:

    Если в отчёте не указан период по умолчанию, пользователь увидит пустые данные. Чтобы избежать этого, в настройках СКД добавьте:

    Параметры.Добавить("Период", Тип("Структура"));
    

    Параметры.Период.Вставить("Начало", НачалоМесяца(ТекущаяДата()));

    Параметры.Период.Вставить("Конец", КонецМесяца(ТекущаяДата()));

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

    • Есть ли условие завершения процесса.
    • Нет ли бесконечных переходов между задачами.

    8. Инструменты для работы со схемами в 1С

    Выбор инструмента зависит от типа схемы и ваших задач. Ниже — сравнительная таблица популярных решений:

    Инструмент Тип схемы Плюсы Минусы
    1C:EDT Схемы данных, классов Интеграция с 1С, автоматическое построение Требует лицензии, сложен для новичков
    draw.io Бизнес-процессы, организационные схемы Бесплатен, простой интерфейс Нет прямой синхронизации с 1С
    1С:BPM Бизнес-процессы Поддержка BPMN, интеграция с задачами Дорогой, требует настройки
    SQL Server Management Studio Схемы данных (SQL) Детальный анализ базы Не подходит для файлового варианта 1С
    PlantUML Любые схемы (текстовый формат) Версионирование через Git, автоматическая генерация Нужно изучать синтаксис

    Для автоматизации рекомендуем:

    • 🤖 Использовать скрипты на Python для генерации схем данных из метаданных 1С (библиотека py1C).
    • 🔄 Настраивать регулярное обновление схем через 1C:EDT или Jenkins.

    Пример скрипта для экспорта структуры базы в PlantUML:

    # Пример на Python (упрощённо)
    

    import py1C

    md = py1C.MetaData("path_to_your_base")

    for table in md.tables:

    print(f"entity {table.name} {{")

    for field in table.fields:

    print(f" {field.name} : {field.type}")

    print("}")

    ⚠️ Внимание: При использовании сторонних инструментов для работы со схемами данных (например, DBeaver или Navicat) убедитесь, что они поддерживают версию СУБД вашей базы 1С. Некоторые инструменты могут неправильно отображать специфичные для 1С типы данных (например, Ссылка или ХранилищеЗначения).

    FAQ: Частые вопросы о схемах в 1С

    Можно ли построить схему данных для облачной 1С (1C:Fresh)?

    Да, но с ограничениями. В 1C:Fresh нет прямого доступа к базе данных, поэтому:

    • Используйте встроенные отчёты (например, «Структура метаданных»).
    • Экспортируйте данные через REST API и стройте схему в внешнем инструменте.

    Для детального анализа структуры облачной базы обратитесь в поддержку 1С — они могут предоставить актуальную схему.

    Как связать схему бизнес-процесса с документами в 1С?

    В модуле 1С:BPM:

    1. Создайте бизнес-процесс и укажите тип документа (например, «Заказ клиента»).
    2. В настройках задачи добавьте ссылку на документ как параметр.
    3. При запуске процесса передавайте ссылку на конкретный документ:
    Процесс = БизнесПроцессы.СоздатьБизнесПроцесс("СогласованиеЗаказа");
    

    Процесс.Документ = Документы.ЗаказКлиента.НайтиПоНомеру(123);

    Процесс.Запустить();

    Чем схема компоновки данных отличается от обычного отчёта?

    СКД — это шаблон, а отчёт — результат его выполнения. Например:

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

    СКД позволяет:

    • Динамически менять группировки.
    • Добавлять условное оформление.
    • Использовать несколько источников данных.
    Как обновить схему данных после изменения конфигурации?

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

    1. В 1C:EDT: нажмите Обновить модель в диаграмме классов.
    2. В SQL-инструментах: выполните запрос к INFORMATION_SCHEMA заново.
    3. В ручном режиме: экспортируйте метаданные через Конфигуратор → Файл → Сохранить конфигурацию в файл и обновите схему в внешнем редакторе.

    Для автоматизации обновления можно написать скрипт на Python или PowerShell, который будет сравнивать текущую схему с метаданными и вносить изменения.

    Где хранится схема компоновки данных в файлах 1С?

    СКД хранится внутри конфигурации в виде:

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

    Пример пути к СКД в файловой структуре:

    .\src\Отчеты\ОтчетПоПродажам\СхемаКомпоновкиДанных.xml