Null в выражениях

Вы могли заметить, что поля на форме могут быть пустыми. Такие поля содержат специальное значение NULL, что означает «пусто» или «неизвестно». Любая арифметическая операция с таким значением в результате будет равна NULL.

// Вычисляем сумму. Цена = 100, Количество = NULL. Результат будет NULL.
[цена] * [количество]

// Фамилия = Иванов, Имя = Иван, Отчество = NULL. Результат будет NULL.
[Фамилия] + ' ' + [Имя] + ' ' + [Отчество]

Используйте функцию Null в операциях сравнения, когда вам необходимо проверить является ли поле пустым или заполненным.

// Проверка поля на заполнение.
iif([поле]<>Null, 'Поле заполнено', 'Поле пустое')

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

iif([текстовое поле]<>'', 'Поле заполнено', 'Поле пустое')

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

Используйте функцию NZ для замены пустого значения, на что-то определенное, например:

nz([цена], 0) * nz([количество], 0)

Даже если поля «цена» и «количество» будут пустыми, в выражении они будут считаться за 0.

Учитывая большое количество вычислений в числовых полях и то, что пустые числовые поля приводят к ошибкам в вычислениях, в компонент Число было добавлено свойство свойство Null в 0, которое при редактировании подставляет 0 в пустое поле.