Раздел: CronosPRO | Дата редакции: 09.07.2013 | id статьи: 1431 |
Использование формул структуры
Для чего нужны?
Основное (но не единственно возможное) назначение формул структуры — автоматическое вычисление значений
каких-либо полей базы данных (например, на основании значений других полей). Эти формулы могут вычисляться
в различных режимах:

Рис. 1. Пример работы формулы структуры
Как создать?
Для проектирования формул структуры необходимо зайти в основное меню Проектирование → Структуры банка данных.
В открывшемся окне необходимо выбрать нужную базу и нажать кнопку «Свойства». Далее выбираем самую правую вкладку — «Формулы» (рис. 2).

Рис. 2. Вкладка «Формулы» в окне свойств выбранной базы
Для добавления новой формулы нажмите кнопку «Добавить». Откроется редактор формул «CronosPRO», в котором можно приступить к написанию кода новой формулы структуры.
Обратите внимание
- Формулы структуры работают с конкретной записью базы данных (которая изменяется, сохраняется, передаётся через таблицы обмена), поэтому мы можем обращаться к полям текущей записи как к локальным переменным или динамическим массивам.
Когда запускается формула структуры?
У любой формулы структуры, есть набор свойств, определяемых в соответствующем окне (рис. 3). Данное окно доступно только для формул структуры.

Рис. 3. Окно свойств формулы структуры
Вы можете задать следующие свойства формулы структуры:
- «Имя» (обязательно для заполнения) — название формулы (желательно, чтобы оно отражало назначение формулы);
- «Отключена», «Обязательная» и группа «Не вычислять при» указывают, в каких ситуациях должна выполняться формула структуры. Рассмотрим вопрос использования таких флажков более подробно.
Статус «Отключена», доступен с версии 6
Если в свойствах формулы структуры установлен флажок «Отключена», то формула структуры не будет запускаться ни при каких обстоятельствах.
Статус «Обязательная»
По умолчанию формула пересчитывается для некоторой записи только в тех случаях, когда изменяются значения одного или нескольких полей (данной записи или связанных записей), участвующих в формуле справа от знака присвоения.
Если в свойствах формулы структуры установлен флажок «Обязательная», то изменения значений любых полей записи (в том числе и не участвующих в формуле) приводят к пересчёту формулы для этой записи.
Обратите внимание
- Изменение значений полей, не участвующих в формуле, не приводит к пересчёту формулы в связанных записях. Таким образом, флажок «Обязательная формула» действует только для той базы, в которой описана формула.
Группа «Не вычислять при»
Причины, по которым значение некоторого поля может измениться, а формула подвергнуться пересчёту, можно разделить
на две группы:
- коррекция (ручная, массовая и пр.);
- слияние (идентификация, в результате ввода, обмена).
Флажки группы «Не вычислять при»: «Загрузке новых», «Слиянии», «Коррекции», как следует из их названий,
соответствуют трём видам действий, вызывающим пересчёт формул. Следовательно, если Вы устанавливаете для формулы
один или несколько таких флажков, то при возникновении соответствующей ситуации формула пересчитываться не будет.
Последовательность запуска формул структуры
В различных режимах запуск формул структуры происходит в разные моменты времени. Эту особенность следует учитывать
при создании алгоритмов автоматизации обработки информации.
Обмен данными между банками | Создание новой записи | Массовая коррекция |
|
|
|
Обратите внимание
- Если в результате выполнения формулы структуры было изменено значение одного из полей, входящих в любой идентифицирующий набор, то последовательность действий повторяется начиная с пункта «идентификация».
- Повторное построение индексов запускается только в случае изменения проиндексированных полей.