Структура проекта

После создания или открытия проекта в главном меню становится доступным управление структурой данных проекта. В форме конструктора производится управление объектами проекта* и формами**, построенными на базе объектов:

* Объект — законченный элемент, который позволяет работать с данными, не заботясь об их представлении в интерфейсе.

Создание таблицы в базе данных

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

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

Кроме объектов и форм в структуре может генерироваться системный объект равнозначной связи.

Через меню конструктора также осуществляется управление следующими элементами проекта:

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

Объекты проекта

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

Свойства объекта:

  • Префикс и имя, вместе составляющие полное наименование.
    Префикс не отображается в левом меню, его максимальная длина составляет не более 10 символов.


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

  • Тип отображения данных в детализации: стандартное или с прокруткой (скроллингом).
    При стандартном отображении окно/программа раздвигается до размера, вмещающего в себя всю информацию. При отображении с прокруткой размеры детализации со вкладками, окна управления записью и всей программы определяет пользователь. В случае превышения области с данными над видимой областью, в ней добавляются полосы прокрутки данных.

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

  • Условие доступа к объекту через левое меню проекта: показать в меню или скрыть.
    Если объект скрыт в меню, он может быть открыт из другого объекта/формы по ссылке в детализации или через контекстное меню в списке записей.

  • Выбор двух полей, по которым производится сортировка записей.
    После выбора первого поля указывается порядок сортировки по нему (по возрастанию или по убыванию), а также активируется возможность выбора второго поля с его порядком сортировки.

  • Список имён вкладок детализации.
    Чтобы заменить стандартную нумерацию вкладок детализации, необходимо перечислить через запятую названия для каждой вкладки, начиная с первой (по умолчанию имя первой вкладки — «Детализация»). Вкладки, для которых не заданы имена, сохраняют свой последовательный номер.

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

Справа от списка полей задаются свойства выбранного поля. Для каждого типа поля задаются свои свойства, определяющие его поведение и отображение при работе с данными (подробнее о типах полей см. в разделе Типы полей).

На вкладке Исходные записи определяется список записей, которые добавляются в объект, заданный в качестве дочернего на форме связи. Добавление производится при создании новой записи в родительском объекте (подробнее об исходных записях для дочернего списка см. в разделе Форма связи).


Форма связи позволяет задать связи между объектами: подчинённые (один ко многим) или равнозначные (много ко многим). При создании подчинённой связи в дочернем объекте добавляется системная ссылка связи на родительский объект, а при создании равнозначной связи генерируется системный объект связи (подробнее см. ниже).

Дополнительные возможности формы связи:

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

Подробнее о форме см. в разделе Форма связи.


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

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

  • строковое: значения поля располагаются друг под другом по вертикали;
  • переключатель в виде иконок: иконки размещаются на одной строке;
  • числовое: значения сгруппированных полей суммируются.

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


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

Подробнее о форме см. в разделе Форма итогов.


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

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

После задания основных свойств формы, на вкладке "Объекты" формируется список объектов, из которых производится выборка данных. Для каждого объекта указываются поля, соответствующие полям списка формы.

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

Подробнее на форуме: Форма баланса.


HTML-форма отображает текст в формате HTML с использованием стандартных тэгов. Следующие тэги имеют дополнительный функционал:

  • <a href="Имя объекта/формы">...</ a>: открывает указанный элемент структуры проекта;
  • <img src="Рисунок из ресурсов"/>: рисунок из ресурсов проекта (указать расширение .png или .jpg).

Данную форму можно использовать для формирования страниц со справочной информацией, пользовательской документацией, описанием функциональности текущего проекта и другого.


Форма SMS рассылки позволяет производить массовую рассылку CMC-сообщений посредством агрегаторов. Для каждого созданного сообщения определяется список получателей. Сообщение может представлять из себя фиксированный текст или шаблон, который заполняется данными из других полей записи сообщения и данных каждого получателя.

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

Подробнее о форме см. в разделе Форма СМС рассылки.


Системный объект равнозначной связи

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

Подробнее о равнозначной связи см. в разделе Форма связи.


Строковые константы

Строковые константы используются для подстановки заданных именованных строк в составных полях и в шаблонах документов всех объектов/форм текущего проекта.

Синтаксис задания константы для подстановки её значения:

[Имя константы]
При совпадении имени константы с именем поля объекта, приоритетным является имя поля. Для предотвращения конфликта имён рекомендуется к имени констант добавлять знак подчеркивания.

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

При добавлении изображений в проект они помещаются в папку проекта \_resource. Размер файла не должен превышать 64Kb. Рекомендуется использовать файлы с расширением .png, .jpg и .jpeg.

Изображения проекта используются:

  • для полей переключателя, при условии стиля «рисунки»;
  • в функции шаблонов [Image(…)];
  • для замены стандартных иконок объектов/форм/групп в левом меню проекта.

Подстановка изображений в полях переключателя имя рисунка должно совпадать со значением поля. Для замены в объекте/форме/группе имя должно совпадать с именем иконки без учёта префикса. Расширения файлов иконок не учитываются.


Встроенные объекты

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

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


Встроенные иконки
  • Страны
    Содержит список стран с телефонными кодами, языки которых поддерживаются в конструкторе. При добавлении предлагается выбрать имя объекта, в который будут помещаться записи (по умолчанию — «Страны»). Если объект уже существует, то, при соответствии структуры, записи будут добавлены в объект. Кроме добавления записей в объект, в изображения проекта добавляются иконки указанных стран, которые используются для переключателя «Флаг».


Страны и телефонные коды
  • СМС шлюзы
    Содержит список СМС агрегаторов, которые поддерживаются конструктором. При добавлении предлагается выбрать имя объекта, в который будут помещаться записи (по умолчанию — «SMS шлюзы»). Если объект уже существует, то, при соответствии структуры, записи будут добавлены в объект.
    Для каждого агрегатора в правой части перечисляются обрабатываемые программой параметры.


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

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