Запрос для отчета на СКД

1. user618695_ka 20.06.17 16:40 Сейчас в теме
Хочу получить отчет по продажам с отдельными полями Продажи и Возвраты.

Вот запрос, который работает, но продажи и возвраты вместе:

ВЫБРАТЬ
	ПродажиОбороты.Контрагент,
	ПродажиОбороты.Договор,
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.Кол,
	ПродажиОбороты.Сумма,
	ПродажиОбороты.Регистратор
ИЗ
	РегистрНакопления.ПродажиОбороты КАК ПродажиОбороты
ГДЕ
	(ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ОтгрузкаПокупателю)
			ИЛИ ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ВозвратОтПокупателя))
	И ПродажиОбороты.Номенклатура.ТипНоменклатурыБухгалтерии = &ТипНоменклатурыБухгалтерии
{ГДЕ
	(ПродажиОбороты.Регистратор.Дата >= &НачалоПериода),
	(ПродажиОбороты.Регистратор.Дата <= &КонецПериода)}
Показать


Вот код, который должен делать Продажи и Возвраты отдельно, но отчет зависает.

ВЫБРАТЬ
	ПродажиОбороты.Контрагент,
	ПродажиОбороты.Договор,
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.Кол,
	ПродажиОбороты.Сумма,
	ПродажиОбороты.Регистратор,
	ПродажиОбороты1.Кол КАК Кол1,
	ПродажиОбороты1.Сумма КАК Сумма1
ИЗ
	РегистрНакопления.ПродажиОбороты КАК ПродажиОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиОбороты КАК ПродажиОбороты1
		ПО ПродажиОбороты.Контрагент = ПродажиОбороты1.Контрагент
			И ПродажиОбороты.Договор = ПродажиОбороты1.Договор
			И ПродажиОбороты.Номенклатура = ПродажиОбороты1.Номенклатура
ГДЕ
	ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ОтгрузкаПокупателю)
	И ПродажиОбороты.Номенклатура.ТипНоменклатурыБухгалтерии = &ТипНоменклатурыБухгалтерии
	И ТИПЗНАЧЕНИЯ(ПродажиОбороты1.Регистратор) = ТИП(Документ.ВозвратОтПокупателя)
{ГДЕ
	(ПродажиОбороты.Регистратор.Дата >= &НачалоПериода),
	(ПродажиОбороты.Регистратор.Дата <= &КонецПериода),
	(ПродажиОбороты1.Регистратор.Дата >= &НачалоПериода),
	(ПродажиОбороты1.Регистратор.Дата <= &КонецПериода)}
Показать


По итогу пишет о недостатке памяти.
Подскажите, что не так?
+
По теме из базы знаний
Найденные решения
5. starjevschik 20.06.17 17:34 Сейчас в теме
(1) соединение крутое, конечно.

Выбрать 
блабла
Выбор когда Регистратор Ссылка Документ.Возврат Тогда Сумма Иначе 0 конец КАК Возвращено,
Выбор Когда Регистратор Ссылка Документ.Отгрузка Тогда Сумма Иначе 0 Конец КАК Отгружено
Из Регистр
Где 
блабла
igomark; sommid; user618695_ka; +3
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. lefthander 20.06.17 16:55 Сейчас в теме
(1) Может что нибудь типа

ВЫБРАТЬ
    ПродажиОбороты.Контрагент,
    ПродажиОбороты.Договор,
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.Кол,
    ПродажиОбороты.Сумма КАК СуммаПродажи,
    ПродажиОбороты.Регистратор
ИЗ
    РегистрНакопления.ПродажиОбороты КАК ПродажиОбороты
ГДЕ
    (ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ОтгрузкаПокупателю)
            )
    И ПродажиОбороты.Номенклатура.ТипНоменклатурыБухгалтерии = &ТипНоменклатурыБухгалтерии
{ГДЕ
    (ПродажиОбороты.Регистратор.Дата >= &НачалоПериода),
    (ПродажиОбороты.Регистратор.Дата <= &КонецПериода)}
////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­///////
ВЫБРАТЬ
    ПродажиОбороты.Контрагент,
    ПродажиОбороты.Договор,
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.Кол,
    ПродажиОбороты.Сумма КАК СуммаВозврата,
    ПродажиОбороты.Регистратор
ИЗ
    РегистрНакопления.ПродажиОбороты КАК ПродажиОбороты
ГДЕ
    (ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ВозвратОтПокупателя))
    И ПродажиОбороты.Номенклатура.ТипНоменклатурыБухгалтерии = &ТипНоменклатурыБухгалтерии
{ГДЕ
    (ПродажиОбороты.Регистратор.Дата >= &НачалоПериода),
    (ПродажиОбороты.Регистратор.Дата <= &КонецПериода)}

Показать
+
4. user618695_ka 20.06.17 17:34 Сейчас в теме
(3) Ошибка в запросе набора данных
по причине:
{(18, 1)}: Синтаксическая ошибка "ВЫБРАТЬ"
<<?>>ВЫБРАТЬ
+
6. lefthander 20.06.17 17:37 Сейчас в теме
(4)УТ нет под рукой, копипастил без конструктора, но мысль должна быть понятна.
Перед слешами поставьте точку с запятой ;
+
7. user618695_ka 20.06.17 17:59 Сейчас в теме
(6) В принципе, отлично!

ВЫБРАТЬ
	ПродажиОбороты.Контрагент,
	ПродажиОбороты.Договор,
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.Регистратор,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ОтгрузкаПокупателю)
			ТОГДА ПродажиОбороты.Кол
		ИНАЧЕ 0
	КОНЕЦ КАК КоличествоПродажи,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ОтгрузкаПокупателю)
			ТОГДА ПродажиОбороты.Сумма
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаПродажи,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ВозвратОтПокупателя)
			ТОГДА -ПродажиОбороты.Кол
		ИНАЧЕ 0
	КОНЕЦ КАК КоличествоВозврата,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ВозвратОтПокупателя)
			ТОГДА -ПродажиОбороты.Сумма
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаВозврата
ИЗ
	РегистрНакопления.ПродажиОбороты КАК ПродажиОбороты
ГДЕ
	ПродажиОбороты.Номенклатура.ТипНоменклатурыБухгалтерии = &ТипНоменклатурыБухгалтерии
{ГДЕ
	(ПродажиОбороты.Регистратор.Дата >= &НачалоПериода),
	(ПродажиОбороты.Регистратор.Дата <= &КонецПериода)}
Показать


Но добавил вычисляемое поле ПроцентВозврата = 100*(КоличествоВозврата / КоличествоПродажи) и получил странный результат (в файле)
Прикрепленные файлы:
+
5. starjevschik 20.06.17 17:34 Сейчас в теме
(1) соединение крутое, конечно.

Выбрать 
блабла
Выбор когда Регистратор Ссылка Документ.Возврат Тогда Сумма Иначе 0 конец КАК Возвращено,
Выбор Когда Регистратор Ссылка Документ.Отгрузка Тогда Сумма Иначе 0 Конец КАК Отгружено
Из Регистр
Где 
блабла
igomark; sommid; user618695_ka; +3
2. user618695_ka 20.06.17 16:52 Сейчас в теме
Рабочий отчет
Прикрепленные файлы:
+
8. SyachinS 20.06.17 18:10 Сейчас в теме
Продажи обороты есть регистр, зачем по дате регистратора условие, виртуальная таблица вам просто так дана? )
+
9. user618695_ka 20.06.17 18:11 Сейчас в теме
(8) мне нужен регистратор для условия ТИПЗНАЧЕНИЯ(ПродажиОбороты.Регистратор) = ТИП(Документ.ОтгрузкаПокупателю)
+
Внимание! Тема сдана в архив

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