Имя: Пароль:
1C
1C 7.7
v7: проверка на пустую дату в прямом запросе 1с++
0 eshtrey
 
27.03.14
17:36
есть запрос
ТекстЗапроса = "
|SELECT Сотрудники.ID [Сотрудник $Справочник.Сотрудники]
|    , $ПоследнееЗначение.Сотрудники.ВидДоговора(Сотрудники.ID, :ВыбДата) [ВидНайма $Перечисление.ВидНайма]
|FROM $Справочник.Сотрудники AS Сотрудники With (NOLOCK)
|WHERE $ПоследнееЗначение.Сотрудники.ВидДоговора(Сотрудники.ID, :ВыбДата) = :Отбор
|";

хочу добавить проверку на пустое значение Сотрудник.ДатаУвольнения,
но не получается, т.к. в прямых запросах не силен, прошу помощи, спасибо.
1 eshtrey
 
27.03.14
17:36
возможно решением был бы последний ответ на http://www.1cpp.ru/forum/YaBB.pl?num=1299690406
но применить это не получается

пробовал через построитель запросов qryMarker, но конструкция NullIf($Сотрудники.ДатаУвольнения, '17530101') ДатаУвольнения
результата не дала
2 vinogradъ
 
27.03.14
18:01
and $Сотрудники.ДатаУвольнения != '17530101'
3 Ёпрст
 
27.03.14
18:01
не видно, как именно и где ты использовал эту конструкцию и почему она не помогла.
4 eshtrey
 
27.03.14
18:06
вот из построителя
ТекстЗапроса = "-- qryMaker:Отчет1.2014.03.27.15.16.47
        |SELECT Сотрудники.ID [Ссылка $Справочник.Сотрудники]
        |    , $ПоследнееЗначение.Сотрудники.ВидДоговора(Сотрудники.ID, :ВыбДата) [ВидДоговора $Перечисление.ВидНайма]
        |    , NullIf($Сотрудники.ДатаУвольнения, '17530101') ДатаУвольнения
        |FROM $Справочник.Сотрудники AS Сотрудники With (NOLOCK)
        |WHERE ($ПоследнееЗначение.Сотрудники.ВидДоговора(Сотрудники.ID, :ВыбДата) = $Перечисление.ВидНайма.Договор)
        |";
5 eshtrey
 
27.03.14
18:12
хотя тут вообще нет отбора по условию пустой даты
6 eshtrey
 
27.03.14
18:17
вот как верно
ТекстЗапроса = "
        |SELECT Сотрудники.ID [Сотрудник $Справочник.Сотрудники]
        |    , $ПоследнееЗначение.Сотрудники.ВидДоговора(Сотрудники.ID, :ВыбДата) [ВидНайма $Перечисление.ВидНайма]
        |FROM $Справочник.Сотрудники AS Сотрудники With (NOLOCK)
        |WHERE ($ПоследнееЗначение.Сотрудники.ВидДоговора(Сотрудники.ID, :ВыбДата) = :Отбор)
        |        AND ($Сотрудники.ДатаУвольнения = '17530101')
        |";