|
Как в запросе связать регистр сведений с документом по полю период и дата | ☑ | ||
---|---|---|---|---|
0
shavkat
25.04.13
✎
11:09
|
Добрый день
Есть документ Реализаия и РегистрСведений Курс (СрезПоследних) Как в запросе на каждый документ связать "РегистрСведений Курс" чтоб на выходе было 2 колонки: Документ и курс на дату документа? Заранее благодарю |
|||
1
Wobland
25.04.13
✎
11:10
|
по полям валюта и период/дата
|
|||
2
zak555
25.04.13
✎
11:11
|
левое соединение
|
|||
3
zak555
25.04.13
✎
11:15
|
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка КАК Документ, РеализацияТоваровУслуг.КурсВзаиморасчетов КАК КурсДокумента, ЕСТЬNULL(КурсыВалют.Курс, 0) КАК КурсРегистра ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют ПО РеализацияТоваровУслуг.ВалютаДокумента = КурсыВалют.Валюта И РеализацияТоваровУслуг.Дата >= КурсыВалют.Период |
|||
4
exwill
25.04.13
✎
11:17
|
(3) ну-ну
|
|||
5
Иешуа
25.04.13
✎
11:17
|
Вот те кусок кода из реального отчета.
На выходе ты получишь КурсыНаДатыЗаказов т.е. на дату каждого документа ты будешь знать курс валюты. ВЫБРАТЬ ДатыКурсов.ДатаЗаказа, ДатыКурсов.Валюта, Курсы.Курс, Курсы.Кратность ПОМЕСТИТЬ КурсыНаДатыЗаказов ИЗ (ВЫБРАТЬ ДатыЗаказов.ДатаЗаказа КАК ДатаЗаказа, Курсы.Валюта КАК Валюта, МАКСИМУМ(Курсы.Период) КАК ДатаКурса ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ Заказы.ДатаЗаказа КАК ДатаЗаказа ИЗ Заказы КАК Заказы) КАК ДатыЗаказов ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Инт_КурсыВалют КАК Курсы ПО ДатыЗаказов.ДатаЗаказа >= Курсы.Период ГДЕ НЕ Курсы.Валюта.НалБезнал СГРУППИРОВАТЬ ПО ДатыЗаказов.ДатаЗаказа, Курсы.Валюта) КАК ДатыКурсов ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Инт_КурсыВалют КАК Курсы ПО ДатыКурсов.Валюта = Курсы.Валюта И ДатыКурсов.ДатаКурса = Курсы.Период ; А дальше в моем случае что-то типа такого ИЗ Заказы КАК Заказы ЛЕВОЕ СОЕДИНЕНИЕ КурсыНаДатыЗаказов КАК КурсВалютыСтоимостиОтКлиента ПО Заказы.ДатаЗаказа = КурсВалютыСтоимостиОтКлиента.ДатаЗаказа |
|||
6
zak555
25.04.13
✎
11:18
|
(4) что ну - ну ?
|
|||
7
zak555
25.04.13
✎
11:22
|
косяк в (3)
|
|||
8
shavkat
25.04.13
✎
11:38
|
(3) Я так уже делал, этот запрос выводит все курсы созданных после документа реализации.
А что РегистрСведений в срезе последних связать не получится? Я связал на выход поле курс = NULL Вот код, непонемаю где здесь я накосячил ВЫБРАТЬ РАЗЛИЧНЫЕ Реализация.Дата КАК ДатаРеализации, Реализация.Номенклатура.ВидНП КАК ВидНП, ПартииТоваров.ДокументОприходования.АЛП_Производитель КАК НПЗ, ПартииТоваров.Склад.Родитель КАК НБ, Реализация.Контрагент, Реализация.Ссылка.Сделка.АЛП_КоличествоДнейОтсрочкиПлатежа КАК Отсрочка, Реализация.Количество КАК Количество, ПартииТоваров.Склад.Родитель.АЛП_Регион, Реализация.Сделка.ДатаНачала, Реализация.Сделка.ДатаОкончания, Реализация.Цена КАК ЦенаЛитр, Реализация.Цена / Реализация.АЛП_Плотность * 1000 КАК ЦенаТОНН, Реализация.АЛП_Плотность КАК Плотность, Поступление.Цена КАК ЦенаПоступления, Реализация.Ссылка.ДоговорКонтрагента.ХарактеристикаОптовогоПокупателя ИЗ (ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка КАК Ссылка, РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент, РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, РеализацияТоваровУслугТовары.Количество КАК Количество, РеализацияТоваровУслугТовары.Сумма КАК Сумма, РеализацияТоваровУслугТовары.Цена КАК Цена, РеализацияТоваровУслугТовары.АЛП_КоличестоЛ КАК АЛП_КоличестоЛ, РеализацияТоваровУслугТовары.АЛП_Плотность КАК АЛП_Плотность, РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата, РеализацияТоваровУслугТовары.Склад.АЛП_Регион КАК СкладАЛП_Регион, РеализацияТоваровУслугТовары.Ссылка.Сделка КАК Сделка ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА И РеализацияТоваровУслугТовары.Ссылка.АЛП_ТипыРеализации = ЗНАЧЕНИЕ(Справочник.АЛП_ТипыРеализации.ОптоваяРеализация)) КАК Реализация ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваров ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка, ПоступлениеТоваровУслугТовары.Цена КАК Цена, ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК Поступление ПО ПартииТоваров.ДокументОприходования = Поступление.Ссылка ПО Реализация.Ссылка = ПартииТоваров.Регистратор ГДЕ ПартииТоваров.Период МЕЖДУ &Дата1 И &Дата2 И ПартииТоваров.ВидДвижения = &ВидДвижения УПОРЯДОЧИТЬ ПО ДатаРеализации |
|||
9
shavkat
25.04.13
✎
11:45
|
Прошу прощение, не тот код выложил
вот код с курсом ВЫБРАТЬ РАЗЛИЧНЫЕ Реализация.Дата КАК ДатаРеализации, Реализация.Номенклатура.ВидНП КАК ВидНП, ПартииТоваров.ДокументОприходования.АЛП_Производитель КАК НПЗ, ПартииТоваров.Склад.Родитель КАК НБ, Реализация.Контрагент, Реализация.Ссылка.Сделка.АЛП_КоличествоДнейОтсрочкиПлатежа КАК Отсрочка, Реализация.Количество КАК Количество, ПартииТоваров.Склад.Родитель.АЛП_Регион, Реализация.Сделка.ДатаНачала, Реализация.Сделка.ДатаОкончания, Реализация.Цена КАК ЦенаЛитр, Реализация.Цена / Реализация.АЛП_Плотность * 1000 КАК ЦенаТОНН, Реализация.АЛП_Плотность КАК Плотность, Поступление.Цена КАК ЦенаПоступления, Реализация.Ссылка.ДоговорКонтрагента.ХарактеристикаОптовогоПокупателя, КурсыВалютСрезПоследних.Курс ИЗ (ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка КАК Ссылка, РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент, РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, РеализацияТоваровУслугТовары.Количество КАК Количество, РеализацияТоваровУслугТовары.Сумма КАК Сумма, РеализацияТоваровУслугТовары.Цена КАК Цена, РеализацияТоваровУслугТовары.АЛП_КоличестоЛ КАК АЛП_КоличестоЛ, РеализацияТоваровУслугТовары.АЛП_Плотность КАК АЛП_Плотность, РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата, РеализацияТоваровУслугТовары.Склад.АЛП_Регион КАК СкладАЛП_Регион, РеализацияТоваровУслугТовары.Ссылка.Сделка КАК Сделка ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА И РеализацияТоваровУслугТовары.Ссылка.АЛП_ТипыРеализации = ЗНАЧЕНИЕ(Справочник.АЛП_ТипыРеализации.ОптоваяРеализация)) КАК Реализация ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваров ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка, ПоступлениеТоваровУслугТовары.Цена КАК Цена, ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК Поступление ПО ПартииТоваров.ДокументОприходования = Поступление.Ссылка ПО Реализация.Ссылка = ПартииТоваров.Регистратор ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(, Валюта = &Валюта) КАК КурсыВалютСрезПоследних ПО (НАЧАЛОПЕРИОДА(Реализация.Дата, ДЕНЬ) = КурсыВалютСрезПоследних.Период) ГДЕ ПартииТоваров.Период МЕЖДУ &Дата1 И &Дата2 И ПартииТоваров.ВидДвижения = &ВидДвижения УПОРЯДОЧИТЬ ПО ДатаРеализации |
|||
10
Иешуа
25.04.13
✎
11:48
|
(9) не получится у тебя так. СрезПоследних такое не умеет. Смотри мой предыдущий пост. Мы твою траблу 2 дня курили здесь на форуме... В итоге коллективный разум подсказал вариант из (5)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |