Core Development Techniques Tutorial
Powered by 1C:Enterprise 8.2 – Business Applications Platform
© 2012 1C LLC
Experience shows that training course readers can be broken down into the following general groups:
• Heads of departments
• 1C:Enterprise end users
• Information system and network administrators
• Application developers
Decision makers require timely answers to critical questions, such as:
• Will 1C:Enterprise 8 completely support automation of our company?
• Is it sufficiently powerful to store and process the required data volume?
• Is it feasible to migrate to 1C:Enterprise 8 from version 7.7 or thirdparty solutions?
• Which employees would benefit from which training courses?
Users have their own sets of questions to answer:
• What is this system capable of?
• How to encourage users to formulate their functional requests for the developers, taking into account all platform capabilities, not just the features currently available in the application?
• How can one optimize user experience with applied solutions based on the general capabilities of the platform?
And for administrators and developers:
• Accumulated information should be sorted and organized, i.e. a variety of objects, procedures, functions, and tools should be presented in a comprehensive view.
About this course
This course is designed for partners and users who want to learn how to develop applied solutions for the 1C:Enterprise 8 platform and look into the capabilities that the 1C:Enterprise 8.2 technological platform offers.
This course provides a complete description of the purpose and functionality of the 1C:Enterprise 8 system based on the 1C:Enterprise 8.2 platform.
To ensure that learning is as effective as possible, the theoretical knowledge is reinforced through practical exercises. The participants will thus be able to acquire software development skills in the area of managed application engineering.
Requirements for participation
Object-oriented language programming
experience is desirable.
This section provides answers to the following questions:
• What is 1C:Enterprise 8 and what tasks does it solve?
• What is a technological platform?
• What is an applied solution and what kinds of applied solutions exist?
• What infobase interfaces are available?
• How does the file mode function?
• What is a client-server mode?
• Who can develop applied solutions and how is this done?
• What is the licensing policy used?
• What actions can be performed on standard mass-market solutions?
• Who can change the functionality of an applied solution?
A number of questions may arise in the course of development and operation of business automation software. These should be answered by programmers or users at different stages of design, development, and operation.
Data processing is the primary and most crucial issue when dealing with economic tasks.
This is due to the fact that while most software system development areas have reached a "close-to-perfect" level (text processors, for instance), economic software still lags behind.
This course explores the issues related to the design and development of such software products based on the 1C:Enterprise 8 platform. For the purposes of this training, programs that automate enterprise business are called "business applications".
The primary issues to be addressed during the development of a business application are:
• How to store data?
• How to retrieve data upon request?
This leads to a number of technical questions, such as:
Implementation tool choice:
• What language should be used to create the business application?
• What data storage format should be chosen?
• What data storage structure is to be implemented?
• How to implement multi-user support?
• What should the user interface look like?
• What principles will define user activities?
• How to implement online manuals for the application?
There are two approaches to answer these questions.
1. Create an application from scratch.
2. Customize an off-the-shelf solution.
Each of these options has its advantages and disadvantages.
Programmers tend to select multiple implementation tools when developing applications from scratch. In this scenario, too much time is spent on coding and user interface development. The resulting application is dependent on the data storage system for which it was developed, which naturally limits the number of potential users and narrows the area of its use.
If an off-the-shelf solution is chosen, the modification and customization options are greatly limited and closely connected with the developer of the selected solution. This limits the ability to customize the system quickly to satisfy the enterprise’s current needs.
There are a great number of various programming systems for developing custom applications, such as Visual Studio, Fox Pro, Access, and so on, and a number of off-the-shelf applications, such as SAP R/3, Microsoft Dynamics, and so on.
This course does not include a comparative analysis of the 1C:Enterprise 8 system with other business application development systems. Let us simply review the key capabilities of 1C:Enterprise:
• by system architecture;
• by development methodology;
• by operation.
Purpose and basic concepts of 1C:Enterprise 8
1C Company offers 1C:Enterprise 8 to automate corporate business in any of the ways described here. You can deploy an off-the-shelf business application, as well as develop a new application from scratch.
1C:Enterprise 8 offers incredible opportunities to:
• handle planning and operation management tasks;
• perform accounting, management accounting, and payroll operations;
• implement comprehensive automation of administrative and economic activities in production enterprises, sales and financial organizations, budget institutions, and service providers.
A variety of mechanisms currently implemented in 1C:Enterprise 8 allows comprehensive automation of the whole business process management cycle, from storing accounting parameters, accounting objects, and documents, to decision-making process automation.
Platform, configuration, and applied solution concepts
Business applications on 1C:Enterprise platform are highly flexible. This allows rapid extension of their functionality in order to cope with the evolving business tasks that need to be automated, and meet the unpredictable needs and demands of a dynamic business.
The specifics of application functionality and usage depend on:
• parametric configuration of the complete schema;
• development of additional software modules for the accounting of new corporate business segments.
The platform used by 1C:Enterprise for business application development, operation, and customization, can be described as follows.
From a technical point of view, this is a set of programs used for development, administration, and operation of business applications:
1C:Enterprise has multiple usage scenarios, each with its own executable file:
You can select the platform components that you want to install. You can add or remove platform components later, both on end-user and server computers. The following figure shows the component selection page of the Installation Wizard.
From a functional point of view, this platform is a set of ready-to-use mechanisms to facilitate development, efficient user operation, and convenient administration:
• Internationalization Support allows the use of different languages both during the development of an applied solution and during user operation (for example, an accountant works in Russian, while a sales manager works in English, and so on).
• Web Services allow web interaction with your business application for end users (from any application with web support), as well as for collaborative development.
• Web Extension allows the integration of data access mechanisms into existing web sites and web applications.
• Integration Support allows integration with practically any type of external software and equipment through common open standards and data transfer protocols.
• Development Tools are instruments available to the developer and are provided in the Designer mode of the technological platform.
Data Exchange allows the development of geographically distributed information systems based on 1C:Enterprise 8 infobases and thirdparty information systems.
• Interface Mechanisms are intended to support interaction between the user and a business application. They implement modern interface design and enhance user experience in the long run.
Full-Text Search helps search for data through the use of search operators (AND, OR, NOT, NEAR, and so on).
• General Purpose Mechanisms allow template-level application development to significantly accelerate the process of development and modification of business applications.
This approach allows developers to think in user categories and abstract from technical tasks that arise when standard programming tools are used.
• Access Rights System restricts user access to data that is required to perform certain functions in an applied solution.
• Economical and Analytical Reporting tools are used to create customizable reports and print forms.
User Productivity Tools ensure easy adoption for beginners and high operation speed for advanced users.
What role does the technological platform play in the business application under development?
The 1C:Enterprise 8 technological platform is a business application technical foundation because it:
• ensures stable and sustainable data storage;
• ensures multiuser data access;
• keeps a log of user actions;
• helps resolve other technical issues not related to application-specific areas of a particular business solution.
So now, where are the following defined?
• object-oriented data storage structure;
• user interfaces and forms;
• rules for data processing and analysis;
• and other settings related to the application business logic.
All these settings are stored in the description of the application business logic. Each application has its own business logic description. From the programmers’ point of view, such descriptions differ from software source codes since they contain not only algorithms, but some other data as well:
1C developers call these descriptions "configurations". To store descriptions in files separately from the business application, 1C:Enterprise 8 developers have created two file formats:
• one containing full business logic description:
• the other one containing the description of business logic changes in comparison with the previous description:
Therefore, there are two components of any business application:
• the technical part of the business application (technological platform);
• the business logic description (configuration).
Combining these "ingredients" provides a ready-to-use business application supporting technical and user settings.
Developers call such a business application an applied solution.
An applied solution is a program that is ready for use by the end user but can be enhanced (developed) in accordance with the user’s unique tasks with almost no limitations, which is an essential requirement for management accounting. In this scenario, the end user does not have to purchase any additional programming systems such as Visual Studio, Fox Pro, Access, and so on.
Being a commercial product, 1C:Enterprise 8 is supplied as an off-the-shelf solution to automate a certain type of activity, i.e. it includes both the standard technological platform and a specific configuration template with unlimited capabilities for modification and custom configuration, as well as for the number of applied solutions developed under the licensing policy.
There are a great number of configurations (descriptions) that define the business logic of enterprises from different types and areas of business, i.e. templates for specific accounting practices or types of enterprises, also known as configuration templates. Such templates are supplied in distribution kits.