|   |   | 
| 
 | Задублировать строки в запросе/Скд | ☑ | ||
|---|---|---|---|---|
| 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 | ||||
| 14
    
        Drukkk 20.12.16✎ 15:49 | 
        (13) спасибо!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |