Имя: Пароль:
1C
1С v8
Не работает автоупорядочивание в запросе
,
0 bahtik
 
17.12.12
15:00
Здравстсвуйте! Есть простейший запрос из одного регистра накопления:

ВЫБРАТЬ
   ОстаткиНоменклатурыОстаткиИОбороты.Организация,
   ОстаткиНоменклатурыОстаткиИОбороты.Склад,
   ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура КАК Номенклатура,
   ОстаткиНоменклатурыОстаткиИОбороты.Партия КАК Партия,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК КоличествоНачальныйОстаток,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход, 0) КАК КоличествоПриход,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоРасход, 0) КАК КоличествоРасход,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КоличествоКонечныйОстаток,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.СтоимостьНачальныйОстаток, 0) КАК СтоимостьНачальныйОстаток,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.СтоимостьПриход, 0) КАК СтоимостьПриход,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.СтоимостьРасход, 0) КАК СтоимостьРасход,
   ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.СтоимостьКонечныйОстаток, 0) КАК СтоимостьКонечныйОстаток
ИЗ
   РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , ) КАК ОстаткиНоменклатурыОстаткиИОбороты

УПОРЯДОЧИТЬ ПО
   Номенклатура,
   Партия
Автоупорядочивание


Но при этом ругается, на "Автоупорядочивание". Не могу понять, почему?
1 bahtik
 
17.12.12
15:02
Может быть дело в том, что партия - составной тип данных (несколько видов документов).
2 bahtik
 
17.12.12
15:04
Хотя в других похожих запросах Партия отрабатывает нормально при автоупорядочивании...
3 bahtik
 
17.12.12
15:08
Ругается "синтаксическая ошибка" на автоупорядочивание
4 НЕА123
 
17.12.12
15:10
попробовать имя таблицы поставить явно
ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура
?
5 bahtik
 
17.12.12
15:11
(4) Пробовал и так уже. Не помогает.
6 Rovan
 
гуру
17.12.12
15:13
(3) удали автоупорядочивание,
открой конструктор запроса и поставь там !
7 bahtik
 
17.12.12
15:13
Убрал номенклатуру даже, оставил:

УПОРЯДОЧИТЬ ПО
   ОстаткиНоменклатурыОстаткиИОбороты.Партия
АВТОУПОРЯДОЧИВАНИЕ

Все равно...
8 bahtik
 
17.12.12
15:16
(6) Так дело в том, что там тоже куда-то пропала эта галочка.
9 bahtik
 
17.12.12
15:16
Т.е. почему-то нельзя использовать автоупорядочивание в этом запросе. А почему - не пойму.
10 bahtik
 
17.12.12
15:18
До этого использовал спокойно в других запросах, все работало (и сейчас работает). А тут - ни в какую. Правда, были только запросы, которые использовали виртуальные таблицы остатков. А эта - остатков и оборотов. Не в этом ли дело случайно?
11 bahtik
 
17.12.12
15:21
Самое интересное - только что такой же запрос написал в другом месте (в общем модуле) - и галочка есть, и не ругается... Что за чудеса??? ))
12 bahtik
 
17.12.12
15:25
Уже 1С перезапустил, монитор протер - ничего не помогает!!! ))
13 bahtik
 
17.12.12
15:27
Этот запрос, который не работает - в СКД. Я его тупо взял, скопировал, вставил в левый модуль левой процедуры - вуаля! - ошибок нет!
14 bahtik
 
17.12.12
15:27
А тут - есть...
15 bahtik
 
17.12.12
15:28
Но я до этого и в СКД автоупорядочивание применял...
16 bahtik
 
17.12.12
15:35
А, хотя нет, прошу прощения, в СКД я как раз таки еще не применял автоупорядочивания. И по ходу, там его нигде нет. Это что, получается, в СКД нельзя исопользовать в запросах Автоупорядочивание?
17 bahtik
 
17.12.12
15:42
Ну, пришлось вводить еще одно поле в запросе - ДатаПартии и по нему сортировать. Но теперь обнаружилось еще и то, что при сортировке если есть две партии, например 01.01.2000 и 02.01.2000, то если конечный остаток есть по обеим, он отсортирует правильно, а вот если конечного остатка по 01.01.2000 нет (зато есть нач. ост. и обороты), то партия 02.01.2000 будет первой, т.к. по ней есть конечный остаток. А с этим как быть???