Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не могу правильно вывести итоги. помогите.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Ruflex2010
Прошу помощи!!!
Вопрос вот в чем: Возникла необходимость создать отчет по всем расходным кассовым за период, с выборкой подчиненных авансовых отчетов и еще выборка данных из табличной части авансового отчета - "Прочее". Текст запроса:

    ТекстЗапроса =     
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ             //тут я выбираю все РКО и Авансовые
    |    ДвиженияДенежныхСредствОбороты.Организация КАК Организация,
    |    ДвиженияДенежныхСредствОбороты.Контрагент КАК Контрагент,
    |    ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса КАК БанковскийСчетКасса,
    |    ДвиженияДенежныхСредствОбороты.ВидДенежныхСредств КАК ВидДенежныхСредств,
    |    ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
    |    ДвиженияДенежныхСредствОбороты.ПриходРасход КАК ПриходРасход,
    |    ДвиженияДенежныхСредствОбороты.Период КАК Период,
    |    ДвиженияДенежныхСредствОбороты.Регистратор КАК Регистратор,
    |    ДвиженияДенежныхСредствОбороты.ДокументДвижения КАК ДокументДвижения,
    |    ДвиженияДенежныхСредствОбороты.СуммаОборот КАК СуммаОборот,
    |    ДвиженияДенежныхСредствОбороты.СуммаУпрОборот КАК СуммаУпрОборот,
    |    АвансовыйОтчетВыданныеАвансы.Ссылка КАК АвансовыйОтчет,
    |    АвансовыйОтчетВыданныеАвансы.Сумма КАК СуммаИзрасходовано,
    |    ДвиженияДенежныхСредствОбороты.ДокументДвижения.Подразделение КАК Подразделение,
    |    NULL КАК Содержание,
    |    NULL КАК Номенклатура,
    |    NULL КАК СтатьяЗатрат,
    |    NULL КАК НоменклатурнаяГруппа,                   //эти данные для полного соединения с табличной частью авансового отчета
    |    NULL КАК СуммаПоОтчету
    |ПОМЕСТИТЬ Таблица_РКО
    |ИЗ
    |    РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ДвиженияДенежныхСредствОбороты
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АвансовыйОтчет.ВыданныеАвансы КАК АвансовыйОтчетВыданныеАвансы
    |        ПО ДвиженияДенежныхСредствОбороты.ДокументДвижения = АвансовыйОтчетВыданныеАвансы.ДокументАванса
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ОсновнойЗапрос.Организация КАК Организация,
    |    ОсновнойЗапрос.Контрагент КАК Контрагент,
    |    ОсновнойЗапрос.БанковскийСчетКасса,
    |    ОсновнойЗапрос.ВидДенежныхСредств,
    |    ОсновнойЗапрос.СтатьяДвиженияДенежныхСредств,
    |    ОсновнойЗапрос.ПриходРасход,
    |    ОсновнойЗапрос.Период,
    |    ОсновнойЗапрос.Регистратор,
    |    ОсновнойЗапрос.ДокументДвижения КАК ДокументДвижения,
    |    ОсновнойЗапрос.СуммаОборот КАК СуммаОборот,
    |    ОсновнойЗапрос.СуммаУпрОборот КАК СуммаУпрОборот,
    |    ОсновнойЗапрос.АвансовыйОтчет,
    |    ОсновнойЗапрос.СуммаИзрасходовано КАК СуммаИзрасходовано,
    |    ОсновнойЗапрос.Номенклатура,
    |    ОсновнойЗапрос.Содержание,
    |    ОсновнойЗапрос.СуммаПоОтчету КАК СуммаПоОтчету,
    |    ОсновнойЗапрос.Подразделение,
    |    ОсновнойЗапрос.СтатьяЗатрат,
    |    ОсновнойЗапрос.НоменклатурнаяГруппа
    |{ВЫБРАТЬ
    |    Организация.*,
    |    Контрагент.*,
    |    БанковскийСчетКасса.*,
    |    ВидДенежныхСредств.*,
    |    СтатьяДвиженияДенежныхСредств.*,
    |    ПриходРасход.*,
    |    Период,
    |    Регистратор.*,
    |    ДокументДвижения.*,
    |    СуммаОборот,
    |    СуммаУпрОборот,
    |    АвансовыйОтчет.*,
    |    СуммаИзрасходовано,
    |    Номенклатура.*,
    |    Содержание,
    |    СуммаПоОтчету,
    |    Подразделение.*,
    |    СтатьяЗатрат.*,
    |    НоменклатурнаяГруппа.*}
    |ИЗ
    |    (ВЫБРАТЬ
    |        Запрос1.Организация КАК Организация,
    |        Запрос1.Контрагент КАК Контрагент,
    |        Запрос1.БанковскийСчетКасса КАК БанковскийСчетКасса,
    |        Запрос1.ВидДенежныхСредств КАК ВидДенежныхСредств,
    |        Запрос1.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
    |        Запрос1.ПриходРасход КАК ПриходРасход,
    |        Запрос1.Период КАК Период,
    |        Запрос1.Регистратор КАК Регистратор,
    |        Запрос1.ДокументДвижения КАК ДокументДвижения,
    |        Запрос1.СуммаОборот КАК СуммаОборот,
    |        Запрос1.СуммаУпрОборот КАК СуммаУпрОборот,
    |        Запрос1.АвансовыйОтчет КАК АвансовыйОтчет,
    |        ЕСТЬNULL(Запрос1.СуммаИзрасходовано, Запрос2.СуммаИзрасходовано) КАК СуммаИзрасходовано,
    |        Запрос1.Подразделение КАК Подразделение,
    |        ЕСТЬNULL(Запрос1.Содержание, Запрос2.Содержание) КАК Содержание,
    |        ЕСТЬNULL(Запрос1.Номенклатура, Запрос2.Номенклатура) КАК Номенклатура,
    |        ЕСТЬNULL(Запрос1.СтатьяЗатрат, Запрос2.СтатьяЗатрат) КАК СтатьяЗатрат,
    |        ЕСТЬNULL(Запрос1.НоменклатурнаяГруппа, Запрос2.НоменклатурнаяГруппа) КАК НоменклатурнаяГруппа,
    |        ЕСТЬNULL(Запрос2.СуммаПоОтчету, 0) КАК СуммаПоОтчету
    |    ИЗ
    |        (ВЫБРАТЬ
    |            Таблица_РКО.Организация КАК Организация,
    |            Таблица_РКО.Контрагент КАК Контрагент,
    |            Таблица_РКО.БанковскийСчетКасса КАК БанковскийСчетКасса,
    |            Таблица_РКО.ВидДенежныхСредств КАК ВидДенежныхСредств,
    |            Таблица_РКО.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
    |            Таблица_РКО.ПриходРасход КАК ПриходРасход,
    |            Таблица_РКО.Период КАК Период,
    |            Таблица_РКО.Регистратор КАК Регистратор,
    |            Таблица_РКО.ДокументДвижения КАК ДокументДвижения,
    |            Таблица_РКО.СуммаОборот КАК СуммаОборот,
    |            Таблица_РКО.СуммаУпрОборот КАК СуммаУпрОборот,
    |            Таблица_РКО.АвансовыйОтчет КАК АвансовыйОтчет,
    |            Таблица_РКО.СуммаИзрасходовано КАК СуммаИзрасходовано,
    |            Таблица_РКО.Подразделение КАК Подразделение,
    |            Таблица_РКО.Содержание КАК Содержание,
    |            Таблица_РКО.Номенклатура КАК Номенклатура,
    |            Таблица_РКО.СтатьяЗатрат КАК СтатьяЗатрат,
    |            Таблица_РКО.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    |            Таблица_РКО.СуммаПоОтчету КАК СуммаПоОтчету
    |        ИЗ
    |            Таблица_РКО КАК Таблица_РКО) КАК Запрос1
    |            ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ                                                         тут я присоединяю табличную часть авансового отчета "Прочее"
    |                NULL КАК ДокументДвижения,
    |                Запрос2.Ссылка КАК Ссылка,
    |                Запрос2.Ссылка.Подразделение КАК Подразделение,
    |                ВЫРАЗИТЬ(Запрос2.Содержание КАК СТРОКА(1000)) КАК Содержание,
    |                Запрос2.Номенклатура КАК Номенклатура,
    |                Запрос2.СтатьяЗатрат КАК СтатьяЗатрат,
    |                Запрос2.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    |                0 КАК СуммаИзрасходовано,
    |                СУММА(Запрос2.Сумма) КАК СуммаПоОтчету
    |            ИЗ
    |                Документ.АвансовыйОтчет.Прочее КАК Запрос2
    |            
    |            СГРУППИРОВАТЬ ПО
    |                Запрос2.Ссылка,
    |                Запрос2.Ссылка.Подразделение,
    |                Запрос2.Номенклатура,
    |                Запрос2.СтатьяЗатрат,
    |                Запрос2.НоменклатурнаяГруппа,
    |                ВЫРАЗИТЬ(Запрос2.Содержание КАК СТРОКА(1000))) КАК Запрос2
    |            ПО Запрос1.АвансовыйОтчет = Запрос2.Ссылка) КАК ОсновнойЗапрос
    |{ГДЕ
    |    ОсновнойЗапрос.Организация.*,
    |    ОсновнойЗапрос.Контрагент.*,
    |    ОсновнойЗапрос.БанковскийСчетКасса.*,
    |    ОсновнойЗапрос.ВидДенежныхСредств.*,
    |    ОсновнойЗапрос.СтатьяДвиженияДенежныхСредств.*,
    |    ОсновнойЗапрос.ПриходРасход.*,
    |    ОсновнойЗапрос.Период,
    |    ОсновнойЗапрос.Регистратор.*,
    |    ОсновнойЗапрос.ДокументДвижения.*,
    |    ОсновнойЗапрос.СуммаОборот,
    |    ОсновнойЗапрос.СуммаУпрОборот,
    |    ОсновнойЗапрос.АвансовыйОтчет.*,
    |    ОсновнойЗапрос.СуммаИзрасходовано,
    |    ОсновнойЗапрос.Номенклатура.*,
    |    ОсновнойЗапрос.Содержание,
    |    ОсновнойЗапрос.СуммаПоОтчету,
    |    ОсновнойЗапрос.Подразделение.*,
    |    ОсновнойЗапрос.СтатьяЗатрат.*,
    |    ОсновнойЗапрос.НоменклатурнаяГруппа.*}
    |{УПОРЯДОЧИТЬ ПО
    |    Организация.*,
    |    Контрагент.*,
    |    БанковскийСчетКасса.*,
    |    ВидДенежныхСредств.*,
    |    СтатьяДвиженияДенежныхСредств.*,
    |    ПриходРасход.*,
    |    Период,
    |    Регистратор.*,
    |    ДокументДвижения.*,
    |    СуммаОборот,
    |    СуммаУпрОборот,
    |    АвансовыйОтчет.*,
    |    СуммаИзрасходовано,
    |    Номенклатура.*,
    |    Содержание,
    |    СуммаПоОтчету,
    |    Подразделение.*,
    |    СтатьяЗатрат.*,
    |    НоменклатурнаяГруппа.*}
    |ИТОГИ
    |    ,                                                    //////И ВОТ ТУТ У МЕНЯ ПРОБЛЕМА -  СуммаОборот и СуммаУпрОборот и СуммаИЗрасходовано увеличивается в N-разы, а вот Сумма по Отчету нормально отображается
    |    СУММА(СуммаОборот),
    |    СУММА(СуммаУпрОборот),
    |    СУММА(СуммаИзрасходовано),
    |    СУММА(СуммаПоОтчету)
    |ПО
    |    ОБЩИЕ,
    |    ДокументДвижения
    |{ИТОГИ ПО
    |    Организация.*,
    |    Контрагент.*,
    |    БанковскийСчетКасса.*,
    |    ВидДенежныхСредств.*,
    |    СтатьяДвиженияДенежныхСредств.*,
    |    ПриходРасход.*,
    |    Период,
    |    Регистратор.*,
    |    ДокументДвижения.*,
    |    АвансовыйОтчет.*,
    |    Номенклатура.*,
    |    Содержание,
    |    Подразделение.*,
    |    СтатьяЗатрат.*,
    |    НоменклатурнаяГруппа.*}";


 ! 

Правила п.12
 

Группировка нужна такая:
Расходный кассовый ордер - РКО
Авансовый отчет
Содержание (из тч Прочее)
как сделать чтобы в группировках где содержание - Сумма Оборот м суммаИзрасходовано было - 0 а вот в группировках по РКО и Авансовый чтобы были и итоговые соответственно
alex040269
Цитата(Ruflex2010 @ 28.09.12, 10:34) необходимо зарегистрироваться для просмотра ссылки
как сделать чтобы в группировках где содержание - Сумма Оборот м суммаИзрасходовано

0 КАК суммаИзрасходовано
Цитата(Ruflex2010 @ 28.09.12, 10:34) необходимо зарегистрироваться для просмотра ссылки
//////И ВОТ ТУТ У МЕНЯ ПРОБЛЕМА - СуммаОборот и СуммаУпрОборот и СуммаИЗрасходовано увеличивается в N-разы, а вот Сумма по Отчету нормально отображается


Сумма увеличивается из-за того, что левое соединение расширяет результат запроса
Ruflex2010
Цитата(alex040269 @ 28.09.12, 12:05) необходимо зарегистрироваться для просмотра ссылки
0 КАК суммаИзрасходовано


Сумма увеличивается из-за того, что левое соединение расширяет результат запроса

Но мне нужны суммы итогосые и СуммаОборот и СуммаИзрасходовано. А если их обнулить, то у меня будет - 0 везде
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.