Добавление в отчет ВыручкаИСебестоимостьПродаж возможность выбора валюты

1. user1292093 19.07.24 13:05 Сейчас в теме
Здравствуйте, конфигурация - BAS (2.1.33.8). 1С:Предприятие 8.3 (8.3.22.1750). Редактирую отчет ВыручкаИСебестоимостьПродаж, хочу добавить возможность строить отчет по выбранной валюте юзером. Запрос первого набора данных
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Сегменты.Партнер КАК Партнер,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
ИЗ
	РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментПартнеров,
	Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
	Партнер,
	ИспользуетсяОтборПоСегментуПартнеров
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Сегменты.Номенклатура КАК Номенклатура,
	Сегменты.Характеристика КАК Характеристика,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
	РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментНоменклатуры,
	Сегменты.Номенклатура.* КАК Номенклатура,
	Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	ИспользуетсяОтборПоСегментуНоменклатуры
;

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

СГРУППИРОВАТЬ ПО
	Таблица.Сделка,
	Таблица.МенеджерСделки,
	Таблица.Номенклатура,
	Таблица.Характеристика,
	Таблица.Серия,
	Таблица.Организация,
	Таблица.Продавец,
	Таблица.Партнер,
	Таблица.НаправлениеДеятельности,
	Таблица.Регистратор,
	Таблица.ПериодСекунда,
	Таблица.ПериодДень,
	Таблица.ПериодНеделя,
	Таблица.ПериодДекада,
	Таблица.ПериодМесяц,
	Таблица.ПериодКвартал,
	Таблица.ПериодПолугодие,
	Таблица.ПериодГод,
	Таблица.ЗаказКлиента,
	Таблица.Подразделение,
	Таблица.Склад,
	Таблица.Контрагент,
	Таблица.Покупатель,
	Таблица.Поставщик,
	Таблица.Менеджер,
	Таблица.ВидЗапасов,
	Таблица.ГруппаФинансовогоУчета,
	Таблица.ВидСделки,
	Таблица.Номенклатура.ЕдиницаИзмерения,
	Таблица.Номенклатура.ЕдиницаДляОтчетов,
	Таблица.Номенклатура.КоэффициентЕдиницыДляОтчетов,
	&ТекстЗапросаВесНоменклатуры1,
	&ТекстЗапросаОбъемНоменклатуры1,
	Таблица.СуммаРучнойСкидкиОборот,
	Таблица.СуммаАвтоматическойСкидкиОборот,
	Таблица.ХозяйственнаяОперация,
	Таблица.ДатаОперации

ИМЕЮЩИЕ
	(СУММА(Таблица.Количество) <> 0
		ИЛИ ВЫБОР
			КОГДА &ДанныеОтчета = 1
				ТОГДА СУММА(Таблица.Выручка)
			КОГДА &ДанныеОтчета = 3
				ТОГДА СУММА(Таблица.ВыручкаРегл)
			ИНАЧЕ СУММА(Таблица.ВыручкаБезНДС)
		КОНЕЦ <> 0
		ИЛИ ВЫБОР
			КОГДА &ДанныеОтчета = 1
				ТОГДА СУММА(Таблица.Себестоимость)
			КОГДА &ДанныеОтчета = 3
				ТОГДА СУММА(Таблица.СебестоимостьРегл)
			ИНАЧЕ СУММА(Таблица.СебестоимостьБезНДС)
		КОНЕЦ <> 0
		ИЛИ ВЫБОР
			КОГДА &ДанныеОтчета = 1
				ТОГДА СУММА(Таблица.ДопРасходы)
			КОГДА &ДанныеОтчета = 3
				ТОГДА 0
			ИНАЧЕ СУММА(Таблица.ДопРасходыБезНДС)
		КОНЕЦ <> 0
		ИЛИ ВЫБОР
			КОГДА &ДанныеОтчета = 1
				ТОГДА СУММА(Таблица.Выручка) - СУММА(Таблица.Себестоимость) - СУММА(Таблица.ДопРасходы)
			КОГДА &ДанныеОтчета = 3
				ТОГДА СУММА(Таблица.ВыручкаРегл) - СУММА(Таблица.СебестоимостьРегл)
			ИНАЧЕ СУММА(Таблица.ВыручкаБезНДС) - СУММА(Таблица.СебестоимостьБезНДС) - СУММА(Таблица.ДопРасходыБезНДС)
		КОНЕЦ <> 0)
Показать

Запрос второго набора данных
ВЫБРАТЬ
	&ДатаОперации КАК ДатаОперации,
	КурсыВалютСрезПоследних.Валюта КАК Валюта,
	КурсыВалютСрезПоследних.Курс КАК Курс,
	КурсыВалютСрезПоследних.Кратность КАК Кратность
{ВЫБРАТЬ
	ДатаОперации,
	Валюта.*,
	Курс,
	Кратность}
ИЗ
	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОперации, {(Валюта = &ВалютаВыбора)}) КАК КурсыВалютСрезПоследних
{ГДЕ
	КурсыВалютСрезПоследних.Курс,
	КурсыВалютСрезПоследних.Кратность}
Показать
.
В первом наборе добавил только Продажи.Регистратор.Дата КАК ДатаОперации
Второй набор создаю лично и связываю по ДатаОперации.
Ресурсы заданы как на скрине(прикрепляю к теме).
В отчете после выбора валюты и его формирования, показывает не те цифры. На дату документа в регистре КурсыВалют есть запись на этот день с одним курсом, а считает как-будто по другому курсу. Может я чего то не вижу или не понимаю, помогите пожалуйста.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1292093 22.07.24 18:13 Сейчас в теме
Поменял Продажи.Регистратор.Дата КАК ДатаОперации на Продажи.ПериодДень КАК ДатаОперации.
Вывел Курс и Дату в группировку как на скрине, в итоге выводит вообще непонятные даты(прикрепляю скрины)
Прикрепленные файлы:
3. Lenten 26 22.07.24 18:21 Сейчас в теме
вы хотите получать курс валюты на дату документа или просто делить рублевую сумму на текущий курс?
4. user1292093 26.07.24 15:48 Сейчас в теме
(3) хочу пересчитывать суммы по курсу, которую выберет юзер, на дату документа
5. Lenten 26 26.07.24 16:38 Сейчас в теме
(4) на дату документа имел ввиду что валютная сумма пересчитывается для каждого документа в отчете отдельно


по отчету проверьте что у вас в таблице где продажи дата операции начало дня (26,07,2024 0:00:00)
6. user1292093 26.07.24 16:58 Сейчас в теме
(5) здесь немного все переигралось) отчет дали другой, но суть та же осталась.Хочу у вас спросить, вы не знаете почему когда я выбираю валюту, нажимаю сформировать и ничего не меняется. А сам параметр очищается. Хотя все настройки и суть та же. Отчет немного другой, ну и есть несколько набора данных
Прикрепленные файлы:
7. Lenten 26 26.07.24 17:00 Сейчас в теме
нажимаю сформировать и ничего не меняется. А сам параметр очищается


надо смотреть не поменяли ли процедуру на кнопке Сформировать. Очень странное поведение. Вообще параметры не должны меняться
8. user1292093 26.07.24 17:11 Сейчас в теме
(7) в том отчете хоть что-то выводилось. В этом ничего и еще параметр очищается, буду смотреть дальше, спасибо
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот