Skip to main content

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


Download files

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

Source Distribution

crystalpy_barno-1.1.23.tar.gz (460.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crystalpy_barno-1.1.23-py3-none-any.whl (460.4 kB view details)

Uploaded Python 3

File details

Details for the file crystalpy_barno-1.1.23.tar.gz.

File metadata

  • Download URL: crystalpy_barno-1.1.23.tar.gz
  • Upload date:
  • Size: 460.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for crystalpy_barno-1.1.23.tar.gz
Algorithm Hash digest
SHA256 8ff18f29dec91ec0e2272c915e0e6842515c556dc6c5d740abb3a7b259c499c2
MD5 b1043fd766d4a8d8a0ee3ab195b2530e
BLAKE2b-256 ddc6a9ddeb86cfc817fd5f5d5909c04979b8a92c9ab1df8f318ac3d1bf8b457a

See more details on using hashes here.

File details

Details for the file crystalpy_barno-1.1.23-py3-none-any.whl.

File metadata

File hashes

Hashes for crystalpy_barno-1.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 c2ea1f77135586f3c1d2394c400b0e9f5d0d91559ba2d4eb6a3d61f08a6ad896
MD5 3fd3e826c113391d9b897be0647abb56
BLAKE2b-256 43e8c92b280b39eba4487a7677460d4854319ac41b6d38b1f5f382653d88c056

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page