Имя: Пароль:
1C
1С v8
Соединение нескольких таблиц
0 UserTizer
 
17.11.14
16:43
Привет! Никак не допру как соединить таблицы, чтобы валюта курса бралась с регистра цен, а дата курса по документу

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



И теперь бы сделать связь

РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ
  РегистрСведений.КурсыВалют ПО Валюта = Валюта
1 UserTizer
 
17.11.14
16:48
Во вложенном запросе просто беру самую последнюю дату установки цен.

А потом беру саму цены из того же регистра сведений.

И вот теперь эту цену нужно перевести в рубли на дату документа ...
2 Ник второй
 
17.11.14
16:49
кури срезпоследних на дату документа.
3 olegves
 
17.11.14
16:50
(0) сначала выбери временную таблицу из РСв курсов с полями Дата, Курс с условием Дата В (Запрос к датам документов)

а потом вяжи эту таблицу на запрос
4 UserTizer
 
18.11.14
11:14
(3) Да,cпасибо, так и сделал. Думал все же получится 3 таблицы связать за раз, но пришлось через ВТ делать
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший