ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПродажиОбороты.ДокументПродажи.Ответственный КАК Ответственный,
| ПродажиОбороты.Подразделение КАК Подразделение,
| ПродажиОбороты.Контрагент КАК Контрагент,
| ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
| ПродажиОбороты.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.ЗаказПокупателя.Ответственный) КАК ОтветственныйПредставление,
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Подразделение),
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Контрагент),
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.ЗаказПокупателя),
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура),
| ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетовОборот,
| ПродажиОбороты.СтоимостьОборот / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ КАК СтоимостьОборот,
| ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ, 0) КАК Себестоимость0,
| ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1 / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ КАК Себестоимость1,
| ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2 / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ КАК Себестоимость2,
| ВЫБОР
| КОГДА &ПоТипамЦен
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ЦеныНоменклатуры1.Цена, 0) > 0
| ТОГДА ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1 / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ
| ИНАЧЕ ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2 / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ, 0)
| КОНЕЦ КАК Себестоимость,
| ЕСТЬNULL(ТЗРОбороты.СуммаОборот / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ, 0) КАК СуммаТЗР,
| ЕСТЬNULL(БонусыОбороты.СуммаОборот / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ, 0) КАК СуммаБонусов,
| ВЫБОР
| КОГДА &ПоТипамЦен
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ЦеныНоменклатуры1.Цена, 0) > 0
| ТОГДА (ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1) / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ
| ИНАЧЕ (ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2) / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ (ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0)) / ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ
| КОНЕЦ КАК ВаловаяПрибыль,
| ВЫБОР
| КОГДА ПродажиОбороты.СтоимостьОборот = 0
| ТОГДА 0
| ИНАЧЕ 100 * ВЫБОР
| КОГДА &ПоТипамЦен
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ЦеныНоменклатуры1.Цена, 0) > 0
| ТОГДА ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1
| ИНАЧЕ ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2
| КОНЕЦ
| ИНАЧЕ ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0)
| КОНЕЦ / ПродажиОбороты.СтоимостьОборот
| КОНЕЦ КАК Рентабельность,
| ПродажиОбороты.Регистратор,
| ПродажиОбороты.Период,
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ) КАК ПериодДень,
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕКАДА) КАК ПериодДекада,
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, КВАРТАЛ) КАК ПериодКвартал,
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ГОД) КАК ПериодГод,
| ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Кратность = 0
| ТОГДА 1
| ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность
| КОНЕЦ КАК КурсРегистратора
|{ВЫБРАТЬ
| Ответственный.*,
| Подразделение.*,
| Контрагент.*,
| ЗаказПокупателя.*,
| Номенклатура.*,
| КоличествоЕдиницОтчетовОборот,
| СтоимостьОборот,
| Себестоимость0,
| Себестоимость1,
| Себестоимость2,
| Себестоимость,
| СуммаТЗР,
| СуммаБонусов,
| ВаловаяПрибыль,
| Рентабельность,
| Регистратор,
| Период,
| ПериодДень,
| ПериодНеделя,
| ПериодДекада,
| ПериодМесяц,
| ПериодКвартал,
| ПериодПолугодие,
| ПериодГод}
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, Валюта = &ВалютаУпрУчета) КАК УпрВалюты,
| РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Подразделение).* КАК Подразделение, (Контрагент).* КАК Контрагент, (ЗаказПокупателя).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура}) КАК ПродажиОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| &ДатаКон,
| ТипЦен = &БазовыйТипЦен1
| И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры1
| ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатуры1.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| &ДатаКон,
| ТипЦен = &БазовыйТипЦен2
| И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры2
| ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатуры2.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалют2
| ПО (ЦеныНоменклатуры2.Валюта = КурсыВалют2.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалют1
| ПО (ЦеныНоменклатуры1.Валюта = КурсыВалют1.Валюта)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТЗР.Обороты(&ДатаНач, &ДатаКон, , {(Подразделение).* КАК Подразделение, (ЗаказПокупателя).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура}) КАК ТЗРОбороты
| ПО ПродажиОбороты.ЗаказПокупателя = ТЗРОбороты.ЗаказПокупателя
| И ПродажиОбороты.Номенклатура = ТЗРОбороты.Номенклатура
| И ПродажиОбороты.Регистратор = ТЗРОбороты.ДокументДвижения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Бонусы.Обороты(&ДатаНач, &ДатаКон, , {(Подразделение).* КАК Подразделение, (ЗаказПокупателя).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура}) КАК БонусыОбороты
| ПО ПродажиОбороты.ЗаказПокупателя = БонусыОбороты.ЗаказПокупателя
| И ПродажиОбороты.Номенклатура = БонусыОбороты.Номенклатура
| И ПродажиОбороты.Регистратор = БонусыОбороты.ДокументДвижения
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПродажиСебестоимость.Номенклатура КАК Номенклатура,
| ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя,
| ВЫБОР
| КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
| ТОГДА ПродажиСебестоимость.ДокументДвижения
| ИНАЧЕ ПродажиСебестоимость.Регистратор
| КОНЕЦ КАК Регистратор,
| СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот
| ИЗ
| РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
| ГДЕ
| ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца
| {ГДЕ
| ПродажиСебестоимость.Подразделение.* КАК Подразделение,
| ПродажиСебестоимость.Номенклатура.* КАК Номенклатура,
| ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя}
|
| СГРУППИРОВАТЬ ПО
| ПродажиСебестоимость.Номенклатура,
| ПродажиСебестоимость.ЗаказПокупателя,
| ВЫБОР
| КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
| ТОГДА ПродажиСебестоимость.ДокументДвижения
| ИНАЧЕ ПродажиСебестоимость.Регистратор
| КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость
| ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура)
| И (ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя)
| И (ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(, Валюта = &ВалютаОтображения) КАК КурсыВалютСрезПоследних
| ПО (НАЧАЛОПЕРИОДА(ПродажиОбороты.Регистратор.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(КурсыВалютСрезПоследних.Период, ДЕНЬ))
|{ГДЕ
| ПродажиОбороты.ДокументПродажи.Ответственный.* КАК Ответственный,
| ПродажиОбороты.Подразделение.* КАК Подразделение,
| ПродажиОбороты.Контрагент.* КАК Контрагент,
| ПродажиОбороты.ЗаказПокупателя.* КАК ЗаказПокупателя,
| ПродажиОбороты.Номенклатура.* КАК Номенклатура,
| ПродажиОбороты.Регистратор КАК Регистратор,
| ПродажиОбороты.Период КАК Период,
| (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ)) КАК ПериодДень,
| (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
| (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕКАДА)) КАК ПериодДекада,
| (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)) КАК ПериодМесяц,
| (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, КВАРТАЛ)) КАК ПериодКвартал,
| (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие,
| (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ГОД)) КАК ПериодГод}
|{УПОРЯДОЧИТЬ ПО
| Ответственный.*,
| Подразделение.*,
| Контрагент.*,
| ЗаказПокупателя.*,
| Номенклатура.*,
| СтоимостьОборот,
| СуммаТЗР,
| СуммаБонусов,
| ВаловаяПрибыль,
| Рентабельность,
| Регистратор,
| Период,
| ПериодДень,
| ПериодНеделя,
| ПериодДекада,
| ПериодМесяц,
| ПериодКвартал,
| ПериодПолугодие,
| ПериодГод}
|ИТОГИ
| СУММА(КоличествоЕдиницОтчетовОборот),
| СУММА(СтоимостьОборот),
| СУММА(Себестоимость0),
| СУММА(Себестоимость1),
| СУММА(Себестоимость2),
| СУММА(Себестоимость),
| СУММА(СуммаТЗР),
| СУММА(СуммаБонусов),
| СУММА(ВаловаяПрибыль),
| ВЫБОР
| КОГДА СУММА(СтоимостьОборот) = 0
| ТОГДА 0
| ИНАЧЕ 100 * СУММА(ВаловаяПрибыль) / СУММА(СтоимостьОборот)
| КОНЕЦ КАК Рентабельность
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| Ответственный.*,
| Подразделение.*,
| Контрагент.*,
| ЗаказПокупателя.*,
| Номенклатура.*,
| Регистратор,
| Период,
| ПериодДень,
| ПериодНеделя,
| ПериодДекада,
| ПериодМесяц,
| ПериодКвартал,
| ПериодПолугодие,
| ПериодГод}
|АВТОУПОРЯДОЧИВАНИЕ";