Имя: Пароль:
1C
1С v8
Подзапрос с УПОРЯДОЧИТЬ ПО МоментВремени
,
0 Ns33
 
15.01.13
13:33
ВЫБРАТЬ
   ПоступлениеТоваров.Ссылка
ИЗ
   Документ.ПоступлениеТоваров КАК ПоступлениеТоваров
ГДЕ
   ПоступлениеТоваров.Ссылка В
           (ВЫБРАТЬ ПЕРВЫЕ 1
               ПоступлениеТоваров.Ссылка
           ИЗ
               Документ.ПоступлениеТоваров КАК ПоступлениеТоваров
           УПОРЯДОЧИТЬ ПО
               ПоступлениеТоваров.МоментВремени УБЫВ)



Если выполнить отдельно подзапрос, то возвращается как и просили самый поздний документ, но вот весь запрос почему-то возвращает самый ранний документ, как-будто УБЫВ в подзапросе игнорируется.

Да, можно заменить МоментВремени на Дата+Ссылка, тогда все работает, но тут вопрос почему так запрос себе ведет? У меня файловый вариант, мож кто на скуле проверит?
1 shurikvz
 
15.01.13
14:02
На sql такой же результат.
Разворачивается в такой запрос:

SELECT
T1._IDRRef
FROM _Document416 T1 WITH(NOLOCK)
WHERE T1._IDRRef IN
(SELECT TOP 1
T2._IDRRef AS Q_001_F_000RRef
FROM _Document416 T2 WITH(NOLOCK)
ORDER BY T2._Date_Time, T2._IDRRef DESC)

Т.е. по T2._Date_Time сортировка по убыванию не идет.
2 Fragster
 
гуру
15.01.13
14:03
ВЫБРАТЬ ПЕРВЫЕ 1

               ПоступлениеТоваров.Ссылка
           ИЗ
               Документ.ПоступлениеТоваров КАК ПоступлениеТоваров
           УПОРЯДОЧИТЬ ПО
               ПоступлениеТоваров.Дата УБЫВ,
               ПоступлениеТоваров.Ссылка УБЫВ
3 Fragster
 
гуру
15.01.13
14:04
кстати, отправьте 1с, крутая бага!
4 shurikvz
 
15.01.13
14:12
(3) Отправил.
5 Ёпрст
 
15.01.13
14:16
а на каком релизе ?
смотреть на последнем лень в профайлер
6 shurikvz
 
15.01.13
14:17
(5) 8.2.17.153
7 Ёпрст
 
15.01.13
14:25
зачет..
и как раньше никто этого не замечал.
8 Reset
 
15.01.13
14:25
8.2.16.363 и Postgre проверил, для статистики :)
то же самое
9 Ёпрст
 
15.01.13
14:25
загадка
10 acsent
 
15.01.13
14:26
(7) не замечали ибо тупой запрос. Зачем так делать?
11 Maxus43
 
15.01.13
14:28
(10) +1
Никогда таким не страдал тоже...
(7) так же как не замечали что

ВЫБРАТЬ
   ТИПЗНАЧЕНИЯ(ПРЕДСТАВЛЕНИЕССЫЛКИ(Валюты.Ссылка)) КАК Поле2,
   Валюты.Ссылка
ИЗ
   Справочник.Валюты КАК Валюты

Это валит платформу
12 Ёпрст
 
15.01.13
14:29
(10) почему тупой ?
получение последнего(первого) документа чего-либо в подзапросе вполне годная задача.
ТС привел не самый удачный пример просто.
13 Ns33
 
15.01.13
14:30
(10) ХЗ, на другом форуме спросили, я пытался разобраться, у меня разошлась теория с практикой, спросил здесь.
14 acsent
 
15.01.13
14:31
(12) реальный пример можно?
15 Ёпрст
 
15.01.13
14:33
(14) посчитать что-то взяв реквизиты с последнего документа определенного вида.
16 Ёпрст
 
15.01.13
14:34
Да и.. какая разница что за запрос будет ?
Если он как обычный при Убыв подставляет desc в оба поля а в подзапросе - только один у МоментВремени - явныйая недоделка платформы
17 shurikvz
 
21.01.13
10:14
Зарегистрировали ошибку:

20013216  (SW742955)  Упорядочивание по виртуальным полям с указанием обратного порядка в запросе
Проблема:
В некоторых случаях запрос возвращает данные в неправильной последовательности при упорядочивании по виртуальным полям с указанием обратного порядка.
Дата публикации:
2013-01-17
Программист всегда исправляет последнюю ошибку.