Урок 1 — Что нового в девятом прототипе

Дизайн

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

Права доступа к интерфейсу

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

Кроме того здесь можно указать какие пункты меню доступны в отчетах и настройках.

Обязательные к заполнению поля

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

У галочек три состояния

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

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

Новый тип данных «Дата и время»

Настройка порядка, ширины и сортировки столбцов по умолчанию

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

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

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

Альтернативная подпись столбцов таблицы

Иногда названия столбцов могут получиться очень длинными и плохо читаемыми. Для этих случаев можно вместо Куратор > Фамилия указать просто Куратор.

Настройка порядка вкладок

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

Расширены возможности суммирующих полей

Возможности суммирующий полей значительно расширены.

Раньше вы создавали суммирующее поле в родительском объекте, а дочернем указывали поле, которое будет суммироваться. Такой подход не позволял суммировать несколько полей в одно. Или вычитать. Или считать количество записей.

Теперь все это возможно. Введено понятие триггер. Это такой механизм на сервере, который срабатывает при добавлении/изменении/удалении записи в таблице. Этот механизм и раньше был, но теперь назрела необходимость явно указать об этом.

Немного терминологии.

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

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

Чтобы создать суммирующее поле — нужно создать триггер. Чтобы создать триггер, нужно открыть карточку поля, которое будет источником или приемником.

В данном случае мы открыли карточку поля К оплате из объекта Продукт сделки.

На этой карточке вы видите поля Источник и Приемник. Эти поля показывают сколько раз поле К оплате участвовало как приемник и как источник. Нажав кнопку в одном из этих полей — вы увидите список триггеров участвующих в этом. Пока их нет. Создадим такой триггер. Предварительно для объекта Сделка было добавлено поле К оплате с типом Число 18,2.

  1. Нажмите на кнопку в поле Источник, появитя список триггеров.
  2. Нажмите Добавить, появится карточка триггера.
  3. Заполните карточку триггера как показано на рисунке ниже и нажмите ОК.

Флажок Пересчитать поле-приемник заставит программу пересчитать приемник, если в источнике есть данные.

Подсчет длин полей

Каждое поле в объекте занимает какое-то место в базе данных (особенно текстовое). Это место ограничено для каждого объекта и составляет примерно 16 тысяч условных единиц. Для лучшего контроля этой ситуации в таблице полей для каждого поля указано сколько оно занимает места в базе. В таблице объектов тоже есть такое поле — оно показывает сумму полей объекта.

Правило удаления

Связь связывает родительский и дочерний объекты. Кроме того она отвечает за то, что будет с записями дочернего объекта при удалении записи в родительском объекте. Чаще всего бывает два варианта:

  1. Запрещается удалять запись из родительского объекта, если есть соответсвующие записи в дочернем объекте. Например, нельзя удалить продукт из справочника при наличии связанных с ним продаж. Такое правило удаления называется Запрещать. Это правило используется при добавлении в объект поля-ссылки на справочник.
  2. При удалении записи из родительского объекта удаляются соответсвующие записи и из дочернего объекта. Например, при удалении счета нужно удалить все его позиции. Такое правило называется Удалять. Это правило используется при добавлении дочерней связи.

Правило показано в таблице связей.

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

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