Соединение ОборотыИОстатки и Ообороты

1. XelOla 17 07.03.17 15:53 Сейчас в теме
ВЫБРАТЬ
	ТоварыВРозницеОстаткиИОбороты.Склад КАК Контрагент,
	СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
	СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
*****
	СУММА(ПродажиОбороты.КоличествоОборот) КАК ПродажиКолОборот,
	СУММА(ПродажиОбороты.СтоимостьОборот) КАК ПродажиСтоимостьОборот
ИЗ
	РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, , , ) КАК ТоварыВРозницеОстаткиИОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, , ) КАК ПродажиОбороты
		ПО ТоварыВРозницеОстаткиИОбороты.Номенклатура = ПродажиОбороты.Номенклатура
ГДЕ
	ТоварыВРозницеОстаткиИОбороты.Склад.Наименование ПОДОБНО "[ТРЦ]%"

СГРУППИРОВАТЬ ПО
	ТоварыВРозницеОстаткиИОбороты.Склад
Показать



В данный момент правильно выдает по таблице ТоварыВРозницеОстаткиИОбороты. а ПродажиОбороты.КоличествоОборот и ПродажиОбороты.СтоимостьОборот - выдает не правильно.
Как сделать правильно?
Найденные решения
9. ditp 91 07.03.17 16:33 Сейчас в теме
(8) с учетом этого, выкиньте на мороз все серии, хар-ки и т.д., а также регистр продаж.
Добавьте в вирт. таблицу периодичность по регистратору, а в поля выборки что-то типа
выбор когда регистр.Регистратор ссылка документ.ОтчетОРознПрод тогда
  СуммаПродажная
Иначе
  0
Конец КАК СуммаПрод

Кол-во аналогично.
14. ditp 91 07.03.17 17:02 Сейчас в теме
(13) возвраты на тот же склад?
Аналогично же можно добавить
когда регистратор ссылка докВозврат тогда
-сумма
иначе
0
конце
17. XelOla 17 09.03.17 10:11 Сейчас в теме
ВЫБОР
		КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
			ТОГДА ПродажиОбороты.Регистратор.Склад
		КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
			ТОГДА ПродажиОбороты.Регистратор.СкладОрдер
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК Склад
СУММА(ВЫБОР
			КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
				ТОГДА ПродажиОбороты.КоличествоОборот
			КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
				ТОГДА ПродажиОбороты.КоличествоОборот
			ИНАЧЕ 0
		КОНЕЦ) КАК ПродажиКоличествоОборот,
Показать


Сработало так, проанализоровала базу - кроме Возвратов и Очетов по розничной точке ничего не проходит.
Спасибо.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. ditp 91 07.03.17 16:21 Сейчас в теме
(1) как минимум - добавить в условие связи Склад, что-то типа
И ТоварыВРозницеОстаткиИОбороты.Склад = ПродажиОбороты.ДокументПродажи.Склад

(код выше только для примера).
Аналогично, если у вас используются серии / хар-ки / качества - то и связи по ним.

Кстати, ваше условие в ГДЕ лучше запихать в параметры вирт. табл. и задать как
Склад В
				(ВЫБРАТЬ
					Склады.Ссылка
				ИЗ
					Справочник.Склады КАК Склады
				ГДЕ
					Склады.Наименование ПОДОБНО "\[ТРЦ\]%" СПЕЦСИМВОЛ "\")
7. XelOla 17 07.03.17 16:28 Сейчас в теме
(4)
как минимум - добавить в условие связи Склад, что-то типа
И ТоварыВРозницеОстаткиИОбороты.Склад = ПродажиОбороты.ДокументПродажи.Склад

вот если делать так.... то результат по таблице Продажи правильный и по кол-ву и по деньгам, а по таблице ТоварыВРозницеОстаткиИОбороты не верный (задваивает? затраивает, не важно)
2. XelOla 17 07.03.17 15:56 Сейчас в теме
А вот, если кому то интересно.
Прикрепленные файлы:
ПоТоргТочкамкопия.erf
3. XelOla 17 07.03.17 16:18 Сейчас в теме
Правильно ли я делаю вывод - проблема в том, что измерения Склад нет в рег накоп Продажи.
ТоварыВРознице Измерения Склад Номенклатура Характеристика Серия Качество
Продажи Измерения Номенклатура Характеристика ЗаказПокупателя ДоговорКонтрагента ДокументПродажи Подразделение Организация Контрагент
6. ditp 91 07.03.17 16:22 Сейчас в теме
5. Velesstroy_OOO 07.03.17 16:22 Сейчас в теме
Добрый день!

Данные по продажам поместите во временную таблицу.
И уже временную таблицу соединяйте с основной.

Должно быть, что-то вида (собрал на "коленке"):

ВЫБРАТЬ 
ПродажиОбороты.Номенклатура,
СУММА(ПродажиОбороты.КоличествоОборот) КАК ПродажиКолОборот, 
СУММА(ПродажиОбороты.СтоимостьОборот) КАК ПродажиСтоимостьОборот
ПОМЕСТИТЬ ВТ_ДанныеПоПродажам
Из 
РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, , ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО 
ПродажиОбороты.Номенклатура
;
////////////////////////////////////////////////////////////­////


ВЫБРАТЬ 
ТоварыВРозницеОстаткиИОбороты.Склад КАК Контрагент, 
СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, 
СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, 
***** 
ПродажиОбороты.КоличествоОборот КАК ПродажиКолОборот, 
ПродажиОбороты.СтоимостьОборот КАК ПродажиСтоимостьОборот 
ИЗ 
РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, , , ) КАК ТоварыВРозницеОстаткиИОбороты 
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДанныеПоПродажам КАК ПродажиОбороты 
ПО ТоварыВРозницеОстаткиИОбороты.Номенклатура = ПродажиОбороты.Номенклатура 
ГДЕ 
ТоварыВРозницеОстаткиИОбороты.Склад.Наименование ПОДОБНО "[ТРЦ]%" 

СГРУППИРОВАТЬ ПО 
ТоварыВРозницеОстаткиИОбороты.Склад,
*****
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СтоимостьОборот

 
Показать
8. XelOla 17 07.03.17 16:29 Сейчас в теме
(5)
еще не вдумалась, но отмечу что мне не важно какая номенклатура, важно кол-во и деньги.
9. ditp 91 07.03.17 16:33 Сейчас в теме
(8) с учетом этого, выкиньте на мороз все серии, хар-ки и т.д., а также регистр продаж.
Добавьте в вирт. таблицу периодичность по регистратору, а в поля выборки что-то типа
выбор когда регистр.Регистратор ссылка документ.ОтчетОРознПрод тогда
  СуммаПродажная
Иначе
  0
Конец КАК СуммаПрод

Кол-во аналогично.
13. XelOla 17 07.03.17 16:48 Сейчас в теме
(9) идейно.
Но, по регистру продажи - имеются возвраты (
14. ditp 91 07.03.17 17:02 Сейчас в теме
(13) возвраты на тот же склад?
Аналогично же можно добавить
когда регистратор ссылка докВозврат тогда
-сумма
иначе
0
конце
10. Velesstroy_OOO 07.03.17 16:38 Сейчас в теме
(8) в разрезе каких аналитик важно получить показатели?
12. XelOla 17 07.03.17 16:46 Сейчас в теме
(10) Склад, а остальное обороты и остатки.
Это отчет по розничным точкам. Т.е. КассаККМ имеет один склад.
Но, если можно - мне нужно Пустое поле (Контрагент - это склад, Договор контрагента - пусто), потому что потом буду соединять с другой таблицей.
11. XelOla 17 07.03.17 16:42 Сейчас в теме
(5)
Не получилось.
По сути, вы скинули Продажи в вирт табл а суть не поменялась
15. Velesstroy_OOO 07.03.17 17:30 Сейчас в теме
Суть Вашей проблемы простая.
Есть первая таблица с определенным набором измерений.
Есть вторая таблица со своим набором измерений, с первой пересекается по одному измерению.

При левом (правом) соединении происходит умножение первой таблицы на вторую по условиям соединения.
Так как в Вашем примере по продажам получается одна номенклатура - один набор показателей [Количество, Сумма].
То эти данные "приклеиваются" к соответствующим строкам таблицы "ТоварыВРозницеОстаткиИОбороты".

Получается таблицы:

Таблица продаж:

Номенклатура ПродажиКолОборот ПродажиСтоимостьОборот
Ном. 1_______________1____________________10
Ном. 2_______________2____________________15

Итоговая таблица с соединением

Склад Номенклатура .... Нач. остаток Приход .... ПродажиКолОборот ПродажиСтоимостьОборот
скл.1 Ном. 1_______________________________________________1___________­_________10
скл.2 Ном. 1_______________________________________________1___________­_________10
скл.1 Ном. 2_______________________________________________2___________­_________15
скл.3 Ном. 2_______________________________________________2___________­_________15
скл.4 Ном. 2_______________________________________________2___________­_________15

Дальнейшее суммирование по данным продаж в итоговой таблице, естественно приведет к неверным данным.

Если нужны данные в разрезе складов, то запрос, возможно, нужен такой (группировка только по полю "Склад"):

ВЫБРАТЬ 
ПродажиОбороты.ДокументПродажи.Склад КАК Склад,
СУММА(ПродажиОбороты.КоличествоОборот) КАК ПродажиКолОборот, 
СУММА(ПродажиОбороты.СтоимостьОборот) КАК ПродажиСтоимостьОборот
ПОМЕСТИТЬ ВТ_ДанныеПоПродажам
Из 
РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, , ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО 
ПродажиОбороты.ДокументПродажи.Склад

//Для примера пойдет, но по-хорошему нужно стараться не использовать получение значения более чем через одну точку.
;
////////////////////////////////////////////////////////////­­////


ВЫБРАТЬ 
ТоварыВРозницеОстаткиИОбороты.Склад КАК Контрагент, 
СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, 
СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, 
***** 
СУММА(ПродажиОбороты.КоличествоОборот) КАК ПродажиКолОборот, 
СУММА(ПродажиОбороты.СтоимостьОборот) КАК ПродажиСтоимостьОборот 
ИЗ 
РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, , , ) КАК ТоварыВРозницеОстаткиИОбороты 
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДанныеПоПродажам КАК ПродажиОбороты 
ПО ТоварыВРозницеОстаткиИОбороты.Склад = ПродажиОбороты.Склад
ГДЕ 
ТоварыВРозницеОстаткиИОбороты.Склад.Наименование ПОДОБНО "[ТРЦ]%" 

СГРУППИРОВАТЬ ПО 
ТоварыВРозницеОстаткиИОбороты.Склад
Показать
16. XelOla 17 08.03.17 19:06 Сейчас в теме
(15)Продажи.ДокументПродажи.ОтчетОрозничныхПродажах.Склад.
17. XelOla 17 09.03.17 10:11 Сейчас в теме
ВЫБОР
		КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
			ТОГДА ПродажиОбороты.Регистратор.Склад
		КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
			ТОГДА ПродажиОбороты.Регистратор.СкладОрдер
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК Склад
СУММА(ВЫБОР
			КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
				ТОГДА ПродажиОбороты.КоличествоОборот
			КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
				ТОГДА ПродажиОбороты.КоличествоОборот
			ИНАЧЕ 0
		КОНЕЦ) КАК ПродажиКоличествоОборот,
Показать


Сработало так, проанализоровала базу - кроме Возвратов и Очетов по розничной точке ничего не проходит.
Спасибо.
Оставьте свое сообщение

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