Имя: Пароль:
1C
1С v8
Разное поведение запроса в толстом клиенте и на стороне сервера - нужна помощь
0 Пип Пибип
 
03.06.13
17:40
День добрый, господа

Есть 1С 8.2.17.153. На ней есть переписанная базв УТ 10.3
В ней есть регламентное задание, выполняемое под учетнкой с полными правами в 1С. В регламентном задании есть запрос. В Толстом клиенте запрос возвращает мне результаты, при работе на стороне сервера - запрос возвращает 0 результатов (смотрел в отладчике). Параметр &Дата в обоих случаях передается ТекущаяДата(). Ниже приведен текст запроса:

ВЫБРАТЬ РАЗЛИЧНЫЕ
   СостояниеЗаказовКлиента.Заявка КАК Заявка
ПОМЕСТИТЬ ВТФильтр
ИЗ
   РегистрСведений.СостояниеЗаказовКлиента КАК СостояниеЗаказовКлиента
ГДЕ
   СостояниеЗаказовКлиента.Заявка.Подразделение.Дилер
   И СостояниеЗаказовКлиента.Период >= ДОБАВИТЬКДАТЕ(&Дата, СЕКУНДА, -1800)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СостояниеЗаказовКлиентаНаПолЧасаНазад.Заявка,
   СостояниеЗаказовКлиентаНаПолЧасаНазад.Заказ.Номер КАК НомерЗаказа,
   СостояниеЗаказовКлиентаНаПолЧасаНазад.Заказ.Дата КАК ДатаЗаказа,
   СостояниеЗаказовКлиентаНаПолЧасаНазад.Номенклатура,
   СостояниеЗаказовКлиентаНаПолЧасаНазад.Количество,
   СостояниеЗаказовКлиентаНаПолЧасаНазад.Заявка.Контрагент КАК Контрагент,
   СостояниеЗаказовКлиентаНаПолЧасаНазад.ДатаПолучения КАК ДатаПолученияПредыдущая,
   СостояниеЗаказовКлиентаСрезПоследних.ДатаПолучения КАК ДатаПолученияНовая,
   ВЫБОР
       КОГДА ЕСТЬNULL(ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(255)), 0) = 0
           ТОГДА ""
       ИНАЧЕ КонтактнаяИнформация.Представление
   КОНЕЦ КАК АдресЭлектроннойПочтыКонтрагентаДляОбменаДокументами
ИЗ
   РегистрСведений.СостояниеЗаказовКлиента.СрезПоследних(
           ДОБАВИТЬКДАТЕ(&Дата, СЕКУНДА, -18000),
           Заказ.Подразделение.Дилер
               И Заявка В
                   (ВЫБРАТЬ
                       ВТФильтр.Заявка
                   ИЗ
                       ВТФильтр КАК ВТФильтр)) КАК СостояниеЗаказовКлиентаНаПолЧасаНазад
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеЗаказовКлиента.СрезПоследних(
               ,
               Заказ.Подразделение.Дилер
                   И Заявка В
                       (ВЫБРАТЬ
                           ВТФильтр.Заявка
                       ИЗ
                           ВТФильтр КАК ВТФильтр)) КАК СостояниеЗаказовКлиентаСрезПоследних
       ПО СостояниеЗаказовКлиентаНаПолЧасаНазад.Заявка = СостояниеЗаказовКлиентаСрезПоследних.Заявка
           И СостояниеЗаказовКлиентаНаПолЧасаНазад.ДатаПолучения <> СостояниеЗаказовКлиентаСрезПоследних.ДатаПолучения
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
       ПО СостояниеЗаказовКлиентаНаПолЧасаНазад.Заявка.Контрагент = КонтактнаяИнформация.Объект
           И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
           И (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресЭлектроннойПочтыКонтрагентаДляОбменаДокументами))

УПОРЯДОЧИТЬ ПО
   Контрагент,
   СостояниеЗаказовКлиентаНаПолЧасаНазад.Заказ.Дата
ИТОГИ ПО
   Контрагент


Внимание, вопрос - что именно я написал в запросе не верно? Как добиться от запроса получения результатов (они заведомо есть)?
1 Classic
 
03.06.13
17:47
Так разные же даты передаешь :)
2 kiruha
 
03.06.13
17:59
(0)
Вместо Текущей даты поставь конкретную и сравнивай
Ну и чисто глаз режет
ДОБАВИТЬКДАТЕ(&Дата, СЕКУНДА, -1800) - ну не экономь параметры
сделай &ДатаПолчасаНазад

Заказ.Подразделение.Дилер
на Заказ.Подразделение.Дилер=Истина
а то Null может быть
2 + 2 = 3.9999999999999999999999999999999...