8.х Создание вариативного отчета по остаткам и оборотам номенклатуры (УТ 11.3.4.1)

Тема в разделе "Система компоновки данных (СКД)", создана пользователем BBDragon, 1 авг 2017.

  1. TopicStarter Overlay
    BBDragon
    Offline

    BBDragon Опытный в 1С

    Регистрация:
    11 мар 2010
    Сообщения:
    196
    Симпатии:
    2
    Баллы:
    29
    Добрый день! Хочу сделать отчет по остаткам, оборотам и ценам номенклатуры за заданный период. В зависимости от типа регистратора (Поступление или Реализация) надо делать соответствующую выборку и выводить в отчет следующее:

    Номенклатура, Нач.остаток, Приход, Расход, Кон.Остаток и после этого данные из регистраторов - наименование самого документа-регистратора, дата, цена товара, количество товара, сумма и контрагент.
    Бьюсь уже 2 часа, что-то никак не соображу как сделать вариативный запрос. Т.е. в зависимости от типа документа после выполнения

    Выбрать ТоварыНаСкладах.Регистратор КАК Документ


    надо запрашивать данные по поступлению или реализации (а еще ведь возможно и перемещение товара!). Подскажите, пожалуйста, как это правильно оформить. Вот текущий код запроса:

    Код:
    ВЫБРАТЬ
    ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг КАК Поступление,
    
    ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг КАК Реализация
    ИЗ
    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ТоварыНаСкладах.Период КАК Период,
    ТоварыНаСкладах.Регистратор КАК Документ,
    ТоварыНаСкладах.Регистратор.Дата КАК ДатаП,
    ТоварыНаСкладах.Номенклатура КАК Номенклатура,
    ТоварыНаСкладах.Склад КАК Склад,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК НачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК КонечныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК Приход,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК Расход,
    ПоступлениеТоваровУслуг.Ссылка.Дата КАК Дата,
    ПоступлениеТоваровУслуг.Ссылка.Контрагент КАК Клиент,
    ПоступлениеТоваровУслуг.Ссылка.Номер КАК НомерДокумента,
    ПоступлениеТоваровУслугТовары.Номенклатура КАК Товар,
    ПоступлениеТоваровУслугТовары.Количество КАК Количество,
    ПоступлениеТоваровУслугТовары.Цена КАК Цена,
    ПоступлениеТоваровУслугТовары.Упаковка КАК ЕдИзм,
    ПоступлениеТоваровУслугТовары.Склад КАК СкладП,
    ПоступлениеТоваровУслугТовары.Сумма КАК Сумма,
    РеализацияТоваровУслуг.Ссылка.Дата КАК ДатаР,
    РеализацияТоваровУслуг.Ссылка.Контрагент КАК КлиентР,
    РеализацияТоваровУслуг.Ссылка.Номер КАК НомерДокументаР,
    РеализацияТоваровУслугТовары.Количество КАК КоличествоР,
    РеализацияТоваровУслугТовары.Цена КАК ЦенаР,
    РеализацияТоваровУслугТовары.Сумма КАК СуммаР
    ИЗ
    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты
    ПО ТоварыНаСкладах.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ПО ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугТовары.Ссылка
    ПО (ТоварыНаСкладах.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура)
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка
    ПО (ТоварыНаСкладах.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)
    ГДЕ
    НЕ ПоступлениеТоваровУслуг.ПометкаУдаления
    
    УПОРЯДОЧИТЬ ПО
    Период
    
    База на SQL 2012, запускаю отчет на самом сервере, 32 Гб оперативки.
    Знаю, что код неверный, отчет вылетает с ошибкой "Недостаточно памяти".
Похожие темы
  1. Scorpanatoly
    Ответов:
    0
    Просмотров:
    560
Загрузка...

Поделиться этой страницей