Python integration with Crystal Reports
Project description
crystalpy-barno
Python Integration with Crystal Report for Dynamic Output
Features
- Connect Crystal Report with Python for dynamic output
Installation
To install this project, run the following command:
pip install crystalpy-barno
Usage
Example Code
import os
from datetime import datetime
from crystalpy_barno.helpers.report_loader_helper import CrystalReportsLoader
from crystalpy_barno.config.database_config import DatabaseConfig
from crystalpy_barno.entry_point import generate_report
# Set database connection details externally
DatabaseConnectionHelper.set_connection_details(
server_name="SERVER_NAME",
database_name="DB_NAME",
user_id="USER",
password="PASS"
)
voucher_no = "VOUCHER_NO"
pdf_dir = os.path.join(cwd, 'pdf')
pdf_dir_sales = os.path.join(pdf_dir, 'sales')
pdf_filepath_sale = os.path.join(pdf_dir_sales, f"{voucher_no}.pdf")
# Generate a report
generate_report(
report_type="sale_memo",
filename='rpt/Sale_Memo_IncludeMaking.rpt',
output_path=pdf_filepath_sale,
parameters={
"@pvSourcerecNo": '2425SOEBAR02135',
"@pvVoucherNo": "2425SOPBAR00778",
"@pvLeCode": "NJ",
"@pvUserCode": "NIM",
"@pvReportID": 1,
"@pvIncludingMaking": "1",
},
formulas={
"EmployeeName": "John Doe",
"ReportCaption": "Sales Report"
},
sp_name="spSale_Memo",
file_type="pdf"
)
Report Generation
This code generates a sales memo report using the SaleMemo function from the SaleSnippet module. The report is generated based on the provided parameters and saved as a PDF file in the specified output path.
Database Connection
The database connection details are set externally using the DatabaseConnectionHelper class. You need to replace the placeholders with your actual database connection details.
Report Templates
The report template used in this example is Sale_Memo_IncludeMaking.rpt. You can modify this template or use a different one to suit your reporting needs.
Output Directory
The output directory for the generated report is specified using the pdf_dir variable. You can modify this to change the output directory.
Contributing
Contributions are welcome! Please submit a pull request with your changes and a brief description of what you've added or fixed.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file crystalpy_barno-1.1.26.tar.gz.
File metadata
- Download URL: crystalpy_barno-1.1.26.tar.gz
- Upload date:
- Size: 460.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd3554fb4df0c562cf5e8ece168b438e6619e55a902a7c317fc482b8745d4f9
|
|
| MD5 |
4d351b9b07c493607498305d74831f31
|
|
| BLAKE2b-256 |
53f022696acaa012a739b3ad6044973bde0bbc2aaead4b73f09ec2a8be649793
|
File details
Details for the file crystalpy_barno-1.1.26-py3-none-any.whl.
File metadata
- Download URL: crystalpy_barno-1.1.26-py3-none-any.whl
- Upload date:
- Size: 460.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9de251cdbdec8bb88f212abace2e6d2760e8c4e94ff517483e4d15dff058e4e6
|
|
| MD5 |
c6d7de93398adc6581c1b29fafe48f20
|
|
| BLAKE2b-256 |
54cd6542ef70f163d58bafcc284552d1ce8027ed6cbff2c990b43a97f44547fd
|