Навигация:  АДМИНИСТРИРОВАНИЕ МИС МЕДИАЛОГ > ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ СИСТЕМНЫХ ФОРМ >

Формулы контроля в формах редактирования

Предыдущая страницаВернуться в начало главыСледующая страница

fx

Редактор выражений контроля вызывается с помощью кнопки Формулы на панели инструментов окна. Откроется окно Редактор формул.

На вкладке Редактор (рис. 17.8) возможно создание следующих формул контроля:

·Общая формула контроля сохранения – выполняется при сохранении изменений в таблице базы данных, т.е. при нажатии кнопок Сохранить или Сохранить и закрыть;

·Общая формула контроля редактирования – выполняется при изменении статуса редактора: при добавлении новой записи, при открытии записи на редактирование.

Текущее значение статуса редактора можно получить с помощью функции EditorState(). Функция возвращает одно из значений:

·dsBrowse – просмотр записи;

·dsEdit – редактирование записи;

·dsInsert – добавление записи.

Для того, чтобы вывести предупреждение или запрет при выполнении какого-либо действия, используются функции MSGWARN() и MSGERROR():

Синтаксис функции

Описание функции

MSGWARN(<Строка>)

Выводит warning-сообщение. Обычно используется в контрольных выражениях в сочетании с IF:

IF(ISNULL({Таблица.Поле}), MSGWARN('Заполните поле!'), 0)

MSGERROR(<Строка>)

Выводит error-сообщение. Обычно используется в контрольных выражениях в сочетании с IF.

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

IF(ISNULL({Таблица.Поле}), MSGERROR('Заполните поле!'), 0)

 Рисунок 17.8. Формулы контроля на форме редактирования. Вкладка Редактор


Рисунок 17.8. Формулы контроля на форме редактирования. Вкладка Редактор

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

В списке слева выбирается поле, на которое назначается контроль.

844

С помощью кнопки Настройки можно управлять списком полей:

·Отображать имена полей – показать имена полей в таблице базы данных;

·Сортировать поля – отсортировать список полей по алфавиту;

·Только поля с формулами – показать в списке только поля, на которые уже назначены формулы.

Для каждого поля можно задать следующие формулы:

·Доступность поля – формула, возвращающая 0 (поле недоступно для редактирования) или 1 (поле доступно для редактирования);

·Значение поля при редактировании – значение, которое подставляется при редактировании данных в редакторе;

·Значение поля по умолчанию – значение, которое подставляется в поле при создании новой записи.

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

 Рисунок 17.9.  Формулы контроля на форме редактирования. Вкладка Cache


Рисунок 17.9.  Формулы контроля на форме редактирования. Вкладка Cache

Вид формулы и поле, на которое назначена формула, выделяются жирным шрифтом.

288

Для добавления и редактирования формулы служит кнопка Редактировать выражение, открывающая стандартный редактор формул.

В формулах контроля доступны активные и динамические фильтры, а также часть функций МЕДИАЛОГ:

·функции для работы со строками,

·функции для работы с числами,

·функции для работы с полями типа Дата,

·функции для контрольных выражений,

·функции IF(), ISNULL(), EXEC(), EDITORSTATE().

Обращение к текущему значению поля, сохраненному в кэше, производится в виде {Cache.Имя_поля}.

Подробнее о редакторе выражений и функциях см. Формулы, Перечень функций МИС МЕДИАЛОГ (EMR.pdf).