8.х Соединение временных таблиц

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем OXED, 26 мар 2014.

  1. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Добрый вечер.
    Есть запрос. В нем 3 пакета,каждый из которых формурует временную таблицу. У каждой временной таблицы одинаковый состав колонок и структура.

    Собственно вот сам запрос:
    Код:
    ВЫБРАТЬ
        ПриходныйКассовыйОрдер.Ссылка КАК ПлатежныйДокумент,
        "ВидОплаты" КАК ВидОплаты,
        ЗНАЧЕНИЕ(Перечисление._СпособОплаты.Наличные) КАК СпособОплаты,
        ПриходныйКассовыйОрдер.Касса.Владелец КАК ВнЮрЛицо,
        ПриходныйКассовыйОрдерРасшифровкаПлатежа.Партнер,
        ПриходныйКассовыйОрдер.Контрагент КАК ЮрЛицо,
        ПриходныйКассовыйОрдерРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
        ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сумма КАК Приход,
        0 КАК Расход,
        ПриходныйКассовыйОрдер.Комментарий
    ПОМЕСТИТЬ ПКО
    ИЗ
        Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
            ПО (ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка = ПриходныйКассовыйОрдер.Ссылка)
    ;
     
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        РасходныйКассовыйОрдер.Ссылка КАК ПлатежныйДокумент,
        "ВидОплаты" КАК ВидОплаты,
        ЗНАЧЕНИЕ(Перечисление._СпособОплаты.Наличные) КАК СпособОплаты,
        РасходныйКассовыйОрдер.Касса.Владелец КАК ВнЮрЛицо,
        РасходныйКассовыйОрдерРасшифровкаПлатежа.Партнер,
        РасходныйКассовыйОрдер.Контрагент КАК ЮрЛицо,
        РасходныйКассовыйОрдерРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
        0 КАК Приход,
        РасходныйКассовыйОрдерРасшифровкаПлатежа.СуммаВзаиморасчетов КАК Расход,
        РасходныйКассовыйОрдер.Комментарий
    ПОМЕСТИТЬ РКО
    ИЗ
        Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа
            ПО (РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка = РасходныйКассовыйОрдер.Ссылка)
    ;
     
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ОперацияПоПлатежнойКарте.Ссылка КАК ПлатежныйДокумент,
        "ВидОплаты" КАК ВидОплаты,
        ЗНАЧЕНИЕ(Перечисление._СпособОплаты.КредитнаяКарта) КАК СпособОплаты,
        ОперацияПоПлатежнойКарте.Касса.Владелец КАК ВнЮрЛицо,
        ОперацияПоПлатежнойКартеРасшифровкаПлатежа.Партнер,
        ОперацияПоПлатежнойКарте.Контрагент КАК ЮрЛицо,
        ОперацияПоПлатежнойКартеРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
        ВЫБОР
            КОГДА ОперацияПоПлатежнойКарте.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
                ТОГДА ОперацияПоПлатежнойКартеРасшифровкаПлатежа.СуммаВзаиморасчетов
            ИНАЧЕ 0
        КОНЕЦ КАК Приход,
        ВЫБОР
            КОГДА ОперацияПоПлатежнойКарте.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
                ТОГДА ОперацияПоПлатежнойКартеРасшифровкаПлатежа.СуммаВзаиморасчетов
            ИНАЧЕ 0
        КОНЕЦ КАК Расход,
        "Комментарий" КАК Комментарий
    ПОМЕСТИТЬ ЭквОперация
    ИЗ
        Документ.ОперацияПоПлатежнойКарте КАК ОперацияПоПлатежнойКарте
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК ОперацияПоПлатежнойКартеРасшифровкаПлатежа
            ПО (ОперацияПоПлатежнойКартеРасшифровкаПлатежа.Ссылка = ОперацияПоПлатежнойКарте.Ссылка)
    Как можно все это дело вывести в 1 таблицу с той же одинаковой структурой? Все необходимо сделать строго 1 запросом (текст запроса потом будет формировать динамическую таблицу)
  2. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    объединить?
    OXED нравится это.
  3. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Тогда система выведет их в 30 колонок, а нужно в 10, друг под другом.
  4. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    почему? если у вас поля одинаковые...
  5. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Я, наверное, не очень вас понял. Настроить связи и соединить? Или объеденить? Просто я никогда не пользовался объединением и не знаю где и как и с чем использовать эту функцию. Пожалуйста, можно чуть подробнее про этот механизм рассказать?
  6. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в конструкторе закладка Объединение/Псевдонимы. Вот там вам надо посмотреть

    слева создаете 3 ваших запроса, а справа по соответующим полям объединяете... ну схематично как то так. Попробуйте
    OXED нравится это.
  7. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Прогугил "объединение". Результат выдал то что нужно. Спасибо огромное за совет

    Код:
    ВЫБРАТЬ
        ПриходныйКассовыйОрдер.Ссылка КАК ПлатежныйДокумент,
        "ВидОплаты" КАК ВидОплаты,
        ЗНАЧЕНИЕ(Перечисление._СпособОплаты.Наличные) КАК СпособОплаты,
        ПриходныйКассовыйОрдер.Касса.Владелец КАК ВнЮрЛицо,
        ПриходныйКассовыйОрдерРасшифровкаПлатежа.Партнер,
        ПриходныйКассовыйОрдер.Контрагент КАК ЮрЛицо,
        ПриходныйКассовыйОрдерРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
        ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сумма КАК Приход,
        0 КАК Расход,
        ПриходныйКассовыйОрдер.Комментарий
    ИЗ
        Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
            ПО (ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка = ПриходныйКассовыйОрдер.Ссылка)
     
    ОБЪЕДИНИТЬ ВСЕ
     
    ВЫБРАТЬ
        РасходныйКассовыйОрдер.Ссылка КАК ПлатежныйДокумент,
        "ВидОплаты" КАК ВидОплаты,
        ЗНАЧЕНИЕ(Перечисление._СпособОплаты.Наличные) КАК СпособОплаты,
        РасходныйКассовыйОрдер.Касса.Владелец КАК ВнЮрЛицо,
        РасходныйКассовыйОрдерРасшифровкаПлатежа.Партнер,
        РасходныйКассовыйОрдер.Контрагент КАК ЮрЛицо,
        РасходныйКассовыйОрдерРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
        0 КАК Приход,
        РасходныйКассовыйОрдерРасшифровкаПлатежа.СуммаВзаиморасчетов КАК Расход,
        РасходныйКассовыйОрдер.Комментарий
    ИЗ
        Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа
            ПО (РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка = РасходныйКассовыйОрдер.Ссылка)
     
    ОБЪЕДИНИТЬ ВСЕ
     
    ВЫБРАТЬ
        ОперацияПоПлатежнойКарте.Ссылка КАК ПлатежныйДокумент,
        "ВидОплаты" КАК ВидОплаты,
        ЗНАЧЕНИЕ(Перечисление._СпособОплаты.КредитнаяКарта) КАК СпособОплаты,
        ОперацияПоПлатежнойКарте.Касса.Владелец КАК ВнЮрЛицо,
        ОперацияПоПлатежнойКартеРасшифровкаПлатежа.Партнер,
        ОперацияПоПлатежнойКарте.Контрагент КАК ЮрЛицо,
        ОперацияПоПлатежнойКартеРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
        ВЫБОР
            КОГДА ОперацияПоПлатежнойКарте.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
                ТОГДА ОперацияПоПлатежнойКартеРасшифровкаПлатежа.СуммаВзаиморасчетов
            ИНАЧЕ 0
        КОНЕЦ КАК Приход,
        ВЫБОР
            КОГДА ОперацияПоПлатежнойКарте.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту)
                ТОГДА ОперацияПоПлатежнойКартеРасшифровкаПлатежа.СуммаВзаиморасчетов
            ИНАЧЕ 0
        КОНЕЦ КАК Расход,
        "Комментарий" КАК Комментарий
    ИЗ
        Документ.ОперацияПоПлатежнойКарте КАК ОперацияПоПлатежнойКарте
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК ОперацияПоПлатежнойКартеРасшифровкаПлатежа
            ПО (ОперацияПоПлатежнойКартеРасшифровкаПлатежа.Ссылка = ОперацияПоПлатежнойКарте.Ссылка)

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