|
Опустить пустые строки вниз, в запросе | ☑ | ||
---|---|---|---|---|
0
OASU
21.10.11
✎
11:37
|
В запросе две таблицы соединяются по номеру строки и заказу, и только благодаря этому данные в левой части соответсвуют данным в правой таблице, по размерам номенклатуры.
Но бывают и пустые строки в одной из таблиц, например: Номенклатура 22 - "0" Номенклатура 11 - НоменклатураМ 11 Номенклатура 33 - НоменклатураМ 33 И эта пустая часть бывает выходит на верх, а нужно что бы всегда вниз сдвигались. Подскажите как это сделать? Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | ТЗ.* |ПОМЕСТИТЬ ТЗ |ИЗ | &ТЗ КАК ТЗ |; | |ВЫБРАТЬ | ТЗ2.* |ПОМЕСТИТЬ ТЗ2 |ИЗ | &ТЗ2 КАК ТЗ2 |; |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЕстьNull(ТЗ.Заказ, ТЗ2.Заказ) КАК Заказ, | Выбор Когда ТЗ.НоменклатураМ ЕСТЬ NULL Тогда 0 Иначе ТЗ.НоменклатураМ Конец КАК НоменклатураМ, | Выбор Когда ТЗ2.Номенклатура ЕСТЬ NULL Тогда 0 Иначе ТЗ2.Номенклатура Конец КАК Номенклатура, | ТЗ.ЕдИзмМ, ТЗ2.ЕдИзм, | ТЗ2.Артикул, ТЗ.Артикул, | ТЗ.НомерСтрокиМ, ТЗ2.НомерСтроки, | ТЗ2.НачальныйОстаток, ТЗ.НачальныйОстатокМ, | ТЗ2.КонечныйОстаток, ТЗ.КонечныйОстатокМ, | ТЗ2.Приход, ТЗ.ПриходМ, ТЗ2.Расход, ТЗ.РасходМ | |ИЗ | ТЗ КАК ТЗ | Полное СОЕДИНЕНИЕ ТЗ2 КАК ТЗ2 | ПО ТЗ.НомерСтрокиМ = ТЗ2.НомерСтроки И ТЗ.Заказ = ТЗ2.Заказ | |ИТОГИ | МАКСИМУМ(Номенклатура),МАКСИМУМ(НоменклатураМ), | МАКСИМУМ(ТЗ.Артикул), МАКСИМУМ(ТЗ2.Артикул), | МАКСИМУМ(ТЗ.НомерСтрокиМ), МАКСИМУМ(ТЗ2.НомерСтроки), | МАКСИМУМ(ТЗ2.ЕдИзм), МАКСИМУМ(ТЗ.ЕдИзмМ), | СУММА(ТЗ2.НачальныйОстаток), | СУММА(ТЗ.НачальныйОстатокМ), | СУММА(ТЗ.ПриходМ), | СУММА(ТЗ2.КонечныйОстаток), | СУММА(ТЗ.КонечныйОстатокМ), | СУММА(ТЗ.РасходМ), | СУММА(ТЗ2.Приход), | СУММА(ТЗ2.Расход) |ПО | |"+ТекстГруппировки+" |ТЗ.НоменклатураМ |; |Уничтожить ТЗ |; |Уничтожить ТЗ2 |"; |
|||
1
ssh2006
21.10.11
✎
11:41
|
" выходит на верх " - где уходит?
|
|||
2
OASU
21.10.11
✎
11:45
|
(1) как в примере нарисовано )) Номенклатура 22 - "0".
Номенклатура 22 - это левая часть таблицы, а напротив в правой таблице пусто. И вот это "пусто" первая строка в таблице, нужно что бы всегда последняя стояла. |
|||
3
ssh2006
21.10.11
✎
11:48
|
сортируй по НоменклатураМ
|
|||
4
OASU
21.10.11
✎
11:51
|
(3) т.е. выгражать результат запроса в ТЗ, и делать Сортировать ? а средствами запросами?
|
|||
5
ssh2006
21.10.11
✎
11:54
|
" а средствами запросами? " - УПОРЯДОЧИТЬ ПО
|
|||
6
OASU
21.10.11
✎
11:55
|
(5) не помогает
|
|||
7
ssh2006
21.10.11
✎
11:58
|
Сделай так. Добавь поле: Выбор Когда ТЗ.НоменклатураМ ЕСТЬ NULL Тогда 0 Иначе 1 конец как поле1 и сортируй по нему
|
|||
8
OASU
21.10.11
✎
12:00
|
(7) нет, не помогает это...
|
|||
9
ssh2006
21.10.11
✎
12:03
|
" выгражать результат запроса в ТЗ, и делать Сортировать " - плохо
" средствами запросами " - хорошо Добейся того, чтобы получилась сортировка в запросе |
|||
10
Starhan
21.10.11
✎
12:06
|
(8) спасибо за хорошее настроение :)
|
|||
11
OASU
21.10.11
✎
12:07
|
(9) :))) кажется уже все перепробовано, ну не получается...
|
|||
12
ssh2006
21.10.11
✎
12:09
|
(11) не опускай руки.
|
|||
13
OASU
21.10.11
✎
13:08
|
| Выбор Когда ТЗ.НачальныйОстатокМ ЕСТЬ NULL Тогда 0 Иначе ТЗ.НачальныйОстатокМ Конец КАК НачальныйОстатокМ,
... |УПОРЯДОЧИТЬ ПО |ТЗ.НачальныйОстатокМ Убыв Так вроде работает нормально )) Насколько это надежно, вопрос )) |
|||
14
rs_trade
21.10.11
✎
13:11
|
(8) по убыванию сортировку поставь. либо Когда ТЗ.НоменклатураМ ЕСТЬ NULL Тогда 1 Иначе 0
|
|||
15
OASU
21.10.11
✎
14:13
|
(13) нашлось таки слабое место... Не помогло опять ((
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |