Меню Закрыть

1С скд внешние источники данных

Содержание

Очень часто бывают ситуации, когда необходимо сделать отчет СКД на сложном запросе, который используюет в себе вложенные запросы и объединения внутренние и полные и т.д. — в результате в консоли этот запрос формируется верно, а в скд половина полей пустые! Связано это с особенностью СКД в объединении внутренних данных, а так же не стоит забывать что в СКД наборы данных связываются как левое соединение.

Решения возможны следующие:

  • Изменить запрос в СКД
  • Сформировать запрос обычным способом и подставить эти данные в СКД как внешние

Рассмотрим последний вариант:

Внешний источник данных, грузим из ТЗ

Для вывода отчета я использую шаблон All4CF.ru_Template_SKD_v4.1 в нем уже реализованы почти все необходимые функции и работает в Обычных и УП формах.

В модуле объекта уже есть функция

установим в ней наш запрос, получается примерно так:

Ниже в коде происходит установка внешних данных из нашей ТЗ с именем ТаблицаВнешнегоНабораДанных

В самой компоновке добавляем набор Объект с именем ТаблицаВнешнегоНабораДанных и перечисляем поля, которые будут использоваться в отчете:

Как я уже говорил выше, далее нам необходимо получить остатки взаиморасчетов на дату документа:

Получение остатков на документ в СКД

Набор данных Запрос — назвали его Остатки:

Теперь установим связи Запроса и Объекта

Остатки нужно получать на дату документа и по контрагенту

Далее, если нужно, задайте вычисляемые поля, ресурсы, параметры и Настройте Список вывода.

Динамика работы пользователей

При открытии новых филиалов компании, для расчета нагрузки на сервер 1С:Предприятия и других задач пожет понадобиться посмотреть динамику работы пользователей в информационной базе в виде диаграммы.

Динамику нужно показать за выбранный пользователем период. В качестве отображаемых данных будет количество действий на данными пользователями в разрезе часов. Информация для подобного отчета может быть получена из журнала регистрации.

Читайте также:  Intel core i5 8250u тест в играх

Рассмотрим поэтапное создание подобного отчета и с помощью внешнего набора данных построим его на системе компоновки данных.

Читаем журнал регистрации

И так, отчет будем строить на СКД. Данные же мы будем получать не с помощью запроса из базы данных, а из журнала регистрации. О способе хранения журнала регистрации платформой писал в предыдущей статье.

В соответствии с заданным периодом в отчете нам нужно получить все действия пользователя над данными информационной базы. Полученную таблицу сгруппировать по пользователю и вывести в виде диаграммы (см. скриншот выше).

Для получения информации из журнала регистрации будем использовать метод глобального контекста "ВыгрузитьЖурналРегистрации()". В событии "ПриКомпоновкеРезультата" созданного отчета добавим следующий программный код:

Первый параметр метода "ВыгрузитьЖурналРегистрации" устанавливает таблицу значений, в которую будет выгружен результат выборки из журнала регистрации. Второй параметр устанавливаем фильтр на выбираемые записи. Филтр представляет собой структуру, ключи в котором — это поля, по которым устанавливается отбор. Мы используем поля "ДатаНачала" и "ДатаОкончания" для установки периода анализа журнала регистрации, а также поле "Событие", в который передаем массив строк (наименований событий). Добавленные в массив события соответствуют действиям на данными в базе.

Подробнее о использовании метода "ВыгрузитьЖурналРегистрации" Вы можете прочитать в синтаксис-помощнике.

Передаем таблицу значений в СКД

Для того, чтобы СКД смогла работать с полученной таблице значений нужно проделать следующий действия:

1) Создать набор данных в схеме компоновки и задать его поля.2) В программный код модуля "ПриКомпоновкеРезультата" прописать передачу таблицы значений в СКД.

3) Настраиваем ресурсы и структуру отчета (подробнее смотри в файле отчета, ссылка на который дана в конце статьи).

На этом настройки отчета завершены и мы можем запустить его в режиме предприятия.

Читайте также:  Couldn t load assetbundle rust что делать

Внешний источник данных в СКД позвляет использовать в отчетах данные практически из любых источников, влючая те, данные которых мы не сможем получить запросами.

Использование СКД для таких источников позволяет создавать отчеты с гибкиой системой настроек, а также дает возможность пользователю изменять вывод отчета, его структуру. Все возможности системы компоновки данных будут задействованы для таких источников в полной мере.

Скачать отчет из примера Вы можете по следующей ссылке .

Автор: Admin 19 августа, 2019 0 комментария

Задача: Передать в СКД внешний набор данных – таблицу значений, полученную любым иным способом.

Попался на практике запрос, который ты не можешь реализовать через конструктор запросов СКД? Или ты получил таблицу значений (ТЗ) из внешнего источника данных? Все это элементарно можно передать в макет твоего отчета:

  • На закладке “Наборы данных” выбираем из меню кнопки “Набор данных – объект”:

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.