Скрипт автоматически обрабатывает отчеты в формате WRD (Delphi DFM), извлекает SQL-запросы, выполняет их на сервере Microsoft SQL Server, сохраняет результаты в CSV-файл для слияния данных, выполняет merge с шаблоном Microsoft Word указанным в образце и сохраняет итоговый отчет в формате PDF.
Скрипт предназначен для автоматизации процесса генерации отчетов на основе wrd шаблонов диасофт.
- RepExecutor.json – параметры (
report_name,params,marks). - RepExecutor.ini → [tmp]
save(bool) – еслиtrue, CSV/SQL/копия JSON остаются вpath; еслиfalse, файлы удаляются.path– каталог для временных файлов (еслиsave=true).
{
"report_name": "СЧЕТ",
"output_path": "T:\\Reports\\result.pdf",
"output_format": "PDF",
"params": {
"Podpisant": 10000000001,
"Controler": 10000000001,
"InstitutionID": 10000000001
},
"marks": {
"Type": 3,
"ID": 10000000002
}
}[log]
level = DEBUG
path = C:\\Tasks\\Logs\\
rotation = 2 MB
retention = 7 days
compression = zip
[tmp]
save = true
path = C:\\Tasks\\tmp\\После запуска исходный RepExecutor.json всегда удаляется, а при save=true сохраняется копия.
- Заполните
.env(DB_SERVER, DB_NAME, DB_USER, DB_PASSWORD, DB_DRIVER, DB_TrustServerCertificate). python RepExecutor.py.
pyodbc, pywin32, loguru, python-dotenv, pandas, pydantic.
Логи ведутся через loguru (INFO/ERROR/DEBUG уровни).
Скрипт подходит для пакетной генерации PDF‑отчётов по шаблонам WRD.