diff --git a/client/components/Search/SelectExtSearchDialog/SelectExtSearchDialog.vue b/client/components/Search/SelectExtSearchDialog/SelectExtSearchDialog.vue
index be370d4..026796b 100644
--- a/client/components/Search/SelectExtSearchDialog/SelectExtSearchDialog.vue
+++ b/client/components/Search/SelectExtSearchDialog/SelectExtSearchDialog.vue
@@ -160,6 +160,9 @@ class SelectExtSearchDialog {
префикс "#": поиск подстроки в строке, но только среди начинающихся не с латинского или кириллического символа
+
+ префикс "?": поиск пустых значений или тех, что начинаются с этого символа
+
Для числовых значений (N):
diff --git a/server/core/DbSearcher.js b/server/core/DbSearcher.js
index 143256e..49c7b48 100644
--- a/server/core/DbSearcher.js
+++ b/server/core/DbSearcher.js
@@ -548,7 +548,9 @@ class DbSearcher {
const filterBySearch = (bookField, searchValue) => {
searchValue = searchValue.toLowerCase();
//особая обработка префиксов
- if (searchValue[0] == '=') {
+ if (searchValue == emptyFieldValue) {
+ return `(row.${bookField} === '' || row.${bookField}.indexOf(${db.esc(emptyFieldValue)}) === 0)`;
+ } else if (searchValue[0] == '=') {
searchValue = searchValue.substring(1);
return `(row.${bookField}.toLowerCase().localeCompare(${db.esc(searchValue)}) === 0)`;