Имя: Пароль:
1C
 
РегистрСведений сортировка
0 shurik_klgd
 
18.06.11
03:18
Подскажите, почему РС.Штрихкоды (форма списка) сортируется по измерению Штрихкод?
почему-то всегда думал, что там записи идут в порядке добавления в базу.
1 Nesh
 
18.06.11
04:31
ты не думай, ты пей (С) Наша Раша
на самом деле регистр не периодический и независимый, откуда там появится период(момент добавления в базу)?
2 shurik_klgd
 
18.06.11
04:38
(1) Порядок добавления в базу я имел ввиду физический (т.е. никакой сортировки нет вообще).

Меня интересует вопрос: откуда сортировка по Штрихкоду идет, почему не по другому какому-то реквизиту? (Владелец, Характеристика, Серия, качество). Ну какое-то объяснение этому должно быть?
3 shurik_klgd
 
18.06.11
04:44
+(2) Возьмем справочник Номенклатура, там сортировку можно менять: Код, Наименование, Артикул,.. Тут все ясно, сортируется по этим полям,
4 shurik_klgd
 
18.06.11
04:45
отом
5 shurik_klgd
 
18.06.11
04:46
+(3) Тут все ясно, сортируется по этим полям, потому что они индексные... А в (0) как объяснить...
6 shurik_klgd
 
18.06.11
12:16
...
7 H A D G E H O G s
 
18.06.11
12:43
Почему то всегда думал, что РС сортируется по возрастанию Измерений, от первого до последниего.
8 H A D G E H O G s
 
18.06.11
12:49
SQL «смотрит как-то недовольно, свирепо и в то же время грустно и с недоумением» на автора:

SELECT TOP 20
T1._Fld89,
T1._Fld90,
T1._Fld91
FROM _InfoRg88 T1 WITH(NOLOCK)
ORDER BY (T1._Fld90) ASC, (T1._Fld91) ASC
9 H A D G E H O G s
 
18.06.11
12:50
НО!

Это в форме списка, то бишь в динамике.

В "статике" обычного запроса:

ВЫБРАТЬ
   РегистрСведений1.Измерение1,
   РегистрСведений1.Измерение2,
   РегистрСведений1.Ресурс1
ИЗ
   РегистрСведений.РегистрСведений1 КАК РегистрСведений1


все красиво - в порядке добавления записей, аля:

SELECT
T1._Fld90,
T1._Fld91,
T1._Fld89
FROM _InfoRg88 T1 WITH(NOLOCK)
10 shurik_klgd
 
18.06.11
13:26
(9)
БЕРЕМ УТ, УправлениеРозничнойТорговлей.ПолучитьШтрихКод
в которой запрос
   |ВЫБРАТЬ ПЕРВЫЕ 1
   |    РегШтрихкоды.ТипШтрихкода,
   |    РегШтрихкоды.Штрихкод
   |ИЗ
   |    РегистрСведений.Штрихкоды КАК РегШтрихкоды
   |ГДЕ
   |    РегШтрихкоды.Владелец = &Владелец
   |    И РегШтрихкоды.ЕдиницаИзмерения = &ЕдиницаИзмерения
   |    И РегШтрихкоды.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
   |    И РегШтрихкоды.СерияНоменклатуры = &СерияНоменклатуры
   |    И РегШтрихкоды.Качество = &Качество
Добавляем на товар два разных штрихкода одинакового типа (ЕАН13), все измерения, кроме самого штрихкода одинаковые:
первый 2000000000015, второй 1234567890128
Запрос вернет второй штрихкод. Теперь удаляем эти ШК, и добавляем два в таком порядке: первый 1234567890128, второй 2000000000015. Запрос вернет все равно ШК 1234567890128.

Вот теперь вопрос: что в запросе подправить чтобы в случае нескольких ШК он возвращал физически созданный первый ШК (ну или последний), а не в порядке возрастания(убывания) самого поля ШК
11 H A D G E H O G s
 
18.06.11
13:36
не Постгрии случаем?
12 shurik_klgd
 
18.06.11
13:39
не, файловая
13 Kreont
 
18.06.11
14:00
Есть в SQL-терминах понятия явная/неявная сортировка, хотя для такого простого запроса даже неявная сортировка не должна стартануть. Странно...щас на постгри проверю
14 H A D G E H O G s
 
18.06.11
14:01
(13) Там как раз неявная сортировка
15 H A D G E H O G s
 
18.06.11
14:09
Все просто - в выборке нет измерений!
16 H A D G E H O G s
 
18.06.11
14:13
нет измерений! -> нет ресурсов!
17 H A D G E H O G s
 
18.06.11
14:18
Нет ресурсов - SQL юзает IndexScan при выборке - выборка упорядочена по измерениям.
Есть ресурсы - SQL юзает TableScan при выборке - выборка получается "как есть"
18 H A D G E H O G s
 
18.06.11
14:19
IndexScan по индексу Измерений
_InfoRxxx_ByDims_SRRRRRR
19 Kreont
 
18.06.11
14:21
+(13) У меня аналогично как в (10)
(17) Чем если не секрет ловишь SQL-запросы?
20 H A D G E H O G s
 
18.06.11
14:21
Радует:
файловая работает также как SQL
Интересует:
Как дела в постгри
21 shurik_klgd
 
18.06.11
14:22
Короче хз почему, но
1)
ВЫБРАТЬ    
   РегШтрихкоды.ТипШтрихкода,
   РегШтрихкоды.Штрихкод,
   РегШтрихкоды.Владелец
ИЗ
   РегистрСведений.Штрихкоды КАК РегШтрихкоды
ГДЕ
   РегШтрихкоды.Владелец = &Владелец

2)
ВЫБРАТЬ    
   РегШтрихкоды.ТипШтрихкода,
   РегШтрихкоды.Штрихкод,
   РегШтрихкоды.Владелец
ИЗ
   РегистрСведений.Штрихкоды КАК РегШтрихкоды


Результат первого запроса упорядочен по Штрихкод, результат второго запроса НЕ упорядочен, а выводит как есть в таблице физически
22 H A D G E H O G s
 
18.06.11
14:22
(19) profiler + enterprise manager + execution plan
23 Kreont
 
18.06.11
14:22
аналогично неправильно :)
24 shurik_klgd
 
18.06.11
14:24
+(21) хотя тут ни в 1) ни 2) ресурсов нету
25 H A D G E H O G s
 
18.06.11
14:26
(24) Смотреть план запроса.
26 H A D G E H O G s
 
18.06.11
14:26
Сортируйте принудительно!
инфа 100%
27 H A D G E H O G s
 
18.06.11
14:33
(21) А у меня - оба отсортированны по коду