Configuring Exchange Between 1C:Manufacturing Enterprise Management (UPP) and 1C-Bitrix
UPP is a configuration that is increasingly less deployed from scratch, yet is still operated by thousands of enterprises. Its distinguishing feature is that the website exchange mechanism is inherited from older platform versions: CommerceML 2.05 instead of 2.08, an outdated protocol, and limited characteristic support. This means that a simple "plug-and-play" standard connection will not work — customizations are required.
Technical Context of UPP
UPP runs on the 1C 8.2/8.3 platform in "compatibility" mode. The built-in website exchange mechanism (section Trade Management → Website Exchange) implements basic CommerceML: export of items, prices, and stock levels; receipt of orders.
What works poorly:
- Item characteristics export is unstable on large catalogs (memory leak in 8.2)
- No support for zip compression during export (large XML files)
- No incremental exchange out of the box — full exchange only
- Outdated date and encoding formats in some builds
Implementing Incremental Exchange
The most common task when integrating UPP with Bitrix is implementing a partial exchange (only changed records), to avoid pushing the full catalog every 30 minutes.
In UPP, this is solved via an external processing module. A "ChangedItemExport" processing module is created that:
- Reads the date of the last successful exchange from the information register
- Selects items changed after that date
- Generates an XML file containing only changed items
- Invokes the standard HTTP send mechanism
The last exchange date is saved in the register after a successful server response. On error — it is not updated, and the next run retransmits the changes.
Memory Issue During Full Exchange
UPP on platform 8.2 has a known issue: when generating a large XML file (50,000+ items), the 1C process memory grows to several gigabytes and can crash.
Solutions:
- Batch export: split the full catalog into batches of 5,000 items, send sequentially. On the Bitrix side, enable "session" upload mode (the
mode=fileflag in the exchange protocol) - Migrate to platform 8.3: memory management is better in 8.3, the issue is less pronounced
- Query-level filtering: export only items flagged "For Website" (add a boolean attribute to the item directory)
Bitrix-Side Configuration for UPP
When working with UPP, it is important to configure the timeout in Bitrix:
In /bitrix/php_interface/dbconn.php or via .htaccess:
php_value max_execution_time 600
php_value memory_limit 1024M
For cron-based exchange processing (when pull mode is used):
# /etc/cron.d/bitrix-1c-exchange
*/30 * * * * www-data php -c /etc/php/cli-1c.ini /var/www/bitrix/import.php
A separate php.ini for cron (cli-1c.ini) with increased limits is correct practice — it does not affect the web server.
Bidirectional Exchange: Orders from Bitrix to UPP
Orders arrive in UPP as "Customer Orders." A common issue: in UPP, a customer order requires a mandatory contract (agreement) with the counterparty. When a new counterparty is created (a new buyer from the website), no contract exists — and the order is created with an error or is not posted.
Solution: in the UPP order import handler, add automatic creation of a default contract for new counterparties. The contract template (type, currency, organization) is fixed for all website orders.
Case Study: Manufacturing Enterprise, Mixed Catalog
A metal structure manufacturer: a catalog of 8,000 products, each with technical specifications (GOST standard, steel grade, dimensions). Some products are made to order (manufactured), some are in stock.
Website requirement: display "made to order / in stock" status with current stock levels for in-stock products.
Implementation: a "Sale Type" attribute (directory) was added to the UPP item. During export, it is transmitted in AdditionalAttributes. On the Bitrix side — the "Sale Type" property controls whether the "Add to Cart" or "Request a Quote" button is displayed.
Stock levels are exported only for in-stock products (filtered by "Sale Type"). For "made to order" items, the stock level is always set to 999 (conventionally "available for ordering").
Timeline and Complexity
Configuring UPP ↔ Bitrix exchange: 4–10 business days. More complex than UT/KA due to the outdated protocol. If UPP is planned for replacement with ERP — it is recommended to structure the integration so that the Bitrix-side logic is not tied to UPP specifics: XML_ID and catalog structure should be preserved during migration.







