Имя: Пароль:
1C
1C 7.7
v7: 1С 7.7. Упорядочивание в запросе
0 zelenyj_ogurec
 
11.03.16
14:43
Есть простой запрос:

    ТекстЗапроса = "//{{ЗАПРОС(ЗапросПоступлений)
    |Фирма = Регистр.ПартииНаличие.Фирма;
    |Номенклатура = Регистр.ПартииНаличие.Номенклатура;
    |КодОперации = Регистр.ПартииНаличие.КодОперации;
    |ТекущийДокумент = Регистр.ПартииНаличие.ТекущийДокумент;
    |Количество = Регистр.ПартииНаличие.Количество;
    |Функция КоличествоПриход = Приход(Количество);
    |Группировка Фирма Без Групп;
    |Группировка Номенклатура Без Групп;
    |Группировка ТекущийДокумент;
    |Условие(Фирма в СписокФирмы);
    |Условие(Номенклатура в СписокНоменклатура);
      |";

Интересует какое работает упорядочение в группировке "ТекущийДокумент"?
Тут ведь не указывается ни "упорядочить по ...", ни "без упорядочивания".
1 vladko
 
11.03.16
14:45
(0) Насколько я помню, Упорядочивание задаётся уже в цикле:
Пока Запрос.Группировка("Фирма") = 1 Цикл
Пока Запрос.Группировка("Номенклатура") = 1 Цикл
Пока Запрос.Группировка("ТекущийДокумент",-1) = 1 Цикл //обратное упорядочивание

КонецЦикла
КонецЦикла
КонецЦикла
2 zelenyj_ogurec
 
11.03.16
14:46
По возрастанию позиции документа?
Правильно?
3 mehfk
 
11.03.16
14:46
Сам как думаешь?
4 ДенисЧ
 
11.03.16
14:46
по ИД же...
5 zelenyj_ogurec
 
11.03.16
14:48
(1) В цикле задается только порядок (прямой или обратный) упорядочивания по тому критерию, который указан в запросе.

А какой критерий для документов, если я его явно не указываю?
6 zelenyj_ogurec
 
11.03.16
14:48
(4) а как сделать по позиции документа?
7 Ёпрст
 
11.03.16
14:50
(6) он и так всегда по позиции упорядочивает
8 Ёпрст
 
11.03.16
14:51
при желании, можно упорядочить по чему угодно
9 ДенисЧ
 
11.03.16
14:51
(8) Это ж какое желание нужно иметь...
10 ДенисЧ
 
11.03.16
14:51
(6) А чем тебе позиция - не ИД?
11 csharpprogrammer
 
11.03.16
14:52
По умолчанию документы упорядочиваются по дате и времени документов.
12 zelenyj_ogurec
 
11.03.16
14:56
(10) не знаю,
а что ИД и позиция документа как-то связаны?
13 Попытка1С
 
11.03.16
14:57
(11) Это и есть позиция документа.
14 ДенисЧ
 
11.03.16
15:01
(12) Абсолютно никак.
Это просто одно и тоже. А так они даже не женаты...
15 ADirks
 
11.03.16
15:05
(14) ну справедливости ради надо заметить, что документы упорядочиваются по Date_Time_IDDoc, а под ИД обычно имеется в виду IDDoc.  И IDDoc с хронологией строго говоря не связан.
16 Попытка1С
 
11.03.16
15:08
(15) Date_Time_IDDoc не связан с IDDoc ?
17 ДенисЧ
 
11.03.16
15:09
(15) "Date_Time_IDDoc"
Не огорчай меня....
18 ADirks
 
11.03.16
15:10
(16) связан, и напрямую
но не связан с хронологией :)
19 ADirks
 
11.03.16
15:11
(17) а чё? не?
всегда был в этом уверен...
20 zelenyj_ogurec
 
11.03.16
15:16
я у документа могу сменить дату и время,
IDDOC при этом изменится?
21 Ёпрст
 
11.03.16
15:17
(20) нет конечно
22 Ёпрст
 
11.03.16
15:17
но при желании, можно сменить
23 zelenyj_ogurec
 
11.03.16
15:19
Date_Time_IDDoc - это и есть позиция докумнета?
24 Ёпрст
 
11.03.16
15:22
(23) да

Можешь, например, по виду дока упорядочить:
|Группировка ТекущийДокумент Упорядочить По ТекущийДокумент.ТекущийДокумент;
25 Ёпрст
 
11.03.16
15:23
вот там, будет сортировка по iddocdef+iddoc, без даты
26 Попытка1С
 
11.03.16
15:24
(17) А что не так?
27 zelenyj_ogurec
 
11.03.16
16:45
А как сравнить позиции двух документов?
Так прокатит?

Если Док1 > Док2 Тогда
...
КонецЕсли
28 Ёпрст
 
11.03.16
16:49
(27) получитьпозицию
29 zelenyj_ogurec
 
11.03.16
16:52
(28) 1С-ка могла бы и так догадаться что позиции сравниваю
30 trad
 
11.03.16
17:00
(29) т.е. если знак > то сравнивать позиции, а если знак = то сравнивать ссылки?
так что ли хотим?
31 zelenyj_ogurec
 
11.03.16
17:01
(30) а че?
32 trad
 
11.03.16
17:03
(31) ниче, здорово придумано, че
Основная теорема систематики: Новые системы плодят новые проблемы.