Имя: Пароль:
1C
 
Как в запросе поставить условие на пустую строку
0 misha122062
 
28.09.09
15:44
Прошу помочь в таком вопросе(сам уже около года 77 не занимался, а тока 8.1).
Надо в запросе поставить условие - включать только если поле "ДатаНомерНакладной" не пустая строка.
И что то тормоз напал. Ну не выходит. Кто в курсах, подскажите.
ТекстЗапроса=    "
|Период с НачалоИнтервала по КонецИнтервала;
|ОбрабатыватьДокументы Все;
|Обрабатывать НеПомеченныеНаУдаление;
|Док = Документ.ПоступлениеТоваров.ТекущийДокумент;
|Контрагент = Документ.ПоступлениеТоваров.Контрагент;
|ДатаНомерНакладной = Документ.ПоступлениеТоваров.ВходящаяяНакладная;
|Группировка Док упорядочить по Док.ДатаДок;
|Условие (ДатаНомерНакладной <> "");
|";
1 ТелепатБот
 
гуру
28.09.09
15:44
2 1Сергей
 
28.09.09
15:47
Условие (ПустоеЗначение(ДатаНомерНакладной)=0);
3 supremum
 
28.09.09
15:47
Как вариант

Прошу помочь в таком вопросе(сам уже около года 77 не занимался, а тока 8.1).
Надо в запросе поставить условие - включать только если поле "ДатаНомерНакладной" не пустая строка.
И что то тормоз напал. Ну не выходит. Кто в курсах, подскажите.
Перем ПустаяДата;

ПустаяДата=ПустоеЗначение();


ТекстЗапроса=    "
|Период с НачалоИнтервала по КонецИнтервала;
|ОбрабатыватьДокументы Все;
|Обрабатывать НеПомеченныеНаУдаление;
|Док = Документ.ПоступлениеТоваров.ТекущийДокумент;
|Контрагент = Документ.ПоступлениеТоваров.Контрагент;
|ДатаНомерНакладной = Документ.ПоступлениеТоваров.ВходящаяяНакладная;
|Группировка Док упорядочить по Док.ДатаДок;
|Условие (ДатаНомерНакладной <> ПустаяДата);
|";
4 1Сергей
 
28.09.09
15:48
(3) не сработает
5 Guk
 
28.09.09
15:50
или (2) или ПустаяСтрока или СокрЛП(ДатаНомерНакладной)...
6 misha122062
 
28.09.09
15:56
(3) Чей то за бред.
Я хоть и год не занимался - но ума то не лишился.
Спасибо. все понял
7 МихаилМ
 
28.09.09
15:57
to (0)

либо > ""
либо <> "     "  
где колво пробелов равно размеру поля
8 supremum
 
28.09.09
15:59
Перем ПустаяСтр;

ПустаяСтр="";


ТекстЗапроса=    "
|Период с НачалоИнтервала по КонецИнтервала;
|ОбрабатыватьДокументы Все;
|Обрабатывать НеПомеченныеНаУдаление;
|Док = Документ.ПоступлениеТоваров.ТекущийДокумент;
|Контрагент = Документ.ПоступлениеТоваров.Контрагент;
|ДатаНомерНакладной = Документ.ПоступлениеТоваров.ВходящаяяНакладная;
|Группировка Док упорядочить по Док.ДатаДок;
|Условие (ДатаНомерНакладной <> ПустаяСтр);
|";
9 supremum
 
28.09.09
16:01
|Условие (ДатаНомерНакладной <> """");
10 1Сергей
 
28.09.09
16:03
(8),(9)  не сработает, т.к. ""<>"            "
11 supremum
 
28.09.09
16:05
(10) про размер поля согласен, но не помню что бы в условие можно было ставить текстовую строку непосредственно, насколько помню пользовался только переменными если нужно было делать сравнение со строкою.
12 supremum
 
28.09.09
16:09
(10) если что поправьте
13 also
 
28.09.09
16:12
А еще есть ПолучитьПустоеЗначение() :)
14 supremum
 
28.09.09
16:13
(13) ПолучитьПустоеЗначение() - обычно применяется когда нужно получить пустое значение определенного типа
15 also
 
28.09.09
16:14
(14) А строка это не тип?

<Тип> - необязательный параметр. Строка или вид субконто или объект метаданных, задающий тип данных. Если параметр не задан, то функция возвращает пустое значение неопределенного типа. (с) СП
16 supremum
 
28.09.09
16:16
(15) в контексте (0) см (10). При сравнении 1С думает что это не пустое значение, строка пробелов длиной в поле
17 1Сергей
 
28.09.09
16:23
всё сказано в (2),(5) и (7). Остальное от лукавого