During RPA implementation in Russia we often face the necessity to integrate with systems based on 1C products. UiPath have an adequate toolkit in order to make possible automation of almost any IT-system but both 1C:ERP and 1C:Drive have a number of obstacles that make their robotization troublesome.
Generally, we can separate 1C integration methods into 2 groups:
- Front – assumes using user interface in order to imitate the actions of a real user;
- Background – uses API or other forms of machine integration provided by 1C platform.
In UiPath it is possible to use selectors in order to mimic the actions of a real user. This technology is widely used for integration with various systems but it has one significant downside: once the described platform is updated all the selectors in 1C are ruined (e.g. this happened during the 8.3.13 release). Practically this leads to the point where almost all the robots – which used those selectors – stop to function correctly and require refactoring.
In order to solve this issue (among the bunch of others) NFP RPA department developed a range of connectors (activities) for UiPath RPA Enterprise Platform to 1C products. This makes it possible to automate the latter using RPA without deep immersion into specifications and alterations of concrete 1C configuration.
These connectors use default 1C integration options for interaction. This approach has a number of advantages, including:
- Interaction with 1C UI without locking the user ID which means it can run simultaneously with a real person;
- No additional 1C alteration is required;
- 1C interface elements are identified by name (e.g. field called "counterparty" in 1C can be simply called "counterparty" in UiPath activity as well);
- The gap between the 1C user and RPA developer diminishes for there is no specific knowledge of particular 1C configuration and solutions is required.
There is a nuance though: this approach can only be used in newer 1C configurations.
The situation with background integration is a little bit more complicated. When it becomes necessary to use the 1C API to interact with the system, first of all, it is important to understand if the system itself requires changes. We recommend using background integration method only for 1C data import and export.
In most cases during RPA implementation 1C plays the role only of master-system. The activity «ExecuteQuery» which we developed makes it possible to request the data from 1C on the programming language of 1C itself which significantly speeds up the process of 1C robotisation because this way a number of steps (checking, processing, waiting, etc.) are combined in just one activity.