Схема данных, как и дерево объектов конфигурации, предназначена для того, чтобы представить вам все приложение. Однако для этого она использует другую модель визуализации, в которой структуры данных представляются в виде так называемой ER-диаграммы (Entity Relationship Diagram).
Необходимость использования этой модели данных прямо связана с ростом платформы и значительным усложнением приложений. Если вы посмотрите на любую базу данных «1С:Предприятия» то увидите, что она основана на реляционной модели. Грубо говоря, она состоит из таблиц, которые связаны между собой различными способами. Таблицы имеют поля, из этих полей формируются ключи, которые позволяют связывать таблицы друг с другом.
Такая модель удобна для компьютерной обработки, но неудобна для визуального представления. Особенно неудобна она в случае приложений системы «1С:Предприятие», где большинство таблиц имеют не абстрактное, а совершенно конкретное прикладное значение.
Поэтому исторически в конфигураторе «1С:Предприятия» используется другая концептуальная модель, представляющая базу данных в виде дерева объектов конфигурации. Объекты конфигурации скрывают за собой реляционную модель, они сгруппированы по принадлежности к тому или иному классу прикладных задач. Такое представление удобно для быстрого нахождения нужных объектов, изменения их свойств и т. д. Однако это представление не дает простого и наглядного понятия о взаимной связи разных объектов между собой.
Современные прикладные решения содержат большое количество объектов конфигурации — 10 тысяч и более. При таком количестве объектов задача нахождения их взаимных связей с помощью имеющихся инструментов становится довольно трудоемкой. Причем трудоемкость растет не только за счет прямого увеличения времени поиска ссылок среди большого количества объектов. Она растет и косвенно — за счет того, что найденные связи вам нужно как-то запомнить и визуализировать. И если таких связей много, встает вопрос выбора подходящего внешнего инструмента.
Использование ER-модели (Entity-Relationship Model) как раз решает эту проблему. ER-модель представляет любую структуру данных в виде совокупности сущностей, обладающих атрибутами. Эти сущности взаимодействуют между собой при помощи связей.
В терминах «1С:Предприятия», сущность — это объект конфигурации, а атрибут это реквизит объекта конфигурации в широком смысле: реквизит, измерение, ресурс и т. д. Таким образом, ER-модель базы данных «1С:Предприятия» — это набор (никак не структурированный) объектов конфигурации (с их реквизитами), между которыми существуют некоторые связи. А схема данных — это инструмент, позволяющий визуализировать эту модель.
Важно понимать, что схема данных — не что-то опциональное, дополнительное. Это самостоятельный инструмент моделирования предметной области, обладающий своими преимуществами и особенностями. Это не аналог и не замена дерева объектов конфигурации. Это еще один инструмент разработки, но он, можно сказать, имеет свою собственную аудиторию.
Дерево объектов конфигурации в большей степени удобно для разработчиков, глубоко погруженных в приложение или знакомых с его генезисом. Оно позволяет быстро модифицировать приложение, при этом большую часть информации о взаимной связи объектов разработчик прекрасно знает и обычно просто держит в голове.
В отличие от дерева объектов схема данных ориентирована скорее на тех разработчиков, которые не знакомы с прикладным решением глубоко, но которым необходимо быстро разобраться в устройстве какой-то его части. Также схема данных удобна для документирования разрабатываемых механизмов (в том числе и самими разработчиками), поскольку в понятном виде показывает связи между объектами или группами объектов.
Перспектива Схема данных — это рабочее пространство для создания и редактирования файлов схем данных.
Открыть перспективу Схема данных можно несколькими способами:
В стандартный состав перспективы Схема данных входят следующие элементы:
Редактор схемы данных позволяет редактировать схемы данных.
Новое окно этого редактора открывается, когда вы открываете перспективу Схема данных.
Этот редактор содержится на закладке Схема данных редактора объекта конфигурации.
Этот редактор также открывается, когда вы дважды кликаете на файле схемы данных в панели Структура проекта.
Например, в конфигурации есть регистр Продажи. Вам нужно узнать, какие объекты конфигурации использует это регистр. То есть на какие объекты конфигурации ссылаются его реквизиты, измерения и ресурсы.
На этой схеме данных видно, что регистр Продажи использует документ РасходТовара и справочники Товары и Контрагенты. Эти связи исходят из регистра. Кроме того, на схеме показаны и взаимные связи между самими используемыми объектами (между документом и справочниками).
Такую схему данных, которая открывается на закладке редактора объекта конфигурации, можно изменять и модифицировать: раскрывать группы реквизитов, перетаскивать объекты, располагая их более удобным образом, и т. д. Но нужно учитывать, что эти изменения не сохраняются в конфигурации. Ту схему, которую вы видите, можно сохранить как картинку или напечатать (всю схему или только ее часть). Но в следующий раз, когда вы откроете редактор объекта конфигурации и перейдете на закладку Схема данных, схема будет нарисована заново в стандартном виде.
Если вы хотите отредактировать и сохранить схему данных, воспользуйтесь сценарием Документирование.
Допустим, вам нужно разобраться с устройством незнакомого механизма или подсистемы. Например, нужно понять, как устроена подсистема ТоварныеЗапасы: какие объекты в ней задействованы и как они связаны друг с другом.
Кроме объектов конфигурации на этой схеме вы увидите и подчиненные подсистемы. Подсистемы являются группами объектов. Содержащиеся в них объекты имеют связи с объектами, которые находятся «снаружи».
Чтобы посмотреть, как устроена любая из этих подсистем, например подсистема Характеристики, дважды кликните на ней прямо в схеме, и вы увидите ее устройство.
Чтобы вернуться к предыдущей схеме, нажмите Назад к верхней группе в командной панели основного окна.
Допустим, вам нужно документировать некоторый механизм конфигурации. Например, по мере того как вы его разрабатываете или, наоборот, когда он уже разработан кем-то другим и полностью готов.
Отличие этого сценария заключается в том, что работа со схемой данных выполняется в течение длительного времени. А это значит, что схема должна быть сохранена в том виде, в котором вы ее оставили, чтобы в следующий раз вы могли продолжить работу с ней с этого же места.
В таком случае можно создать отдельный файл схемы данных, который затем сохранить в своем проекте. Это можно сделать двумя способами.
Чтобы увидеть файл схемы данных, перейдите в панель Структура проекта.
Можно использовать схему данных в процессе разработки прикладного решения.
Нажмите Открыть объект в контекстном меню объекта схемы и вы откроете редактор объекта конфигурации, где можете изменить свойства объекта.
Чтобы лучше видеть, в каких реквизитах объекта задействованы связи, дважды кликните на строке Реквизиты и она раскроется. Аналогичным образом можно раскрывать другие реквизиты (табличные части, измерения, ресурсы), а также сворачивать раскрытые группы обратно.
Если имена реквизитов не помещаются в отображаемую область, можно раздвинуть объект, потянув мышью за его правую или левую границу.
У объекта может быть много связей. Чтобы легче ориентироваться в них, можно кликнуть на заголовок исследуемого объекта, и тогда исходящие из него связи будут подсвечены. Также будут подсвечены и реквизиты объекта, задействованные в этих связях.
Если вас интересует только одна связь, можно кликнуть на нее, и тогда будут подсвечены она и реквизит, связанный с ней.
Подсистемы являются группами объектов. Содержащиеся в них объекты имеют связи с объектами, которые находятся «снаружи». Если вы дважды кликнете на подсистеме, то увидите новую схему, которая показывает устройство выбранной подсистемы.
Схема данных поддерживает переходы вперед/назад по аналогии с браузерами. Поэтому, разобравшись с устройством этой подчиненной подсистемы, можно просто нажать Назад к верхней группе в командной панели основного окна и вернуться к предыдущей схеме.
Чтобы снова открыть схему подчиненного объекта, нажмите Вперед к внутренней группе в командной панели основного окна.
Схемы данных могут быть довольно большими. Для навигации по ним приходится прокручивать экран по вертикали и горизонтали. Чтобы не «заблудиться» в больших схемах, можно использовать панель Схема.
В ней отмечается та часть схемы, которая в данный момент показывается на экране. Передвигаться по схеме можно не только прокручивая экран, но и перемещая мышью область выделения в панели Схема.
Чтобы добавить в схему новый объект, просто перетащите его из панели Навигатор в схему.
Допустим, в схеме есть справочник Пользователи. Вы хотите добавить в схему все объекты, которые используют этот справочник.
Для этого нажмите Добавить указывающие на данную сущность в контекстном меню на заголовке объекта.
Если вы хотите добавить в диаграмму те объекты, которые связаны с некоторым реквизитом, нажмите Добавить на схему данных в контекстном меню этого реквизита.
Если реквизит составного типа, будут добавлены все объекты, входящие в его тип.
Передвигая объекты, можно выравнивать их относительно соседних объектов при помощи направляющих. Направляющие показываются автоматически.
В результате редактирования схема может принять не очень красивый вид.
Можно двигать линии связей, перетаскивая их мышью.
Линии связей можно изгибать, добавляя в них точки изгиба, или, наоборот, выпрямлять, удаляя эти точки.
Чтобы изогнуть линию, выполните следующие действия:
Чтобы выпрямить линию, выполните следующие действия:
Если у вас не получается хорошо расставить связи вручную, можно нажать (Автоматическое построение связей) в командной панели основного окна. Эта команда, не изменяя размеры и положение объектов, построит связи заново.
Бывают ситуации, когда часть объектов, представленных в схеме данных, объединена некоторой собственной общей задачей, а подробности их внутреннего взаимодействия друг с другом не важны. Например, вы вывели в схему объекты, которые используют справочник Регионы.
Кроме справочника Контрагенты его используют также план видов характеристик и регистр сведений. Но эти объекты не являются какими-то самостоятельными сущностями, взаимодействие которых между собой интересно в этой схеме. Они являются частью механизма характеристик, реализованного в приложении. Поэтому можно объединить их в группу:
В результате схема примет более простой вид, из которого будет понятно, что справочник Регионы используется только справочником Контрагенты. Но кроме этого, как и подавляющее большинство объектов этого приложения, он задействован в механизме характеристик. Подробности этого механизма в данном случае неважны.
Для группы можно задать собственное название, которое хорошо отражает ее смысл. Чтобы сделать это, нажмите Переименовать в контекстном меню на группе.
Можно добавлять комментарии к объектам схемы. Например, чтобы делать поясняющие надписи или чтобы оставлять для себя заметки по дальнейшей модификации схемы данных.
Чтобы добавить комментарий, нажмите
в контекстном меню на заголовке объекта.Чтобы удалить комментарий:
Можно скрывать и показывать комментарии, нажимая
и там же.Если вам не нравится стандартное цветовое оформление, которое использует схема данных, можно изменить его.
В панели Навигатор нажмите в контекстном меню проекта.
Здесь можно выбрать одну из предопределенных тем для оформления схем данных или задать собственные цветовые настройки.
В соседней группе Стили линий параметров можно изменить стиль линий схемы данных.
Если вы редактируете схему данных проекта, который находится в стадии разработки, появляется задача поддержания ее актуальности и соответствия последним изменениям проекта.
Если объекты, участвующие в схеме, были модифицированы, откройте схему и нажмите (Обновить вкладку) в командной панели основного окна. Схема будет перерисована в соответствии с актуальным состоянием конфигурации.
Схему, которая не содержит изменений, можно скопировать в другой каталог. Для этого выполните следующие действия:
При совместной работе с редактором схемы данных панель Схема показывает ту часть схемы, которая в данный момент отображается в окне редактора.
Она облегчает работу с большими схемами данных, которые не помещаются на один экран редактора. Перемещая область выделения в панели вы выбираете ту часть схемы, которая отображается в редакторе.
Эта панель входит в стандартный состав перспективы Схема данных.