Имя: Пароль:
1C
1С v8
разбить строку на n записей запросом
0 mxs089
 
23.10.14
11:51
СКД, есть строка из таблицы, которая содержит колонку количество, можно ли вывести эту строку столько раз, сколько указано в колонке количество?
1 Cube
 
23.10.14
11:52
Разрешаю. Но зачем?
2 mxs089
 
23.10.14
11:53
я не разрешения спрашивал, я спрашивал есть ли такая возможность, как реализовать?
3 mxs089
 
23.10.14
11:53
я тоже думаю, что это лишнее, такое ТЗ, не удалось переубедить заказчика
4 butterbean
 
23.10.14
11:53
не выйдет
5 Cube
 
23.10.14
11:59
(3) Ты не ответил на вопрос "Зачем?". Задачу опиши.
6 mxs089
 
23.10.14
12:01
(5) зуп, отчет штатное расписание, нужно вакантные ставки выводить не вакантная ставка с кол. шт. ед. 10, а разбить на отдельные строки
7 Cube
 
23.10.14
12:03
(6) Число строк, которое нужно получить на выходе ты знаешь до выполнения запроса или это число ты узнаешь только в процессе исполнения запроса?
8 mxs089
 
23.10.14
12:04
(7) в процессе, т.к. собираю кол. шт. ед. которые заняты
9 kosts
 
23.10.14
12:04
(6) > кол. шт. ед. 10
Это уже не запрос, это уже СКД
10 Cube
 
23.10.14
12:11
(8) Танцуй от этого:

ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Количество
ИЗ
    (ВЫБРАТЬ
        0 КАК a
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        1
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        2
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        3
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        4
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        5
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        6
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        7
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        8
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        9) КАК aa
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            0 КАК b
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            1
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            2
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            3
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            4
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            5
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            6
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            7
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            8
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            9) КАК bb
        ПО (ИСТИНА)
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            0 КАК c
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            1
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            2
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            3
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            4
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            5
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            6
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            7
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            8
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            9) КАК cc
        ПО (ИСТИНА)
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            0 КАК d
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            1
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            2
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            3
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            4
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            5
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            6
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            7
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            8
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            9) КАК dd
        ПО (ИСТИНА)
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
            ПоступлениеТоваровУслугТовары.Количество КАК Количество
        ИЗ
            Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ГДЕ
            ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка
            И ПоступлениеТоваровУслугТовары.НомерСтроки = &НомерСтроки) КАК ВложенныйЗапрос
        ПО (ИСТИНА)
ГДЕ
    aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d < ВложенныйЗапрос.Количество
11 Сильф
 
23.10.14
12:12
В порядке бреда промелькнула мысль сделать эту колонку Количество периодом и попробовать как-то использовать дополнение периодов.
12 Cube
 
23.10.14
12:12
+(10) этот страшный кусок запроса можно найти на мисте по запросу "срез последних на каждую дату в запросе"
13 mxs089
 
23.10.14
12:31
(12) в скд можно реализовать проще, получать значение на дату
14 mxs089
 
23.10.14
12:33
(10) спасибо, попытаюсь разобраться...
15 mxs089
 
23.10.14
12:37
думаю еще можно через объект реализовать
16 DrZombi
 
гуру
23.10.14
12:39
(14) А чего просто не выведешь простым отчетом, по старинке, как в 1С 7.7? :)
Что так на СКД все возложили? :)