Имя: Пароль:
1C
1С v8
Универсальный отчет убирает левое соединение
0 dr_eugeni
 
21.02.15
13:20
Есть необходимость изменить отчет Ведомость по партиям, добавил в запрос валюты

    |ИЗ
    |    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Номенклатура).* КАК Номенклатура, (Организация).* КАК Организация, (Склад).* КАК Склад, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (ДокументОприходования).* КАК ДокументОприходования, (СтатусПартии).* КАК СтатусПартии, (Заказ).* КАК Заказ, (Качество).* КАК Качество}) КАК ИсточникДанных
    |        ЛЕВОЕ СОЕДИНЕНИЕ КурсыДоллара КАК КурсыДоллара
    |        ПО (НАЧАЛОПЕРИОДА(КурсыДоллара.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ИсточникДанных.ДокументОприходования.Дата, ДЕНЬ))
    |        ЛЕВОЕ СОЕДИНЕНИЕ КурсыДоллараПериод КАК КурсыДоллараПериод
    |        ПО (НАЧАЛОПЕРИОДА(КурсыДоллараПериод.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ)),
    |    КурсыДоллараСрезПоследних КАК КурсыДоллараСрезПоследних

запрос выдает ерунду, смотрю какой текст доходит до построителя ПостроительОтчета.ПолучитьЗапрос(), а там

ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Период, , ) КАК ИсточникДанных
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыДоллара КАК КурсыДоллара
        ПО (НАЧАЛОПЕРИОДА(КурсыДоллара.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ИсточникДанных.ДокументОприходования.Дата, ДЕНЬ)),
    КурсыДоллараСрезПоследних КАК КурсыДоллараСрезПоследних,
    КурсыДоллараПериод КАК КурсыДоллараПериод
как то исчезло второе левое соединение, что не так делаю? Подскажите, пожалуйста.
1 Defender aka LINN
 
21.02.15
14:07
полей из него не выбираешь, значит
2 dr_eugeni
 
21.02.15
14:14
поля не выбираю, беру курс доллара и рассчитываю сумму, с первым соединением точно так-же
3 dr_eugeni
 
21.02.15
14:18
Выбрал поля из всех таблиц, все равно второе левое исчезает
4 dr_eugeni
 
21.02.15
15:22
разобрался построитель убрал поле ИсточникДанных.Период из окончательного запроса
5 dr_eugeni
 
26.02.15
11:31
вернулся к этому отчету, помогите разобраться, как сделать так чтобы построитель не убирал из запроса поле регистратор, т.е. чтобы это поле выбиралось всегда ?

ВЫБРАТЬ
    КурсыВалют.Период КАК Период,
    КурсыВалют.Курс,
    КурсыВалют.Кратность
ПОМЕСТИТЬ КурсыДоллара
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
    КурсыВалют.Валюта = &Доллар

ИНДЕКСИРОВАТЬ ПО
    Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    КурсыВалют.Период КАК Период,
    КурсыВалют.Курс,
    КурсыВалют.Кратность
ПОМЕСТИТЬ КурсыДоллараРасход
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
    КурсыВалют.Валюта = &Доллар

ИНДЕКСИРОВАТЬ ПО
    Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    КурсыДоллараСрезПоследних.Курс,
    КурсыДоллараСрезПоследних.Кратность
ПОМЕСТИТЬ КурсыДоллараСрезПоследних
ИЗ
    РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыДоллараСрезПоследних
ГДЕ
    КурсыДоллараСрезПоследних.Валюта = &Доллар
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсточникДанных.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура),
    ИсточникДанных.Организация КАК Организация,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Организация),
    ИсточникДанных.Склад КАК Склад,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Склад),
    ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры),
    ИсточникДанных.СерияНоменклатуры КАК СерияНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СерияНоменклатуры),
    ИсточникДанных.ДокументОприходования КАК ДокументОприходования,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументОприходования),
    ИсточникДанных.СтатусПартии КАК СтатусПартии,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СтатусПартии),
    ИсточникДанных.Заказ КАК Заказ,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Заказ),
    ИсточникДанных.Качество КАК Качество,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Качество),
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоНачальныйОстатокВЕдиницахДляОтчетов,
    ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоНачальныйОстатокВБазовыхЕдиницах,
    ИсточникДанных.КоличествоПриход КАК КоличествоПриход,
    ИсточникДанных.КоличествоПриход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоПриходВЕдиницахДляОтчетов,
    ИсточникДанных.КоличествоПриход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоПриходВБазовыхЕдиницах,
    ИсточникДанных.КоличествоРасход КАК КоличествоРасход,
    ИсточникДанных.КоличествоРасход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоРасходВЕдиницахДляОтчетов,
    ИсточникДанных.КоличествоРасход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоРасходВБазовыхЕдиницах,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.КоличествоКонечныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоКонечныйОстатокВЕдиницахДляОтчетов,
    ИсточникДанных.КоличествоКонечныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоКонечныйОстатокВБазовыхЕдиницах,
    ИсточникДанных.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
    ИсточникДанных.СтоимостьПриход КАК СтоимостьПриход,
    ИсточникДанных.СтоимостьРасход КАК СтоимостьРасход,
    ИсточникДанных.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток,
    ВЫРАЗИТЬ(ИсточникДанных.СтоимостьПриход / КурсыДоллара.Курс КАК ЧИСЛО(15, 2)) КАК СтоимостьПриходДоллар,
    ВЫРАЗИТЬ(ИсточникДанных.СтоимостьРасход / КурсыДоллараРасход.Курс КАК ЧИСЛО(15, 2)) КАК СтоимостьРасходДоллар,
    ВЫРАЗИТЬ(ИсточникДанных.СтоимостьКонечныйОстаток / КурсыДоллараСрезПоследних.Курс КАК ЧИСЛО(15, 2)) КАК СтоимостьКонечныйОстатокДоллар,
    КурсыДоллара.Курс КАК КурсыДоллараКурс,
    КурсыДоллараРасход.Курс КАК КурсыДоллараРасходКурс,
    КурсыДоллараСрезПоследних.Курс КАК КурсыДоллараСрезПоследнихКурс,
    ИсточникДанных.Регистратор КАК Регистратор,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор),
    ИсточникДанных.Период КАК Период,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) КАК ПериодДень,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) КАК ПериодНеделя,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) КАК ПериодДекада,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) КАК ПериодМесяц,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) КАК ПериодКвартал,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) КАК ПериодГод,
    ИсточникДанных.Регистратор.Дата КАК РегистраторДата
{ВЫБРАТЬ
    Номенклатура.*,
    Организация.*,
    Склад.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    ДокументОприходования.*,
    СтатусПартии.*,
    Заказ.*,
    Качество.*,
    КоличествоНачальныйОстаток,
    КоличествоНачальныйОстатокВЕдиницахДляОтчетов,
    КоличествоНачальныйОстатокВБазовыхЕдиницах,
    КоличествоПриход,
    КоличествоПриходВЕдиницахДляОтчетов,
    КоличествоПриходВБазовыхЕдиницах,
    КоличествоРасход,
    КоличествоРасходВЕдиницахДляОтчетов,
    КоличествоРасходВБазовыхЕдиницах,
    КоличествоКонечныйОстаток,
    КоличествоКонечныйОстатокВЕдиницахДляОтчетов,
    КоличествоКонечныйОстатокВБазовыхЕдиницах,
    СтоимостьНачальныйОстаток,
    СтоимостьПриход,
    СтоимостьПриходДоллар,
    СтоимостьРасход,
    СтоимостьРасходДоллар,
    СтоимостьКонечныйОстаток,
    СтоимостьКонечныйОстатокДоллар,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод}
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Номенклатура).* КАК Номенклатура, (Организация).* КАК Организация, (Склад).* КАК Склад, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (ДокументОприходования).* КАК ДокументОприходования, (СтатусПартии).* КАК СтатусПартии, (Заказ).* КАК Заказ, (Качество).* КАК Качество}) КАК ИсточникДанных
        {ЛЕВОЕ СОЕДИНЕНИЕ КурсыДоллара КАК КурсыДоллара
        ПО (НАЧАЛОПЕРИОДА(КурсыДоллара.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ИсточникДанных.ДокументОприходования.Дата, ДЕНЬ))
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыДоллараРасход КАК КурсыДоллараРасход
        ПО (НАЧАЛОПЕРИОДА(КурсыДоллараРасход.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(ИсточникДанных.Регистратор.Дата, ДЕНЬ))},
    КурсыДоллараСрезПоследних КАК КурсыДоллараСрезПоследних
{ГДЕ
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    (ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоНачальныйОстатокВЕдиницахДляОтчетов,
    (ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоНачальныйОстатокВБазовыхЕдиницах,
    ИсточникДанных.КоличествоПриход КАК КоличествоПриход,
    (ИсточникДанных.КоличествоПриход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоПриходВЕдиницахДляОтчетов,
    (ИсточникДанных.КоличествоПриход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоПриходВБазовыхЕдиницах,
    ИсточникДанных.КоличествоРасход КАК КоличествоРасход,
    (ИсточникДанных.КоличествоРасход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоРасходВЕдиницахДляОтчетов,
    (ИсточникДанных.КоличествоРасход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоРасходВБазовыхЕдиницах,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    (ИсточникДанных.КоличествоКонечныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоКонечныйОстатокВЕдиницахДляОтчетов,
    (ИсточникДанных.КоличествоКонечныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоКонечныйОстатокВБазовыхЕдиницах,
    ИсточникДанных.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
    ИсточникДанных.СтоимостьПриход КАК СтоимостьПриход,
    (ВЫРАЗИТЬ(ИсточникДанных.СтоимостьПриход / КурсыДоллара.Курс КАК ЧИСЛО(15, 2))) КАК СтоимостьПриходДоллар,
    ИсточникДанных.СтоимостьРасход КАК СтоимостьРасход,
    ИсточникДанных.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток,
    (ВЫРАЗИТЬ(ИсточникДанных.СтоимостьКонечныйОстаток / КурсыДоллараСрезПоследних.Курс КАК ЧИСЛО(15, 2))) КАК СтоимостьКонечныйОстатокДоллар,
    ИсточникДанных.Регистратор.* КАК Регистратор,
    ИсточникДанных.Период КАК Период,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ)) КАК ПериодДень,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА)) КАК ПериодДекада,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ)) КАК ПериодМесяц,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ)) КАК ПериодКвартал,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД)) КАК ПериодГод}
{УПОРЯДОЧИТЬ ПО
    Номенклатура.*,
    Организация.*,
    Склад.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    ДокументОприходования.*,
    СтатусПартии.*,
    Заказ.*,
    Качество.*,
    КоличествоНачальныйОстаток,
    КоличествоНачальныйОстатокВЕдиницахДляОтчетов,
    КоличествоНачальныйОстатокВБазовыхЕдиницах,
    КоличествоПриход,
    КоличествоПриходВЕдиницахДляОтчетов,
    КоличествоПриходВБазовыхЕдиницах,
    КоличествоРасход,
    КоличествоРасходВЕдиницахДляОтчетов,
    КоличествоРасходВБазовыхЕдиницах,
    КоличествоКонечныйОстаток,
    КоличествоКонечныйОстатокВЕдиницахДляОтчетов,
    КоличествоКонечныйОстатокВБазовыхЕдиницах,
    СтоимостьНачальныйОстаток,
    СтоимостьПриход,
    СтоимостьРасход,
    СтоимостьКонечныйОстаток,
    СтоимостьПриходДоллар,
    СтоимостьРасходДоллар,
    СтоимостьКонечныйОстатокДоллар,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод}
ИТОГИ
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоНачальныйОстатокВЕдиницахДляОтчетов),
    СУММА(КоличествоНачальныйОстатокВБазовыхЕдиницах),
    СУММА(КоличествоПриход),
    СУММА(КоличествоПриходВЕдиницахДляОтчетов),
    СУММА(КоличествоПриходВБазовыхЕдиницах),
    СУММА(КоличествоРасход),
    СУММА(КоличествоРасходВЕдиницахДляОтчетов),
    СУММА(КоличествоРасходВБазовыхЕдиницах),
    СУММА(КоличествоКонечныйОстаток),
    СУММА(КоличествоКонечныйОстатокВЕдиницахДляОтчетов),
    СУММА(КоличествоКонечныйОстатокВБазовыхЕдиницах),
    СУММА(СтоимостьНачальныйОстаток),
    СУММА(СтоимостьПриход),
    СУММА(СтоимостьРасход),
    СУММА(СтоимостьКонечныйОстаток),
    СУММА(СтоимостьПриходДоллар),
    СУММА(СтоимостьРасходДоллар),
    СУММА(СтоимостьКонечныйОстатокДоллар)
ПО
    ОБЩИЕ
{ИТОГИ ПО
    Номенклатура.*,
    Организация.*,
    Склад.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    ДокументОприходования.*,
    СтатусПартии.*,
    Заказ.*,
    Качество.*,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод}
6 D_E_S_131
 
26.02.15
11:55
Вроде как из этой темы, указывать новую таблицу как необязательную, в текст запроса в блоке ИЗ добавлять "//СОЕДИНЕНИЯ", а так же указывать

УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения("<поле связанное>", "<измерение основной таблицы>");
[\1C]
7 D_E_S_131
 
26.02.15
11:56

УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения("<поле связанное>", "<измерение основной таблицы>");