Skip to main content

Дизайнер отчетов на основе Stimulsoft Report Js

Project description

Краткое описание

Инструмент для создания и редактирования отчетных форм на основе Stimulsoft Report Js.

Возможности

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

Список доступных для выгрузки на текущий момент форматов - txt, pdf, html, xlsx, docx

Creadoc состоит из двух базовых компонентов - Designer и Viewer. Designer используется непосредственно для формирования и редактирования отчетных форм. Viewer используется для предварительного просмотра подготовленного отчета, а также предоставляет возможности отправки отчета на печать и выгрузки в указанные выше форматы.

Необходимые библиотеки

Актуальный набор требуемых для работы библиотек находится в файле REQUIREMENTS

Установка

Прописать в файле settings.py своего проекта в список INSTALLED_APPS следующие строки:

INSTALLED_APPS = [
  ...
  'south',
  'm3_mutex',
  'm3_users',
  'creadoc',
  ...
]

В случае необходимости запуска демонстрационного приложения также следует добавить следующие строки:

INSTALLED_APPS = [
  ...
  'demo.app',
  'demo.app.designer',
  'demo.app.reports',
  'demo.app.example',
  ...
]

Затем необходимо добавить ссылку на кнопку запуска дизайнера отчетных форм в нужное место своего проекта. Для запуска используется пак CreadocDesignerActionPack. Пример добавления ссылки на верхнее меню рабочего стола через файл app_meta.py:

def register_desktop_menu():
  generic_metarole = metaroles.get_metarole(GENERIC_USER)

  designer_root = DesktopShortcut(
      name=CreadocDesignerActionPack.title,
      pack=find_pack(CreadocDesignerActionPack),
      index=10
  )

  DesktopLoader.add(
      metarole=generic_metarole,
      place=DesktopLoader.TOPTOOLBAR,
      element=designer_root,
  )

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

def register_actions():
    my_controller.extend_packs([
        CreadocDataSourceActionPack(),
    ])

Далее необходимо создать требуемые для работы таблицы с БД, выполнив команды

./manage.py syncdb

./manage.py migrate

С этого момента дизайнер отчетов уже доступен по добавленной нами ссылке.

Для запуска просмотрщика используется действие CreadocViewerActionPack.action_show. Чтобы вывести наш отчет в окно просмотрщика нам нужно отправить запрос на данное действие, передав обязательный параметр report_id, который должен содержать идентификатор сохраненного шаблона. Также есть возможность передать необязательный параметр params, представляющий из себя json объект. Данный объект будет передан всем подключенным к шаблону источнику данных и может использоваться для их автоматического конфигурирования.

Настройки модуля

Существует возможность дополнительной настройки отдельных компонентов модуля путем установки специфичных параметров в файле settings.py. Доступные для изменения параметры:

# Фрагмент url, по которому доступен контроллер модуля CreaDoc. Обязательный для заполнения.
CREADOC_URL = 'creadoc'
# Наименование директории в MEDIA_ROOT, в которую сохраняются шаблоны. Обязательный для заполнения
CREADOC_REPORTS_DIR = 'reports'
# Путь до директории с шаблонами
CREADOC_REPORTS_ROOT = os.path.join(MEDIA_ROOT, CREADOC_REPORTS_DIR)
# URL, по которому доступны шаблоны
CREADOC_REPORTS_URL = MEDIA_URL + CREADOC_REPORTS_DIR + '/'
# Промежутки (в миллисекундах) между запусками процедуры автосохранения.
# Сохранение производится в локальный браузерный кэш (localStorage).
CREADOC_DESIGNER_LOCAL_AUTOSAVE_TIMEOUT = 1000

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
creadoc-0.0.5.tar.gz (2.3 MB) Copy SHA256 hash SHA256 Source None Jun 15, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page