Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 06:55

Отчет На СКД

Автор a.nikulnikova, 24 авг 2015, 07:47

0 Пользователей и 1 гость просматривают эту тему.

a.nikulnikova

Доброе утро, создаю Отчет на СКД, УПП 8.3. Использую регистр накопления ТоварыНаСкладах (он находится в выборке). По нему проходят документы ПоступлениеТМЗ, ПеремещениеТМЗ, ВозвратТМЗПоставщику (я данный регистр хотела использовать для отображения количества и ссылки по перемещению ТМЗ) у меня удваиваются строки, так как туда попадают данные и по Возврату и по другим регистраторам.
Вопрос, как избавиться от удваивания и вывести данные по ВозвратуТМЗ в отдельную колонку?
Код запроса и скриншот прилагаю.

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВнутренниеЗаказыОбороты.ВнутреннийЗаказ,
    ВнутренниеЗаказыОбороты.Номенклатура,
    ВнутренниеЗаказыОбороты.КоличествоОборот КАК КоличествоВЗ,
    ЗаказыПоставщикамОбороты.КоличествоОборот КАК КоличествоЗП,
    ЗаказыПоставщикамОбороты.Цена КАК Цена,
    РазмещениеЗаказовПокупателейОбороты.ЗаказПокупателя,
    РазмещениеЗаказовПокупателейОбороты.ЗаказПоставщику КАК ЗаказПоставщику,
    ВнутренниеЗаказыОбороты.ЕдиницаИзмерения,
    ЗаказыПоставщикамОбороты.ЗаказПоставщику.ДатаПоступления,
    СчетНаОплатуПоставщика.Ссылка
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ВнутренниеЗаказы.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ВнутренниеЗаказыОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК РазмещениеЗаказовПокупателейОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ЗаказыПоставщикамОбороты
                ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПоставщика КАК СчетНаОплатуПоставщика
                ПО ЗаказыПоставщикамОбороты.ЗаказПоставщику.ДокументОснование.Ссылка = СчетНаОплатуПоставщика.Ссылка
            ПО РазмещениеЗаказовПокупателейОбороты.ЗаказПоставщику = ЗаказыПоставщикамОбороты.ЗаказПоставщику
                И РазмещениеЗаказовПокупателейОбороты.Номенклатура = ЗаказыПоставщикамОбороты.Номенклатура
        ПО ВнутренниеЗаказыОбороты.ВнутреннийЗаказ = РазмещениеЗаказовПокупателейОбороты.ЗаказПокупателя
            И ВнутренниеЗаказыОбороты.Номенклатура = РазмещениеЗаказовПокупателейОбороты.Номенклатура
ГДЕ
    (ВнутренниеЗаказыОбороты.Регистратор ССЫЛКА Документ.ВнутреннийЗаказ
                И ЗаказыПоставщикамОбороты.КоличествоОборот > 0
            ИЛИ ЗаказыПоставщикамОбороты.КоличествоОборот ЕСТЬ NULL )
    И ВнутренниеЗаказыОбороты.КоличествоОборот > 0
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВТ.ВнутреннийЗаказ,
    ВТ.Номенклатура,
    ВТ.КоличествоВЗ,
    ВТ.КоличествоЗП,
    ВТ.Цена,
    ВТ.ЗаказПокупателя,
    ВТ.ЗаказПоставщику,
    ВТ.ЗаказПокупателя.Ссылка,
    ЗакупкиОбороты.КоличествоОборот КАК КоличествоПТ,
    ЗакупкиОбороты.Регистратор,
    ВТ.ЗаказПоставщикуДатаПоступления
ПОМЕСТИТЬ ВТсПост
ИЗ
    ВТ КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ЗакупкиОбороты
        ПО ВТ.Номенклатура = ЗакупкиОбороты.Номенклатура
            И ВТ.ЗаказПоставщику = ЗакупкиОбороты.Регистратор.ДокументОснование
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    ВТсПост.ВнутреннийЗаказ,
    ВТсПост.Номенклатура,
    ВТсПост.КоличествоВЗ,
    ВТсПост.КоличествоПТ,
    ТоварыНаСкладахОбороты.КоличествоОборот КАК КоличествоПеремТМЗ,
    ВТсПост.Цена,
    ВТсПост.ЗаказПоставщику,
    ВТсПост.ЗаказПоставщикуДатаПоступления КАК ТребСрокПост,
    ВТсПост.Регистратор КАК ФактСрокПост,
    ТоварыНаСкладахОбороты.Регистратор КАК ПеремТМЗ,
    ТоварыНаСкладахОбороты.Склад
ИЗ
    ВТсПост КАК ВТсПост
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ТоварыНаСкладахОбороты
        ПО (ВТсПост.Регистратор = ТоварыНаСкладахОбороты.Регистратор.ДокументОснование
                ИЛИ ВТсПост.ВнутреннийЗаказ = ТоварыНаСкладахОбороты.Регистратор.ДокументОснование)
            И ВТсПост.Номенклатура = ТоварыНаСкладахОбороты.Номенклатура


a.nikulnikova

Форум видимо в анабиозе...:fdbsdfbsd:

Дмитрий@

ЦитироватьВопрос, как избавиться от удваивания и вывести данные по ВозвратуТМЗ в отдельную колонку?
Удваивание произошло при присоединении таблицы "Товары на складах"?
В разрезе чего вывести данные по возвратуТМЗ?

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

a.nikulnikova

Цитата: Дмитрий@ от 24 авг 2015, 14:21
ЦитироватьВопрос, как избавиться от удваивания и вывести данные по ВозвратуТМЗ в отдельную колонку?
Удваивание произошло при присоединении таблицы "Товары на складах"?
В разрезе чего вывести данные по возвратуТМЗ?

Удваивание произошло при создании документов возврат ТМЗ.
По возврату мне нужны данные по количеству, и соответственно сама ссылка на документ.

Дмитрий@

ЦитироватьУдваивание произошло при создании документов возврат ТМЗ.
По возврату мне нужны данные по количеству, и соответственно сама ссылка на документ.
Вообще то я не то спрашивал, ну ладно.
В регистре "Товары на складах" у вас идет приход и расход товара, и соответственно у вас две строки. Нужно определится, что вы хотите выводить. Если количество по возврату, то соответственно нужно ограничить таблицу по типу регистратора (Регистратор ССЫЛКА Документ.ВозвратТМЗ), прежде чем делать соединение с другой таблицей.

a.nikulnikova

Цитата: Дмитрий@ от 25 авг 2015, 11:46
ЦитироватьУдваивание произошло при создании документов возврат ТМЗ.
По возврату мне нужны данные по количеству, и соответственно сама ссылка на документ.
Вообще то я не то спрашивал, ну ладно.
В регистре "Товары на складах" у вас идет приход и расход товара, и соответственно у вас две строки. Нужно определится, что вы хотите выводить. Если количество по возврату, то соответственно нужно ограничить таблицу по типу регистратора (Регистратор ССЫЛКА Документ.ВозвратТМЗ), прежде чем делать соединение с другой таблицей.

Если я ограничу таблицу таким условием, то перемещениеТМЗ не попадет в мою таблицу (это я пробовала). 

Дмитрий@

ЦитироватьЕсли я ограничу таблицу таким условием, то перемещениеТМЗ не попадет в мою таблицу (это я пробовала).
Это вполне понятно.
Поэтому я и говорю определитесь что нужно, потому я пока теряюсь в догадках.

a.nikulnikova

Цитата: Дмитрий@ от 25 авг 2015, 13:51
Это вполне понятно.
Поэтому я и говорю определитесь что нужно, потому я пока теряюсь в догадках.

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск