8.х Подскажите как правильно объединить результаты двух запросов?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем kittybello, 22 апр 2015.

  1. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну ок.
    Полностью уточните тогда у бухгалтера: что надо видеть и полностью собственно по каким условиям что-то должно попадать/не попадать в отчет.
  2. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ
        СписокНоменклатуры.Номенклатура,
        ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток,
        ХозрасчетныйОбороты.СуммаОборотДт,
        ХозрасчетныйОбороты.СуммаОборотКт,
        ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация, КорСчет <> &Счет, ) КАК ХозрасчетныйОбороты
            ПО ХозрасчетныйОстаткиИОбороты.Субконто1 = ХозрасчетныйОбороты.Субконто1
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                НоменклатураОсновныхСредств.Номенклатура КАК Номенклатура,
                НоменклатураОсновныхСредств.ОсновноеСредство КАК ОсновноеСредство,
                НоменклатураОсновныхСредств.Регистратор КАК Регистратор,
                ПринятиеКУчетуОС.СчетУчетаБУ КАК СчетУчетаБУ,
                ПринятиеКУчетуОС.Дата КАК Дата
            ИЗ
                РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = &СчетДт, , СчетКт = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
                    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураОсновныхСредств КАК НоменклатураОсновныхСредств
                    ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = НоменклатураОсновныхСредств.Номенклатура
                    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС КАК ПринятиеКУчетуОС
                    ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = ПринятиеКУчетуОС.Номенклатура
            ГДЕ
                ПринятиеКУчетуОС.Дата <= &КонецПериода
                И ПринятиеКУчетуОС.Проведен = &Проведен
                И ПринятиеКУчетуОС.СчетУчетаБУ = &СчетДт) КАК СписокНоменклатуры
            ПО (ХозрасчетныйОбороты.Субконто1 = СписокНоменклатуры.Номенклатура)
    
    Добрый день, я снова запуталась в запросах( , нужна помощь...
    Я пытаюсь добавить к списку номенклатуры , в проводках которых есть 104 счет, еще и номенклатуру, по которой явных проводок нет с 104, но она числится на 104
    Последнее редактирование: 23 апр 2015
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Еще раз. Это как?
  4. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    [​IMG]
    Вот пример, поступления (принятия к учету) нет, а перемещение сесть, Номенклатура относится к ОС со счетом 104, согласно РС "НомеклатураОсновныхСредств". Это тоже должно попасть в отчет
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    kittybello я не знаю что хранится в том регистре сведений.
    Вы можете в запросе просто вывести номенклатуру которая вам нужна? Вот просто один запрос который выводит список номенклатуры, одно поле Номенклатура без оборотов без ничего.
    Если напишите такой запрос потом к нему левым соединением прицепите запрос из #19 поста и все.
  6. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ
        НоменклатураОсновныхСредств.Номенклатура
    ИЗ
        РегистрСведений.НоменклатураОсновныхСредств КАК НоменклатураОсновныхСредств
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС КАК ПринятиеКУчетуОС
            ПО НоменклатураОсновныхСредств.Регистратор = ПринятиеКУчетуОС.Ссылка
    ГДЕ
        ПринятиеКУчетуОС.Дата <= &КонецПериода
        И ПринятиеКУчетуОС.Проведен = &Проведен
        И ПринятиеКУчетуОС.СчетУчетаБУ = &СчетДт
    
    Здесь соединение по регистратору, а в остатках по номенклатуре, вот я и не знаю как правильно их соединить(. К тому же конечный вариант НУЖНОЙ номенклатуры, должен появится при сравнении этого запроса и запроса по Хозрасчетному
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Вот такой запрос:
    Код:
    ВЫБРАТЬ
        СчетаБухгалтерскогоУчетаОССрезПоследних.ОсновноеСредство
    ИЗ
        РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних(&КонецПериода, СчетУчета = &СчетУчетаОС) КАК СчетаБухгалтерскогоУчетаОССрезПоследних
    
    &СчетУчетаОС = 104
    Выводит весь нужный вам список, или опять там чего-то нет?
  8. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Извините, но это не то что нужно

    Нужно что то на подобии этого
    Код:
        ВложенныйЗапрос1.Номенклатура
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = СчетДт, , СчетКт = &Счет, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                НоменклатураОсновныхСредств.Номенклатура КАК Номенклатура
            ИЗ
                РегистрСведений.НоменклатураОсновныхСредств КАК НоменклатураОсновныхСредств
                    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПринятиеКУчетуОС КАК ПринятиеКУчетуОС
                    ПО НоменклатураОсновныхСредств.Регистратор = ПринятиеКУчетуОС.Ссылка,
                РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = &СчетДт, , СчетКт = &Счет, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
            ГДЕ
                ПринятиеКУчетуОС.Дата <= &КонецПериода
                И ПринятиеКУчетуОС.Проведен = &Проведен
                И ПринятиеКУчетуОС.СчетУчетаБУ = &СчетДт) КАК ВложенныйЗапрос1
            ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = ВложенныйЗапрос1.Номенклатура
    
    Но консоль выдает ошибку :
    недостаточно прав
    Хотя у меня полные права
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Да не то что нужно.
    Вот так:
    Код:
    ВЫБРАТЬ РАЗЛИЧНЫЕ
        НоменклатураОсновныхСредств.Номенклатура
    ИЗ
        РегистрСведений.НоменклатураОсновныхСредств КАК НоменклатураОсновныхСредств
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних(&КонецПериода, СчетУчета = &СчетУчетаОС) КАК СчетаБухгалтерскогоУчетаОССрезПоследних
            ПО (СчетаБухгалтерскогоУчетаОССрезПоследних.Регистратор = НоменклатураОсновныхСредств.Регистратор)
                И (СчетаБухгалтерскогоУчетаОССрезПоследних.ОсновноеСредство = НоменклатураОсновныхСредств.ОсновноеСредство)
    
    ?
  10. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Добрый день,
    вот такой запрос выдает ПОЛНЫЙ СПИСОК НУЖНОЙ НОМЕНКЛАТУРЫ
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        НоменклатураОС.СубконтоКт1
    ИЗ
        (ВЫБРАТЬ
            ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК СубконтоКт1
        ИЗ
            РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = &Счетдт, , СчетКт = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
                ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
                    НоменклатураОсновныхСредств.Номенклатура КАК Номенклатура
                ИЗ
                    Документ.ПринятиеКУчетуОС КАК ПринятиеКУчетуОС
                        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураОсновныхСредств КАК НоменклатураОсновныхСредств
                        ПО (НоменклатураОсновныхСредств.Регистратор = ПринятиеКУчетуОС.Ссылка)
                ГДЕ
                    ПринятиеКУчетуОС.Дата <= &КонецПериода
                    И ПринятиеКУчетуОС.Проведен = &Проведен
                    И ПринятиеКУчетуОС.СчетУчетаБУ = &СчетУчетаОС
                    И ПринятиеКУчетуОС.Организация В(&ОрганизацияИДРУ)) КАК ПринятиеКУчету
                ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = ПринятиеКУчету.Номенклатура) КАК НоменклатураОС
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ХозрасчетныйОборотыДтКт.СубконтоКт1
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, Авто, СчетДт = &СчетУчетаОС, , СчетКт = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
    
    --- Объединение сообщений, 24 апр 2015 ---
    ОДНАКО, когда я добавляю обороты , список урезается на з позиции(
    кот получаются из такого запроса(ВКЛЮЧЕНО В ЗАПРОС ВЫШЕ!):
    Код:
    ВЫБРАТЬ
        ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК СубконтоКт1
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = &Счетдт, , СчетКт = &Счет, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
                НоменклатураОсновныхСредств.Номенклатура КАК Номенклатура
            ИЗ
                Документ.ПринятиеКУчетуОС КАК ПринятиеКУчетуОС
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураОсновныхСредств КАК НоменклатураОсновныхСредств
                    ПО (НоменклатураОсновныхСредств.Регистратор = ПринятиеКУчетуОС.Ссылка)
            ГДЕ
                ПринятиеКУчетуОС.Дата <= &КонецПериода
                И ПринятиеКУчетуОС.Проведен = &Проведен
                И ПринятиеКУчетуОС.СчетУчетаБУ = &СчетУчетаОС
                И ПринятиеКУчетуОС.Организация В(&ОрганизацияИДРУ)) КАК ВложенныйЗапрос
            ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = ВложенныйЗапрос.Номенклатура
    
    
    --- Объединение сообщений, 24 апр 2015 ---
    кАК ИХ ПРАВИЛЬНО СОЕДИНИТЬ?
    --- Объединение сообщений, 24 апр 2015 ---
    Код:
    ВЫБРАТЬ
        ОстаткиИОбороты.Счет,
        ОстаткиИОбороты.Субконто1 КАК Номенклатура,
        ОстаткиИОбороты.Субконто1.Наименование КАК Субконто1Наименование,
        ОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
        ОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
        ОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
        ОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт,
        ОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
        ОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт,
        ВЫБОР
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт = ОстаткиИОбороты.СуммаОборотКт
                ТОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт + ОстаткиИОбороты.СуммаОборотДт = ОстаткиИОбороты.СуммаОборотКт
                    И ОстаткиИОбороты.СуммаОборотКт > ОстаткиИОбороты.СуммаОборотДт
                    И ОстаткиИОбороты.СуммаОборотДт > ОстаткиИОбороты.СуммаНачальныйОстатокДт
                ТОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт = ОстаткиИОбороты.СуммаОборотКт
                ТОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт > 0
                    И ОстаткиИОбороты.СуммаОборотДт > 0
                    И ОстаткиИОбороты.СуммаКонечныйОстатокДт > 0
                    И ОстаткиИОбороты.СуммаОборотКт < ОстаткиИОбороты.СуммаНачальныйОстатокДт
                ТОГДА ОстаткиИОбороты.СуммаОборотКт
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт > 0
                    И ОстаткиИОбороты.СуммаОборотДт > 0
                    И ОстаткиИОбороты.СуммаКонечныйОстатокДт > 0
                    И ОстаткиИОбороты.СуммаОборотКт > ОстаткиИОбороты.СуммаНачальныйОстатокДт
                ТОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт
            ИНАЧЕ 0
        КОНЕЦ КАК ПереводИзОднойКатегорииВДругую,
        ВЫБОР
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт = 0
                    И ОстаткиИОбороты.СуммаОборотДт = ОстаткиИОбороты.СуммаОборотКт
                ТОГДА ОстаткиИОбороты.СуммаОборотДт
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт = 0
                    И ОстаткиИОбороты.СуммаОборотДт > ОстаткиИОбороты.СуммаОборотКт
                    И ОстаткиИОбороты.СуммаКонечныйОстатокДт > 0
                ТОГДА ОстаткиИОбороты.СуммаКонечныйОстатокКт
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт + ОстаткиИОбороты.СуммаОборотДт = ОстаткиИОбороты.СуммаОборотКт
                    И ОстаткиИОбороты.СуммаОборотКт > ОстаткиИОбороты.СуммаОборотДт
                    И ОстаткиИОбороты.СуммаОборотДт > ОстаткиИОбороты.СуммаНачальныйОстатокДт
                ТОГДА ОстаткиИОбороты.СуммаОборотДт
            КОГДА ОстаткиИОбороты.СуммаНачальныйОстатокДт > 0
                    И ОстаткиИОбороты.СуммаОборотДт > 0
                    И ОстаткиИОбороты.СуммаКонечныйОстатокДт > 0
                    И ОстаткиИОбороты.СуммаОборотКт > ОстаткиИОбороты.СуммаНачальныйОстатокДт
                ТОГДА ОстаткиИОбороты.СуммаОборотКт - ОстаткиИОбороты.СуммаНачальныйОстатокДт
            ИНАЧЕ 0
        КОНЕЦ КАК Поступление,
        ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаОборотДт1,
        ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКт1
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , Счет = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ОстаткиИОбороты
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = &СчетДт, , СчетКт = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
            ПО ОстаткиИОбороты.Субконто1 = ХозрасчетныйОборотыДтКт.СубконтоКт1
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация, КорСчет <> &Счет, ) КАК ХозрасчетныйОбороты
            ПО ОстаткиИОбороты.Субконто1 = ХозрасчетныйОбороты.Субконто1
    
    УПОРЯДОЧИТЬ ПО
        Субконто1Наименование
    ИТОГИ
        СУММА(СуммаНачальныйОстатокДт),
        СУММА(СуммаНачальныйОстатокКт),
        СУММА(СуммаОборотДт),
        СУММА(СуммаОборотКт),
        СУММА(СуммаКонечныйОстатокДт),
        СУММА(СуммаКонечныйОстатокКт),
        СУММА(ПереводИзОднойКатегорииВДругую),
        СУММА(Поступление),
        СУММА(СуммаОборотДт1),
        СУММА(СуммаОборотКт1)
    ПО
        ОБЩИЕ
    



    Нужно по списку номенклатуры (первый запрос из поста30) получить данные как в этом (последнем) запросе -Bag-
    Последнее редактирование: 24 апр 2015
  11. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        НоменклатураОС.СубконтоКт1
    ПОМЕСТИТЬ ВТ_Номенклатура
    ИЗ
        (ВЫБРАТЬ
            ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК СубконтоКт1
        ИЗ
            РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = &Счетдт, , СчетКт = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
                ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
                    НоменклатураОсновныхСредств.Номенклатура КАК Номенклатура
                ИЗ
                    Документ.ПринятиеКУчетуОС КАК ПринятиеКУчетуОС
                        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураОсновныхСредств КАК НоменклатураОсновныхСредств
                        ПО (НоменклатураОсновныхСредств.Регистратор = ПринятиеКУчетуОС.Ссылка)
                ГДЕ
                    ПринятиеКУчетуОС.Дата <= &КонецПериода
                    И ПринятиеКУчетуОС.Проведен = &Проведен
                    И ПринятиеКУчетуОС.СчетУчетаБУ = &СчетУчетаОС
                    И ПринятиеКУчетуОС.Организация В(&ОрганизацияИДРУ)) КАК ПринятиеКУчету
                ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = ПринятиеКУчету.Номенклатура) КАК НоменклатураОС
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ХозрасчетныйОборотыДтКт.СубконтоКт1
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, Авто, СчетДт = &СчетУчетаОС, , СчетКт = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
    ;
    ВЫБРАТЬ
    ВТ_Номенклатура .СубконтоКт1,
    ХозрасчетныйОбороты.Счет КАК Счет,ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаОборотДт,
    ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКт
    ИЗ
    ВТ_Номенклатура КАК ВТ_Номенклатура
    ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет = &Счет, ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура), Организация = &Организация, КорСчет <> &Счет, ) КАК ХозрасчетныйОбороты
    ПО ВТ_Номенклатура.СубконтоКт1 = ХозрасчетныйОбороты.Субконто1
    
  12. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Так получается 310 (155*2=) позиций, а должно быть 158
  13. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    1. У вас возможно в первом запросе данные задвоились уберите слово ВСЕ. Просто ОБЪЕДИНИТЬ.
    2. Я не понимаю откуда в последнем запросе (#31) может появиться задвоение
  14. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Убрала слово ВСЕ, стало 155 позиций, а должно то быть 158
  15. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну так значит у вас одна и та же позиция 2 раза встречается.
  16. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Скрыл нечитаемый пост.
  17. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Не внутреннее, а ЛЕВОЕ соединение во второй части запроса. Возможно по какой-то позиции нет оборотов.
  18. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Это в каком запросе?
  19. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    последний из #30
  20. TopicStarter Overlay
    kittybello
    Offline

    kittybello Опытный в 1С

    Регистрация:
    2 апр 2015
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26

    Вот запрос, который дает нужные данные. И впринципе можно так и оставить. Но дело в том, что

    Сумма оборот дт/кт выдает суммы с внутренними оборотами (кот не нужны), а Сумма оборот дт1/кт1 выдает как раз нужные сумммы, однако , если убрать Сумма оборот дт/кт из выбранных полей, то запрос не работает( Что может быть не так?


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

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