With the 1C:Enterprise platform (1C platform), you can create software for key business functions, including financial, production, administrative, personnel management, sales functions, and more. The primary tasks of this software are:
- Collecting, storing, and processing data
- Automating business processes while accounting for 100% of business specifications
- Observing regulatory standards
- Providing accurate information about company assets and operations at any point in time to facilitate decision-making
The 1C platform already includes the basic functions of SOR systems. This allows you to create systems much faster and with greater ease with the platform than if you built them up from scratch using traditional development methods.
- Management, accounting, inventory tracking applications
- Integrated solution systems and ERP
- Mobile applications
- Further development of 1C applications
- 1C applications examples
When creating an application on the 1C platform, the developer works with built-in components that are a structured collection of business patterns found in most organizations. In this way, the platform eliminates the need for the developer to spend substantial time implementing the base functions characteristic of any SOR system.
The developer uses the platform components as building blocks to assemble the required application structure and tunes them describing the specific algorithms for their functioning and interaction. Using the business logic set by the developer, the platform automatically forms a user interface, allowing information to be entered and edited. In addition, the platform automatically creates part of the backend, facilitating operations with databases and the operating system.
The platform components include built-in objects and mechanisms. Part of the components describe the business sphere, and the other — the technology sphere. Business components include Catalog, Document, Report, Accounting engine, Accumulation register, Calculation register, Business process, etc. Technology components include Web and HTTP services, Data access, Background process support, Data history, Full-text search, etc.
Let’s look at how to use the Catalog, Document, and Report platform objects.
Catalogs are used to describe lists that may contain a list of goods, clients, currencies, etc.
Documents reflect events in the life of a business in the system: receipt of materials, a money transfer, hiring an employee, etc.
For example, the user enters information about a new product into a catalog of goods and then works with that product in documents when carrying out a sale. To do so, they create a new document in the system and describe it, selecting information from corresponding catalogs that they or other users have entered in advance. They select the needed client from the client catalog, select the product from the product catalog, select the warehouse from the warehouse catalog, and so on.
Reports are used to process and present data accumulated in the system. The Report object is a ready-made component that allows end users to build complex drill-down reports.
In addition to objects, the platform also includes a series of mechanisms for resolving standard business tasks. Here are several examples:
Cash flow accounting allows you to handle tasks to account for the location and movement of money and to automate areas such as warehouse accounting, settlements, and planning.
Complex periodic calculations — a universal tool for calculating wages, dividends, utility costs, etc.
Accounting — a universal “engine” for solving tasks to automate accounting in various accounting models.
Platform mechanisms utilize each other’s capabilities to a certain extent and rely on platform objects. For example, the accounting mechanism relies on the Charts of accounts, Charts of characteristic types, and Accounting registers objects. Thus, platform components form a complete model and provide the greatest value in aggregate.
The chart shows several platform business components and examples of application modules that can be created using these business components. The application modules and business components correspond based on the block’s color.
The existing set of components is enough to handle most operational business tasks. In particular, they include:
- financial planning and analysis
- accounting, closing, tax management, and compliance
- accounts payable and receivable
- treasury and cash management
- human resources management and payroll
- inventory management and tracking
- document management
- manufacturing execution
Analysts say that future ERP systems will be a collection of integrated applications that can be composed and recomposed based on a business’s changing needs. Unlike traditional monolithic ERP, which can take years to implement projects, and even minor corrections take weeks, the strategy of composite ERP systems gives you the option to quickly implement the necessary functions in individual applications and connect them to the greater system.
The approach also aims to achieve more flexibility in development and implementation by utilizing system components from the applications of various suppliers, offering hybrid, local, or cloud rollouts. For example, swapping HCM, CRM, or supply chain functions provided by ERP suppliers for a specialized solution developed for that function area.
With this approach, it becomes highly important to have a single data model, so development efforts can be focused on business logic rather than constant data transformations in case of migration from one application to another. The 1C:Enterprise platform allows you to quickly integrate 1C applications for various business functions into a single informational model of data and processes.
In the 1C environment, a model is understood as the ideology for building an application. It includes ways to build data structures, the types of connections between data, principles of data manipulation, forms for describing business logic, ways of connecting data with interface objects, dividing functionality into system levels, and much more.
In this way, all components (1C applications) of the integrated system of solutions on the 1C:Enterprise platform strictly follow the accepted model, ensuring their uniformity, predictable behavior, and effective cooperation.
Besides the model, the platform’s multitier architecture facilitates combining 1C solutions into a system. It has three logic levels:
- Server cluster
- Client (performance level)
Data processing takes place on the application server, which has a mechanism that flexibly allocates access rights to various blocks of the ERP and even documents.
For example, with the mechanism, you can set access rights so that the user will be able to operate with the documents of certain counterparties but will not be able to make changes to a document’s submission date and will not have access to the same documents of other counteragents.
This three-tiered architecture has other advantages as well:
It allows you to choose the DBMS that will be used to store date from your application (Microsoft SQL, PostgreSQL, IBM DB2, and Oracle Database)
It allows you to choose an operating system that your solution will work with: for the server, that is Windows or Linux, and for the client it can be Windows, Linux, or MacOS. For mobile clients — iOS, Android, or Windows. For web – any popular web browser.
The ability to work from anywhere is becoming more and more popular. If corporate mobile applications used to only be relevant to the staff in the field, now having the ability to work from a mobile device has become the norm for everyone. 1C:Enterprise offers particular technologies so developers can provide a mobile connection to corporate systems for company employees.
One of them is the option mentioned above to place the client side of an application on the employee’s mobile device in order to give them access to full application functionality in online mode, and also access to part of its functionality offline with subsequent synchronization.
Another is the ability to create standalone mobile applications using the mobile platform included with 1C:Enterprise. Standalone mobile applications are perfect for organizing the work of the personnel in the field who do not have a reliable internet connection. The mobile platform also allows you to create cross-platform applications that work on tablets, smartphones, and other mobile devices using the same development principles as 1C:Enterprise.
Considering the need of any business system to integrate with the existing environment of software products at a company, the most important task of any software product is taking care of close interactions with systems from other vendors.
1C:Enterprise solutions are open-source, and the platform itself provides the option to integrate practically any external programs and equipment using generally accepted open standards and protocols for data transfers.
Using the platform’s tools, you can organize file exchanges of various formats, facilitate access to all system objects from external applications, support various exchange protocols and standards for interaction with other subsystems (XML, JSON, etc.), and work with the Internet and email.
The platform supports the option to create web and HTTP services in applications and work with external web and HTTP services. External systems can access 1C application data via the OData protocol.
Solutions on the platform can integrate with various equipment, including commercial and warehouse equipment (data collection terminals, plastic card service terminals, etc.). Integration with popular commercial and industrial equipment is available in many Commercial off-the-shelf 1C solutions “out of box.”
The mechanism of distributed information databases allows you to quickly create geographically distributed systems on the platform.
The universal mechanism of data exchange allows you to organize interaction with various information systems, including those not implemented on the 1C platform.
Besides providing technical functionality, the user interface, and integration options, a solution’s architecture must allow it to develop and adapt to new conditions. A solution must be expandable to satisfy future business needs, such as changes to business processes and compliance with future regulatory standards.
As mentioned above, solutions on the platform are open-source. That means they are provided with the source code, which gives the client options for flexible adaption and further development of the solutions. Additionally, the platform has special built-in mechanisms to simplify solutions support by software vendors. One of them is Extension.
Extension is a mechanism of plugins that allows customers to create add-ons for solutions without changing them. Thus, software vendors can easily update and support customized solutions on the platform.
It is also important for the solution to be able to absorb new technologies that have something the platform does not. The integration options discussed in detail above allow you to use external technologies in 1C applications. For example, if you want to use machine learning in your solution, you can use Python and other technologies to perform machine learning tasks and use the obtained results in the 1C application via the HTTP or RabbitMQ protocol.
Read also: How to use machine learning in 1C solutions
In conclusion, we would like to note that 1C:Enterprise is a specialized platform that must be used properly to extract the maximum benefit.
Use 1C:Enterprise when you need to develop business applications and have some or all of the following requirements:
- business tasks involve finances, goods, personnel, or clients;
- custom business logic;
- client part of the application available desktop, web, mobile;
- cross-platform (Windows, Linux, Mac, iOS, Android);
- automatically generated customizable UI/UX and Object-relational mapping;
- flexible drill-down analytical reporting;
- system security based on roles;
- option to quickly create a prototype and short time-to-market;
- expansive options for integration (ODBC, REST API, SOA, Webservices, OData, XML, JSON, COM, SOAP, HTTP);
- option to introduce changes on the fly (without stopping system operations);
- standalone or client-server application.