Имя: Пароль:
1C
1С v8
Задублировать строки в запросе/Скд
0 Drukkk
 
20.12.16
12:16
Здравствуйте, обычно обращаются с обратным, но я видимо не ищу легких путей)
есть выборка данных у которой один из выбираемых реквизитов содержит количество объектов, необходимо в зависимости от значения этого числа выводить такое же количество строк в результате запроса/в итоге в отчете
например:
Наименование           КоличествоОбъектов
Стул              1         1  
Стол              1         2
Стол              1         2

Данные хранятся в регистре в виде Стул - 5шт, Стол-2шт

выводится это дело на табличный документ, есть ли варианты на этапе запроса/настроек скд продублировать строки или придется все таки править итоговый табдок?
не упр формы.
1 VladZ
 
20.12.16
12:22
(0) Зачем?
2 VladZ
 
20.12.16
12:23
Перефразирую: какова конечная цель?
3 VladZ
 
20.12.16
12:24
А если количество будет 100? А 1000? А если мульон?
4 Drukkk
 
20.12.16
12:27
(1)
пожелания пользователя(откуда же еще такое может придуматься), цифры в пределах 1-10 не должно быть ничего страшного, но как информация для учета возможных косяков спасибо
5 VladZ
 
20.12.16
12:29
Выводи программно. Т.е. получил всю инфу запросом, а потом повторяй при выводе нужное количество раз.

А в целом, задача странная. На большой количестве данных - завалится.
6 Windyhead
 
20.12.16
12:29
(0) Если значение будет до 10 Сделай такую табличку и соеднии с ней по условию меньше равно.

ВЫБРАТЬ
    1
ПОМЕСТИТЬ ВТНомера


ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    9
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    10
;
7 VladZ
 
20.12.16
12:29
*на большом.
8 Drukkk
 
20.12.16
12:31
(6) попробую, спасибо
9 Windyhead
 
20.12.16
12:31
(5) Зачем циклом если можно запросом?
10 VladZ
 
20.12.16
12:32
(9) Затем что нет гарантии, что завтра число 10 станет числом 15 или 20.
11 Windyhead
 
20.12.16
12:45
(10) Гарантий никогда никаких нет, но есть условия задачи.
Можно подстраховаться и сделать на 100 или 1000
Например такой конструкцией
ВЫБРАТЬ
    Единицы.Номер + Десятки.Номер * 10 + ЕСТЬNULL(Сотни.Номер, 0) * 100 + 1 КАК НомерСтроки
ПОМЕСТИТЬ ВТНомераСтрок
ИЗ
    ВТНомера КАК Единицы
        ЛЕВОЕ СОЕДИНЕНИЕ ВТНомера КАК Десятки
        ПО (ИСТИНА)
        ЛЕВОЕ СОЕДИНЕНИЕ ВТНомера КАК Сотни
        ПО (ИСТИНА)
ГДЕ
    Единицы.Номер + Десятки.Номер * 10 + ЕСТЬNULL(Сотни.Номер, 0) * 100 <= 999
12 Windyhead
 
20.12.16
12:47
ведь врядли кто то хочет видеть 1000 строк по каждой позиции, тут наверное уже будет теряться задумка
13 ИС-2
 
20.12.16
13:05
на ИС свежая статья. Может поможет

http://catalog.mista.ru/public/568551/
14 Drukkk
 
20.12.16
15:49
(13) спасибо!