Your Manufacturing Website on 1C-Bitrix
Imagine: you have 20,000 items, each needs to be described by 50 parameters, and dealers wait hours for a response to their request. Deadlines are missed, managers drown in Excel. We develop websites for manufacturing companies on 1C-Bitrix that become a working tool for dealers, procurement specialists, and engineers. The main goal is to give a technical specialist the ability to find the right item by parameters, download a specification, and send a request for a commercial proposal. Everything else is secondary.
With over 10 years of experience and 50+ completed projects for industrial enterprises, we deliver reliable solutions that combine a comprehensive catalog, deep 1C integration, and a full-featured B2B cabinet. A typical manufacturing company saves up to 3,000,000 rubles annually by automating order processing. On average, order processing time is reduced by 40% compared to manual methods.
On 1C-Bitrix, such a site is built around an information block catalog, a B2B module for personal cabinet, and data exchange with 1C:UPP or 1C:ERP. The catalog can contain tens of thousands of products with dozens of technical properties. The B2B personal cabinet on Bitrix provides personal prices and order history. Integration with 1C ensures automatic synchronization of nomenclature and stock balances. The average check per dealer is 150,000 rubles, and the time savings on order processing due to automation is up to 40%.
Let's break down each block.
Product Catalog with Technical Specifications
This is the core of the site. A typical manufacturing company catalog contains from 500 to 50,000 items, each with 15 to 60 technical properties. Valves, rolled metal, electrical equipment, industrial machinery—each industry has its own set of parameters, but the architectural approach is the same.
How to Organize a Catalog with Technical Specifications?
The catalog on Bitrix is built on an information block of type catalog (commercial catalog). Information block sections constitute the category tree. For each top-level category, a separate property set is usually created via the property-to-section binding mechanism (b_iblock_section_property table). This is critical: if you have pumps and valves in one information block, you don't want to show the "Nominal diameter" property for items in the "Electric motors" category.
Typical property configuration for an industrial catalog:
| Property Group | Examples | Bitrix Type |
|---|---|---|
| Physical parameters | Weight, dimensions, material | N (number), S (string) |
| Operational | Working pressure, temperature range, IP protection class | N with units of measurement |
| Classification | GOST, TU, certificate of conformity | S or F (file) |
| Media | DWG drawing, PDF specification, 3D STEP model | F (file) |
| Connections | Related products, components, analogs | E (link to elements) |
| Trading | SKU, unit of measurement, minimum batch, production time | Commercial catalog properties |
For properties with units of measurement, the b_catalog_measure reference is used. Values are stored in b_iblock_element_property (regular properties) and b_catalog_product (trading parameters).
Smart Filter
The catalog.smart.filter component works with a facet index—the b_catalog_smart_filter table stores precomputed combinations. Without a facet index, filtering by 30+ properties on a catalog of 10,000 items generates queries taking 3-5 seconds. With the index, it takes 50-100 ms – that's 30-60 times faster. This catalog filter on Bitrix is essential for performance.
Building the facet index is triggered via \Bitrix\Iblock\PropertyIndex\Manager::markAsInvalid($iblockId) followed by reindexing. The index updates automatically on each element change, but after a mass import from 1C, a full rebuild is needed.
For engineering catalogs, the standard filter is often insufficient. Typical customizations:
- Range filter for numeric properties (pressure from/to, temperature from/to)—natively supported but requires display configuration.
- Filter by multiple values of one property with OR logic—works out of the box.
- Cross-filtering—when selecting a value for one property narrows down available values for others. Implemented via AJAX filter loading with current parameters passed.
- Table comparison of selected items—component
catalog.compare.list, but usually completely rewritten for the task.
PDF Specifications and Documentation
Technical documentation is stored in properties of type F (file). Each item may have multiple documents: product passport, certificate, drawing, installation manual. The correct approach is a multiple property with file binding or a separate Highload block TechDocuments with fields UF_PRODUCT_ID, UF_FILE, UF_DOC_TYPE, UF_LANGUAGE.
On-the-fly PDF catalog generation is a separate task. Usually, the mPDF or TCPDF library is used, called via a custom component. The PDF template is formed from information block data, the result is cached and served to the user.
Integration with 1C:Manufacturing Enterprise Management
The standard exchange module catalog in Bitrix implements the CommerceML 2 protocol (exchange via XML files). For 1C:UPP and 1C:ERP, this is the main path for synchronizing nomenclature and prices.
How Does Integration with 1C Work?
Exchange works through the URL /bitrix/admin/1c_exchange.php and consists of stages:
- Authorization—1C sends login/password, gets a session.
- Catalog upload (
catalog)—filesimport.xmlandoffers.xmlare uploaded to the server. - Import—Bitrix parses XML, creates/updates information block elements.
- Order exchange (
sale)—bilateral exchange of order statuses.
For a manufacturing company, standard exchange is often insufficient. Problem areas:
- Multiple price types. In 1C:UPP—retail, wholesale, dealer, special for a specific counterparty. The
catalogmodule supports multiple price types via theb_catalog_grouptable, but mapping with 1C must be configured manually. - Warehouse balances. The
b_catalog_store_producttable stores balances by warehouses (b_catalog_store). 1C:UPP can upload balances broken down by warehouses, but a modification on the 1C side is needed. - Nomenclature characteristics. In 1C, this is implemented via "Item Characteristics", in Bitrix via SKUs (trade offers). One-to-one mapping is not always possible, especially if characteristics are multi-level.
Highload Blocks for Reference Data
Reference data from 1C (units of measurement, categories, materials, GOSTs) are best stored in Highload blocks rather than regular lists. The b_hlblock_entity table defines the block; data is stored in an automatically created table with a prefix. Access API via \Bitrix\Highloadblock\HighloadBlockTable::getById() and a generated ORM class.
Reference data exchange is a separate task not covered by standard CommerceML. It is implemented via Bitrix REST API or a custom endpoint called from 1C on a schedule.
B2B Functionality
Dealer Personal Cabinet
The personal cabinet is built on the sale module and extended with custom components. Basic capabilities:
- Personal prices—via price types attached to user groups. The "Dealers" group sees the wholesale column, the "Distributors" group sees their own. Configured in
b_catalog_group2group. - Order history—component
sale.personal.order.list, usually customized: adds production status, shipment tracking number, link to invoice. - Repeat order—adding all items from a previous order to the cart with one button.
- Export to Excel—generating a price list with personal prices for a specific dealer.
Request for Commercial Proposal
For manufacturing companies, the cart often works not as an order checkout but as a request for a commercial proposal. The user adds items, specifies quantity, and instead of payment sees a "Request CP" form. The request goes to the Bitrix CRM module (crm—lead or deal) and simultaneously to the manager's email.
Implemented via a custom handler for the OnSaleOrderBeforeSaved event or a fully custom component bypassing the standard order checkout.
Additional Blocks
- News and articles—standard information block, components
news.list/news.detail. For a manufacturing company, these are industry news, participation in exhibitions, catalog updates. - Certificates and licenses—separate information block or media library section. PDF files with image preview.
- Product calculator—if the nomenclature involves calculations (length, volume, non-standard sizes). Implemented as a JS component accessing the catalog API for prices.
- Geography of deliveries—Yandex.Maps API with markers for dealers and representative offices. Data from Highload block
DealerNetwork.
What's Included in the Work
- Detailed technical specification based on audit of current processes.
- Architecture and design: information block structure, 1C exchange scheme, role model.
- Catalog development with smart filter, PDF specifications, and documentation.
- Integration with 1C:UPP or 1C:ERP (CommerceML 2, REST API).
- Dealer personal cabinet with personal prices and CP request.
- Testing and performance optimization (caching, indexes).
- Deployment to server, monitoring setup.
- Transfer of documentation, access, administrator training.
- Technical support during warranty period (up to 6 months).
Implementation Timeline
| Project Scale | Catalog | 1C Integration | Personal Cabinet | Total |
|---|---|---|---|---|
| Small (up to 500 items, basic exchange) | 3-4 weeks | 2-3 weeks | 2 weeks | 8-10 weeks |
| Medium (up to 5,000 items, multiple prices) | 5-6 weeks | 4-5 weeks | 3-4 weeks | 14-18 weeks |
| Large (10,000+ items, full integration with UPP/ERP) | 8-10 weeks | 6-8 weeks | 5-6 weeks | 22-28 weeks |
The bottleneck is always integration with 1C. It depends on how standardized the configuration is on the client's side and whether there is a dedicated 1C specialist for customizing the exchange.
Our experience: over 10 years of development on 1C-Bitrix, more than 50 completed projects for industrial enterprises. If you need a website that becomes a working tool for dealers and engineers, contact us. Get a consultation on the project and an approximate work plan.







