1s Статистика продаж отелей

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ЗаказПокупателяУслуги.Гостиница.Город.Name_Nac КАК Город,
	ЗаказПокупателяУслуги.Гостиница КАК Гостиница,
	ЗаказПокупателяУслуги.Гостиница.Родитель КАК ГостиницаПапка,
	ЗаказПокупателяУслуги.Ссылка КАК ЗаказПокупателя,
	ЗаказПокупателяУслуги.Ссылка.Контрагент КАК Клиент,
	ЗаказПокупателяУслуги.Ссылка.Ответственный КАК Ответственный,
	ЗаказПокупателяУслуги.СтранаПрибытия.CountryName_Nac КАК Страна,
	ЗаказПокупателяУслуги.ПоставщикУслуг КАК Поставщик,
	ЗаказПокупателяУслуги.Содержание,
	ЗаказПокупателяУслуги.Дата2 КАК ДатаВыезда,
	ЗаказПокупателяУслуги.ЧелНочей КАК ЧелНочей,
	ЗаказПокупателяУслуги.СуммаПоставщикуРуб КАК СуммаПоставщикуРуб,
	ЗаказПокупателяУслуги.СуммаКомиссии КАК СуммаКомиссии,
	ЗаказПокупателяУслуги.Сумма КАК СуммаКлиенту,
	ЗаказПокупателяУслуги.Ссылка.Номер КАК Номер,
	ЗаказПокупателяУслуги.ДоговорПоставщикаУслуг.ВалютаВзаиморасчетов КАК ВалютаПоставщика,
	ЗаказПокупателяУслуги.ДоговорКомитента.ВалютаВзаиморасчетов КАК ВалютаКомитента,
	ЗаказПокупателяУслуги.Дата1 КАК ДатаЗаезда
ПОМЕСТИТЬ ДанныеЗаказов
ИЗ
	Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателяУслуги
ГДЕ
	ЗаказПокупателяУслуги.Ссылка.Проведен
	И ЗаказПокупателяУслуги.Дата2 МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
	И (ЗаказПокупателяУслуги.Номенклатура В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.Номенклатура.Гостиница))
			ИЛИ ЗаказПокупателяУслуги.Номенклатура В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.Номенклатура.MICE))
			ИЛИ ЗаказПокупателяУслуги.Номенклатура В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.Номенклатура.МайсФитГостиницы))
			ИЛИ ЗаказПокупателяУслуги.Номенклатура В ИЕРАРХИИ (&FIT))
	И ЗаказПокупателяУслуги.ВнутреннийЗаказ = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ДанныеЗаказов.Город,
	ДанныеЗаказов.Гостиница,
	ДанныеЗаказов.ГостиницаПапка,
	ДанныеЗаказов.ЗаказПокупателя,
	ДанныеЗаказов.Клиент,
	ДанныеЗаказов.Ответственный,
	ДанныеЗаказов.Страна,
	ДанныеЗаказов.Поставщик,
	ДанныеЗаказов.Содержание,
	ДанныеЗаказов.ДатаВыезда,
	ДанныеЗаказов.ЧелНочей,
	ВЫБОР
		КОГДА КурсыВалют.Валюта ЕСТЬ NULL 
			ТОГДА ЕСТЬNULL(ДанныеЗаказов.СуммаКлиенту, 0)
		ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ДанныеЗаказов.СуммаКлиенту, 0) * КурсыВалют.Курс / ВЫБОР
					КОГДА КурсыВалют.Кратность > 0
						ТОГДА КурсыВалют.Кратность
					ИНАЧЕ 1
				КОНЕЦ КАК ЧИСЛО(15, 2))
	КОНЕЦ КАК СуммаКлиенту,
	ДанныеЗаказов.СуммаПоставщикуРуб КАК СуммаПоставщикуРуб,
	ВЫБОР
		КОГДА КурсыВалют2.Валюта ЕСТЬ NULL 
			ТОГДА ЕСТЬNULL(ДанныеЗаказов.СуммаКомиссии, 0)
		ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ДанныеЗаказов.СуммаКомиссии, 0) * КурсыВалют2.Курс / ВЫБОР
					КОГДА КурсыВалют2.Кратность > 0
						ТОГДА КурсыВалют2.Кратность
					ИНАЧЕ 1
				КОНЕЦ КАК ЧИСЛО(15, 2))
	КОНЕЦ КАК СуммаКомиссии,
	ДанныеЗаказов.Номер,
	ДанныеЗаказов.ДатаЗаезда
ИЗ
	ДанныеЗаказов КАК ДанныеЗаказов
		ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
		ПО (НАЧАЛОПЕРИОДА(ДанныеЗаказов.ЗаказПокупателя.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(КурсыВалют.Период, ДЕНЬ))
			И ДанныеЗаказов.ЗаказПокупателя.ДоговорКонтрагента.ВалютаВзаиморасчетов = КурсыВалют.Валюта
		ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют1
		ПО ДанныеЗаказов.ВалютаПоставщика = КурсыВалют1.Валюта
			И (НАЧАЛОПЕРИОДА(ДанныеЗаказов.ЗаказПокупателя.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(КурсыВалют1.Период, ДЕНЬ))
		ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют2
		ПО (НАЧАЛОПЕРИОДА(ДанныеЗаказов.ЗаказПокупателя.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(КурсыВалют2.Период, ДЕНЬ))
			И ДанныеЗаказов.ВалютаКомитента = КурсыВалют2.Валюта