Automated Print Shop Solutions with 1C-Bitrix and Non-linear Calculator

Automating Printing House Orders on 1C-Bitrix with a Non-linear Calculator We have designed and launched over 15 websites for printing productions. Our service specializes in printing website development, 1C-Bitrix printing integration, and online print calculator for printing company websites. W

Our competencies:

Frequently Asked Questions

Automating Printing House Orders on 1C-Bitrix with a Non-linear Calculator

We have designed and launched over 15 websites for printing productions. Our service specializes in printing website development, 1C-Bitrix printing integration, and online print calculator for printing company websites. We offer bitrix printing site solutions with online print ordering and preflight macro checking as part of our turnkey printing website packages. A typical situation: a manager spends an hour calculating an order using paper tables, and the client leaves for a competitor with an online calculator. Our approach automates the entire cycle: from uploading a macro with preflight checking to transparent status tracking. Order a turnkey printing website with a non-linear calculator and preflight macro checking – we will evaluate your project in 2 days, just write to us.

Why is a Non-linear Calculator a Key Element of a Printing Website?

In printing, the cost per unit is non-linear: a run of 100 business cards costs 5 rubles/piece, while 1000 costs 1.5 rubles/piece. Adding lamination increases the price stepwise, not proportionally. A linear calculator gives an error of up to 30%, while our non-linear calculator uses real tariff matrices and ensures accuracy of ±2%. This precision is up to 15 times better than linear estimates. Compare: a linear calculator calculates "price × quantity", while a non-linear one takes into account technological dependencies – setup, sheet imposition, volume discounts. As practice shows, a non-linear calculator increases conversion by 2-3 times, leading to additional revenue of $5,000-$10,000 per month for an average print shop.

How Does Preflight Macro Checking Automate Acceptance?

The client uploads a macro via a form. After upload, the file undergoes automatic verification via ImageMagick. Accepted formats: PDF, AI, EPS, TIFF. File size limit – 200 MB per file. Checks include resolution (minimum 300 DPI for offset, 150 for large format), color space (CMYK – allowed, RGB – warning), document size (tolerance ±3 mm for bleeds), and presence of transparency. The result is displayed with a color indicator: green – OK, yellow – warning, red – error. This eliminates the risk of production defects and speeds up order acceptance.

Product Catalog

Printing products are arranged in the Catalog information block with sections: business cards, brochures, flyers, catalogs, packaging, POS materials, large format printing. Each element contains a description, available formats (A3, A4, A5, A6, Euro format, custom), paper types (linked to a Highload directory Paper with density indication), post-printing processing (lamination, UV varnish, embossing, die-cutting, creasing, folding), minimum run, and technical requirements for the macro.

Deep-dive: Printing Product Calculator with Non-linear Tariff

The printing calculator is the most technically complex element of the site. Unlike the linear "price × quantity", printing costs depend on many parameters with non-linear dependencies: a run of 100 business cards may cost 5 rubles each, while a run of 1000 – already 1.5 rubles each. Adding lamination increases the cost stepwise, not proportionally. Paper price depends on density and format non-linearly. Use the online print calculator so clients instantly see the real cost.

Data Model Tariff data is stored in several linked Highload information blocks: HlPaper (Paper)

Field Type Example
UF_NAME string Coated glossy
UF_DENSITY number 300
UF_PRICE_PER_KG number 85
UF_SHEET_WEIGHT float Weight of a sheet of format in grams
UF_FORMAT list SRA3, SRA2, 620×940

HlPrintRun (Tariffs by Run)

Field Type Example
UF_PRODUCT_TYPE link Business cards
UF_RUN_FROM number 100
UF_RUN_TO number 499
UF_COLORS list 4+0, 4+4, 1+0, 1+1
UF_SETUP_COST number Setup cost
UF_PRINT_COST_PER_SHEET float Print cost per sheet

HlPostpress (Post-printing Processing)

Field Type Example
UF_TYPE list Matte lamination
UF_SETUP_COST number 800
UF_COST_PER_UNIT float 0.45
UF_MIN_RUN number 100
UF_DISCOUNT_THRESHOLD number 1000
UF_DISCOUNT_PERCENT number 15
Detailed Cost Calculation

The total cost consists of the following components:

  1. Paper cost = number of sheets × sheet weight × price per kg / 1000. The number of sheets is calculated from the run, taking into account sheet imposition: how many items fit on a printed sheet (depends on item format and paper format). A technological buffer is added: 3% for runs up to 500, 2% for 500–5000, 1.5% for over 5000.

  2. Print cost = setup + (number of printed sheets × cost per sheet). Setup is a fixed amount for equipment adjustment, independent of run size. Cost per sheet decreases stepwise: determined by the row from HlPrintRun based on the run range.

  3. Post-printing processing = setup + (quantity × cost per unit). If the run exceeds the UF_DISCOUNT_THRESHOLD, a discount UF_DISCOUNT_PERCENT is applied.

  4. Total = paper + print + sum of post-printing operations.

Backend Implementation

AJAX handler (/ajax/calc_print.php) accepts parameters: product type, format, run, color scheme, paper type, density, array of post-printing operations. For each component of the formula, a query is made to the corresponding Highload via ORM DataManager. Intermediate calculation results are cached in $_SESSION for displaying details. The response contains JSON with full detail: paper cost, print cost (with setup highlighted), each post-printing operation cost, total, and price per unit.

Interface

The calculator is embedded on the detail page of each product. When parameters are selected, recalculation happens in real time via AJAX with debounce (300ms delay). The result is displayed in a fixed sidebar (sticky sidebar); on mobile, a bottom sheet.

Order Tracking

The order goes through production statuses stored in the sale module (bitrix:sale.personal.order.detail component). Statuses: Accepted, Macro checked, In print, Post-printing processing, Ready for pickup, Shipped. When the status changes, the OnSaleStatusOrder event handler triggers an SMS via SMS.ru and an email via a mail event. The client sees the current status in the personal account – a visual progress bar highlighting the current stage.

Integration with 1C:Polygraphy

Data exchange is configured through the catalog module and a custom handler. From Bitrix to 1C, new orders are exported as customer orders linked to items. From 1C to Bitrix, production statuses are updated via REST calls; when a status changes in 1C, the exchange script calls the CSaleOrder::Update() method. Item nomenclature is synchronized from 1C, including current tariffs. Exchange frequency – cron job every 15 minutes for statuses, once a day for nomenclature.

Project Deliverables

After project completion, you receive the full source code with comments, uploaded to Git, documentation on Highload directory structure and 1C integration, site administration guide, manager training, 12-month warranty on all modules, and post-release support: monitoring, backups, core updates.

Implementation Stages

Stage Work Duration
Analysis Collect tariff matrices, calculation formulas, calculator specification 2 weeks
Design Highload structure, prototypes, calculator UX 1.5 weeks
Visual Design Catalog, calculator, personal account layouts 2 weeks
Backend Information blocks, Highload directories, calculator logic 4 weeks
Preflight Module ImageMagick integration, macro checking handler 1 week
Frontend Layout, interactive calculator, responsiveness 2 weeks
1C Integration Set up status and nomenclature exchange 1.5 weeks
Testing Formula check, load testing, UAT 1.5 weeks
Launch Deployment, catalog population, monitoring 1 week

Timeline – from 9 to 12 weeks depending on complexity. Cost is calculated individually – contact us for an estimate. Typical project costs start at $15,000. Compared to linear calculators, our non-linear model saves up to $2,000 per month in incorrect pricing. Get a specialist consultation on your project.