Fastreport frx чем открыть

Когда лучше использовать отчет из кода, а когда в формате frx

Взгляните на этот код:

Это пример создания шаблона отчета с группами. Как видите, мы последовательно создаем объекты отчета, начиная с самого отчета и страницы и заканчивая текстовыми объектами. Мы помещаем созданные объекты внутрь других и настраиваем свойства их отображения. Это требует хорошего представления структуры шаблона отчета FastReport.Net. Кроме того, чтобы добиться нужного расположения элементов, вам придется много раз запускать отчет для визуальной оценки и исправлять свойства объектов, выставляя нужную ширину или координаты. Поэтому использовать этот подход следует для отчетов со списками, матрицами, таблицами – там, где не требуется выверять расположение элементов относительно друг друга.

То есть нужно просто использовать функцию Save у объекта report. В качестве параметра передаем путь с именем файла, в который будет сохранен отчет. Таким образом мы можем использовать один отчет, создаваемый из кода, а, при необходимости, преобразовывать его в традиционный формат frx. Полученный файл можно передавать другим разработчикам, или пользователям.

Как на отчеты основе кода, так и на отчеты в формате frx имеют свои преимущества. Первый – выигрывает, когда отчет нужно изменять прямо «на ходу», второй – когда требуется мобильный отчет, или шаблон имеет много элементов с четко определённым их расположением друг относительно друга. Нужно выбирать способ создания отчета на основе этих преимуществ.

Источник

Генератор отчетов – особый класс программ, востребованный как программистами, так и корпоративными пользователями – всеми, кому необходим подробный отчет по данным в нужное время и в требуемой форме. Подобных программ-генераторов создано немало, но FastReport от компании Fast Reports занимает в их ряду особое место в силу повышенного удобства программы для конечного пользователя.Где применяется генератор отчетов?

Давайте рассмотрим поближе этот аспект с точки зрения пользователя.Для бухгалтера

Не секрет, что формы строгой отчетности являются утвержденными и фиксированными. Однако, как показывает опыт работы многих предприятий, все в итоге зависит от требования местных налоговых органов. Где-то счет-фактуру могут печатать на одним листе с актом выполненных работ, а где-то отдельно, но форма и набор данных, выводимых в документах, принципиально отличаются. Например, в счете-фактуре может выводиться сгруппированная информация (начисления и так далее), а в другом случае – детальная информация. Оба варианта приводят к изменениям отчетных форм, причем эти изменения требуется сделать максимально быстро и правильно. FastReport поможет вам в решении и этой задачи.Другим пользователям

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

Моделирование печати. Эта новая возможность поразит многих знатоков FastReport. Фактически это прямое управление печатью. Вы можете разрезать большую страницу (А3) на страницы формата А4. Вы можете склеить страницы А4 в А3, вы даже можете уменьшить пропорционально А3 до А4. И все это не меняя самого отчета, не устанавливая сложные процедуры обработки отчета и так далее. Теперь даже ваш главбух сможет распечатать отчеты так, как ему (ей) будет угодно.

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

Эскизы страниц. Эскизы страниц – это такие ма-ахонькие образцы страниц, которые в предварительном просмотре отображаются слева. Чтобы увидеть, к примеру, висячие строки и тому подобные ошибки.

Печать имени копии. Эта функция позволяет вам не перепутать, что и, главное, зачем вы печатаете.

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

Об этом стоит сказать поподробнее. Перекрестный отчет – это таблица с заранее неизвестным числом как строк, так и столбцов. Элемент бизнес-анализа, упрощенный OLAP. Перекрестный отчет улучшен и стал более управляемым. Пожалуй, начнем с иллюстрации, чтобы вы могли воочию убедиться в правдивости наших слов.Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Сортировка, к примеру, позволит вам отказаться от сортировки в SQL-запросах, а использовать функцию FastReport. Это явно уменьшит время выполнения громоздких запросов.Экспорт в другие форматыFastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Пора поговорить о возможностях экспорта в различные форматы. В более ранних версиях FastReport были определенные трудности с сохранением в Excel, PDF не было вообще, HTML, который получался после экспорта, невозможно было рассматривать без содрогания в голосе и тремора рук. Что же мы видим сейчас? Посмотрите, на иллюстрации отображены все доступные форматы для экспорта, их ни много ни мало четырнадцать.

Тот, кто общался ранее с FastReport, скажет вам, что ранние версии (2.2, 2.1) могли проводить экспорт в три-четыре формата, да и то результат экспорта иной раз вызывал ужас пользователей. В новой версии продукта экспорт работает, не побоимся громкого слова, идеально. Скачайте демонстрационную версию с сайта разработчика, и вы сможете убедиться в наших словах. Из интереса мы осуществили экспорт во все предлагаемые форматы – результат везде отличный.Программисту предприятия

Теперь это уже реализовано разработчиками в FastReport, и теми инструментами, к которым вы привыкли в своих средствах разработки, можно пользоваться. Но даже если вы не профессиональный программист, а только что начали пользоваться FastReport, вы сможете сделать отчеты серьезного уровня. Правда, вам немного придется покопаться в примерах отчетов, которые вы легко и в избытке найдете в демонстрационной версии FastReport.Руководителю

Что же получает руководитель от приобретения нового, прогрессивного продуктового решения? Он получает инструмент опосредованного управления и контроля над деятельностью компании. Теперь, чтобы получить отчет, он может даже не возвращаться из своей увлекательной поездки в Таиланд или Китай. Ему не нужно звонить главбуху и выяснять, «пошел ли процесс» и как он идет. Ему достаточно посетить веб-сайт своей компании, зайти в личный кабинет руководителя и получить все необходимые отчеты в виде графиков, диаграмм, таблиц с цифрами. (Личный кабинет руководителя легко организовывается с помощью нового инструмента – FastReport Server, сервер отчетов.) Он как руководитель в режиме реального времени может наблюдать за эффективностью своей компании, смотреть статистику получения оплат от партнеров по бизнесу, перечисления в банк, статистику роста зарплат в компании и другие параметры. Примеры отчета вы можете увидеть на скриншотах.Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Итак, для сотрудников компании преимущества очевидны. Вы и ваши сотрудники начнут экономить кучу времени на уменьшении ручного труда. Вы и ваши сотрудники смогут больше времени уделять своей семье, думать о развитии фирмы и предлагать инновации. Ведь именно инновации ценны более всего в наше время. Это то, что сделает вашу компанию уникальной. FastReport в компании с другими продуктами поможет вам в этом. Мы с вами рассмотрели новые возможности с точки зрения клиента, использующего новый FastReport в своей повседневной деятельности. Теперь кратко о FastReport для разработчиков программного обеспечения.Для разработчиков ПО

Чуть выше говорилось о различных системах, которые уже используют FastReport. Как вы думаете, что смогут предложить разработчики этих систем в следующих версиях своих продуктов, с учетом выхода FastReport 4.0? Все просто, они предложат вам новую версию своей системы. Что же нового будет в этих системах? Что такого, за что вы согласитесь (или согласится руководство вашей компании) выложить некоторую сумму денег? Подумаем вместе.

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

Во-вторых, вы получите гибкий инструмент для маркетинговых исследований вашей компании.

В-третьих, вы сможете повысить качество обслуживания ваших клиентов, если компания предоставляет услуги в какой-либо сфере (телекоммуникации, производство, финансы). При этом вы минимизируете свои затраты, как финансовые, так и ресурсные, переводя взаимодействие с клиентами в плоскость электронных документов (счета, счета-фактуры, детализация, статистика и другое).FastReport Server

Этот инструмент включает в себя несколько приложений: FastReport Server Configurator и FastReport Client.Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

FastReport Server Configurator – инструмент для настройки работы сервера отчетов. Настраивать сервер отчетов очень легко. Вы просто ставите курсор вашей мышки на какую-то настройку и меняете ее значение на нужное вам. И все! Кроме того, стоит сразу отметить, что сервер отчетов работает как системный сервис, что упрощает контроль за работой службы. Вы можете настроить работу службы сервера отчетов только под определенным пользователем операционной системы.

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

Вы, наверное, уже стали задаваться вопросом, а как же отчеты станут видны пользователям? В каком формате нужно сохранить отчет, чтобы он стал доступен через обычный Internet Explorer? Все гораздо проще. Вы просто выкладываете ваши отчеты в формате fr3 в каталог сервера отчетов (корневой каталог определяется настройками, причем здесь могут быть и подкаталоги) – и все! Отчет доступен клиенту в соответствии с его правами доступа.

FastReport Client – инструмент, предназначенный для составления комментариев к отчетам, доступным через Интернет (с помощью FastReport Server). Все отчеты представлены в виде списка. Вы можете задавать комментарии к каждому отчету в отдельности и к группе отчетов в целом. При тестировании отчета вы выбираете, к какому серверу отчетов вы хотите присоединиться (ведь серверов может быть несколько), и анализируете лог работы отчета. Все максимально просто и эффективно.Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

В новой версии генератора добавлено много полезных и приятных функций. Оформление четвертой версии дизайнера отчетов выполнено в стиле XP. Добавлена новая закладка – Data, позволяющая работать и визуально наблюдать все источники данных. В этой же закладке есть возможность рисовать диаграммы, связывая различные источники данных логическими связями.

Кроме того, в дизайнере реализована возможность отладки отчета (breakpoints, watches). Это оценят программисты, особенно те, которые поработали в других генераторах отчетов и не обнаружили у них этих возможностей.

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

Эффективность, функциональность и простота работы – вот главные характеристики новой версии FastReport, которая в версии Enterprise представляет собой комплексное решение по получению отчетов. Согласитесь, что результат работы любой подобной системы в любой отрасли – быстрое получение внятных и наглядных отчетов любой направленности. А если учесть, что бизнес многих компаний – это бизнес в нескольких странах, то появляется и новое требование – централизованное получение общих данных и возможность их детализации. Fast Report – это база для реализации стратегии Business Intelligence (BI) в вашей компании. Это уникальное решение от отечественных разработчиков, от компании, имеющей большой опыт разработки и реализации решений.

Источник

Прежде всего, объясню, чем же отличается построение отчета из кода пользовательского приложения от классической разработки шаблона в специальном дизайнере.

Обычно, генератор отчетов предоставляет специальный дизайнер для разработки шаблона отчета. Это может быть компонент IDE, либо просто внешняя программа. Разработчик размещает компоненты вывода данных на странице отчета, задает их свойства. Это похоже на конструирование формы приложения в проекте Windows Forms.

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

Итак, рассмотрим все на примере.

На форме размещаем одну кнопку, которая будет запускать наш отчет. Забегая вперед, скажу, что мы будем не только показывать отчет в режиме предварительного просмотра, но и делать его экспорт в PDF. Поэтому предусмотрим эту опцию добавив CheckBox:

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Создаем обработчик события нажатия кнопки. Здесь будет весь код нашего приложения.

Также, добавляем библиотеки FastReport, FastReport.Utils и FastReport.Data в using.

Создаем экземпляр класса Report:

В нашем отчете будут выводиться данные из базы, так что необходимо подключить источник данных:

Теперь необходимо зарегистрировать источник данных в отчете:

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

Подготовительные работы считаю на этом законченными. Приступаем непосредственно к созданию шаблона отчета. Создаем страницу отчета:

И добавляем ее в отчет:

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

Итак, страница отчета готова к наполнению. Создаем бэнд «Заголовок группы»:

Созданный бэнд добавляем на страницу:

Задаем высоту бэнда:

Условие группировки и порядок сортировки:

Теперь нужно наполнить созданный бэнд данными. Для этого нужно создать текстовый объект со ссылкой на поле из источника данных:

Важный параметр Parent, который указывает на бенд, где будет размещен текстовый объект:

Задаем размер и границы текстового объекта:

И, собственно, сам текст:

Остальные настройки относятся к внешнему виду текста:

Присваиваем бэнд данных группе:

Назначаем источник данных для бэнда «Данные»:

Тут же можно задать фильтрацию бэнда с помощью свойства Filter. Теперь заполним бэнд данными с помощью текстового объекта:

Подвал группы создается для конкретного экземпляра группы. Это очень удобно, так как не позволит запутаться, если в отчете несколько заголовков групп. Итак, создаем подвал группы:

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

Задаем тип вычислений, бэнд, для которого проводятся вычисления, и бэнд, в котором будет отображен результат. Так как мы считаем количество элементов, задавать конкретное поле для расчетов не нужно (делается с помощью groupTotal.Expression).

Созданный итог нужно добавить в каталог итогов отчета. Так сказать, зарегистрировать:

Как и любые выражения, которые нужно отобразить, итог выводится посредством текстового объекта:

Вот и все. Отчет готов. Теперь мы можем либо отобразить его, либо запустить в дизайнере. А можно сразу же экспортировать в нужный нам формат данных. Задействуем CheckBox, который мы добавили на форму:

Если CheckBox отмечен, то будет показано диалоговое окно сохранения файла pdf. Иначе будет запущен отчет в режиме предварительного просмотра. Тут надо отметить, что можно сделать экспорт и без отображения диалогового окна. Так сказать, в сохранение в скрытом режиме. Тогда экспорт будет выглядеть так:

где первый параметр – экземпляр отчета, а второй – итоговый файл.

Что же у нас получилось в итоге:

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Лично мне привычно и удобно использовать объекты в коде программы. Так что создание отчета практически ничем не отличается от написания основного кода оконного приложения.

Источник

Отчеты FastReport

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Раздел Настройка отчетов позволяет пользователям средствами Creatio создавать отчеты и c помощью дизайнера отчетов FastReport выполнять их настройку.

Важно. Возможность настраивать пользовательские отчеты доступна в Creatio версии 7.15.3 и выше.

Чтобы открыть раздел Настройка отчетов ( Report setup ), выполните следующие действия:

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Интерфейс раздела Настройка отчетов

Откроется раздел настройки отчетов, который содержит следующие элементы:

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

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

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Панель инструментов

На панели инструментов (1) расположены следующие кнопки:

Область настройки параметров отображения

Область настройки параметров отображения (2) включает в себя следующие элементы:

Область справочной информации

В области справочной информации (3) содержится краткая инструкция по настройке отчетов.

Рабочая область

В рабочей области страницы настройки отчетов (4) осуществляется основная настройка отчета. Рабочая область включает в себя следующие элементы:

Управление доступом к разделу Настройка отчетов

По умолчанию доступ к основным системным операциям есть только у администраторов системы. Но его можно настроить для определенных пользователей или групп пользователей. Чтобы предоставить доступ к разделу Настройка отчетов ( Report setup ), выполните следующие действия:

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Алгоритм создания отчета

Установка дизайнера отчетов FastReport

Для работы дизайнера отчетов требуются следующие компоненты:

Для установки дизайнера отчетов FastReport необходимо скачать zip-архив с установочными файлами по ссылке.

Создание нового отчета

Чтобы создать новый отчет, выполните следующие действия:

Указание источников данных для отчета

В блоке Укажите источники данных для отчета ( Specify data sources for the report ) рабочей области страницы (4) укажите перечень объектов, их колонки и связи, которые будут использоваться для получения данных. При необходимости, укажите локализуемые строки. Для указания источников данных используйте формат json.

Чтобы сохранить данные, нажмите кнопку Применить ( Apply ) на панели инструментов (1).

Создание провайдера данных отчета

Провайдер данных отчета — это пользовательский класс на языке C#. Чтобы его создать, выполните следующие действия:

Настройка шаблона в дизайнере отчетов FastReport

Двойным кликом откройте скачанный файл в дизайнере отчетов FastReport и настройте внешний вид шаблона. Выполнение настройки описано в документации FastReport.

На заметку. В файле сохраняется структура источников данных, которая была реализована в разделе настройки отчетов.

Важно. Дизайнер отчетов FastReport является сторонним приложением, и функция предпросмотра настроенного отчета недоступна.

Загрузка настроенного шаблона в Creatio

Важно. Кнопки Печать ( Print ) и Отчеты ( Reports ) в разделе системы и на страницах записи отображаются при наличии хотя бы одного отчета, настроенного и опубликованного для данного раздела.

Мультиязычные элементы интерфейса в отчетах

Раздел Переводы ( Translations ) дизайнера системы позволяет установить значение элементов интерфейса для отчета на разных языках. Выполнить поиск локализуемых ранее строк отчета можно по ключу Configuration:НазваниеCхемы (например, Configuration:UsrContactDataSourceCode ). Поиск поля отчета можно выполнить по ключу Configuration:НазваниеСхемы:НазваниеПоля.Value (например, Configuration:UsrContactDataSourceCode:LocalizableStrings.ReportTitle.Value ).

При установленных признаках Отображать в разделе ( Show on the section list review ) и Отображать на странице записи ( Show on the section record page ) необходимо выполнить перевод отображаемого названия отчета. Его поиск можно выполнить по ключу Configuration:НазваниеСхемы:Caption (например, Configuration:UsrContactDataSourceCode:Caption ). При установленном признаке Отображать в аналитике раздела ( Show in the section analytics view ) (2) необходимо выполнить перевод отображаемого названия отчета. Его поиск можно выполнить по ключу Data:SysModuleAnalyticsReport.Caption:ИдентификаторПоля (например, Data:SysModuleAnalyticsReport.Caption:d52e8b78-772b-77ee-3394-bdb3616d859a ).

Работа с разделом Переводы ( Translations ) описана в статье.

Перенос пакета с отчетом на другую среду разработки

Чтобы перенести пакет с отчетом на другую среду, в разделе Конфигурация ( Configuration ) перейдите на вкладку Данные ( Data ) и выполните привязку данных следующих элементов:

Важно. Посмотреть Id записи в таблице базы данных без доступа к ней можно, отобразив системную колонку Id в окне привязки данных к пакету.

Источник

Как загрузить отчет в формате PDF используя FastReport Core

FastReport Core, Microsoft.EntitiyFrameworkCore.Sqlite, Microsoft.EntitiyFrameworkCore.Sqlite.Design. В итоге вы должны иметь следующие установленные пакеты:

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Давайте предварительно поработаем с данными. Нам потребуется база данных SQLite – fastreport.db. Ее можно взять в демонстрационном проекте «С:\Program Files (x86)\FastReports\FastReport.Net\Demos\Core\FastReportCore.MVC». Добавляем базу данных прямо в корень проекта. Также, добавим в проект шаблон отчета “Simple List.frx” из папки «С:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports»

Теперь, в папку Models добавим новый класс. Назовем его ApplicationDbContext.cs. Как вы поняли из названия – это контекст данных. Вот его содержание:

В этом классе мы соединяемся с базой данных, получаем набор данных и преобразовываем его в DataTable, которая нужна для FastReport чтобы сгенерировать отчет. Модель таблицы Employees, которая будет использована в отчете, представлена отдельным классом.

Переходим к редактированию HomeController.cs.

Метод Index просто отображает отчет в формате html, а метод PDF – формирует PDF файл для загрузки. Оба метода используют контекст данных для отчета.

Теперь изменим представление Index.cshtml:

Мы добавили кнопку загрузки PDF сначала. Затем – отображаем отчет.

Запустим наше приложение:

Fastreport frx чем открыть. Смотреть фото Fastreport frx чем открыть. Смотреть картинку Fastreport frx чем открыть. Картинка про Fastreport frx чем открыть. Фото Fastreport frx чем открыть

Нажимаем кнопку «Download PDF». И скачиваем файл отчета в формате PDF. Реализация довольно проста, не сложнее чем отобразить отчет.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *