Имя: Пароль:
1C
1С v8
Обязательный параметр СКД "ПЕРИОД"
0 Sereja
 
03.06.14
18:41
День добрый, есть запрос, который получает курсы валют на каждую дату. Сделано по аналогии с http://kb.mista.ru/article.php?id=92 (первый вариант непосредственно в запросе)

Запрос имеет следующий вид.

Когда я выполняю этот запрос в консоли запросов, получаю вариант, который мне нужен. Примерно:
01.01.14 EUR 15000
01.02.14 EUR 15100
01.03.14 EUR 15200 и т.д.

Когда этот запрос вставляю в СКД, там появляется какой-то обязательный параметр "Период". Который удалить нельзя. И на выходе отчет выдает только одну строку (курсы на текущую дату). Подскажите, что можно сделать.

ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ТМЦНаСкладах_КоличествоОстатки.Партия.ДатаПрихода, ДЕНЬ) КАК ПериодПрихода,
    ТМЦНаСкладах_КоличествоОстатки.Партия.ВалютаУЕ
ПОМЕСТИТЬ ВТ_ВалютыИДатуПрихода
ИЗ
    РегистрНакопления.ТМЦНаСкладах_Количество.Остатки КАК ТМЦНаСкладах_КоличествоОстатки

СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(ТМЦНаСкладах_КоличествоОстатки.Партия.ДатаПрихода, ДЕНЬ),
    ТМЦНаСкладах_КоличествоОстатки.Партия.ВалютаУЕ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МАКСИМУМ(КурсыВалют.Период) КАК ПериодКурса,
    ВТ_ВалютыИДатуПрихода.ПериодПрихода,
    ВТ_ВалютыИДатуПрихода.ПартияВалютаУЕ
ПОМЕСТИТЬ ВТ_ПериодыКурсаИВалюты
ИЗ
    ВТ_ВалютыИДатуПрихода КАК ВТ_ВалютыИДатуПрихода
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
        ПО ВТ_ВалютыИДатуПрихода.ПериодПрихода >= КурсыВалют.Период
            И ВТ_ВалютыИДатуПрихода.ПартияВалютаУЕ >= КурсыВалют.Валюта

СГРУППИРОВАТЬ ПО
    ВТ_ВалютыИДатуПрихода.ПериодПрихода,
    ВТ_ВалютыИДатуПрихода.ПартияВалютаУЕ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПериодыКурсаИВалюты.ПартияВалютаУЕ,
    КурсыВалют.Курс КАК КурсПрихода,
    КурсыВалют.Период КАК ПериодКурсаПрихода
ИЗ
    ВТ_ПериодыКурсаИВалюты КАК ВТ_ПериодыКурсаИВалюты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
        ПО ВТ_ПериодыКурсаИВалюты.ПериодКурса = КурсыВалют.Период
            И ВТ_ПериодыКурсаИВалюты.ПартияВалютаУЕ = КурсыВалют.Валюта
1 Defender aka LINN
 
03.06.14
18:46
Делай по второму варианту, я тебе гарантирую, он тоже хороший :)
А вообще - ты жертва автозаполнения за номером... Уже даже со счета сбился.
2 Defender aka LINN
 
03.06.14
18:49
Но вообще - это дата, на которую остатки берутся и к курсам никакого отношения не имеет
3 Sereja
 
03.06.14
18:53
(2) я понимаю что к курсу отношения не имеет, но создается впечатление, что этот параметр накладывается на регистр курсов.
4 Sereja
 
03.06.14
18:53
(1) Если убрать галку автозаполнение, и заполнить вручную, это поможет ?
5 Sereja
 
03.06.14
18:58
(1) Сам запрос намного сложнее, поэтому использую первую схему. Вторая схема хороша, использую ее время от времени
6 Defender aka LINN
 
03.06.14
19:03
(3) Чтобы было меньше лишних впечатлений - посмотри итоговый текст запроса СКД.
7 Defender aka LINN
 
03.06.14
19:05
(5) Угу, кто бы сомневался. А потом и выясняется "ну, я тут несущественное опустил, кому интересно, какие я условия в запросе накладываю, это же ЛЕВОЕ соединение!"
8 Sereja
 
04.06.14
11:59
(6) Спасибо. Это помогло. СКД выкинуло из запроса нужное мне поле, потому что оно не участвовало в финальном выводе.