Имя: Пароль:
1C
1С v8
Запрос СрезПоследних не могу понять
0 ramir
 
28.08.11
18:39
Вот запрос

[code]
ВЫБРАТЬ
   Заказы.Заказ,
   СтатусыЗаказаСрезПоследних.Статус КАК СтатусЗаказа,
   СтатусыКлиентаСрезПоследних.Статус КАК СтатусКлиента,
   Заказы.Клиент,
   Заказы.Дата,
   Заказы.Период,
   Заказы.Объект,
   Заказы.Объект.Адрес.Метро КАК Метро,
   Заказы.Заказ.Старший КАК Сотрудник
ИЗ
   РегистрСведений.Заказы КАК Заказы
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыЗаказа.СрезПоследних(&ДатаСтатуса, ) КАК СтатусыЗаказаСрезПоследних
       ПО Заказы.Заказ = СтатусыЗаказаСрезПоследних.Заказ
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыКлиента.СрезПоследних(&ДатаСтатуса, ) КАК СтатусыКлиентаСрезПоследних
       ПО Заказы.Объект = СтатусыКлиентаСрезПоследних.Объект
[/code]

Это запрос динамического списка. В обработчике формы ПриСозданииНаСервере устанавливаю ДатаСтатуса = ТекущаяДата()

Заказы.Параметры.УстановитьЗначениеПараметра("ДатаСтатуса", ТекущаяДата());

Потом просто делаю отбор по полю период. И отображает статусы на дату (Период). Например:

Период = 26.08.2011

Отображает:

26.08.2011 0:00:00    Рашидов Д.Р.    Ожидает подтверждения    Разовый    квартира        Сокольники

Регистр сведений статусы клиента:
24.08.2011    квартира    Разовый
28.08.2011    квартира    Постоянный

Регистр сведений статусы заказа:
26.08.2011 0:00:00    Заказ 000000003 от 26.08.2011 13:50:18    Ожидает подтверждения
27.08.2011 0:00:00    Заказ 000000003 от 26.08.2011 13:50:18    Подтвержден
1 Vitello
 
28.08.11
18:40
хвастаешься?
2 ramir
 
28.08.11
18:40
Забыл самое главное. Вопрос: Почему отображает статусы на дату, заданную в периоде, а не в параметре ДатаСтатуса?
3 ramir
 
28.08.11
18:44
Стараюсь пользоваться форумом только в рабочих целях, задаю вопросы, ищу информацию, отвечаю если есть что сказать. Сейчас не могу добиться результата.
4 ramir
 
28.08.11
19:05
Вопрос закрыт. Четно говоря, странное поведение. Изменил запрос на

ВЫБРАТЬ
   Заказы.Заказ,
   СтатусыЗаказаСрезПоследних.Статус КАК СтатусЗаказа,
   СтатусыКлиентаСрезПоследних.Статус КАК СтатусКлиента,
   Заказы.Клиент,
   Заказы.Дата,
   Заказы.Период КАК ДатаЗаказа,
   Заказы.Объект,
   Заказы.Объект.Адрес.Метро КАК Метро,
   Заказы.Заказ.Старший КАК Сотрудник
ИЗ
   РегистрСведений.Заказы КАК Заказы
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыЗаказа.СрезПоследних(&ДатаСтатуса, ) КАК СтатусыЗаказаСрезПоследних
       ПО Заказы.Заказ = СтатусыЗаказаСрезПоследних.Заказ
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыКлиента.СрезПоследних(&ДатаСтатуса, ) КАК СтатусыКлиентаСрезПоследних
       ПО Заказы.Объект = СтатусыКлиентаСрезПоследних.Объект

Все заработало как нужно.
5 zzerro
 
28.08.11
23:42
(4) А в чем разница между запросами, чет не вижу...
6 izekia
 
28.08.11
23:46
(5) псевдоним у поля добавил
Ошибка? Это не ошибка, это системная функция.