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