8.х как програмно в СКД загрузить данные из V82.COMConnector

Тема в разделе "Система компоновки данных (СКД)", создана пользователем SvetaS_Love, 16 янв 2017.

  1. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Добрый День!
    есть 4-ре объекта V82.COMConnector заполненных из 4-ёх разных баз 1С (8.3, 7.7 , 8.2 , 8.3),
    вопрос : как программой заполнить консолидированные данные из V82.COMConnector в СКД, чтобы быстро формировать нужные отчеты в СКД. Заранее большое спасибо.
  2. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    А что за данные вы собираете через коннектор?
    1) Первое, собирайте данные в таблицу значений и передавайте их как временную таблицу в запрос. Так как это COM то ТЗ должна быть с примитивными данными, а не объектными
    2) Если это какие то таблицы из других баз, то наверное логичней подключить внешние источники и тогда вы к этим таблицам сможете обращаться напрямую и связать их с данными в вашем запросе.
  3. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    это не таблицы из других баз, это запросы по документам из других баз (выборка документов запросом из других баз), как запрос из других баз перенести во внешние источники?
    --- Объединение сообщений, 16 янв 2017 ---
    как технически это сделать "значений и передавайте их как временную таблицу в запрос"?
  4. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    Вы можете те таблицы по которым делаете запрос во внешних базах подключить как внешние источники и уже формировать по ним запрос в текущей базе
  5. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    пример простенького кода есть?
  6. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    К сожалению под рукой нету. Погуглите в сторону внешних источников, А когда подключите таблицы они у вас с подключенными полями появятся в конструкторе запросов.
  7. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    я уже искала в гугле. Кто-то знает как это сделать технически с помощью кода?
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
    В СКД есть возможность использовать функции из общих модулей. Попробуйте так поковырять, может и получится что.
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.722
    Симпатии:
    961
    Баллы:
    204
    Да зачем функции . Прост делаете отчет на СКД как Вам написали через Наборы данных.
    Пишите код выгружаете знаяения в ТЗ и уже Эти ТЗ передаете в компановку как набор данных
    Код:
        Запрос=Новый Запрос;
        Запрос.Текст=""; 
        ТЗ=Запрос.Выполнить().Выгрузить()
        
       
        ВнешниеНаборыДанных = Новый Структура;
        ВнешниеНаборыДанных.Вставить("ТаблицаСотрудников",ТЗ);
       
        СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
        Настройки =    КомпоновщикНастроек.Настройки;
       
        ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
       
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
       
        ДокументРезультат = ЭлементыФормы.Результат;
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
        ПроцессорВывода.ОтображатьПроцентВывода=Истина;
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    alexburn нравится это.