Est. 1996 Intermediate

1C:Enterprise

A Russian enterprise application development platform with a bilingual (Russian/English) built-in scripting language, metadata-driven architecture, and dominant market position in the CIS business software ecosystem.

Created by 1C Company (Boris and Sergei Nuraliev)

Paradigm Procedural, Object-based, Event-driven
Typing Dynamic, Weak
First Appeared 1996
Latest Version 8.3.27 (2025)

1C:Enterprise (Russian: 1С:Предприятие) is a business application development platform created by 1C Company that dominates the enterprise software market in Russia and the Commonwealth of Independent States (CIS). More than just a programming language, it is an integrated ecosystem combining a metadata-driven development environment, a bilingual scripting language (with interchangeable Russian and English keywords), an application server, and a suite of pre-built business solutions. According to 1C Company, the platform is used by over 1.5 million organizations for accounting, ERP, CRM, and HR automation.

History & Origins

The story of 1C:Enterprise begins with 1C Company, founded in 1991 by Boris Nuraliev in Moscow. The company initially operated as a software distributor, selling Western business software such as Lotus 1-2-3. In 1992, Boris’s brother Sergei Nuraliev (who remains the chief architect of all 1C business software) wrote “1C:Accounting” (1С:Бухгалтерия), a DOS-based bookkeeping program. Even this first product included a built-in macro language, establishing the design philosophy that would define the entire platform: configurable business software with embedded programming capability.

The company name “1C” reportedly derives from the system’s original promise of delivering database query responses within approximately one second.

Through the early 1990s, 1C released several DOS-based versions (3.0, 4.0, 5.0, 6.0) as specialized accounting products. A Windows version (6.0) arrived around 1995. The pivotal shift came with 1C:Enterprise 7.0 in 1996, which introduced the “Enterprise” (Предприятие) branding and transformed the product from standalone accounting software into a configurable platform that could integrate accounting, inventory management, payroll, and sales. Version 7.7, released in 1999, became extremely popular and remained in widespread legacy use long after newer versions appeared.

A fundamental architectural overhaul arrived with 1C:Enterprise 8.0 in 2003. This version introduced a completely new platform architecture with client-server capabilities and a redesigned programming language that was not backward-compatible with version 7.x. The 8.x line has continued to evolve through versions 8.1, 8.2, and 8.3, with 8.3 (released in 2013) being the current major version branch and still receiving regular updates.

Design Philosophy

1C:Enterprise embodies a distinctive design philosophy that sets it apart from both general-purpose programming languages and other enterprise platforms like SAP or Oracle:

Metadata Over Code

The platform’s core principle is that business applications should be built primarily through declarative metadata configuration, not imperative code. Applications are composed of approximately 20 integrated object types called “Configuration Objects” or “Building Blocks”:

  • Catalogs – reference data (products, customers, employees)
  • Documents – business transactions (invoices, receipts, orders)
  • Registers – data storage (accumulation, information, accounting, calculation)
  • Business Processes – workflow definitions
  • Charts of Accounts – accounting structures
  • Exchange Plans – data synchronization rules

Each object type comes with its own data structure, processing logic, and auto-generated user interface. The platform automatically creates database schemas, forms, and reports from metadata definitions. The programming language is deliberately used only when algorithmic logic is needed – such as tax calculations, data validation, or custom business rules – while structural and visual elements are handled by configuration.

Bilingual Syntax

One of 1C:Enterprise’s most unusual features is its bilingual built-in scripting language, commonly known in the developer community as BSL (Built-in Script Language). All keywords exist in both Russian and English and can be used interchangeably, even within the same module:

EnglishRussian
ProcedureПроцедура
EndProcedureКонецПроцедуры
FunctionФункция
If / Then / ElseЕсли / Тогда / Иначе
For Each / DoДля Каждого / Цикл
ReturnВозврат

This design choice reflects the platform’s primary audience: Russian-speaking developers who may find native-language keywords more natural, while also enabling international developers to work with the platform using English syntax.

Low-Code by Design

1C positions its approach as low-code development. The guiding principle is: “Let the platform handle the routine; code only when strictly necessary.” This minimizes the volume of programming required while enabling deep customization for complex business logic.

Key Features

The Built-in Scripting Language (BSL)

BSL is a dynamically typed, object-based (explicitly not fully object-oriented) language with syntax that, according to 1C’s documentation, “has much in common with” Pascal, JavaScript, and Basic. Developers can inherit objects from integrated platform types (Catalogs, Documents, Registers), but further inheritance from developer-created objects is not supported. This is a deliberate design choice to keep the platform metadata-driven rather than code-driven.

// English syntax
Procedure CalculateTotal(Document)
    Total = 0;
    For Each Line In Document.Lines Do
        Total = Total + Line.Quantity * Line.Price;
    EndDo;
    Document.Total = Total;
EndProcedure
// Russian syntax (equivalent)
Процедура РассчитатьИтог(Документ)
    Итого = 0;
    Для Каждого Строка Из Документ.Строки Цикл
        Итого = Итого + Строка.Количество * Строка.Цена;
    КонецЦикла;
    Документ.Итого = Итого;
КонецПроцедуры

The language compiles to bytecode that runs on the 1C:Enterprise virtual machine, with implementations for Windows, Linux, macOS, and browsers (via JavaScript for the web client).

Built-in Data Types and Collections

BSL provides rich built-in collection types designed for business application scenarios:

  • Array – indexed collections, can be multidimensional
  • Structure – key-value pairs with string keys
  • Map – key-value pairs with flexible key types
  • Value Table – dynamic tabular data storage
  • Value Tree – hierarchical data structures
  • List of Values – dynamic sets for user interface tasks

Three-Tier Architecture

1C:Enterprise uses a three-tier architecture: client applications, a server cluster, and a database backend. The platform supports multiple client types:

  • Thin client (Windows, Linux, macOS) with minimal local processing
  • Web client running in browsers via IIS or Apache, requiring no installation
  • Mobile clients for iOS and Android with offline synchronization

Database backends include a native file-based system (for development and small deployments), Microsoft SQL Server, PostgreSQL, Oracle Database, and IBM DB2.

Customization Framework

1C:Enterprise addresses a critical enterprise software challenge: allowing customers to modify applications while still receiving vendor updates. Two mechanisms support this:

  • Extensions – separate custom configurations that overlay standard ones, enabling automated update installation without losing customizations
  • External processors/reports – add-on scripts that do not modify core code

This approach contrasts with platforms where customization often makes future upgrades difficult or impossible.

Development Tools

  • Designer – the primary proprietary IDE for metadata and code development, with debugging, profiling, and auto-completion
  • 1C:Enterprise Development Tools – a newer IDE based on Eclipse, supporting Git/SVN integration and plugin extensibility

Evolution

The evolution of 1C:Enterprise reflects the broader transformation of business computing:

The DOS Era (1992-1995): Standalone accounting programs with basic macro capabilities, targeting small Russian businesses navigating the post-Soviet transition to market economics.

Platform Emergence (1996-2002): Version 7.0 introduced the configurable platform concept. Version 7.7 (1999) refined this into a mature product that became the backbone of Russian business automation.

Modern Architecture (2003-2012): Version 8.0 brought a clean-break redesign with client-server architecture, a new language, and support for larger-scale deployments. Versions 8.1 and 8.2 added thin and web clients, enabling browser-based access.

Cloud and International Era (2013-present): Version 8.3 introduced cloud capabilities via the 1cFresh SaaS platform. In 2017, the establishment of 1C International (1Ci) marked a serious push into global markets, with the platform now deployed in approximately 95 countries and localized in over 20 languages.

Market Position

1C:Enterprise holds a dominant position in the Russian and CIS enterprise software markets. By number of organizations, the platform is reportedly used by the majority of Russian businesses for some form of automation. By revenue in the ERP segment, 1C has reportedly competed closely with SAP, holding a significant share of the Russian market since the late 2000s.

According to 1C Company, the platform’s ecosystem includes over 7,000 franchisee partners across approximately 750 cities, more than 1,500 certified solutions, and hundreds of thousands of completed automation projects. This extensive partner network is a key competitive advantage, providing implementation and support services that would be impractical for a single company to deliver across Russia’s vast geography.

Internationally, 1C faces a different competitive landscape. Products like 1C:Drive (targeting SMBs) and 1C:ERP (targeting larger enterprises) are being promoted through 1Ci in European, Asian, Middle Eastern, and Latin American markets, though the platform remains far less known outside the CIS than within it.

Why 1C:Enterprise Matters

1C:Enterprise is one of the most commercially successful programming platforms that most Western developers have never heard of. It demonstrates that a metadata-driven, domain-specific approach to enterprise software development can be remarkably effective – the platform’s ability to handle the full complexity of Russian tax law, accounting regulations, and business practices through a configurable system rather than custom code is a significant engineering achievement.

The bilingual syntax is nearly unique in the programming language world, offering a practical solution to the tension between internationalization and developer accessibility. The platform’s longevity – spanning over three decades of continuous development from DOS to cloud – shows the value of a coherent, opinionated approach to enterprise application development.

For programming language historians, 1C:Enterprise represents an important data point: a fourth-generation, metadata-driven platform that chose to optimize for business domain modeling rather than general-purpose expressiveness, and succeeded commercially on a massive scale. Its story illustrates how local market conditions, regulatory requirements, and language accessibility can shape technology adoption in ways that global platforms sometimes struggle to address.

Timeline

1991
1C Company founded by Boris Nuraliev in Moscow; initially a software distributor
1992
First proprietary product '1C:Accounting' released for DOS, coded by Sergei Nuraliev, featuring a built-in macro language
1996
1C:Enterprise 7.0 released, introducing the 'Enterprise' platform concept with configurable business application tools and an integrated programming language
1999
1C:Enterprise 7.7 released, becoming the most widely adopted version of its era and remaining in legacy use for years
2003
1C:Enterprise 8.0 released with a fundamentally new architecture, client-server model, and a redesigned programming language incompatible with version 7.x
2009
1C:Enterprise 8.2 introduced managed application model with declarative UI, thin client, and web client support
2013
1C:Enterprise 8.3 released with cloud technology integration; this remains the current major version branch
2017
1C International (1Ci) established as a joint venture to promote 1C:Enterprise in markets outside the CIS
2025
1C:Enterprise 8.3.27 released with WebSocket client support, email-based authentication, and cluster management enhancements

Notable Uses & Legacy

Russian Business Accounting

Reportedly used by over 1.5 million organizations across Russia and the CIS for mandatory bookkeeping, tax reporting, and regulatory compliance, making it the de facto standard for business automation in the region.

Enterprise Resource Planning (ERP)

1C:ERP provides integrated manufacturing, supply chain, financial management, and HR modules, competing with SAP and Oracle in the Russian market where 1C reportedly holds a significant market share.

Government and Public Sector

Widely adopted by Russian government agencies and public institutions for payroll, budgeting, and administrative automation, driven by localization of Russian legal and tax requirements.

International SMB Solutions

Through 1C International, reportedly deployed in approximately 95 countries via products like 1C:Drive for small and medium businesses, with localization in over 20 languages.

Language Influence

Influenced By

Running Today

Run examples using the official Docker image:

docker pull
Last updated: