Естьnull в запиті 1с 8
NULL - це не що інше, як відсутність значення. Багато хто плутає його із значенням «0» типу число, порожній посиланням на який-небудь об'єкт або ж з нового рядка. Через це помилки виникає багато помилок.
Значення NULL буде з'являтися в тому випадку, якщо в запиті буде звернення до неіснуючого полю, властивості або до битою посиланням.
Мова запитів в 1С заснований на SQL, який не дозволяє перевіряти на значення NULL звичайним рівністю. Нижче описані два способи перевірки на NULL в 1С 8.3.

Функція ЕСТЬNULL ()
Функція мови запитів 1С 8.3 ЕСТЬNULL () має два вхідних параметра:
- перевіряється вираз;
- вираз заміни.
Якщо перевіряється значення буде NULL, то ця функція поверне значення виразу заміни. Якщо ж значення буде відмінно від NULL, то повернеться саме перевіряється вираз.
Нижче розглянуто приклад. У ньому вибираються всі номенклатурні позиції табличній частини товару з документа «Надходження товарів і послуг». За допомогою лівої з'єднання кожної номенклатурі проставляється остання ціна з регістра відомостей «Ціни номенклатури».
В даному випадку може виникнути така ситуація, що для будь-якої позиції може просто не бути ціни в регістрі. У такому випадку функція ЕСТЬNULL поверне нам звичний нуль. Якщо їй не скористатися, то при спробі провести арифметичні операції над полем «Ціна» зі значенням NULL ми отримаємо помилку.
Є NULL в операторі ВИБІР
Аналогом функції ЕСТЬNULL () є «Є NULL», яка використовується в операторі ВИБІР і перевіряє, чи є значення NULL. «Є» в даному випадку мається на увазі рівність і запит попереднього прикладу буде виглядати наступним чином:
Відмінності функції ЕСТЬNULL () від ЕСТЬ NULL
Як ви могли побачити з попередніх прикладів, в обох випадках запит повертає одні й ті ж дані. Функція ЕСТЬNULL () є скороченим варіантом ВИБІР КОЛИ ... Є NULL ... КІНЕЦЬ, але вона все ж буде краще з наступних причин:
- Функція EСТЬNULL () оптимізує запит. Вона зчитується один раз, тому при перевірці складного вираження, запит відпрацює швидше.
- Функція EСТЬNULL () скорочує конструкцію, за рахунок чого запит стає більш Новомосковскбельним.
- При виконанні функції EСТЬNULL () вираз заміни приводиться до типу перевіряється виразу для типів строкових типів (до довжини рядка) і числових (до розрядності).