Project 1C-Tools, Automate routine on your favorite platform

    Labor made a man out of a monkey, laziness turned me from a man into a developer, and the market made me a developer on the 1C platform.
    Few of us love routine, but I really don't like it terribly. In the business of 1C: Franchisee, in addition to interesting work, there is a large number of routines that need to be addressed. To a greater extent, it is associated with the support of already implemented programs.
    The entire range of work aimed at customer support, we call ITS (Information Technology Support). Herequite a lot of things are included, but the main time costs revolve around timely updating of client software and control over it, so that no client and no information base is forgotten. In a market where franchisees can offer approximately the same services for the same money, the degree of automation of these operations plays an important role.

    This post is about my 1C: Franchisee automation project, about what has been implemented now and what are the plans for further development.

    Prerequisites for the creation of the project and general information.

    The working name of the configuration is “Automator”.
    Project site:

    The aim of the project was to increase the efficiency of the company and improve the quality of our work, as well as the desire to create our own configuration from scratch for self-development.

    I started the project more than a year ago, in the first version it was written on the platform 8.2 and used unmanaged forms.
    At present, the project has been rewritten under the interface “Taxi” of Platform 8.3 and has been significantly redesigned and improved for mass use.

    Until the last release, the configuration consisted of ~ 3000 lines of code in the configuration itself and ~ 1500 lines of script code from the sulfuric part of .
    In the latest release, it was decided to add 1C to the BSP (Library of Standard Subsystems) configuration in order to give it the usual all standard functionality, the development of which from scratch was not of interest. Work on the integration of the BSP is still ongoing, and the code base is very swollen, but now the configuration will be more familiar with the work.


    At the moment, the following functionality is fully implemented:

    • Notification of employees and customers about the release of releases of their configurations. By SMS or Email. A Twitter post is on the way.
      More details
      How to track the release of new releases in order to more effectively plan the schedule and quickly fulfill their responsibilities to the client?

    • Automatic release downloads, unpacking, highlighting the shortest path for updates.
      More details
      Now all that needs to be done so that the latest releases are already with us:

    • Updating any typical configurations in automatic mode. I chose the path to the infobase, and clicked update, the program will do everything itself.
      More details
      The program itself will determine the configuration, find the shortest path for updating, install the missing templates if necessary, and update to any release.
    • Automatic preparation of cf (configuration upload file) of the most recent release of any of the 400 available configurations. No more worries about where to get the latest version of the configuration.
      More details
      It is necessary to place the configuration upload file of any release version in acc. a folder with the template name Updated_ [Release Version] .cf and check the refresh item in the "Configuration" directory. Further, the program will keep it up to date as new configuration releases are released.

    • Automation of the collection of information about client information databases (e.g. platform version, configuration, release number). To control the fulfillment of obligations to the client.
      More details
      Having performed a simple procedure on the client’s computer (s), you can get quite a lot of the necessary information, thus it is better to fulfill your duties to the client.

    • Personal release synchronization with an employee or client flash drive.
      More details
      Tired of controlling whether you have all the latest releases and related files on flash drives.
      The configuration learned to “recognize” an employee’s flash drive, and synchronize release files in accordance with its needs.

      Smart Sync:
      • Overwrites only missing or modified files.
      • Able to delete obsolete files.
      • Able to “skip” intermediate releases.
      • You can specify a limit on the number of rewritable releases, by number (for example, the last 6 ) or by time (for example, for six months ).
      • If the distribution package is unpacked, then only the unpacked version is overwritten.
      • You can set exceptions, for example, so that full distributions or distributions for linux, etc. do not correspond.

    • Receiving data and generating reports on ITS.
    • Obtaining data for reg. The program number or Customer login on the status of its ITS subscription without leaving the program.
      More details
      To do this, the corresponding module is built into the initial page.

    • The output of important information (the number of missed releases from the client, his subscription, recently released and planned releases) on the TV.
      More details
      It looks like this

    • API for integrating part of the functionality with third-party developments.

    At the moment, functionality that still cannot be released due to the lack of a developer for mobile OS:

    • Automatic accounting of time spent by an employee at a client, based on the history of GPS coordinates received from a smartphone
      More details
      It looks like this: On the configuration side, the client’s location areas are marked, and the mobile application must remember the coordinates and transfer their configurations for further processing.

    An updated configuration at number 0.2 will be available later this week.

    Future plans

    At the moment, about 200 accounts are registered, of which ~ 50 are franchisee firms, and one is the developer who is writing this article at the moment. I would like to leave all available functionality free for the main target audience of the project - 1C: Franchisee firms . But on the condition that they will take part in the development of the project, let's call it collective development. If any of the hawkers have a desire to take part in the project in their free time, or send a bug, security reports - I will be grateful in PM or on

    Also popular now: