В чем проектировать нетиповую конфигурацию 1С и как вести учет взаимосвязей объектов?

Программист IT и автоматизация бизнеса
← На главную

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

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

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

---

1. Внутреннее проектирование средствами платформы: механизм Подсистемы

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

Рассмотрим, как выжать максимум из механизма подсистем:

  1. Проектирование архитектуры «сверху вниз»: Начнем разработку с создания верхнего уровня подсистем, которые будут отражать крупные разделы учета (например, Закупки, Продажи, Склад, Финансы).
  2. Иерархическое дробление (декомпозиция): Внутри каждой крупной подсистемы создадим подчиненные подсистемы, детализирующие функционал (например, в подсистеме Продажи выделим ОптоваяТорговля, РозничнаяТорговля, Ценообразование).
  3. Использование дерева конфигурации как карты проекта: Назначая объекты метаданных (справочники, документы, регистры) соответствующим подсистемам, мы автоматически получаем структурированную модель. В Конфигураторе мы можем установить отбор по конкретной подсистеме, что позволяет разработчику фокусироваться на локальной задаче и не отвлекаться на «шум» остальных объектов.
  4. Автоматическое разграничение прав: Проектирование через подсистемы значительно упрощает дальнейшую настройку ролей и прав доступа, так как роли можно создавать в привязке к спроектированным функциональным блокам.

---

2. Профессиональное проектирование в 1С:СППР (Система проектирования прикладных решений)

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

Проанализируем возможности и сценарии использования 1С:СППР:

Важный нюанс: Как отмечают практикующие архитекторы, использовать СППР исключительно как «рисовалку схем» неэффективно. Это мощная база знаний, требующая системного подхода. Она идеально подходит для крупных проектов, где важно жестко контролировать соответствие программного кода исходным требованиям ТЗ.

---

3. Переход на 1С:EDT (Enterprise Development Tools)

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

Посмотрим, какие инструменты визуализации и анализа доступны в 1С:EDT:

  1. Схема связей и иерархия вызовов (Call Hierarchy): EDT позволяет в один клик построить сквозную схему вызовов для любого метода или процедуры. Вы сразу увидите, какие общие модули и функции задействованы в цепочке выполнения и на что повлияет изменение конкретной строки кода.
  2. Поиск перекрестных ссылок (Find References): Вы можете моментально найти все упоминания конкретного реквизита справочника или табличной части документа во всех модулях, запросах, макетах и формах конфигурации.
  3. Работа с графическими схемами данных: EDT наглядно визуализирует структуру связей метаданных, помогая быстро вникнуть в логику нетипового решения новому разработчику.

---

4. Подход «Архитектура как код» (Architecture as Code): PlantUML и Mermaid

Современным и крайне эффективным подходом к проектированию нетиповых конфигураций является описание архитектуры текстом с последующей автоматической визуализацией. Для этого используются инструменты PlantUML и Mermaid.

Почему этот подход вытесняет классическое рисование блок-схем в Visio?

Разберем пример описания связи между документами и справочниками с использованием синтаксиса PlantUML:


@startuml
title Схема взаимосвязи объектов контура Продажи

class Справочник.Контрагенты {
    + Код
    + Наименование
    + ИНН
}

class Справочник.Договоры {
    + Владелец: Справочник.Контрагенты
    + ВидДоговора
}

class Документ.ЗаказПокупателя {
    + Контрагент: Справочник.Контрагенты
    + Договор: Справочник.Договоры
    + СуммаДокумента
    --
    + ПроверитьЗаполнение()
    + РассчитатьСкидки()
}

Документ.ЗаказПокупателя --> Справочник.Контрагенты : "Выбор покупателя"
Документ.ЗаказПокупателя --> Справочник.Договоры : "Выбор договора по владельцу"
Справочник.Договоры *-- Справочник.Контрагенты : "Подчинен владельцу"
@enduml

Такой текстовый файл, сохраненный в репозитории проекта, автоматически преобразуется средой разработки (или плагином в Confluence/GitLab) в красивую и понятную ER-диаграмму связей сущностей.

---

5. Интеграция базы знаний и таск-трекеров (Confluence + Trello / Jira)

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

---

Резюме и рекомендации

Выбор конкретной среды для проектирования нетиповой конфигурации зависит от масштаба вашей системы и размера команды:

  1. Если вы разрабатываете небольшое решение в одиночку, достаточно грамотно использовать встроенный механизм Подсистем платформы 1С для структурирования метаданных и вести краткое описание логики сложных алгоритмов в Markdown-файлах прямо в репозитории проекта.
  2. Если над проектом работает команда из нескольких аналитиков и программистов, лучшим решением будет использование связки Confluence (для ведения архитектурных решений, в том числе с использованием схем PlantUML/Mermaid) и таск-трекера.
  3. Для крупных корпоративных проектов с высокими требованиями к качеству кода, документированию и последующему сопровождению идеальным выбором станет внедрение 1С:СППР в связке с современными инструментами разработки 1С:EDT и автоматизированным тестированием.
← На главную