СПОСОБ ДЛЯ АВТОМАТИЗИРОВАННОГО СОЗДАНИЯ ОТЧЕТОВ
AUTOMATED REPORT GENERATION METHOD

Область техники, к которой относится изобретение
Настоящее изобретение относится к области информационных технологий, в частности к способу для автоматизированного создания отчетов.
Уровень техники
В процессе автоматизированного создания отчетов стоит задача создания сложных отчетов с гибкими настройками, с возможностью модификации, а также вывода информации, имеющей сложную структуру. Существует различные способы решения этой задачи.
Например, способ ручного написания отчетов, в котором надо написать код для получения данных, создать макет отчета, написать код для вывода полученных данных в макет и показа результата пользователю. Недостатки данного способа в том, что отсутствуют возможности для настройки вывода отчета пользователем и его ограниченное применение. В патенте США №5809266 (опубл. 15.09.1998) предложен способ автоматизированного создания отчета, в котором с помощью некоторого графического инструмента определяют модель данных, которая содержит объекты данных, такие как запросы, связи, группы и т.д., с помощью которой создают структуру данных, определяют макет модели данных и генерируют отчет. Такой подход позволяет использовать несколько запросов данных, каждый из которых содержит одну или несколько групп, где группы, принадлежащие к двум разным запросам, связаны объектами связи. В результате отчет может иметь сложную структуру и содержать результаты нескольких запросов, что придает ему определенную гибкость. Однако этот способ требует длительного времени на создание модифицированного отчета и имеет ограниченное применение
Раскрытие изобретения
Таким образом, существует потребность в расширении арсенала технических средств за счет создания сравнительно быстрого и универсального автоматизированного способа создания отчетов с возможностью модификации и повышения удобства редактирования настроек для пользователя и который бы преодолевал недостатки известных решений. Для решения этой задачи и получения указанного технического результата в настоящем изобретении предложен способ для автоматизированного создания отчетов, содержащий этапы, на которых: заранее создают схему структуризации данных для создания отчетов, выполненную с возможностью отдельного описания текста запроса, наборов данных, связей между данными, доступных полей отчета и параметров получения данных и сохраняют в запоминающем устройстве; задают настройки структуризации данных по умолчанию; формируют макет для создания отчета в соответствии с созданной схемой структуризации данных и указанных настроек структуризации данных; генерируют отчет на основании созданного макета.
Особенность способа по настоящему изобретению состоит в том, что данные получают из объектов встроенного языка.
Еще одна особенность способа состоит в том, что в схеме структуризации данных в запросах наборов данных описывают шаблоны запросов, которые модифицируются при исполнении в соответствии с использованными в настройках полями и отборами.
Еще одна особенность способа состоит в том, что в схеме структуризации данных определяют место доработки запроса или запросов.
Еще одна особенность способа состоит в том, что описывают набор данных, который объединяет информацию из несколько наборов данных.
Еще одна особенность способа состоит в том, что описывают иерархические связи между наборами данных.
Еще одна особенность способа состоит в том, что описывают вложенные схемы структуризации данных.
Еще одна особенность способа состоит в том, что модифицируют настройки структуризации для получения макета отчета.
Еще одна особенность способа состоит в том, что при настройке схемы структуризации указывают вывод поля в отчет.
Еще одна особенность способа состоит в том, что выделяют в полных настройках ограниченный набор настроек или пользовательские настройки, которые редактируются пользователем.
Еще одна особенность способа состоит в том, что сохраняют различные варианты настроек схемы структуризации для макета отчета.
Еще одна особенность способа состоит в том, что используют дочерние поля ссылочных полей.
Еще одна особенность способа состоит в том, что шаблоны запросов наборов данных описывают на языке запросов со специальными дополнительными вставками, указывающими места, где при необходимости можно доработать запрос наборов данных.
Наконец, еще одна особенность по настоящему изобретению состоит в том, что модифицируют настройки прямо из результата отчета.
Краткое описание чертежей
На Фиг.1 представлен пример блок-схемы реализации способа автоматизированного создания отчетов, который включает этапы, на которых присутствует разработчик и на которых пользователь сам задает настройки отчета.
Подробное описание изобретения
Настоящее изобретение может быть реализовано в любой вычислительной системе, например в персональном компьютере и т.п. Для осуществления изобретения необходимо также наличие соответствующей информационной базы или некоторых объектов, находящихся в запоминающем устройстве, в которых хранятся данные для отчетов.
Способ автоматизированного создания отчетов предназначен для быстрого создания различных модифицируемых отчетов со сложной иерархической структурой, с возможностью для гибкой и быстрой настройки отчета пользователем без вмешательства разработчика в процесс работы.
В способе по настоящему изобретению для создания отчета заранее создают схему структуризации данных для создания отчетов, выполненную с возможностью отдельного описания текста запроса, наборов данных, связей между данными, доступных полей отчета и параметров получения данных, и сохраняют в запоминающем устройстве.
Схема структуризации данных описывает суть данных, которые предоставляются отчету, и может содержать различные наборы данных. Создание схемы структуризации для отчета может быть выполнено визуально при помощи интерактивного инструмента или визуально при помощи любого редактора, позволяющего редактировать текст XLM или программно при помощи объектов встроенного языка.
Объекты встроенного языка определяются как структурированный набор программных объектов, обладающих определенным функциональным предназначением.
Наборы данных являются источниками данных для отчета и описывают способ получения этих данных. Существуют различные виды наборов данных: запрос, который содержит текст запроса к базе данных на языке запросов с использованием дополнительных синтаксических элементов; объект встроенного языка, который содержит информацию о внешнем наборе данных, например в таблице значений; набор данных, который объединяет информацию из несколько наборов данных.
В запросе наборов данных описывают шаблон запроса, который модифицируется при исполнении отчета в соответствии с использованными в настройках полями и отборами. Шаблон запроса описывается на языке запросов со специальными дополнительными вставками с помощью синтаксических конструкций, в которых определяют место доработки запроса или запросов и где при необходимости можно доработать запрос наборов данных. В результате получают только нужные данные, а не все данные, которые указаны в исходном запросе.
Если в схеме структуризации данных содержится несколько наборов данных, то для того чтобы получить связанную информацию из этих наборов данных, описывают связи данных по какому-либо полю отчета или нескольким полям.
Возможно описание иерархических связей между наборами данных. Иерархические связи используются для вывода в результирующий документ наборов данных, в которых одни записи связаны с другими записями по некоторым полям отчета.
Доступные поля - это те поля отчета, которыми оперирует схема структуризации данных и могут быть использованы в настройках отчета, таких как сортировке, отборе, участвовать в группировках отчета и в остальных действиях.
Параметры являются критериями получения данных отчета, которые могут быть явно определены в запросе наборов данных либо могут быть параметрами виртуальных таблиц базы данных.
В результате структура отчета определяется при помощи древовидного описания, а не при помощи явного указания расположения отдельных элементов на листе отчета, как это делается в упомянутом патенте США №5809266.
Существует возможность описания вложенных схем структуризации данных, таким образом разработав схему структуризации одного отчета, можно затем многократно использовать ее в других отчетах, связав родительский и вложенные отчеты по общему полю или по нескольким полям.
Далее задают настройки структуризации данных по умолчанию, которые определяют, как будет выглядеть отчет, формируют макет для создания отчета в соответствии с созданной схемой структуризации данных и указанных настроек структуризации данных и генерируют отчет на основании созданного макета.
Пример блок-схемы реализации способа автоматизированного создания отчета представлен на Фиг.1.
В приведенном примере на этапе 100 первоначальные настройки схемы структуризации данных 110 по умолчанию и схему структуризации данных 120 задает разработчик исходя из прикладной задачи, для которой создается отчет, в них могут быть предусмотрены несколько вариантов настроек схемы структуризации данных 110 для этапа 150 формирования макета отчета.
Разработчик также может задать пользовательские настройки 130 на этапе 100, которые будут доступны пользователю на этапе 140 и в ряде случаев могут применяться в неизменном виде (по умолчанию). С их помощью на этапе 140 пользователь может выбирать и редактировать различные варианты отчетов и сохранять для дальнейшего использования, таким образом, пользователь редактирует только необходимый минимум настроек, что значительно упрощает настройку отчета. При исполнении на этапе 160 отчета пользовательские настройки 130 отчета совмещаются с полными настройками схемы структуризации данных ПО и отчет выполняется с этими объединенными настройками отчета. Таким образом, в упомянутом способе модифицируют настройки структуризации для получения макета конкретного отчета.
Пользователь имеет возможность модифицирования настроек прямо из результата отчета. Например, пользователь может щелкнуть по ячейке, выбрать в появившемся меню пункт «отфильтровать» или «сгруппировать» и настройки модифицируются таким образом, чтобы отчет был отфильтрован по выбранному значению или сгруппирован по выбранному полю.
Пользователь выбирает вариант отчета, являющийся с его точки зрения наиболее информативным, а также задает собственные настройки и получает другой отчет, основанный на той же схеме структуризации данных. При этом данные будут представлены в соответствии с пользовательскими настройками. Таким образом, на основе одной схемы структуризации могут быть созданы различные отчеты. Применение настроек структуризации данных определяет конечный результат.
В некоторых вариантах реализации настоящего изобретения при настройке отчета нет необходимости пользователю указывать место для отображения поля на устройстве вывода (на экране или при печати), достаточно просто указать на необходимость вывода поля, и оно будет автоматически расположено в отчете в соответствии с заранее предопределенной схемой оптимального размещения, заданной разработчиком.
Существует возможность использование в настройках отчета дочерних полей ссылочных полей.
Например, если в запросе получается поле «Товар», то пользователь при необходимости может добавить для вывода в отчет поле «Товар. Артикул». При этом автоматически модифицируется запрос наборов данных и выводится поле «Артикул» в нужной позиции. Также пользователь может добавить условие отбора на поле «Товар. Артикул», в этом случае автоматически добавляется соответствующее условие в текст запроса наборов данных, таким образом пользователь получает отфильтрованные данные.
Таким образом, способ автоматизированного создания отчетов по настоящему изобретению обеспечивает расширение арсенала технических средств за счет создания сравнительно быстрого и универсального автоматизированного способа создания отчетов с возможностью модификации, повышения удобства для редактирования настроек для пользователя и который преодолевает недостатки известных решений.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.