Как построить схему в 1С 8.3: редактор, код и диаграммы
Содержание
Схему в 1С 8.3 рисуют встроенным редактором графических схем. Самый короткий путь: в конфигураторе открываете нужный объект, добавляете макет и выбираете тип Графическая схема — откроется редактор, где блоки расставляют мышью и соединяют линиями. Если схема нужна не в документации, а в самой программе, на управляемую форму кладут Поле графической схемы.
Под словом «схема» в 1С скрываются разные вещи: блок-схема алгоритма, карта маршрута бизнес-процесса, диаграмма с данными, визуализация структуры конфигурации. Инструмент под каждую задачу свой. Ниже — какие механизмы есть в платформе, как построить схему вручную и программно, чем нарисовать то, чего платформа не умеет, и где чаще всего ошибаются.
Что умеет строить 1С и какой инструмент выбрать
Всё, что ниже, относится к платформе 8.3 с интерфейсом «Такси» и не зависит от конкретной конфигурации — это механизмы самой платформы, а не прикладного решения. Платформа даёт несколько независимых инструментов, и путать их — главная причина, почему «схема не получается».
- 🧩 Графическая схема — универсальный конструктор блоков и линий. Подходит для блок-схем алгоритмов, оргструктур, простых диаграмм связей. Живёт как макет или как поле на форме.
- 🔀 Карта маршрута бизнес-процесса — схема процесса с точками действий и условий. Это не картинка, а исполняемая логика: по ней платформа ведёт задачи от исполнителя к исполнителю.
- 📊 Диаграмма, диаграмма Ганта, дендрограмма — визуализация числовых и иерархических данных: продажи по месяцам, график работ, дерево подчинённости.
- 🖼 Внешние редакторы — Visio, draw.io, PlantUML и подобные. Нужны, когда требуется ER-схема базы или свободное оформление, которого штатный редактор не даёт.
Выбор зависит от того, что вы хотите показать: порядок шагов, бизнес-процесс, цифры или структуру данных.
Графическая схема во встроенном редакторе
Это рабочая лошадка для статичных схем. Создаётся как макет конкретного объекта или общий макет.
- В конфигураторе раскройте ветку нужного объекта (справочника, обработки, документа) и найдите узел
Макеты. Для схемы, не привязанной к объекту, используйте веткуОбщие → Общие макеты. - Правой кнопкой →
Добавить. В мастере макета выберите типГрафическая схемаи задайте имя латиницей, напримерСхемаПроцесса. - Откроется редактор. Слева — палитра элементов: блоки (поля с текстом), линии-соединители, текстовые подписи, украшения.
- Перетащите блоки на полотно, впишите в каждый текст двойным кликом. Соедините линиями: ведите линию от края одного блока к другому.
- Оформление — через палитру свойств: цвет заливки, рамка, шрифт, тип стрелки на конце линии.
Чтобы схема не «ехала» при изменении масштаба, включайте привязку к сетке и выравнивайте блоки по общим направляющим. Ровная сетка читается заметно лучше, чем блоки «на глаз».
Готовый макет выводят в табличный документ при печати или показывают пользователю. Если схема должна меняться во время работы — её строят не макетом, а на форме.
Для печати схему помещают в область табличного документа и выводят на печать как обычный документ. Крупную схему, которая не влезает на лист, либо уменьшают масштабом области печати, либо делят на части и печатают по страницам. Проверьте вид в режиме предпросмотра печати до того, как отдадите схему пользователям: на экране и на листе масштаб отличается, и подписи, читаемые на мониторе, на бумаге могут слипнуться.
Поле графической схемы на форме
Когда пользователь должен видеть схему прямо в интерфейсе (а иногда и редактировать), поступают так:
- В форме объекта добавьте реквизит формы с типом
ГрафическаяСхема. - Перетащите реквизит в дерево элементов формы — он превратится в
Поле графической схемы. - В свойствах поля задайте, разрешено ли редактирование пользователем и как масштабировать содержимое.
Такое поле удобно для наглядных панелей: схема склада, карта статусов заказа, укрупнённый процесс. Данные в него можно подать готовым макетом или собрать в коде.
Карта маршрута бизнес-процесса как технологическая схема
Если «схема процесса» нужна не для картинки, а чтобы система реально вела работу по шагам, — это бизнес-процесс. Его карта маршрута рисуется тем же графическим редактором, но каждый элемент несёт логику.
Создают так: в конфигураторе ветка Бизнес-процессы → Добавить. У объекта есть пункт Карта маршрута — он открывает полотно с палитрой точек маршрута.
Основные точки, из которых собирают маршрут:
| Точка | Что делает |
|---|---|
| Старт | Начало процесса, одна на карту |
| Действие | Формирует задачу исполнителю (согласовать, оплатить, проверить) |
| Условие | Ветвление «да/нет» по заданному выражению |
| Выбор варианта | Ветвление на несколько именованных исходов |
| Разделение / Слияние | Запуск параллельных веток и их сбор обратно |
| Завершение | Конец процесса |
Точки соединяют линиями — они задают порядок перехода. У точки действия указывают адресацию: кому и по какой роли ставится задача. Карта маршрута — это логика, а не рисунок: нарисованная, но не настроенная точка действия задачу не создаст.
Бизнес-процессы и задачи требуют заранее продуманной адресации (кто исполнитель, по каким реквизитам он определяется). Сначала проектируют адресацию задач, и только потом рисуют маршрут, иначе точки действия будет некому назначить.
Простой маршрут согласования заявки выглядит так: Старт → Действие «Подготовить заявку» → Условие «Сумма больше лимита?». По ветке «да» — ещё одно действие «Согласовать у руководителя», по ветке «нет» — сразу Действие «Исполнить», и обе ветки сходятся к точке Завершение. Каждое действие порождает задачу конкретному исполнителю; пока он её не выполнит, процесс стоит на этой точке.
Такой подход и есть «технологическая карта процесса» в терминах 1С: наглядная схема, по которой платформа автоматически гоняет задачи между сотрудниками. Менять маршрут можно и после запуска процессов, но уже идущие экземпляры продолжат двигаться по той версии карты, с которой стартовали, — это стоит учитывать при доработках.
Построение схемы в коде
Графическую схему можно собрать программно — например, когда набор блоков зависит от данных и заранее неизвестен. Работают с объектом ГрафическаяСхема и его коллекцией элементов: в неё добавляют элементы-поля (блоки), линии и подписи, задают им текст и оформление, а затем присваивают готовую схему полю формы или выводят в макет.
// Собираем схему из блоков в коде
Схема = Новый ГрафическаяСхема;
Блок1 = Схема.Элементы.Добавить(Тип("ЭлементГрафическойСхемыПоле"));
Блок1.Текст = "Приём заявки";
Блок2 = Схема.Элементы.Добавить(Тип("ЭлементГрафическойСхемыПоле"));
Блок2.Текст = "Согласование";
// дальше добавляют линию-соединитель и задают координаты и оформление;
// точные имена свойств блоков и линий смотрите в синтакс-помощнике (F1)
Полный набор свойств (координаты, размеры, цвета, концы линий) смотрите в синтакс-помощнике по типу ГрафическаяСхема — там же примеры по каждому виду элемента. Если точная сигнатура свойства под вопросом, не угадывайте: откройте справку прямо из конфигуратора, F1 на имени объекта.
Код обычно размещают в модуле формы или в модуле объекта. Собранную схему присваивают реквизиту формы типа ГрафическаяСхема, после чего пользователь видит результат в поле графической схемы.
Диаграммы и визуализация данных и связей
Когда на схеме должны быть не блоки, а цифры и зависимости, в платформе есть отдельные объекты.
- 📈 Диаграмма — круговая, гистограмма, график и другие типы. Показывает структуру и динамику: доли по номенклатуре, выручка по месяцам. Выводится на форму или в макет, данные подаются сериями и точками.
- 🗓 Диаграмма Ганта — график работ и загрузки во времени: этапы проекта, занятость сотрудников, план-график. Полосы на временной шкале.
- 🌳 Дендрограмма — иерархические связи: дерево подчинённости, структура групп, вложенность. Хороша там, где важна именно вложенность, а не числа.
Эти объекты добавляют как поле на форму (через реквизит соответствующего типа) или настраивают прямо в системе компоновки данных — тогда диаграмму строит отчёт без единой строки кода.
У диаграммы два ключевых измерения: серии и точки. Для выручки по месяцам точками будут месяцы (горизонтальная ось), серией — организация или склад. Значение на пересечении серии и точки — это и есть столбик или сектор. Если данные легли не так, как ожидали, почти всегда перепутаны местами серии и точки — поменяйте их, и картинка встанет на место.
Для отчётов быстрее всего собрать диаграмму в СКД: в настройках отчёта выбираете тип «Диаграмма», перетаскиваете поля в точки и серии. Писать код не нужно — платформа сама построит картинку по данным.
С «визуализацией структуры данных и связей» есть нюанс: автоматической ER-схемы таблиц метаданных в платформе нет. Структуру конфигурации смотрят в дереве объектов, а связи между сущностями рисуют руками — графической схемой или внешним редактором.
Экспорт и сторонние инструменты визуализации
Штатный редактор закрывает типовые задачи, но не всё. Если нужна свободная ER-диаграмма, презентационная схема или формат, понятный аналитикам вне 1С, удобнее нарисовать во внешнем инструменте и вставить результат в систему.
Что обычно используют:
- draw.io (diagrams.net) — бесплатный онлайн- и настольный редактор схем. Экспорт в PNG/SVG.
- Microsoft Visio — корпоративный стандарт для блок-схем и процессов.
- PlantUML — схемы из текстового описания, удобно хранить в репозитории рядом с кодом.
- yEd, Dia — бесплатные настольные редакторы для диаграмм и графов.
Схему из внешнего редактора сохраняют картинкой и вставляют в макет 1С как элемент типа Картинка — так её можно напечатать вместе с документом или показать пользователю. Обратный путь тоже рабочий: содержимое графической схемы и диаграммы можно вывести в табличный документ, а его — сохранить в файл и отправить дальше.
Для документирования структуры самой конфигурации (объекты, реквизиты, связи) разработчики чаще берут внешние инструменты: выгружают описание конфигурации и строят схему там, где удобно её поддерживать.
Частые ошибки при проектировании схем
Ошибки здесь редко про синтаксис — чаще про саму конструкцию.
- Выбран не тот механизм. Рисуют блок-схему графической схемой, хотя нужен исполняемый бизнес-процесс, — и потом удивляются, что задачи не ставятся. Сверьтесь с деревом решений выше.
- Карту маршрута рисуют как картинку. Точки расставлены, линии проведены, но у точек действия не настроена адресация. Процесс запускается и тут же встаёт: задачу некому отдать.
- Перегруженное полотно. Два десятка блоков без группировки и без направляющих читаются хуже, чем три укрупнённых блока со вложенными схемами. Дробите крупный процесс на подпроцессы.
- Схема на форме без привязки данных. Поле графической схемы добавили, а реквизит формы не заполнили или не присвоили — поле остаётся пустым.
- Код с угаданными именами типов.
Элементы.Добавить(Тип("…"))с неточным именем типа вызовет ошибку выполнения. Имена берите из синтакс-помощника, а не по памяти. - ER-схему ждут от платформы. Автоматической диаграммы таблиц базы в 1С нет — для неё нужен внешний инструмент.
Прежде чем менять структуру рабочей конфигурации ради схемы (новый бизнес-процесс, реквизиты формы), делайте это в расширении или на тестовой копии. Изменения в основной конфигурации затрагивают всех пользователей базы.