Система Компоновки Данных СКД, идея и архитектура Блог компании 1. С Хабрахабр. Одна из самых важных областей бизнес софта это отчетность. От того, насколько легко настроить под меняющиеся потребности бизнеса и законодательства существующий отчет или сделать новый, может зависеть причем не в переносном смысле судьба бизнеса, будь то отчет для налоговой инспекции или диаграмма зависимости спроса на товары от сезона и других факторов. Система Компоновки Данных это СТАНДАРТ разработки отчетов для всех. Особенности работы с макетами в отчетах на СКД При помощи ручного. Об ИС 1СИТС middot Документ middot Результаты поиска Вернуться на старую версию поиска. Разработка сложных отчетов в 1СПредприятие 8. Оставить отзыв. Видеоурок по созданию отчета Журнал документов в 1С СКД. Книга Разработка сложных отчетов в 1С Предприятии 8. Система компоновки данных. Считается что эта книга библия СКД. Система компоновки данных СКД предназначена для получения и. Особенности соединения наборов данных в СКД Построение отчетов с. Кстати, помимо разработки отчетов механизм СКД также. Курс по системе компоновки данныхСКД. Разработка сложных отчетов в 1СПредприятии 8. Материал книги также полностью включен в издание Профессиональная разработка в системе 1СПредприятие 8. Разработка сложных отчетов в системе 1С Предприятие 8. Мощная и гибкая система отчетности, позволяющая легко извлечь из системы нужные данные, представить их в доступном для понимания виде, позволяющая конечному пользователю перенастроить стандартный отчет так, чтобы увидеть данные в новом свете это идеал, к которому должна стремиться каждая бизнес система. В платформе 1. С Предприятие за построение отчтов отвечает механизм под названием Система компоновки данных сокращенно СКД. В этой статье мы постараемся дать краткое описание идеи и архитектуры механизма СКД и его возможностей. СКД это механизм, основанный на декларативном описании отчетов. СКД предназначен для построения отчетов и для вывода информации, имеющей сложную структуру. Кстати, помимо разработки отчетов механизм СКД также используется в 1. С Предприятии в динамическом списке, средстве показа списочной информации с богатой функциональностью показ плоских и иерархических списков, условное оформление строк, группировки и т. Немного истории. В самой первой версии платформы 1. С Предприятие 8, версии 8. Писался один или несколько запросов на языке запросов 1. С SQL подобный язык, подробнее о нем ниже. Писался код, который переносил результаты выполненных запросов в табличный документ или в диаграмму. Код также мог делать работу, которую в запросе сделать невозможно например, вычислял значения, используя встроенный язык 1. С. А один из козырей на тот момент совсем новой платформы 1. С Предприятие 8 это минимизация в прикладном решении объема кода, который нужно писать вручную, в частности, за счет визуального проектирования. Логично было бы пойти этим же путем и в механизме построения отчетов. Что и было сделано путем разработки нового механизма Системы Компоновки Данных. Одной из идей, легших в основу СКД, была гибкость и настраиваемость отчетов, причем доступная как разработчику, так и конечному пользователю. В идеале хотелось бы дать доступ конечному пользователю к тому же набору инструментов для дизайна отчета, что и разработчику. Логично было бы сделать единый набор инструментов, доступный всем. Ну а раз инструменты предполагают участие конечного пользователя значит, нужно использование программирования в них убрать до минимума лучше всего устранить совсем, и по максимуму использовать визуальные настройки. Постановка задачи. Задача перед командой разработки стояла такая сделать систему создания отчетов, основанную не на алгоритмическом т. И мы считаем, что задачу успешно решили. По нашему опыту, около 8. СКД без единой строчки кода за исключением написания формул вычисляемых полей, по большей части через визуальные настройки. Два языка. В создании отчетов задействованы два языка. Один язык запросов, используемый для выборки данных. Второй язык выражений компоновки данных, предназначен для записи выражений, используемых в различных частях системы, например, в настройках компоновки данных, для описания выражений пользовательских полей. Язык запросов. Язык запросов основан на SQL и легко осваивается знающими SQL. Пример запроса Легко видеть аналоги стандартных для SQL запроса секций SELECT, FROM, GROUP BY, ORDER BY. При этом язык запросов содержит значительное количество расширений, ориентированных на отражение специфики финансово экономических задач и на максимальное сокращение усилий по разработке прикладных решений Обращение к полям через точку. Если поля какой либо таблицы имеют ссылочный тип хранят ссылки на объекты другой таблицы, разработчик может в тексте запроса ссылаться на них через. Итоги и подитоги формируются с учетом группировки и иерархии, обход уровней может выполняться в произвольном порядке с подведением подитогов, обеспечивается корректное построение итогов по временным измерениям. Поддержка виртуальных таблиц. Виртуальные таблицы, предоставляемые системой, позволяют получить практически готовые данные для большинства прикладных задач без необходимости составления сложных запросов. Так, виртуальная таблица может предоставить данные по остаткам товаров в разрезе периодов на какой то момент времени. При этом виртуальные таблицы максимально используют хранимую информацию, например, ранее рассчитанные итоги и т. Временные таблицы. Язык запросов позволяет использовать в запросах временные таблицы. С их помощью можно повысить производительность запросов, в некоторых случаях снизить количество блокировок и сделать текст запроса более легким для восприятия. Пакетные запросы. Для более удобной работы с временными таблицами в языке запросов поддерживается работа с пакетными запросами таким образом, создание временной таблицы и ее использование помещаются в один запрос. Пакетный запрос представляет собой последовательность запросов, разделенных точкой с запятой. Запросы в пакете исполняются один за другим. Результатом выполнения пакетного запроса, в зависимости от используемого метода, будет являться либо результат, возвращаемый последним запросом пакета, либо массив результатов всех запросов пакета в той последовательности, в которой следуют запросы в пакете. Получение представлений ссылочных полей. Каждая объектная таблица в которой хранится справочник или документ имеет виртуальное поле Представление. Это поле содержит текстовое представление объекта и облегчает работу создателя отчетов. Так, для документа это поле содержит всю ключевую информацию название типа документа, его номер и дату например, Продажа 0. Расширение осуществляется при помощи специальных синтаксических инструкций, заключаемых в фигурные скобки и помещаемых непосредственно в текст запроса. С помощью расширений разработчик определяет, какие операции конечный пользователь сможет проводить, настраивая отчет. Например ВЫБРАТЬ. В этом предложении описываются поля, которые пользователь сможет выбирать для вывода. После данного ключевого слова через запятую перечисляются псевдонимы полей из основного списка выборки запроса, которые будут доступными для настройки. Описываются поля, на которые пользователь сможет накладывать отбор. Оформляем Кадровые Документы Митрофанова. В данном предложении используются поля таблиц. Использование псевдонимов полей списка выборки недопустимо. Каждая часть объединения может содержать собственный элемент ГДЕ. СКД позволяет определять в отчете пользовательские поля, используя либо собственные выражения, либо наборы вариантов с условиями их выбора аналог CASE в SQL. Пользовательские поля являются аналогом вычисляемых полей. Они могут задаваться как в конфигураторе, так и в режиме 1. С Предприятие, но в выражениях пользовательских полей нельзя использовать функции общих модулей. Поэтому пользовательские поля предназначены скорее для пользователя, чем для разработчика. Пример Процесс создания отчета на СКД. При создании отчета нам нужно создать макет, определяющий, как данные будут отображаться в отчете. Можно создать макет, базирующийся на схеме компоновки данных. Схема компоновки данных описывает суть данных, которые предоставляются отчету откуда получать данные и как можно управлять их компоновкой. Схема компоновки данных представляет собой базу, на основе которой могут быть сформированы всевозможные отчеты. Схема компоновки данных может содержать текст запроса с инструкциями системы компоновки данных описание нескольких наборов данных подробное описание доступных полей описание связей между несколькими наборами данных описание параметров получения данных описание макетов полей и группировок и др.