Анализ продажи товаров за период

1. Tailor_Made 09.09.19 12:04 Сейчас в теме
Здравствуйте. Я пытался написать обработку, которая бы выводила товары, проданные за день и на их основании в дальнейшем создавать Заказ поставщику.
Но почему-то у меня сам запрос не верно работает, он затягивает и перемещение между складами(как продажу) и в Остаток попадает остаток склада, с которого последнего был продан товар. Может кто-то объяснить что тут не так? Буду очень вам благодарен, не один день голову ломаю с этим
Управление торговлей для Украины, редакция 3.1 (3.1.6.1)
1С 8.3


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

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

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

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

СГРУППИРОВАТЬ ПО
	ТоварыНаСкладахОстаткиИОбороты.Помещение,
	ТоварыНаСкладахОстаткиИОбороты.Назначение,
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Артикул,
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения,
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток,
	ТоварыНаСкладахОстаткиИОбороты.Склад
{ИТОГИ ПО
	Номенклатура.*}
Показать
Прикрепленные файлы:
1_09_09_АвтоматическаяЗакупкаТовара.epf
По теме из базы знаний
Найденные решения
5. d.batovskiy 09.09.19 17:07 Сейчас в теме
Нужно брать данные из регистра "ВыручкаИСебестоимостьПродаж", из этого регистра будут все продажи и возвраты товаров. А из регистра ТоварыНаСкладах берутся все товарные движения.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. YannikAlx 43 09.09.19 14:42 Сейчас в теме
(1) а зачем вообще так все сложно-то ?
Если вы хотите получить проданные за день товары , то и берите документы продаж за этот день - и все - 5 строчек кода
7. Tailor_Made 10.09.19 10:00 Сейчас в теме
(4)я пытался так сделать запрос, но у меня не вышло. Поэтому нашел этот и под себя что-то переделал
мы через Чеки ККМ продаём, с них можно как-то получить эти данные?
2. danjer74 3 09.09.19 12:42 Сейчас в теме
Так может делать запрос на базе регистра продажи? Посмотрите отчет по продажам как сделан. Конфигурации под рукой нет, так что не смогу точно пдсказать.
3. VmvLer 09.09.19 12:44 Сейчас в теме
5. d.batovskiy 09.09.19 17:07 Сейчас в теме
Нужно брать данные из регистра "ВыручкаИСебестоимостьПродаж", из этого регистра будут все продажи и возвраты товаров. А из регистра ТоварыНаСкладах берутся все товарные движения.
6. Tailor_Made 10.09.19 09:56 Сейчас в теме
(5)
Нужно брать данные из регистра "ВыручкаИСебестоимостьПродаж", из этого регистра будут все продажи и возвраты товаров. А из регистра ТоварыНаСкладах берутся все товарные движения.

Просто такого регистра у меня нету... такие есть(прикрепил)
Прикрепленные файлы:
8. d.batovskiy 10.09.19 10:15 Сейчас в теме
(6)Как же нет "ВыручкаИСебестоимостьПродаж", на первом скриншоте второй сверху?
9. Tailor_Made 10.09.19 12:47 Сейчас в теме
А Номенклатуру брать с АналитикиУчетаНоменклатуры ?
Прикрепленные файлы:
10. d.batovskiy 10.09.19 13:37 Сейчас в теме
(8)Делаете левое соединение со справочником "КлючиАналитикиУчетаНоменклатуры" по измерению "АналитикаУчетаНоменклатуры", и из справочника берете номенклатуру.
Оставьте свое сообщение

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