Инструмент для создания и редактирования отчетных форм на основе Stimulsoft Report Js.
- Создание и редактирование отчетных форм с последующей выгрузкой их в ряд различных форматов.
- Возможность создания пользовательских шаблонных переменных и источников данных, а также их динамическое подключение к шаблону отчетной формы.
- Возможность загрузки и выгрузки шаблонов подходящего формата, подготовленных в иных редакторах.
Список доступных для выгрузки на текущий момент форматов - 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