Работа со схемами данных

Схема данных, как и дерево объектов конфигурации, предназначена для того, чтобы представить вам все приложение. Однако для этого она использует другую модель визуализации, в которой структуры данных представляются в виде так называемой ER-диаграммы (Entity Relationship Diagram).

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

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

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

Современные прикладные решения содержат большое количество объектов конфигурации — 10 тысяч и более. При таком количестве объектов задача нахождения их взаимных связей с помощью имеющихся инструментов становится довольно трудоемкой. Причем трудоемкость растет не только за счет прямого увеличения времени поиска ссылок среди большого количества объектов. Она растет и косвенно — за счет того, что найденные связи вам нужно как-то запомнить и визуализировать. И если таких связей много, встает вопрос выбора подходящего внешнего инструмента.

Использование ER-модели (Entity-Relationship Model) как раз решает эту проблему. ER-модель представляет любую структуру данных в виде совокупности сущностей, обладающих атрибутами. Эти сущности взаимодействуют между собой при помощи связей.

В терминах «1С:Предприятия», сущность — это объект конфигурации, а атрибут это реквизит объекта конфигурации в широком смысле: реквизит, измерение, ресурс и т. д. Таким образом, ER-модель базы данных «1С:Предприятия» — это набор (никак не структурированный) объектов конфигурации (с их реквизитами), между которыми существуют некоторые связи. А схема данных — это инструмент, позволяющий визуализировать эту модель.

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

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

В отличие от дерева объектов схема данных ориентирована скорее на тех разработчиков, которые не знакомы с прикладным решением глубоко, но которым необходимо быстро разобраться в устройстве какой-то его части. Также схема данных удобна для документирования разрабатываемых механизмов (в том числе и самими разработчиками), поскольку в понятном виде показывает связи между объектами или группами объектов.

Перспектива «Схема данных»

Перспектива Схема данных — это рабочее пространство для создания и редактирования файлов схем данных.

Открыть перспективу «Схема данных»

Открыть перспективу Схема данных можно несколькими способами:

  • Из панели перспектив — нажмите (Открыть перспективу)Схема данных;
  • Из главного меню основного окна — нажмите Окно > Перспектива > > Открыть перспективу > > Другое... > Схема данных.

В стандартный состав перспективы Схема данных входят следующие элементы:

  1. Панель Навигатор. Эта панель показывает список приложений и их элементов, которые разрабатываются с помощью 1C:EDT: проекты конфигураций, проекты расширений конфигурации, а также проекты внешних отчетов и обработок.
  2. Область редакторов. В этой области автоматически открывается редактор схемы данных, показывающий файл новой схемы.
  3. Панели:
    • Схема. Эта панель показывает ту часть схемы данных, которая в данный момент отображается в окне редактора;
    • Структура проекта. Эта панель показывает структуру приложения в виде совокупности обычных файлов, а не в виде дерева объектов конфигурации.

Редактор схемы данных

Редактор схемы данных позволяет редактировать схемы данных.

Новое окно этого редактора открывается, когда вы открываете перспективу Схема данных.

Этот редактор содержится на закладке Схема данных редактора объекта конфигурации.

Этот редактор также открывается, когда вы дважды кликаете на файле схемы данных в панели Структура проекта.

Какие объекты конфигурации использует данный объект

Например, в конфигурации есть регистр Продажи. Вам нужно узнать, какие объекты конфигурации использует это регистр. То есть на какие объекты конфигурации ссылаются его реквизиты, измерения и ресурсы.

  1. Откройте редактор регистра Продажи;
  2. Перейдите на закладку Схема данных редактора. На ней вы увидите объекты, которые использует этот регистр.

На этой схеме данных видно, что регистр Продажи использует документ РасходТовара и справочники Товары и Контрагенты. Эти связи исходят из регистра. Кроме того, на схеме показаны и взаимные связи между самими используемыми объектами (между документом и справочниками).

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

Если вы хотите отредактировать и сохранить схему данных, воспользуйтесь сценарием Документирование.

Как устроен механизм или подсистема

Допустим, вам нужно разобраться с устройством незнакомого механизма или подсистемы. Например, нужно понять, как устроена подсистема ТоварныеЗапасы: какие объекты в ней задействованы и как они связаны друг с другом.

  1. Откройте редактор подсистемы ТоварныеЗапасы;
  2. Перейдите на закладку Схема данных редактора. На ней вы увидите объекты, которые использует эта подсистема.

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

Чтобы посмотреть, как устроена любая из этих подсистем, например подсистема Характеристики, дважды кликните на ней прямо в схеме, и вы увидите ее устройство.

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

Документирование механизма с помощью схемы данных

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

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

В таком случае можно создать отдельный файл схемы данных, который затем сохранить в своем проекте. Это можно сделать двумя способами.

Чтобы увидеть файл схемы данных, перейдите в панель Структура проекта.

Разработка приложения

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

Нажмите Открыть объект в контекстном меню объекта схемы и вы откроете редактор объекта конфигурации, где можете изменить свойства объекта.

Просмотр схемы

Посмотреть реквизиты объекта

Чтобы лучше видеть, в каких реквизитах объекта задействованы связи, дважды кликните на строке Реквизиты и она раскроется. Аналогичным образом можно раскрывать другие реквизиты (табличные части, измерения, ресурсы), а также сворачивать раскрытые группы обратно.

Если имена реквизитов не помещаются в отображаемую область, можно раздвинуть объект, потянув мышью за его правую или левую границу.

Выделить исходящие связи объекта

У объекта может быть много связей. Чтобы легче ориентироваться в них, можно кликнуть на заголовок исследуемого объекта, и тогда исходящие из него связи будут подсвечены. Также будут подсвечены и реквизиты объекта, задействованные в этих связях.

Выделить одну связь

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

Переходы по вложенным схемам

Подсистемы являются группами объектов. Содержащиеся в них объекты имеют связи с объектами, которые находятся «снаружи». Если вы дважды кликнете на подсистеме, то увидите новую схему, которая показывает устройство выбранной подсистемы.

Схема данных поддерживает переходы вперед/назад по аналогии с браузерами. Поэтому, разобравшись с устройством этой подчиненной подсистемы, можно просто нажать Назад к верхней группе в командной панели основного окна и вернуться к предыдущей схеме.

Чтобы снова открыть схему подчиненного объекта, нажмите Вперед к внутренней группе в командной панели основного окна.

Просмотр больших схем

Схемы данных могут быть довольно большими. Для навигации по ним приходится прокручивать экран по вертикали и горизонтали. Чтобы не «заблудиться» в больших схемах, можно использовать панель Схема.

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

Редактирование схемы

Добавить новый объект в схему

Чтобы добавить в схему новый объект, просто перетащите его из панели Навигатор в схему.

Добавить все связанные объекты

Допустим, в схеме есть справочник Пользователи. Вы хотите добавить в схему все объекты, которые используют этот справочник.

Для этого нажмите Добавить указывающие на данную сущность в контекстном меню на заголовке объекта.

Добавить объекты, связанные с реквизитом

Если вы хотите добавить в диаграмму те объекты, которые связаны с некоторым реквизитом, нажмите Добавить на схему данных в контекстном меню этого реквизита.

Если реквизит составного типа, будут добавлены все объекты, входящие в его тип.

Выравнять относительно соседних объектов

Передвигая объекты, можно выравнивать их относительно соседних объектов при помощи направляющих. Направляющие показываются автоматически.

Расположить элементы на схеме автоматически

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

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

Переместить линию связи

Можно двигать линии связей, перетаскивая их мышью.

Возможная проблема: При наведении мыши на линию связи курсор не меняется. Поэтому не ждите, а сразу тащите линию.
Изогнуть линию

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

Чтобы изогнуть линию, выполните следующие действия:

  1. Нажмите Добавить точку изгиба в контекстном меню линии. На линии появятся точки изгиба.
  2. Перетащите точки изгиба по своему желанию.

Чтобы выпрямить линию, выполните следующие действия:

  1. Выделите линию, кликнув на ней. На линии появятся точки изгиба.
  2. Нажмите Удалить точку изгиба в контекстном меню ненужной точки.
Построить связи автоматически

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

Объединить в группу

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

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

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

В результате схема примет более простой вид, из которого будет понятно, что справочник Регионы используется только справочником Контрагенты. Но кроме этого, как и подавляющее большинство объектов этого приложения, он задействован в механизме характеристик. Подробности этого механизма в данном случае неважны.

Для группы можно задать собственное название, которое хорошо отражает ее смысл. Чтобы сделать это, нажмите Переименовать в контекстном меню на группе.

Добавить, удалить или скрыть комментарий

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

Чтобы добавить комментарий, нажмите Комментарий > Редактировать в контекстном меню на заголовке объекта.

Чтобы удалить комментарий:

  1. Нажмите Комментарий > Редактировать в контекстном меню на заголовке объекта;
  2. Удалите текст комментария;
  3. Нажмите ОК.

Можно скрывать и показывать комментарии, нажимая Комментарий > Скрыть и Комментарий > Показать там же.

Совет: Когда комментарий скрыт, значок в заголовке объекта говорит вам о том, что к этому объекту есть комментарий.
Настроить цвета

Если вам не нравится стандартное цветовое оформление, которое использует схема данных, можно изменить его.

В панели Навигатор нажмите Свойства > V8 > Схема данных > Цвета в контекстном меню проекта.

Здесь можно выбрать одну из предопределенных тем для оформления схем данных или задать собственные цветовые настройки.

В соседней группе Стили линий параметров можно изменить стиль линий схемы данных.

Обновить схему

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

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

Сохранить схему

Измененную схему можно сохранить в произвольный каталог. Для этого нажмите Файл > Сохранить.

Копировать схему

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

  1. Перейдите в панель Структура проекта;
  2. Нажмите Копировать в контекстном меню на файле схемы. Схема будет скопирована в буфер обмена;
  3. Откройте в проводнике папку назначения и вставьте в нее файл схемы из буфера обмена.

Панель «Схема» и редактор схемы данных

При совместной работе с редактором схемы данных панель Схема показывает ту часть схемы, которая в данный момент отображается в окне редактора.

Она облегчает работу с большими схемами данных, которые не помещаются на один экран редактора. Перемещая область выделения в панели вы выбираете ту часть схемы, которая отображается в редакторе.

Эта панель входит в стандартный состав перспективы Схема данных.

Открыть панель «Схема»
Нажмите Окно > Показать панель > > Другое… > Общие > Схема.