Имя: Пароль:
1C
1С v8
Запрос. Развертка строки.
, ,
0 VOI
 
25.03.14
14:31
Доброго времени суток. Вопрос по конструкции запроса.
Возможно ли запросом реализовать развертку строки по сумме.
Пример:  
Номенклатура   Количество
Товар№1            3

Необходим результат
Номенклатура   Количество
Товар№1            1
Товар№1            1
Товар№1            1
Уже второй день мучаюсь.. направте на плравельный путь, плиз!
1 cw014
 
25.03.14
14:33
Зачем?
2 kosts
 
25.03.14
14:34
(0) Соединение с табличкой из трех строк. Для чего интересно...
3 Господин ПЖ
 
25.03.14
14:36
бруталфорс - собрать union all кодом в цикле
4 Arseny
 
25.03.14
14:45
А если количество будет дробным?
5 VOI
 
25.03.14
14:46
(1) (2)
Для чего это нужно.
Конфигурация самописная и в ней есть справочник "продукт" в котором есть реквизиты "количество пассажиров" , "сумма" а также  в нем есть таблица (как расшифровка) "Пассажиры" (столбцы - Фио и сумма). Так вот количество пассажиров в таб. "пассажиры" не всегда равно значению реквизита "количество пассажиров".
А мне необходимо построить отчет |Продукт | Пассажир| сумма |
Так вот, если табл "пассажиры" пуста а реквизит "количество пассажиров" > 0 то необходимо вывести продуктов сколько в количестве, пассажир = <пусто> , ну и понятно среднюю сумму (сумма/количество).
6 VOI
 
25.03.14
14:47
(4) не будет )
7 fvadim
 
25.03.14
14:49
Для конечного количества (в данном случае, не больше 20)

ВЫБРАТЬ Наименование, 1 ИЗ (
ВЫБРАТЬ "ЫЫЫ-1" КАК Наименование, 1 КАК НОМЕР ОБЪЕДИНИТЬ
ВЫБРАТЬ "ЫЫЫ-2" КАК Наименование, 2 КАК НОМЕР ОБЪЕДИНИТЬ
ВЫБРАТЬ "ЫЫЫ-3" КАК Наименование, 3 КАК НОМЕР ОБЪЕДИНИТЬ
ВЫБРАТЬ "ЫЫЫ-4" КАК Наименование, 4 КАК НОМЕР
) КАК Запрос0
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ 1 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 2 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 3 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 4 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 5 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 6 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 7 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 8 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 9 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 10 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 11 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 12 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 13 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 14 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 15 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 16 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 17 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 18 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 19 КАК номер ОБЪЕДИНИТЬ
ВЫБРАТЬ 20 КАК номер) КАК Запрос1
ПО Запрос1.Номер <= Запрос0.НОмер
8 patapum
 
25.03.14
14:50
(5) запросом сделать либо нельзя, либо с жуткими извращениями. запросом получи с нормальным количеством, потом обходи выборку и выводи в отчет столько строк, сколько надо
9 Господин ПЖ
 
25.03.14
14:51
(5) так верстают .удаки...
10 fvadim
 
25.03.14
14:51
в (5) не вник, решал для сферического коня в вакууме
11 VOI
 
25.03.14
14:53
(10) ой тип того..))
(9) а как верстают не удаки? :)
12 VOI
 
25.03.14
14:54
(7) спасибо!
13 zladenuw
 
25.03.14
14:55
(как расшифровка) "Пассажиры" (столбцы - Фио и сумма). Так вот количество пассажиров в таб. "пассажиры" не всегда равно значению реквизита "количество пассажиров".

так у тебя есть номер строки в тч. добавляешь ее и все. не будет у тебя сворачивать
14 13_Mult
 
25.03.14
14:59
Жесть какая !
15 Ненавижу 1С
 
гуру
25.03.14
15:01
(7) можно использовать уже готовый РС РегламентированныйПроизводственныйКалендарь или КурсыВалют
16 Господин ПЖ
 
25.03.14
15:06
>Так вот количество пассажиров в таб. "пассажиры" не всегда равно значению реквизита "количество пассажиров"

правильно... только это обычно значит

1. Иванов +1
2. Петров
3. Сидоров +2

всего пассажиров: 6

не может не сойтись итог с кол-вом в строках

>если табл "пассажиры" пуста а реквизит "количество пассажиров" > 0 то необходимо вывести продуктов сколько в количестве, пассажир = <пусто>

это хрень какая-то... тут играем, тут не играем, тут рыбу заварачиваем