v8: Запрос по регистру сведений: значение на каждую дату #614633


#0 by oleg_prg
Добрый день. Люди добрые, помогите решить задачку. Необходимо с помощью запроса получить курсы валют на КАЖДЫЙ день, вне зависимости от того было движение по запросу или нет. БЕЗ СКД, только запросом, СКД использоваться не будет - такое условие. Надо получить такой результат Валюта День          Курс USD      01/01/12     35 USD      01/02/12     35 USD      01/03/12     35 USD      01/04/12     36 USD      01/05/12     36 USD      01/07/12     37 USD      01/08/12     37 USD      01/09/12     37 Но в регистре сведений есть движения только такие Валюта День          Курс USD      01/01/12     35 USD      01/04/12     36 USD      01/07/12     37 Заранее благодарен! Вот то что у меня получилось на текущий момент Идея такая - создать таблицу с датами и по датам получать результат регистра сведений            2                ОБЪЕДИНИТЬ            3                ОБЪЕДИНИТЬ            4                ОБЪЕДИНИТЬ            5                ОБЪЕДИНИТЬ            6                ОБЪЕДИНИТЬ            7                ОБЪЕДИНИТЬ            8                ОБЪЕДИНИТЬ            9                ОБЪЕДИНИТЬ                        2                        ОБЪЕДИНИТЬ                3                        ОБЪЕДИНИТЬ                4                        ОБЪЕДИНИТЬ                5                        ОБЪЕДИНИТЬ                6                        ОБЪЕДИНИТЬ                7                        ОБЪЕДИНИТЬ                8                        ОБЪЕДИНИТЬ                9                        ОБЪЕДИНИТЬ                            2                        ОБЪЕДИНИТЬ                3                        ОБЪЕДИНИТЬ                4                        ОБЪЕДИНИТЬ                5                        ОБЪЕДИНИТЬ                6                        ОБЪЕДИНИТЬ                7                        ОБЪЕДИНИТЬ                8                        ОБЪЕДИНИТЬ                9                        ОБЪЕДИНИТЬ                            2                        ОБЪЕДИНИТЬ                3                        ОБЪЕДИНИТЬ                4                        ОБЪЕДИНИТЬ                5                        ОБЪЕДИНИТЬ                6                        ОБЪЕДИНИТЬ                7                        ОБЪЕДИНИТЬ                8                        ОБЪЕДИНИТЬ                9                        ОБЪЕДИНИТЬ
#1 by DrShad
в книгу знаний там это уже давно все решено
#2 by shuhard
читай классиков в разделе книги знаний есть высоконаучная статья Срез последних на каждую дату
#3 by andrewks
лень читать длинный код. формирование таблицы дат: а дальше соединение с РС, и вперёд
#4 by DrShad
ну выбрать даты он осилил, а вот соединить с РС не смог
#5 by andrewks
ну, наверное, ему надо смотреть в сторону СрезПоследних
#6 by oleg_prg
Спасибо за совет, по поводу статьи "Срез последних на каждую дату" - читат, гуглил, я же говорю не получается, проблема в том, что я не могу понять как объединить эти таблицы, в 1С8 новичок. Если можно помогите конкретным кодом по этой задаче.
#7 by oleg_prg
В запросе СрезПоследних может принять лишь дату из параметра например &Дата1, поэтому срезПоследних неподходит, надо как то с МАКСИМУМ и запрос в запросе, ч-з левое соединение, но как - не могу сообразить
#8 by shuhard
чё то ты гонишь, в статье готовый код, который ни с чем соединять не надо
#9 by andrewks
чё-чё?
#10 by oleg_prg
я реально брал код из статьи, правил в консоли запросов, получил только последние курсы, таблицы дат не было.
#11 by oleg_prg
Я же говорю, форум для меня это крайний случай, обычно сам все раскапываю, а с этой задачей сижу туплю, незнаю как сделать... Кому не влом, помогите плиз рабочим кодом. Надеюсь на понимание
#12 by shuhard
ещё раз код в статье рабочий, проверенный тысячи раз
#13 by oleg_prg
ВотВЫБРАТЬ Таблица3.Курс, Таблица3.Валюта, Таблица3.Период ИЗ (ВЫБРАТЬ
#14 by oleg_prg
Это код? Или я чет путаю?
#15 by oleg_prg
Именно его я брал за основу из статьи, не получилось, в консоли запросов получил последние курсы на &КонецПериода
#16 by oleg_prg
т.е. такого результата не получил Валюта День          Курс USD      01/01/12     35 USD      01/02/12     35 USD      01/03/12     35 USD      01/04/12     36 USD      01/05/12     36 USD      01/07/12     37 USD      01/08/12     37 USD      01/09/12     37
#17 by andrewks
не так соединил, значит. у тебя должно быть соединение двух таблиц - таблицы-результата вложенного запроса с таблицей регистра курсов. во вложенном запросе - соединение таблицы дат с таблицей регистра курсов с группировкой и максимумом, в выхлопе ты должен получить для каждой заданной даты - дату установки курса
#18 by andrewks
вот примерно так должен выглядеть вложенный запрос: в итоге ты будешь иметь соответствие, что, например, курс, действующий на дату Дата1, установлен в день Дата2 ну, а дальше - дело техники, соединить с регистром и выцепить из этой даты курс
#19 by andrewks
короче, вот:
#20 by oleg_prg
andrewks Спасибо тебе ОГРОМНОЕ!!! Именно так!
#21 by SnarkHunter
#22 by PiVa123
> БЕЗ СКД, только запросом, СКД использоваться не будет - такое условие. Видима было страшно начинать, тем более из СКД получать таблицу значений.
#23 by oleg_prg
Ну сложно мне даются запросы, что поделать. 12 лет отработал с 1С7.7, теперь вот осваиваю 1с8.х, мозг заточился в другую сторону... Работаю один, на курсах не был, читаю статьи в инете, смотрю видеоуроки, рядом нет знакомых или кого бы можно было спросить, все осваиваю сам... По поводу СКД, прикол в том что на СКД я это сделал. Спасибо всем за участие )))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С