Не работает процессор компоновки данных

Содержание
  1. Отладка схем компоновки данных: анализ запросов
  2. Использование консоли системы компоновки данных
  3. Просмотр запросов
  4. Другие возможности
  5. Долго работает процессор вывода компоновки данных
  6. Ошибки (?) работы СКД
  7. Специальные предложения
  8. См. также
  9. Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо
  10. Полезные примеры СКД, ч.1
  11. Обзор полезных методов БСП 3.1.4
  12. Звуковое управление в 1С 8.3
  13. Использование классов .Net в 1С для новичков Промо
  14. Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions
  15. Программная работа с настройками СКД
  16. [СКД] Программное создание схемы компоновки данных
  17. Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо
  18. Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм
  19. Полезные процедуры и функции для программиста
  20. Таблица значений. Нюансы
  21. Копирование числовых ячеек из 1С в Excel Промо
  22. Отчетность в 1С: Система Компоновки Данных (СКД), идея и архитектура
  23. Немного истории
  24. Постановка задачи
  25. Два языка
  26. Язык запросов

Отладка схем компоновки данных: анализ запросов

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

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

Для отладки сложных схем компоновки данных можно использовать консоль системы компоновки данных, которая публикуется на диске ИТС.

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

Использование консоли системы компоновки данных

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

После чего нужно воспользоваться командой «Конструктор схемы компоновки данных», которая откроет конструктор схемы, с помощью которого и создается схема компоновки данных.

Конструктор схемы компоновки данных работает только в толстом клиенте, поэтому, если нужно создавать новые или редактировать существующие схемы компоновки данных, то следует запускать толстый клиент в управляемом режиме.

Если в конфигурации уже имеется готовая схема компоновки данных, то эту схему можно перенести в консоль компоновки, сохранив ее в конфигураторе в файл и загрузив ее из файла в конструкторе схемы компоновки данных, открытого из консоли.

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

После того, как схема компоновки данных готова, нужно создать настройки отчета.

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


Если в схеме компоновки данных уже имеются настройки, то можно их загрузить из схемы, воспользовавшись командой «Стандартные настройки» .

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

При этом в нижней части консоли будет заполнена текущая страница результата. При открытии консоли активна страница с результатом — табличным документом, поэтому при формировании отчета будет по умолчанию будет виден результат отчета в виде табличного документа.

Просмотр запросов

В тексте макета компоновки данных можно видеть, какие запросы с какими параметрами будут исполняться.

Создадим схему компоновки данных, в которой добавим набор данных с запросом:

Добавим вариант отчета, в настройках которого добавим детальные записи (группировку без полей группировки), в выбранные поля добавим поля Товар и СуммаОборот, в отбор добавим условие Покупатель = «Магазин «Бытовая техника»».

Сформируем. Результат отчета в виде табличного документа отображается на первой закладке консоли.

На закладке «Макет для табличного документа» можно найти текст запроса, который реально будет исполняться системой при формировании отчета.
В нашем случае это будет следующий запрос:

ПРИМЕЧАНИЕ
Т.к. текст запроса отображается в XML тексте, некоторые символы, зарезервированные в XML, отображаются при помощи специальных обозначений. Так символ «&» отображается как «&», символ » » как «>».

Как видно, система добавила условие в параметр виртуальной таблицы и в список выборки запроса поместила только поля, которые нам требовалось выводить.

Читайте также:  От чего не работает желчный пузырь

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

Другие возможности

В консоли имеется возможность сохранить текст сгенерированного макета компоновки данных в качестве эталона (команда «Сохранить эталон») и сравнить с новым макетом, после изменения схемы компоновки данных или настроек (команда «Сравнить с эталоном»). Это дает возможность понять, что меняется в зависимости от того или иного изменения в настройках или схеме компоновки данных.

Отметим также, что при необходимости можно модифицировать сгенерированный макет компоновки данных и, воспользовавшись командой «Выполнить в табличный документ с текущим макетом», сформировать отчет на основании модифицированного макета.

Источник

Долго работает процессор вывода компоновки данных

Бух 3.0.38.1. Платформа — 8.3.6.1977
Тормозят ОСВ, ОСВ по счету, Карточки счета.
Как выяснилось, 70 % времени занимает именно вывод отчета процессором вывода компоновки данных.

Насколько я понимаю,сам макет СКД выполняется процессором компоновки данных? (то есть выполняется запрос, рассчитываются вычисляемые поля и тд.) В момент инициализации процессора кд на основании макета кд?

То есть процессор компоновки выводит уже готовый, выполненный результат запроса в табличный документ? Или все-таки происходит выполнение запроса в момент вывода процессором вывода КД?

Прошу прощения, спешу, поэтому написал немного сумбурно.
Спасибо.

Написал очень сумбурно.

Необходимо понять — в момент вывода процессором ВЫВОДА КД — выполняются ли какие запросы, вычисляется что либо, кроме ширины колонок и прочего оформления?

Или все уже выполнено ДО — Процессором Компоновки Данных?

(2) Ну, например, в карточке счета структура совсем простая, а выводиться может по 30-40 секунд.

С оборудованием все ок, жесткие, сеть, оперативку, проц проверял. Хватает с большим запасом.

(4), Процессор вывода результатов компоновки заполняет табличный документ на сервере.
На тонкий клиент только «картинка», грубо говоря, передается.

Так что не думаю, что дело в объеме передаваемых данных по сети между клиентом и сервером.

(8) Ну так происходит один вызов сервера, в котором и заполняется таб. док.

В любом случае тестил, когда клиент и сервер стояли на одной машине, так и на разных — особой разницы не наблюдается.

Источник

Ошибки (?) работы СКД

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

Вот для примера отчет (схема компоновки).

Установлен отбор на дату рождения.

При формировании отчета получаем результат (Скриншот: Неверный результат)

Но вот 5 строк объясняется тем, что отбор накладывается на первую таблицу, где встречается поле с этим именем

Т.е. отбор накладывается только на таблицу ВТ_1, а не на результат запроса

Чтобы отбор накладывался на результат, надо у результата запроса на вкладке «Компоновка данных» на вкладке условия добавить это поле (Скриншот: Необходимая настройка для отбора)

Проверялось на релизах 8.3.13.1513, 8.3.14.1640.

Специальные предложения

СКД «ловит» отбор по имени поля которое попадает в набор данных, а именно «ДатаРождения»

замените синоним «ДатаРожденияТаб2» на «ДатаРождения» и все станет чики-пуки.

Обновление 31.05.19 07:30

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020 3997 Eugen-S 21

Полезные примеры СКД, ч.1

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021 12757 Neti 19

Обзор полезных методов БСП 3.1.4

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

25.03.2021 37835 rayastar 51

Звуковое управление в 1С 8.3

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021 6936 velemir 31

Использование классов .Net в 1С для новичков Промо

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016 85181 Serginio 115

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

«Я не могу просто взять и скопировать код с гитхаба», «у нас 1С микросервисами окружена», «возможностей мало» — частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще — берём и используем.

Читайте также:  Гугле не работает контакт

28.12.2020 8632 comol 31

Программная работа с настройками СКД

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020 63437 ids79 26

[СКД] Программное создание схемы компоновки данных

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

15.01.2020 42526 John_d 22

Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо

Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.

14.04.2017 67238 user700211_a.straltsou 30

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм

Постоянно приходится вспоминать, как добавить механизм печати (БСП) в новый документ. Поэтому решил написать шпаргалку.

10.10.2019 29290 John_d 20

Полезные процедуры и функции для программиста

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

07.10.2019 39203 HostHost 41

Таблица значений. Нюансы

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019 51974 Yashazz 56

Копирование числовых ячеек из 1С в Excel Промо

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

Источник

Отчетность в 1С: Система Компоновки Данных (СКД), идея и архитектура

Одна из самых важных областей бизнес-софта – это отчетность. От того, насколько легко настроить под меняющиеся потребности бизнеса (и законодательства) существующий отчет или сделать новый, может зависеть (причем не в переносном смысле!) судьба бизнеса, будь то отчет для налоговой инспекции или диаграмма зависимости спроса на товары от сезона и других факторов. Мощная и гибкая система отчетности, позволяющая легко извлечь из системы нужные данные, представить их в доступном для понимания виде, позволяющая конечному пользователю перенастроить стандартный отчет так, чтобы увидеть данные в новом свете – это идеал, к которому должна стремиться каждая бизнес-система.

В платформе «1С:Предприятие» за построение отчётов отвечает механизм под названием «Система компоновки данных» (сокращенно СКД). В этой статье мы постараемся дать краткое описание идеи и архитектуры механизма СКД и его возможностей.

СКД – это механизм, основанный на декларативном описании отчетов. СКД предназначен для построения отчетов и для вывода информации, имеющей сложную структуру. Кстати, помимо разработки отчетов механизм СКД также используется в «1С:Предприятии» в динамическом списке, средстве показа списочной информации с богатой функциональностью (показ плоских и иерархических списков, условное оформление строк, группировки и т.п.).

Немного истории

В самой первой версии платформы «1С:Предприятие 8», версии 8.0, отчеты делались так:

  1. Писался один или несколько запросов на языке запросов 1С (SQL-подобный язык, подробнее о нем ниже).
  2. Писался код, который переносил результаты выполненных запросов в табличный документ или в диаграмму. Код также мог делать работу, которую в запросе сделать невозможно – например, вычислял значения, используя встроенный язык 1С.

Подход прямолинейный, но не самый удобный – визуальных настроек минимум, все приходится программировать «врукопашную». А один из козырей на тот момент совсем новой платформы «1С:Предприятие 8» — это минимизация в прикладном решении объема кода, который нужно писать вручную, в частности, за счет визуального проектирования. Логично было бы пойти этим же путем и в механизме построения отчетов. Что и было сделано путем разработки нового механизма — Системы Компоновки Данных.

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

Читайте также:  Как сделать наушники которые сломались

Постановка задачи

Задача перед командой разработки стояла такая – сделать систему создания отчетов, основанную не на алгоритмическом (т.е. через написание кода), а на декларативном подходе к созданию отчетов. И мы считаем, что задачу успешно решили. По нашему опыту, около 80% требуемой отчетности может быть реализована с помощью СКД без единой строчки кода (за исключением написания формул вычисляемых полей), по большей части — через визуальные настройки.
Разработка первой версии СКД заняла около 5 человеко-лет.

Два языка

В создании отчетов задействованы два языка. Один – язык запросов, используемый для выборки данных. Второй – язык выражений компоновки данных, предназначен для записи выражений, используемых в различных частях системы, например, в настройках компоновки данных, для описания выражений пользовательских полей.

Язык запросов

Язык запросов основан на SQL и легко осваивается знающими SQL. Пример запроса:

Легко видеть аналоги стандартных для SQL-запроса секций — SELECT, FROM, GROUP BY, ORDER BY.

При этом язык запросов содержит значительное количество расширений, ориентированных на отражение специфики финансово-экономических задач и на максимальное сокращение усилий по разработке прикладных решений:

  • Обращение к полям через точку. Если поля какой-либо таблицы имеют ссылочный тип (хранят ссылки на объекты другой таблицы), разработчик может в тексте запроса ссылаться на них через «.», при этом количество уровней вложенности таких ссылок система не ограничивает (например, ЗаказКлиента.Соглашение.Организация.Телефон).
  • Многомерное и многоуровневое формирование итогов. Итоги и подитоги формируются с учетом группировки и иерархии, обход уровней может выполняться в произвольном порядке с подведением подитогов, обеспечивается корректное построение итогов по временным измерениям.
  • Поддержка виртуальных таблиц. Виртуальные таблицы, предоставляемые системой, позволяют получить практически готовые данные для большинства прикладных задач без необходимости составления сложных запросов. Так, виртуальная таблица может предоставить данные по остаткам товаров в разрезе периодов на какой-то момент времени. При этом виртуальные таблицы максимально используют хранимую информацию, например, ранее рассчитанные итоги и т.д.
  • Временные таблицы. Язык запросов позволяет использовать в запросах временные таблицы. С их помощью можно повысить производительность запросов, в некоторых случаях снизить количество блокировок и сделать текст запроса более легким для восприятия.
  • Пакетные запросы. Для более удобной работы с временными таблицами в языке запросов поддерживается работа с пакетными запросами — таким образом, создание временной таблицы и ее использование помещаются в один запрос. Пакетный запрос представляет собой последовательность запросов, разделенных точкой с запятой («;»). Запросы в пакете исполняются один за другим. Результатом выполнения пакетного запроса, в зависимости от используемого метода, будет являться либо результат, возвращаемый последним запросом пакета, либо массив результатов всех запросов пакета в той последовательности, в которой следуют запросы в пакете.
  • Получение представлений ссылочных полей. Каждая объектная таблица (в которой хранится справочник или документ) имеет виртуальное поле — «Представление». Это поле содержит текстовое представление объекта и облегчает работу создателя отчетов. Так, для документа это поле содержит всю ключевую информацию — название типа документа, его номер и дату (например, «Продажа 000000003 от 06.07.2017 17:49:14»), избавляя разработчика от написания вычисляемого поля.
  • и др.

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

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

  • ВЫБРАТЬ. В этом предложении описываются поля, которые пользователь сможет выбирать для вывода. После данного ключевого слова через запятую перечисляются псевдонимы полей из основного списка выборки запроса, которые будут доступными для настройки. Пример:
  • ГДЕ. Описываются поля, на которые пользователь сможет накладывать отбор. В данном предложении используются поля таблиц. Использование псевдонимов полей списка выборки недопустимо. Каждая часть объединения может содержать собственный элемент ГДЕ. Примеры: <ГДЕ Номенклатура.*, Склад >, <ГДЕ Документ.Дата >= &ДатаНачала, Документ.Дата

Источник

Оцените статью