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


Возможно ли добавить печать логотипа в прайс-лист? Убрать или добавить новую колонку со специальными ценами в таблицу? Добавить контактную информацию в колонтитулы документов? Увеличить размер шрифта в счетах и квитанциях?

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

Ответить ДА на эти вопросы поможет SDK конструктора отчетов AlfaReport.NET, добавляющий в приложение возможность гибкой визуальной настройки печатных форм как самими разработчиками, так и непосредственными пользователями программ.

Комплект разработчика отличается экстремальной простотой использования.

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

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

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

  1. Подключить к проекту библиотеку классов AlfaReportLib.dll и объявить пространство имен Alfa в классах и формах, использующих методы печати.

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

    void ClassLib.Init(string Lang)

    где Lang – язык интерфейса: "en" – английский, "ru" - русский

  3. Для каждого отчета, печатаемого приложением, создать объект класса 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();

    }

  4. Перед печатью отчета загрузить его шаблон из файла. Для загрузки шаблона отчета из файла служит статический метод:

    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 - новый конструктор отчетов для IT стартапов

Интерфейс конструктора отчетов включает дерево объектов, панели свойств и разметки страницы, окно предпросмотра:

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

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

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

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

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

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

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

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

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

  2. Runtime файлы SDK и XML файлы с шаблонами отчетов включаются в дистрибутивный комплект приложения.

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

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

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

№ п/пПрограммный продуктЦена, руб
1SDK AlfaReport2900
2FastReport.NET19990*
3Telerik Reporting35151

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

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

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

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

Дополнительно