SDK AlfaReport.NET: новый конструктор отчетов для IT-стартапов

Вoзмoжнo ли дoбaвить пeчaть лoгoтипa в прaйс-лист? Убрaть или дoбaвить нoвую кoлoнку сo спeциaльными цeнaми в тaблицу? Дoбaвить кoнтaктную инфoрмaцию в кoлoнтитулы дoкумeнтoв? Увeличить рaзмeр шрифта в счетах и квитанциях? С такими или похожими вопросами пользователей сталкиваются разработчики программного обеспечения, реализующего функциональность печати документов или отчетов. Ответить да на эти вопросы поможет SDK конструктора отчетов AlfaReport.NET, добавляющий в приложение возможность гибкой визуальной настройки печатных форм как самими разработчиками, так и непосредственными пользователями программ.

Комплект разработчика отличается экстремальной простотой использования. В составе runtime всего два файла: визуальный конструктор AlfaReport.exe и библиотека AlfaReportLib.dll. Готовые шаблоны отчетов сохраняются и распространяются с приложением в виде XML-файлов.

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

Разработчики программы Компонент 2017 первыми оценили скорость интеграции с SDK. Благодаря применению SDK в течение трех дней удалось перевести в настраиваемый пользователями вид 17 отчетов, печатаемых из программы. В самом приложении потребовалось осуществить следующие доработки:

  • Подключить к проекту библиотеку классов AlfaReportLib.dll и объявить пространство имен Alfa в классах и формах, использующих методы печати.
  • Однократно перед первым вызовом иных методов печати проинициализировать библиотеку вызовом статического метода Init:
    void ClassLib.Init(string Lang),
    где Lang — язык интерфейса: «en» — английский, «ru» — русский.
  • Для каждого отчета, печатаемого приложением, создать объект класса ClassDocument:
    ClassDocument Doc = new ClassDocument();
    и добавить методы-обработчики следующих событий:
    EventFieldReport — при печати каждого поля шапки отчета,
    EventFieldTable — при печати каждой строки табличной части отчета.
    Входными параметрами функций-обработчиков являются имена полей и номера строк отчета, а выходным параметром — строка, предназначенная для вывода на печать. SDK скрывает от разработчика всю черновую работу по позиционированию печатаемого элемента на канве отчета и настройке его внешнего вида. Фактически в коде обработчиков событий печати требуется лишь по имени поля и номеру строки определить, какие именно данные должны быть напечатаны, и вернуть их значения. Например, при заполнении полей «Name» и «Age» таблицы значениями из строкового и целочисленного массивов Names[] и Ages[] обработчик будет выглядеть следующим образом:
    void Doc_EventFieldTable(string Field, int RowIndex, ref string Value) {
    if (Field == «Name») Value = Names[RowIndex];
    if (Field == «Age») Value = Age[RowIndex].ToString();
    }
  • Перед печатью отчета загрузить его шаблон из файла. Для загрузки шаблона отчета из файла служит статический метод Report Report.Load(string FileName). Объект отчета содержит свойство Document, возвращающее готовый отчет в виде объекта класса PrintDocument, который используется стандартным .NET-компонентом PrintPreviewDialog для предварительного просмотра документа. Для просмотра отчета в окне предпросмотра достаточно создать диалог предпросмотра и присвоить его свойству Document требуемое значение:
    PrintPreviewDialog dlg = new PrintPreviewDialog();
    dlg.Document = Doc.Document;
    dlg.ShowDialog();
    На этом интеграцию можно считать завершенной. Для печати отчета остается вызвать метод Print:
    Doc.Document.Print();
  • Интерфейс конструктора отчетов включает дерево объектов, панели свойств и разметки страницы, окно предпросмотра:

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

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

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

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

    При использовании в приложении SDK AlfaReport.NET модель взаимодействия разработчика приложения с его пользователями строится следующим образом:

  • Разработчик приложения создает шаблоны отчетов и сохраняет их в XML-файлы при помощи визуального конструктора отчетов SDK.
  • Runtime-файлы SDK и XML-файлы с шаблонами отчетов включаются в дистрибутивный комплект приложения.
  • Пользователь приложения получает возможность модифицировать отчеты под свои потребности при помощи визуального конструктора.
  • Особенно интересным SDK будет для стартап-проектов, разработчиков freeware- и shareware-приложений благодаря низкой стоимости лицензии на разработку и отсутствию лицензирования для конечных пользователей.

    Сравним стоимость лицензий конструкторов отчетов, представленных на сайте интернет-магазина Allsoft.ru:

    № п/п
    Программный продукт
    Цена, руб.
    1
    SDK AlfaReport
    2900
    2
    FastReport.NET
    19990*
    3
    Telerik Reporting
    35151

    *Цена на каждое рабочее место разработчика

    Характеристики SDK: размер SDK менее 2 МБ, размер runtime-файлов — 900 КБ, число runtime-файлов — 2, число графических примитивов — 7, число настраиваемых атрибутов — 15.

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

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

    Разработчиком SDK AlfaReport.NET является российская компания Альфа-Галактика

    Комментирование и размещение ссылок запрещено.

    Комментарии закрыты.