Setting up exchange between 1C: Manufacturing Enterprise Management (MEM) and 1C-Bitrix

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

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:

  1. Reads the date of the last successful exchange from the information register
  2. Selects items changed after that date
  3. Generates an XML file containing only changed items
  4. 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=file flag 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.