8.х СКД Отбор в Группе И

Тема в разделе "Система компоновки данных (СКД)", создана пользователем o_O, 26 окт 2015.

  1. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Всем доброго времени суток.
    Создал отчет в скд с двумя наборами данных: первый из базы sql, другой запрос из 1c.
    В отборе указал два поля из каждого набора.
    Работает.
    Добавляю в отбор "Группа И", перетаскиваю оба поля в эту группу - и получаю ошибку

    Ошибка исполнения отчета
    по причине:
    Невозможно применить элемент отбора

    что я делаю не так?
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    наборы как то соединяются или Объединение?
    --- Объединение сообщений, 26 окт 2015 ---
    в выборке на вывод на результат есть поля из обоих наборов
  3. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Спасибо за наводку!
    Как сделать объединение двух наборов данных, каждый из которых состоит из нескольких запросов?
    (запросы соединены на вкладке "связи наборов дданных")
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Та же где Вы создаете набор данных через добавить там предлагает 3 вида набора - запрос, объект и объединение.
    Так вот создаете Объединение,а в него уже засовываете два или несколько наборов, которые будут объеденяться
  5. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Но у меня наборы уже соединяются и все настройки пропадают с вкладки "связи наборов данных".

    вот такая схема нужна

    запрос:
    левое соединение
    левое соединение
    объединение
    запрос:
    левое соединение
    левое соединение
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Ну я правильно понимаю что
    запрос:
    левое соединение
    левое соединение
    Это один набор
    и такой же второй. и их надо оббъеденить или как?
  7. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    ну так в чем проблемм то то сделать как я написал?
    --- Объединение сообщений, 27 окт 2015 ---
    набор данных 1 это же у Вас запросы с левым соединением?

    Вложения:

    • 1111.jpg
      1111.jpg
      Размер файла:
      23,7 КБ
      Просмотров:
      9
  9. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    на скриншоте только половина
    Выбрать
    наборДанных1.Код
    ОБЪЕДИНИТЬ
    Выбрать
    наборДанных3.Код

    а надо:

    Выбрать
    наборДанных1.Код
    наборДанных2.Дата
    из наборДанных1
    Левое соединение
    наборДанных2
    ОБЪЕДИНИТЬ
    Выбрать
    наборДанных3.Код
    наборДанных4.Дата
    из наборДанных3
    Левое соединение
    наборДанных4

    как настроить связи левых соединений ?
  10. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Чет я совсем запуталяс - можно скрин того что есть или отчет
  11. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Накидал упрощенный вариант.
    Надо учитывать, что на самом деле НаборДанных1 и НаборДанных3 - запросы из базы mssql,
    а НаборДанных2 и НаборДанных4 - из 1С.
    Соединяю с помощью &Номер, т.к. нет ссылочной связи (вместо КоммерческоеПредложение.ДокументОснование.Номер = &Номер
    КоммерческоеПредложение.id_task = &Номер).

    Мне нужно реализовать один из вариантов:
    1. Отбором выбрать номера писем имеющие коммерч.предложение за первое полугодие + номера событий имеющие коммерч.предложение за второе полугодие.
    2. В запрос 2 добавить параметр " И КоммерческоеПредложение.Дата МЕЖДУ &Дата0 И &Дата1";
    в запрос 4 добавить параметр " И КоммерческоеПредложение.Дата МЕЖДУ &Дата2 И &Дата3";
    и сделать объединение писем и событий.

    Отбор не работает, а как сделать 'объединение соединений' не понятно.




    02.png 03.png 04.png 05.png 06.png
  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    я смотрю что у Вас Наборы 1 и 3 это запросы просто из внешних источников данных так же?
    Почему бы Вам тогда все это запросом не сделать на ВТ таблицах, чем наборы соединять через параметр. через ВТ и работать быстрее будет
  13. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Т.е. запускать отчет в скд программно, чтобы предварительно заполнить временную таблицу с интервалом который выберет сотрудник?

    типа:
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    и т.д.
    ПроцессорВывода.УстановитьДокумент(Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
  14. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    нет, не совсем принципе то что вы делаете соединением наборов через параметры - это можно сделать и запросом. Недавно как раз был пример как получить остаток на каждыйдень. можно как вы набора двас осздать и из одного в качестве параметра дату во втрой передавать, а можно это сделать одним запросом на виртуальных таблицах

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