Разделы сайта
Выбор редакции:
- Удержание предметов в Steam Как узнать на сколько дается бан трейда
- Прошивка планшетов: пошаговая инструкция
- Лучшие защитные покрытия для Galaxy S7
- Как выбрать умные часы для андроид: критерии, характеристики, обзоры Самые лучшие спортивные часы
- Huawei Firmware Finder – программа поиска прошивок для смартфонов Huawei и Honor Как перепрошить телефон хайвей
- Почему совершать покупки онлайн выгоднее
- Pls открыть. Чем открыть файл.PLS? Что необходимо для конвертации PLS файла в PDF файл или как можно создать PDF версию Вашего PLS файла
- Что такое расширение файла AI?
- Оптимизация ОС: Программа для дефрагментации диска Установка piriform com defraggler download free
- Что такое "подкасты" на айфоне, и зачем они нужны Как пользоваться приложением подкасты
Реклама
Создание простого отчета на скд. Использование СКД на примере создания простого отчёта на управляемых формах Как в 1с создать настраиваемый отчет скд |
СКД расшифровывается как система компоновки данных. СКД - механизм платформы 1С для разработки отчетов. Отчет создается без необходимости писать программный код. С помощью определенного конструктора и настроек, произведенных в нем, программист задает желаемый результат, система компоновки данных это понимает и выводит этот результат пользователю. Если потребовалось что-то изменить в отчете, достаточно вновь обратиться к конструктору, внести необходимые изменения и измененный отчет готов. Минус СКД в том, что его настройки достаточно сложны и не все пользователи усваивают их быстро. Какова технология создания отчета СКД: Написать запрос 1С в СКД, который обеспечивает получение данных Указать СКД роль полей (вычисляемые поля, ресурсы) Ввести настройки СКД по умолчанию. Пользователю остается возможность изменить множество настроек по своему желанию. СКД имеет значительное преимущество как для пользователя, так и для программиста: Программист - избавляет от написания программы для выполнения отчета и настроек Пользователь - получает значительный доступ к настройкам отчета. Во всех новых конфигурациях 1С все отчеты будут использованы только на СКД 1С. Создание отчета. Выберите меню Файл -> Новый. Выберите тип файла - Новый отчет. Создается новый отчет. Создадим новую схему СКД по кнопке Открыть схему компоновки данных. Создание запроса для отчета. Источников данных для СКД 1С может быть множество. Чтобы использовать, например, два отдельных запроса - добавьте сначала «Набор данных - объединение», а потом несколько запросов. В нашем примере мы будем использовать запрос. Запрос строится с помощью Конструктора запроса. Работа с конструктором запроса в СКД ничем не отличается от обычной. В результате формирования запроса, СКД создаст список доступных к использованию полей и заполнит им по умолчанию наименования. Наименование можно изменить. Настройки СКД. На закладке Ресурсы укажем те поля, которые будут суммироваться для итогов. Итоги по ресурсам можно рассчитывать при помощи функций языка выражений СКД - Сумма(), Среднее(), Максимум(), Минимум() и Количество(). По умолчанию Сумма. Построение виртуальных таблиц регистров бухгалтерии, регистров накопления, регистров сведений зависит от заданной даты. СКД создана так, что если в основе отчета лежит виртуальная таблица, тогда необходимо дать пользователю выбрать, за какой интервал или на какую дату формировать отчёт. Если в запросе выбрана виртуальная таблица остатков или виртуальная таблица регистров сведений, тогда СКД автоматически добавляет параметр с названием «Период». Основная настройка производится на закладке Настройки. Воспользуемся Конструктором настроек. Выведем данные в список. Выберем нужные поля. Группировка. Выберем группировку по номенклатуре. Сортировка по полю Номенклатура по возрастанию. Результат настройки СКД выглядит следующим образом. На вложенной закладке “Параметры” для параметра “Период” установим флаг “Включать в пользовательские настройки”. После выполнения данной настройки параметры будут отображаться в основой форме отчета. Сохраним отчет. Формирование СКД. Откроем отчет в 1С:Предприятие. Зададим нужный период и сформируем отчет. Отчет сформирован! Одним из самых удобных и уникальных инструментов разработки в 1С является система компоновки данных (СКД). Мало в каких информационных системах разработчики могут создавать отчеты без написания программного кода. Данный механизм разрабатывался с целью упростить и ускорить разработку отчетных форм и дать больше возможностей пользователям в работе с выводимыми данными. Последнее очень высоко ценится продвинутыми пользователями, которые благодаря этому могут самостоятельно настроить отчет под собственные нужды, не ожидая действий разработчиков. Создание отчета в 1С через СКДПроцесс разработки отчета при помощи СКД можно разделить на следующие этапы:
Несмотря на возможность пользователей настраивать отчеты на СКД, создавать их необходимо через конфигуратор. Рассмотрим пример создания внешнего отчета на СКД: Теперь заходим в 1С, открываем наш отчет, чтобы удостовериться в правильности совершенных действий. Данные все отражены, группировки можно сворачивать и разворачивать. Как видите, СКД позволяет получать полноценные отчеты без написания кода за исключением нестандартных требований. Учитывая, что большинство отчетов имеют схожую структуру, знание СКД позволит существенно сократить время на разработку этих объектов. Большую популярность этому механизму обеспечила поддержка широких возможностей при формировании отчета. Причем пользоваться ими могут не только разработчики, но и простые пользователи. Возможности СКДБывают ситуации, когда мы сделали отчет, а потом приходит пользователь и просит сделать небольшую доработку. Например, вместо названий номенклатуры выводить артикулы. СКД позволяет такие доработки делать пользователям самостоятельно с помощью кнопки «Еще» - «Изменить вариант…». Открывшееся окно похоже на окно настройки в отчете в конфигураторе, а также оно имеет схожие функции. Чтобы решить поставленную задачу пользователь должен зайти во вкладку «Поля» и изменить поле «Номенклатура». Это поле для редактирования открывается двойным щелчком, и становится доступна кнопка «Выбрать…». Открывшееся окно предоставляет нам возможность выбора любого значения, которое будет фигурировать в поле «Номенклатура». У некоторых полей слева фигурирует знак плюса – в эти поля разработчик поместил ссылки, значит, мы можем увидеть их реквизиты. Раскрываем «Номенклатура» и видим артикул, который нам и нужен. Выделяем его и выбираем. В окне изменения вариантов отчета заложены многие полезные функции системы компоновки данных. К примеру, пользователь самостоятельно может изменить порядок группировок, добавить отбор или наложить условное оформление. Завершаем редактирование и формируем отчет – как видим, вся номенклатура теперь отображается в виде артикулов. Механизм СКД 1С:Предприятие 8.3 также имеет расширенный функционал для разработчиков. При разработке отчета мы пользовались всего 2 вкладками – «Наборы данных» и «Настройки», но в СКД их намного больше. Чтобы пользоваться всеми функциями системы компоновки данных, необходимо представлять, для чего каждая из вкладок нужна:
Количество возможностей, заложенных в механизме СКД разработчиками, велико, но многие из них используются крайне редко. Даже опытные программисты 1С за годы работы могут не использовать некоторые функции. Для начала успешной работы в СКД достаточно знать основные понятия и часто используемые настройки. В редких случаях на помощь придет документация. Система компоновки данных (СКД) — мощный механизм платформы 1С (8.2 и новее) для разработки отчетов, а вовсе не система контроля доступа. Для чего была придумана «система компоновки данных»? Система была придумана для того, чтобы декларативно создавать отчеты. Отчет создается без необходимости писать программный код. С помощью определенного конструктора и настроек, произведенных в нем, программист задает желаемый результат, система компоновки данных это понимает и выводит этот результат пользователю. Если потребовалось что-то изменить в отчете, достаточно вновь обратиться к конструктору, внести необходимые изменения, и измененный отчет готов. Видеоурок по созданию отчета «Журнал документов» в 1С СКД:
При этом, поскольку система является в принципе универсальной, на все случаи жизни, в распоряжении программиста имеется огромное количество настроек. При всем изобилии выбора, самое, пожалуй, неприятное то, что некоторые настройки в схеме компоновки данных предназначены для решения достаточно редко реализуемых задач. Получите 267 видеоуроков по 1С бесплатно: Все это, безусловно, загромождает схему компоновки данных, и неопытному специалисту разобраться в ней бывает достаточно сложно. Поскольку при открытии конструктора перед ним появляется огромное количество различных настроек, смысл которых порою не очевиден. Несмотря на то, что СКД в 1С 8.3 может создаваться интерактивно с помощью соответствующего конструктора, можно и программным образом выполнить те же самые действия. Можно пойти с самого начала. Программными средствами создать схему компоновки данных, выполнить все необходимые настройки, создать настройку варианта отчета, скомпоновать отчет и вывести его на экран пользователю. Это более трудоемкая задача, но все же выполнимая. Также стоит отметить, что система компоновки данных используется не только в процессе создания отчета. При желании можно и печатную форму документа реализовать с помощью схемы компоновки данных. Принципиальных сложностей здесь не наблюдается, но важно понимать для создания таких печатных форм, как в целом работает система и из каких взаимосвязанных элементов она состоит. Основа управляемого интерфейса 1С — СКДВ концепции управляемых форм также лежит система компоновки данных. Все отборы, настройки условного оформления сортировки, которые мы имеем для , точно такие же, как у СКД. Стоит также отметить, что все элементы СКД имеют возможности реализоваться. Поэтому мы можем создавать схему программным образом, используя штатные средства платформы, и кроме этого и внешними средствами возможно оперировать. Как освоить и научиться делать отчеты на СКД?Пусть поставлена задача создать отчёт по всем документам "РеализацияТоваровУслуг", которые содержат позиции номенклатуры из заданной группы. Поскольку мы будем работать с управляемой формой, создадим в конфигурации встроенный отчёт с названием "Тестовый отчёт" и выберем при создании основную схему компоновки данных (рис. 1). Рис. 1. Создание отчёта В появившейся форме основной схемы компоновки данных используем кнопку "Добавить набор данных" и выберем "Добавить набор данных - запрос" (рис. 2) Рис. 2. Добавление набора данных Для создания запроса будем использовать конструктор запросов. Выберем из панели "Базы данных" документ "РеализацияТоваровУслуг" и его табличную часть "РеализацияТоваровУслуг.Товары". На панеле "Таблицы" из соответствующих таблиц выберем поля - "РеализацияТоваровУслуг.Ссылка" и "РеализацияТоваровУслуг.Номенклатура.Ссылка" (рис. 3). Рис. 3. Создание запроса Связь между таблицами создастся автоматически, поэтому мы можем в конструкторе запросов нажать кнопку "ОК". Набор данных - запрос готов (Рис.4). Рис. 4. Набор данных - запрос НастройкиДля правильной работы отчёта необходимо указать, какая информация будет выводится в отчёт. Нажмём кнопку "Открыть конструктор настроек" (рис. 5) Рис. 5. Конструктор настроек Выберем Тип отчёта - Список и нажмём кнопку "Далее". Выберем доступные поля - Ссылка и Номенклатура (Рис. 6.), после чего можно нажать кнопку "ОК". Рис. 6. Выбор полей отчёта В принципе, наш отчёт готов. Но в задании надо было получить не все данные, а использовать отбор по номенклатуре из выбранной группы. Разрешим пользователю пользоваться отбором. Для этого на закладке "Настройки" воспользуемся кнопкой "Свойства элемента пользовательских настроек" и выберем Отбор (Рис. 7.) Рис. 7. Пользовательские настройки Нажимаем кнопку "ОК", и на этом наши настройки закончены (Рис. 7). Для правильного вызова отчёта его необходимо включить в одну из подсистем. Пусть это будет в подсистема "Продажи" (рис. 8) Рис. 8. Подсистема Продажи Наш отчёт готов! Обновим конфигурацию базы данных и запустим 1С:Предприятие. Переходим в подсистему "Продажи" и вызываем "Тестовый отчёт" и далее, кнопку "Сформировать" (Рис. 9.) Рис. 9. Вызов отчёта По условиям задачи нам надо в отборе задать условие, чтобы номенклатура принадлежала определённой группе. Для этого выберем правое поле настройки Отбор. Откроется форма "Редактирование отбора". Перетащим мышью из доступных полей поле Номенклатура в Отбор, в колонке "Вид сравнения" установим "В группе", а в колонке "Значение" выберем группу номенклатуры "Бытовая техника" (Рис. 10.) Рис. 10. Установка отбора Нажимаем кнопку "ОК", формируем отчёт заново с учётом отбора, и задача решена (Рис. 11). Рис. 11. Отбор по группе номенклатуры. Одна из самых важных областей бизнес-софта – это отчетность. От того, насколько легко настроить под меняющиеся потребности бизнеса (и законодательства) существующий отчет или сделать новый, может зависеть (причем не в переносном смысле!) судьба бизнеса, будь то отчет для налоговой инспекции или диаграмма зависимости спроса на товары от сезона и других факторов. Мощная и гибкая система отчетности, позволяющая легко извлечь из системы нужные данные, представить их в доступном для понимания виде, позволяющая конечному пользователю перенастроить стандартный отчет так, чтобы увидеть данные в новом свете – это идеал, к которому должна стремиться каждая бизнес-система. В платформе «1С:Предприятие» за построение отчётов отвечает механизм под названием «Система компоновки данных» (сокращенно СКД). В этой статье мы постараемся дать краткое описание идеи и архитектуры механизма СКД и его возможностей.
Немного историиВ самой первой версии платформы «1С:Предприятие 8», версии 8.0, отчеты делались так:
Одной из идей, легших в основу СКД, была гибкость и настраиваемость отчетов, причем доступная как разработчику, так и конечному пользователю. В идеале хотелось бы дать доступ конечному пользователю к тому же набору инструментов для дизайна отчета, что и разработчику. Логично было бы сделать единый набор инструментов, доступный всем. Ну а раз инструменты предполагают участие конечного пользователя – значит, нужно использование программирования в них убрать до минимума (лучше всего – устранить совсем), и по максимуму использовать визуальные настройки. Постановка задачиЗадача перед командой разработки стояла такая – сделать систему создания отчетов, основанную не на алгоритмическом (т.е. через написание кода), а на декларативном подходе к созданию отчетов. И мы считаем, что задачу успешно решили. По нашему опыту, около 80% требуемой отчетности может быть реализована с помощью СКД без единой строчки кода (за исключением написания формул вычисляемых полей), по большей части - через визуальные настройки.Разработка первой версии СКД заняла около 5 человеко-лет. Два языкаВ создании отчетов задействованы два языка. Один – язык запросов, используемый для выборки данных. Второй – язык выражений компоновки данных, предназначен для записи выражений, используемых в различных частях системы, например, в настройках компоновки данных, для описания выражений пользовательских полей.Язык запросовЯзык запросов основан на SQL и легко осваивается знающими SQL. Пример запроса:Легко видеть аналоги стандартных для SQL-запроса секций - SELECT, FROM, GROUP BY, ORDER BY. При этом язык запросов содержит значительное количество расширений, ориентированных на отражение специфики финансово-экономических задач и на максимальное сокращение усилий по разработке прикладных решений:
Есть также специальные расширения языка запросов для СКД. Расширение осуществляется при помощи специальных синтаксических инструкций, заключаемых в фигурные скобки и помещаемых непосредственно в текст запроса. С помощью расширений разработчик определяет, какие операции конечный пользователь сможет проводить, настраивая отчет. Например:
Язык выражений компоновки данныхЯзык выражений компоновки данных предназначен для записи выражений, используемых, в частности, для описания выражений пользовательских полей. СКД позволяет определять в отчете пользовательские поля, используя либо собственные выражения, либо наборы вариантов с условиями их выбора (аналог CASE в SQL). Пользовательские поля являются аналогом вычисляемых полей. Они могут задаваться как в конфигураторе, так и в режиме «1С:Предприятие», но в выражениях пользовательских полей нельзя использовать функции общих модулей. Поэтому пользовательские поля предназначены скорее для пользователя, чем для разработчика.Пример: Процесс создания отчета на СКДПри создании отчета нам нужно создать макет, определяющий, как данные будут отображаться в отчете. Можно создать макет, базирующийся на схеме компоновки данных. Схема компоновки данных описывает суть данных, которые предоставляются отчету (откуда получать данные и как можно управлять их компоновкой). Схема компоновки данных представляет собой базу, на основе которой могут быть сформированы всевозможные отчеты. Схема компоновки данных может содержать:
Например, можно в качестве набора данных добавить в схему компоновки данных запрос, и вызвать конструктор запроса, позволяющий в графическом виде составить запрос произвольной сложности: Итогом запуска конструктора запросов будет текст запроса (на языке запросов «1С:Предприятия»). Этот текст можно при необходимости скорректировать вручную: Наборов данных в схеме компоновки данных может быть несколько, наборы данных могут быть связаны в макете произвольным образом, могут быть добавлены вычисляемые поля, заданы параметры отчета и т.п. Стоит упомянуть интересную особенность работы механизма запросов в 1С:Предприятии. Запросы в конечном итоге транслируются в диалект SQL, специфичный для СУБД, с которой непосредственно работает приложение. Мы вообще стараемся задействовать возможности серверов СУБД по максимуму (нас ограничивает то, что мы используем только те возможности, которые есть одновременно во всех поддерживаемых платформой «1С:Предприятие» СУБД – MS SQL, Oracle, IBM DB2, PostgreSQL). Таким образом, на уровне запроса в вычисляемых полях мы можем использовать только те функции, которые транслируются в SQL. А вот на уровне схемы компоновки данных мы уже можем добавлять пользовательские поля и использовать в них функции на встроенном языке разработки 1С (в том числе и написанные нами), что сильно расширяет возможности отчетов. Технически это выглядит так – всё, что можно транслировать в SQL, транслируется в SQL, запрос выполняется на уровне СУБД, результаты запроса помещаются в память сервера приложений 1С и СКД вычисляет для каждой записи значения вычисляемых полей, чьи формулы написаны на языке 1С.
В отчет можно добавить произвольное количество таблиц и диаграмм:
С помощью СКД пользователь может добавлять в отчет сложные отборы (которые будут добавлены к запросу в нужных местах), условное оформление (позволяющее по-разному форматировать – шрифтом, цветом и т.д. – выводимые поля в зависимости от их значений) и многое другое. Коротко описать процесс построения и формирования отчета можно так:
Мы стараемся минимизировать объем данных отчетов, передаваемых с сервера в клиентское приложение. При показе данных в табличном документе при открытии табличного документа мы передаем с сервера только те строчки, которые пользователь видит в начале документа. По мере продвижения пользователя по строкам документа на клиента подкачиваются с сервера недостающие данные. Пользовательские настройкиВесь инструментарий СКД доступен как разработчику, так и конечному пользователю. Но практика показала, что конечного пользователя часто пугает обилие возможностей инструмента. Тем более что в большинстве случаев вся мощь настроек конечному пользователю и не нужна – ему достаточно иметь быстрый доступ к настройке одного-двух параметров отчета (например, периода и контрагента). Начиная с определенной версии платформы у разработчика отчета появилась возможность отметить, какие настройки отчета доступны пользователю. Делается это с помощью флажка «Включать в пользовательские настройки». Также у настроек отчета появился флаг «Режим отображения», принимающий одно из трех значений:
Планы развитияОдно из приоритетных направлений в развитии СКД для нас – упрощение настроек пользователя. Наш опыт показывает, что для части конечных пользователей работа с пользовательскими настройками – все еще серьезный труд. Мы это учитываем и работаем в этом направлении. Соответственно, и разработчикам также станет проще работать с СКД, т.к. мы, как и раньше, хотим предоставлять единый инструментарий настройки отчетов и для разработчика, и для конечного пользователя. |
Читайте: |
---|
Популярное:
Новое
- Прошивка планшетов: пошаговая инструкция
- Лучшие защитные покрытия для Galaxy S7
- Как выбрать умные часы для андроид: критерии, характеристики, обзоры Самые лучшие спортивные часы
- Huawei Firmware Finder – программа поиска прошивок для смартфонов Huawei и Honor Как перепрошить телефон хайвей
- Почему совершать покупки онлайн выгоднее
- Pls открыть. Чем открыть файл.PLS? Что необходимо для конвертации PLS файла в PDF файл или как можно создать PDF версию Вашего PLS файла
- Что такое расширение файла AI?
- Оптимизация ОС: Программа для дефрагментации диска Установка piriform com defraggler download free
- Что такое "подкасты" на айфоне, и зачем они нужны Как пользоваться приложением подкасты
- Установка Open CV (Linux)