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

Термины системы
Все термины (таблицы), используемые системой, создаются здесь (см. поле Новый термин и кнопку Создать на рисунке). Вы задаете название термина и указываете для него базовый тип данных:
| Базовый тип | Описание |
|---|---|
| SHORT | Короткая строка (до 127 символов) |
| CHARS | Строка неограниченной длины |
| MEMO | Текст (отличается от CHARS только полем ввода — оно многострочное) |
| DATE | Дата |
| DATETIME | Дата и время |
| HTML | HTML-текст (теги HTML не экранируются при выводе этого термина в отчетах) |
| FILE | Файл |
| NUMBER | Целое число |
| SIGNED | Число с десятичной частью |
| BUTTON | Действие (кнопка) над экземпляром термина |
| BOOLEAN | Логическое значение (Да / Нет) |
| PWD | Пароль, маскируется при выводе на экран набором «******» |
| GRANT | Объект системы — выбор из всех зарегистрированных структуры и реквизитов |
| REPORT_COLUMN | Колонка запроса — выбор из всех зарегистрированных структуры и реквизитов |
| PATH | Путь к файлу в системе |
Базовый тип
Базовый тип сообщает системе, как выводить и обрабатывать соответствующие значения. Для добавления нового термина в Интеграм необходимо задать его имя, выбрать базовый тип и нажать «Создать». Для примера создадим термин «Клиент»:

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

Добавление новых объектов происходит при помощи значка «+», который открывает форму ввода значения объекта.

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

После добавления объект сразу же отображается в списке. В данном случае это таблица Клиент, состоящая из единственной колонки с именами клиентов.

Аналогичным образом в меню “Структура” создаются все остальные термины (типы), например: Счет, Договор, Сделка. После этого можно подчинять одни термины другим, создавая сущности произвольного состава: выбираем тип «Клиент» из списка, кликнув его имя.

Добавим ему свойство «Телефон», которое уже есть в Интеграме и нам нужно просто выбрать его из выпадающего списка и нажать кнопку «Добавить свойство».

Как только мы добавляем свойства здесь, они также становятся видны в соответствующей таблице.

Теперь добавим клиенту новый, неизвестный Интеграму реквизит «Встречи». Для этого в меню Структура в выпадающем списке реквизитов выберем «добавить новое». После этого вводим название нового свойства и указываем к какому базовому типу он относится. Встречи мы будем назначать на какое-то время, поэтому базовый тип выберем DATETIME (дата и время):

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

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

Справочник категорий
Справочник категорий — точно такая же таблица, как и таблица клиентов, и мы можем добавить в неё записи о категориях, используя кнопку (+):

Теперь, нажав левую колонку в таблице клиентов, чтобы отредактировать запись о клиенте, мы сможем выбрать его категорию из справочника:

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

В списке структуры появится новый термин со значком справочника: «Клиент». Мы можем использовать этот термин как ссылочное свойство — ссылку на запись в справочнике клиентов.

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

В результате этих действий мы получили 3 связанные таблицы: У каждого договора есть ссылка на клиента в таблице клиентов, а каждому клиенту назначена категория из справочника (таблицы) категорий.

А теперь вернемся к свойству Встреча у клиента. Мы можем создавать множество встреч с клиентом, и Интеграм нам предлагает возможность создать таблицу встреч, которая будет относиться к определенному клиенту.
Такой подход в некоторых случаях может значительно упростить навигацию в системе. Кликнем свойство Встреча и добавим ему пару свойств: Примечание и ссылку на Статус.

Вы видите, как усложнилась наша схема данных. Уже на этом уровне сложности мы не сможем ориентироваться в структуре таблиц и связей, глядя на неё в режиме таблиц Excel, Google sheets или Airtable. В то время как Интеграм позволяет нам видеть и понимать её всю разом.

Общие приемы использования
Итак, на схеме выше вы видите все три типа полей, применяемых в таблицах Интеграма. Их достаточно легко отличить друг от друга:
- Простое свойство (Телефон, Примечание)
- Ссылка на запись в таблице (ссылки на Клиент, Категория, Статус)
- Подчиненная таблица (Встреча)
Ссылок на запись в таблице-справочнике может быть несколько, например, если нужно указать автора и исполнителя задачи, оба из которых — записи в таблице пользователей. В этом случае свойству следует задать псевдоним, а в скобках будет указано настоящее имя таблицы-справочника.

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

Свойства объекта (поля таблицы) можно добавлять, удалять (знак «Х» напротив реквизита) и изменять их порядок (нажатие на знак «^» перемещает реквизит на одну позицию выше). Для того, чтобы сместить какую-либо строчку вниз необходимо поднять все строчки, стоящие ниже, вверх.

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

Последовательность реквизитов в Редакторе структуры определяет их последовательность и в таблицах системы:
