Имя: Пароль:
1C
 
Как сравнить дату с датой, полученной из запроса
,
0 karpik666
 
19.09.14
07:23
КАК сравнить дату с другой датой, полученной выборкой из запроса.
К примеру

ГДЕ
ЗадачаСогласования.Дата > (ВЫБРАТЬ
МАКСИМУМ(Задача.Дата) КАК ДАТА
ИЗ Задача.ЗадачаСогласования КАК Задача
ГДЕ
Задача.ТочкаМаршрута = &ТочкаМаршрута) КАК ДатаОператора

В идеале хочется, чтобы эта вся конструкция работала, но не работает. Подскажите, как правильно получить дату из запроса. а затем сравнить ее с другой датой.
1 karpik666
 
19.09.14
07:24
*"КАК ДатаОператора" - лишнее
2 1Сергей
 
19.09.14
07:27
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
3 karpik666
 
19.09.14
07:30
Пробовал и так, не выдает ошибок, но ничего не возваращает. соединение ставли по дате, когда ЛЕВОЕ СОЕДИНЕНИЕ делаю, то тоже не выдает ошибок и возвращает все задачи, больше или меньше этой даты.
4 karpik666
 
19.09.14
07:30
(3) -> (2)
5 Балоун
 
19.09.14
07:35
а что-то не нравится?
6 1Сергей
 
19.09.14
07:36
(3) думаешь будет неприлично, если ты мне покажешь запрос с соединением?
7 Балоун
 
19.09.14
07:38
(6) я участвую!
8 karpik666
 
19.09.14
07:41
ОК

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЗадачаСогласованиеДоговора.Согласовавший,
    ЗадачаСогласованиеДоговора.ТочкаМаршрута
ИЗ
    Задача.ЗадачаСогласованиеДоговора КАК ЗадачаСогласованиеДоговора
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            МАКСИМУМ(ЗадачаСогласованиеДоговора.Дата) КАК Дата
        ИЗ
            Задача.ЗадачаСогласованиеДоговора КАК ЗадачаСогласованиеДоговора
        ГДЕ
            ЗадачаСогласованиеДоговора.ТочкаМаршрута = &ТочкаМаршрута
            И ЗадачаСогласованиеДоговора.БизнесПроцесс = &БизнесПроцесс) КАК ДатаОператора
        ПО ЗадачаСогласованиеДоговора.Дата < ДатаОператора.Дата
ГДЕ
    ЗадачаСогласованиеДоговора.БизнесПроцесс = &БизнесПроцесс
    И ЗадачаСогласованиеДоговора.Выполнена
9 karpik666
 
19.09.14
07:42
НЕмного перепутал
ЗадачаСогласованиеДоговора.Дата > ДатаОператора.Дата
10 karpik666
 
19.09.14
07:45
И такой же запрос, только с Внутренним соединением
11 1Сергей
 
19.09.14
07:46
(8) сгруппировать нужно внутренний запрос
12 Балоун
 
19.09.14
07:47
максимум выкинь
13 karpik666
 
19.09.14
07:47
Еще был вариант: Выбрать Первые 1 И Упорядочить по ДАТА Убыв
По идее ведь тоже самое?
14 karpik666
 
19.09.14
07:49
(11) А что группировать то? Есть суммируемое поле "Дата", больше я ничего не выбираю из внутреннего запроса.
15 alle68
 
19.09.14
07:50
(8) А в подзапросе записи есть?
16 lopus
 
19.09.14
07:50
А должно что-то выводить. Может с такой точко маршрута данные позже.
17 1Сергей
 
19.09.14
07:50
(14) что-то непонятна суть самого запроса. Нужно выбрать задачи, дата которых больше самой большой даты этих же задач?
18 lopus
 
19.09.14
07:51
Выполни отдельно вложенный подзапрос и без него и сравни.
19 karpik666
 
19.09.14
07:53
В Завершенных задачах указываются замечания. Есть точка входа, когда задача ставится оператору. Есть форма на которой видны эти замечания. Но бизнесс процесс может проделать несколько кругов прежде чем завершится, но при каждой корректировки возвращается обратно оператору. Поэтому я в запросе фильтрую эти данные по последней точке входа к оператору. Я рассматриваю уже завершенный БП, и потому задачи точно есть.
20 13_Mult
 
19.09.14
07:55
(17) +1
21 karpik666
 
19.09.14
07:55
(15) В подзапросе есть, по сути это только одна дата - последней задачи оператора.
22 1Сергей
 
19.09.14
07:56
(19) как внутренний запрос отрабатывает отдельно?
23 13_Mult
 
19.09.14
07:57
(21) И где ты возьмёшь задачу с датой большей максимальной?
24 karpik666
 
19.09.14
07:58
(23) Она не максимальная, а наоборот, первая в этом цикле бизнес процесса
25 1Сергей
 
19.09.14
07:59
(24) судя по запросу нет
26 13_Mult
 
19.09.14
08:00
(24) а как же (21)
27 karpik666
 
19.09.14
08:00
(25) В запросе указана точка маршрута ведь еще, Это точка маршрута является Оператор
28 karpik666
 
19.09.14
08:01
(26) Есть "оператор", а есть остальные задачи, которые ставятся после него, в зависимости от выбора оператора.
29 13_Mult
 
19.09.14
08:01
(24) тогда может МИНИМУМ надо?
30 1Сергей
 
19.09.14
08:01
(27) ок. Внутренний запрос отдельно выполни и посмотри сколько в нём строк. Должна быть одна
31 karpik666
 
19.09.14
08:02
(30) Она одна и есть
32 1Сергей
 
19.09.14
08:03
(31) и дата та, которая нужна?
33 karpik666
 
19.09.14
08:04
Всем большое спасибо, разобрался, сам протупил. в подзапросе забыл поставить у себя отбор по бизнес процессу, поэтому отображалось много задач на выходе.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн