|   |   | 
| 
 | В запросе заполнить пустые значения последним значением по периоду | ☑ | ||
|---|---|---|---|---|
| 0
    
        smartu 12.03.15✎ 16:48 | 
        Есть временная таблица: 
 01.01.2014 0:00:00 100 01.02.2014 0:00:00 Null 01.03.2014 0:00:00 Null 01.04.2014 0:00:00 Null 01.05.2014 0:00:00 150 01.06.2014 0:00:00 200 01.07.2014 0:00:00 Null 01.08.2014 0:00:00 Null 01.09.2014 0:00:00 Null 01.10.2014 0:00:00 Null 01.11.2014 0:00:00 Null 01.12.2014 0:00:00 Null подскажите, как ее в запросе привести к виду: 01.01.2014 0:00:00 100 01.02.2014 0:00:00 100 01.03.2014 0:00:00 100 01.04.2014 0:00:00 100 01.05.2014 0:00:00 150 01.06.2014 0:00:00 200 01.07.2014 0:00:00 200 01.08.2014 0:00:00 200 01.09.2014 0:00:00 200 01.10.2014 0:00:00 200 01.11.2014 0:00:00 200 01.12.2014 0:00:00 200 т.е. заменить null последним значением по периоду. | |||
| 1
    
        Napalmmm 12.03.15✎ 16:55 | 
        Может быть так?
 Для Сч = 0 По ВременнаяТаблица.Количество() Цикл Если ВременнаяТаблица[Сч].<СтрокаСКоличеством> = Null Тогда ВременнаяТаблица[Сч].<СтрокаСКоличеством> = ВременнаяТаблица[Сч-1].<СтрокаСКоличеством> КонецЕсли; КонецЦикла; При условии, что первая строка <> Null | |||
| 2
    
        Napalmmm 12.03.15✎ 16:55 | 
        (1) КолонкаСКоличеством*     | |||
| 3
    
        Napalmmm 12.03.15✎ 16:57 | 
        (1) Для Сч = 0 По ВременнаяТаблица.Количество()-1 Цикл 
 Еще один мой косяк | |||
| 4
    
        smartu 12.03.15✎ 16:57 | 
        необходимо инструментами запроса.     | |||
| 5
    
        smartu 12.03.15✎ 16:58 | 
        необходимо соединение, условие связи не пойму какое нужно     | |||
| 6
    
        Napalmmm 12.03.15✎ 16:58 | 
        (4) Извини, туплю
 Вариант: выгрузить запрос в тз, дозаполнить значениями и "вернуться" в запрос с уже заполненной тз не подходит? | |||
| 7
    
        smartu 12.03.15✎ 17:01 | 
        наверное не подойдет, отчет скд     | |||
| 8
    
        alex_shkut 12.03.15✎ 17:02 | 
        Посмотрите здесь, может что подойдет:
 Книга знаний: Срез последних на каждую дату в запросе | |||
| 9
    
        Лефмихалыч 12.03.15✎ 17:16 | 
        ВЫБРАТЬ
 ВТ.Дата, ВТ.Значение ПОМЕСТИТЬ ВТ ИЗ &ВТ КАК ВТ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Дата, ВТ.Значение ПОМЕСТИТЬ ТолькоЗаполненные ИЗ ВТ КАК ВТ ГДЕ ВТ.Значение > 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Дата, ВТ.Значение, ТолькоЗаполненные.Значение КАК Значение1 ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ВТ.Дата КАК ОсновнаяДата, МАКСИМУМ(ТолькоЗаполненные.Дата) КАК ДатаМаксимум ИЗ ВТ КАК ВТ ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТолькоЗаполненные КАК ТолькоЗаполненные ПО ВТ.Дата >= ТолькоЗаполненные.Дата СГРУППИРОВАТЬ ПО ВТ.Дата) КАК ВЗ ЛЕВОЕ СОЕДИНЕНИЕ ТолькоЗаполненные КАК ТолькоЗаполненные ПО ВЗ.ДатаМаксимум = ТолькоЗаполненные.Дата ПО ВТ.Дата = ВЗ.ОсновнаяДата | |||
| 10
    
        Лефмихалыч 12.03.15✎ 17:17 | ||||
| 11
    
        Крошка Ру 12.03.15✎ 17:28 | 
        (9) Вложенный запрос - это зло. Особенно в соединениях     | |||
| 12
    
        Nuobu 12.03.15✎ 17:35 | 
        (11) А почему? Как тогда сделать срез последних на дату в запроса?     | |||
| 13
    
        Nuobu 12.03.15✎ 17:36 | 
        (12) запроса = запросе.     | |||
| 14
    
        mikecool 12.03.15✎ 17:38 | 
        (11) продолжайте так считать     | |||
| 15
    
        Крошка Ру 12.03.15✎ 17:39 | 
        (14) Так считаю не я     | |||
| 16
    
        Nuobu 12.03.15✎ 17:59 | 
        (15) А кто тогда? Фраза - Ваша.     | |||
| 17
    
        vyaz 12.03.15✎ 18:26 | 
        (16) Так считает оптимизатор сервера СУБД при построении плана запроса, скорее всего из-за Nested Loops     | |||
| 18
    
        D_E_S_131 12.03.15✎ 18:34 | 
        (12) Через временную таблицу, где будут предварительно выбраны значения для подстановки.     | |||
| 19
    
        D_E_S_131 12.03.15✎ 18:36 | 
        (18) По примеру того как получают запросом курс валюты на дату документа.     | |||
| 20
    
        Nuobu 12.03.15✎ 19:07 | 
        (19) (18) Как выбирают?     | |||
| 21
    
        Nuobu 12.03.15✎ 19:07 | 
        (20) Тоесть получают.     | |||
| 22
    
        D_E_S_131 12.03.15✎ 19:50 | 
 | |||
| 23
    
        D_E_S_131 12.03.15✎ 19:53 | 
        (22) Обрати внимание, что в первом запросе условие по Периоду идет >= (все периоды загрузки курсов до даты документа, а из них ближайшая через МАКСИМУМ()), а во втором запросе условие по Периоду = (получаем конкретную запись регистра сведений).     | |||
| 24
    
        Лефмихалыч 13.03.15✎ 08:24 | 
        (11) категоричность суждений - признак поверхностности знаний предмета     | |||
| 25
    
        D_E_S_131 13.03.15✎ 09:59 | 
        (24) Некоторым нужно говорить "Делай так, а так не делай!", а углублять знание предмета только после оценки реакции.
 1. "ОК, сделаю" — не углублять. 2. "А почему так не делать?" — углублять. | |||
| 26
    
        Крошка Ру 13.03.15✎ 18:55 | 
        (24) Правильно говорить не "поверхностности", а "обширности".     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |