Professional development of interfaces and forms in 1C.

We have been teaching since 2008, we are confident in the quality of our courses and give our standard 60-day warranty.

This means that if you started taking our course, but suddenly change your mind (or, say, do not have the opportunity), then you have a 60-day period to make a decision - and if you make a return, we return 100% of the payment.

Installment payment

Our courses can be paid for in installments or in installments, including without interest. At the same time You get immediate access to materials.

This is possible when paying from individuals in the amount of 3,000 rubles. up to 150,000 rub.

All you need to do is select the payment method “Payment via Yandex.Checkout”. Next, on the payment system website, select “Pay in installments”, indicate the term and amount of payments, fill out a short form - and in a couple of minutes you will receive a decision.

Payment options

We accept all major forms of payment.

From individuals– payments from cards, payments with electronic money (WebMoney, YandexMoney), payments through Internet banking, payments through communication shops, and so on. It is also possible to pay for the order in installments (in installments), including without additional interest.

Start placing your order - and in the second step you can choose your preferred payment method.

From organizations and individual entrepreneurs– cashless payment, delivery documents are provided. You enter an order and you can immediately print an invoice for payment.

Training of several employees

Our courses are designed for individual training. Group training on one set is illegal distribution.

If a company needs to train multiple employees, we typically offer “add-on kits” that cost 40% less.

To place an order for an “additional kit” select 2 or more course sets in the form, starting from the second set the cost of the course will be 40% cheaper.

There are three conditions for using additional kits:

  • You cannot purchase only an additional set if at least one regular set was not purchased before (or along with it)
  • There are no other discounts for additional sets (they are already discounted, it would be a “discount on a discount”)
  • promotions are not valid for additional sets (for example, compensation of 7,000 rubles) for the same reason
Professional development of interfaces and forms in 1C:Enterprise 8.3 (2016)
Beautiful, comfortable and functional forms are a sign of professionalism. “Hard programmers” often treat this with disdain. But it's like walking around in dirty, wrinkled clothes - you can be inside wonderful person, but no one will appreciate it anymore.

Who is this course for: Entry level programmers. Programming interface tasks is assessed as having a low level of complexity - accordingly, they often have to solve them. However, the basic techniques for programming interface tasks have yet to be developed. Experienced programmers who, for one reason or another, are unfamiliar or poorly familiar with the managed interface. Many of them are hostile to the managed interface. However, sooner or later this will have to be done. Statistics: Manual - 295 pages PDF A4 Video on the usual interface - 16 lessons. hours Video on a managed interface – 28 hours. hours 25 homework The course is not a presentation of existing books and courses. Most of the course examples are complete mechanisms that can be integrated into your databases. Minimum Requirements participants - knowledge of 1C programming basic level.

SpoilerTarget"> Spoiler: What we will study

Three interfaces: Normal, Managed, Taxi.
The structure and logic of operation of forms, both managed and conventional.
You will learn to develop forms of any complexity.
What else we will look at: Selection from directories using a list form or using special processing
Various withdrawal methods additional information to forms and dynamic lists
Placing lists of subordinate directories and information registers on the form Organizing drag and drop between lists
Various ways to fill and update data in tabular sections
Creation of complex filling forms with additional filters.
In the normal interface, the report builder will be used for this, and in the managed interface, the data composition system will be used.
Displaying images on forms
Uploading files to the infobase and directory structure on the server
Usage background jobs for data processing
Configuring and using the properties mechanism, the mechanism of additional details and information
Programmatically placing fields on a form
Developing an interface menu and organizing interface switching for both the regular interface and the managed one
Working with Managed Interface Commands and Functional Options
Working with navigation links
Programming without using a modality
Programmatic ways to open and configure forms
Organization of initial filling of objects in the process of their creation

This article continues the series of articles “First steps in 1C development.” The material assumes that you have already read our previous articles on the interface. In this article we will continue our acquaintance with the new features of the Taxi interface and consider what interesting innovations managed forms have received in this interface.

Applicability

The article discusses the “Taxi” interface of the configuration developed on the 1C 8.3.5.1098 platform. Additions to the current platform releases (8.3.11) are given in the conclusion. Therefore, all information provided is relevant.

New in managed forms in 1C:Enterprise 8.3

Developers of the 1C:Enterprise 8.3 platform in once again We thoroughly worked on the convenience of users working with managed forms.

Line input

Previously, in the input fields, when entering initial characters from the keyboard, the system searched for suitable elements.

However, often users need to search not only by the first characters of the name, but also in an arbitrary place in the name.

In the configurator for reference metadata objects, to configure input by line, a separate “Input Field” tab was created:

It presents the following options for generating a selection list when entering a line:

  • use of full text search;
  • search by occurrence of a substring or by the beginning of a string;
  • perform searches directly or in the background.

In the “String search method when entering by substring” property, you can choose whether to search only by the first characters of the string or in any part of it.

In user mode, searching for any part of a string looks like this: the user sequentially enters characters from the keyboard, and the system performs the search.

And not only from the first letters of the name, but also from the occurrence of the typed line:

Naturally, using search on any part of a string can lead to deterioration in system performance, especially with a large amount of data.

In file mode, while the user is typing a line, the search is performed in the background only if another background or scheduled task is not running at that moment.

If the appropriate setting is set, full-text search can be used when entering data into the input field.

During a full-text search, both whole words and strings in which the typed characters are part of whole words will be found (the * full-text search operator is used).

For example, the user enters the following parts of words into the input field, the system displays the options found using the full-text search mechanism in a pop-up window:

The results of a full-text search corresponding to the entered search string are shown in the figure:

Let's remember that in platform 8.3 it became possible to redefine the representation of a reference data type using the ViewGettingProcessing and ViewGettingFieldsProcessing procedures in the object manager module.

When using this functionality and line input together, there is the following feature.

The above handlers do not affect the presentation of values ​​in the selection list—the list reflects the underlying representation of the object.

However, once selected, the field displays the expected overridden representation of the object.

To enlarge, click on the image.

The developers believe that there are no errors in this behavior of the platform, and that it is more valuable to show why a particular result was found (highlighting, for example, the substring by which the object was found) than to display a representation of the corresponding value separated from the search result.

The row input properties discussed above were set at the level of the entire metadata object.

The developer can override these properties at a specific location in the configuration.

For example, using the AutoSelect and EndTextInput event handlers for a specific input field or using the SelectionDataProcessingSelectionProcessing event handler in the object manager module.

For this purpose, in these procedures there is a parameter named Structure type Parameters, the properties of which contain the method of searching for a string, the mode for obtaining selection data, and setting the use of selection data.

To enlarge, click on the image.

Dropdown list for input field

In platform 8.3, the drop-down list for the input field received additional functionality to improve the usability of the system.

This list can now display the history of previously selected values. A list with history is shown on the screen when you place the cursor in a field, when you press the Select from list button, or the Down Arrow button on the keyboard.

You can enable the display of history for input fields associated with data such as directory, document, business process, task, plan of characteristics types, plan of calculation types, chart of accounts and exchange plan. The configurator provides a property for this, located on the “Input Field” tab:

To enlarge, click on the image.

The use of history can be overridden for a specific object attribute or form element.

In addition, if the user does not find the element of interest in the list of the input field, he can click the “Show all” button to open the list form to select an element from the entire directory.

Also in the list of the input field there is a command “Create a new object”. This will open the new element form.

In this form, the user fills in the required fields. After recording and closing the form, a link to the newly created element will be inserted into the input field.

A typical template for using the “Create a new element” command looks like this. The user enters a name desired element in the input field.

If the system does not find such an element in the database, a message about this will be displayed. After clicking the button in the list, a new element form with a filled-in name will open on the screen.

The considered innovations make it possible to increase the speed of entering information into the system.

Saving dynamic list settings

In Platform 8.3, dynamic list settings can be saved automatically. To do this, in the configurator, for the required form details, you need to set the “Automatic saving of user settings” property. By default, this setting is enabled when creating a list.

The root configuration element now has a new property – Storage of user settings for dynamic lists.

This property is selected from the list of settings stores defined in the configuration.

To enlarge, click on the image.

Setting up lists in user mode is called up using the corresponding menu item:

The appearance of the form is similar to setting up reports.

To enlarge, click on the image.

The conditions by which the list was selected are automatically displayed at the bottom of the settings. These settings will be included in the list form.

In the configurator mode, to do this, you need to fill in the table property of the User settings Group form.

It must indicate separate group form, inside which elements will be added to display the selection.

With this setting, the form will have fields in the form of “quick selections”.

To enlarge, click on the image.

If the user has customized the list, the settings will be automatically saved and the list will have the same appearance when opened again.

The dynamic list viewing mode (list, tree, hierarchical list) is saved along with the settings of the form elements.

For one list, a user can have several saved various options settings.

If the configuration compatibility mode is set to “Do not use”, then for a dynamic list in which the document journal table is specified as the main table, the “Create” button is automatically generated in the form of a submenu with a list of documents included in the journal.

To enlarge, click on the image.

This simplified the creation of new documents by the user from the journal form. It has also become possible to quickly create separate buttons on the form’s command panel to create a new document of a certain type.

For this purpose, the standard CreateByParameter command was created. If this command is assigned to a button on the form, then the Parameter property becomes available, in which you can select the type of document to be created when this button is clicked.

To enlarge, click on the image.

In custom mode, this button will look like this:

To enlarge, click on the image.

Because The material in the article is described for platform 8.3.5, then we will update it.

  • Prior to version 8.3.7, string input was not fast enough, so in this release the data structure of the full-text search index was changed, which led to increased speed when running the system in places where this mechanism is used. Note that new format full text search is used when the compatibility mode is set to "Do not use". In compatibility mode with version 8.3.6, the behavior has not changed. We also note that in next release platform 1C (8.3.8) the mechanism for entering by line and when using the dynamic list search line has also been improved, and now it provides search for data that has not yet been included in the full-text search. This behavior has not been observed before.
  • The managed form input field dropdown list has also received some improvements. In version 8.3.8, it began to automatically adjust its width to the width of the data displayed in it, plus the keys Home And End began to be processed directly in the input field. These improvements make it easier to use the drop-down input field.
  • The mechanism for saving dynamic list settings has also been improved, and in version 8.3.6, the form table extension properties for the dynamic list Period and Display are now stored in the same sections as other dynamic list settings, which greatly simplifies the developer’s work with them. They are now available in the managed form handler WhenLoadingUserSettingsOnServer(), which was not the case before.

This is where we will complete our acquaintance with managed forms in the Taxi interface, but in the next article we will get acquainted with the new features introduced by the 1C:Enterprise platform version 8.3.

Interface development in 1C consists of two parts - the development of a menu or desktop and the development of 1C screen forms. The windows with which the user works in 1C are called 1C screen forms or simply 1C forms.

Users in the program work with 1C forms. Moreover, users see only 1C forms. Therefore, from the point of view of ease of use in the program, this is one of the important elements. At the same time, you can waste more time developing a 1C form than programming the most complex algorithm.

A common mistake programmers make is trying to draw everything to their liking. Make the background blue and the text green. Or yellow on black. Or how he likes it in some other favorite program.

Unfortunately, this approach is wrong, since users are accustomed to working with standard 1C forms, which are the majority in the configuration. Drawing your own bicycle and marking it with Courier inscriptions like “Copyright Vasya Pupkin” is clearly in bad taste.

Now we will go through a short educational program on drawing 1C forms.

What are Forms 1C

Form 1C is a method of presentation to the user. Typically, a form consists of a series of fields that need to be filled in and a set of buttons (menu commands) to control. Most 1C objects have Form 1C.

The 1C thick client uses “regular” 1C forms. This means that the programmer simply draws a 1C form with the mouse, just as is done in Visual Studio and other frameworks.

The 1C thin client and the 1C web client use 1C managed forms. This means that their size, 1C shape and the location of the fields on them cannot be changed with the mouse. They are generated automatically based on the settings. We will talk about managed 1C forms in the following lessons.

Most forms of 1C standard configurations in 1C have their own standard presentation that is familiar to the user.

How 1C forms work

The logic (order) of user work in 1C is as follows:

Thus, the user always works with 1C forms, starting with the 1C list form and moving to the 1C element form. If the programmer has not drawn the forms, then 1C generates the forms by default. They are naturally deprived perfect beauty and perfection, but they allow you to work.

An automatically generated 1C list form usually contains a minimum of fields (code/name and date/number, respectively). The automatically generated element form usually contains all the fields (details) listed from top to bottom.

The task of the 1C form is to open and wait for user actions. When acting, react. Thus, the basis of the 1C form module is event handlers. These are functions that are called when the user performs some action on the 1C form.

Where are 1C forms located?

In 1C Enterprise mode, when you select almost any 1C object (directory, document, report, processing, etc.), the form of this object will open to you.

In the configurator, in the configuration window, select the object you need, expand its branch to see the 1C Form sub-branch.

Another option is to open the object editor (twice with the mouse or place the cursor and Enter) and go to the 1C Forms tab.

Here is a list of 1C forms. One of the added 1C forms can be added as the default form (1C list form, 1C element form, and so on).

Creation of 1C forms

To add new uniform 1C, you need to click the Add button (Ins on the keyboard). To enter an existing one, double-click on it with the mouse.

The designer will prompt you to select the type of 1C form - 1C element form, list. Here you can add or remove command panels on the 1C form. Most often these settings are left as is, by default.

The 1C form opens, filled out by default - all the details of the 1C object that exist have been added to it. You can tick the specific list of required fields on the second tab of the designer.

Unnecessary details can be deleted. To do this, select one or more fields and press Del.

To move other details into the free space, select them in the same way and drag them with the mouse.

To add new details to the 1C form, click the button on the Data Placement panel (Form/Data Placement menu), check the boxes for the elements that need to be added, as well as the “Insert labels” and “Place automatically” checkboxes.

Alternatively, you can simply add a control by clicking the corresponding button on the panel below or selecting Form/Insert Control from the menu. Double-click on the control (field) with the left mouse button and its properties will open. The “Data” property contains the name of the attribute. Here you can change or assign it.

Control properties also contain control checkboxes appearance control element. You can use checkboxes to enable or disable select, drop-down, clear, visibility, and accessibility buttons.

Almost all document forms use bookmarks. Adding a bookmark is the same as adding another control (see above), you just need to select the “Panel” control. To add a panel page, right-click on it and select Add Page. Other controls (fields) are simply dragged and dropped onto panel pages.

To change the size of the 1C form, simply move the cursor to the edge of the 1C form, click the left mouse button and simply drag the edge of the 1C form.

For Form 1C to work - i.e. did something in response to user actions - you need to add handler functions. Enter the properties of any element (by double-clicking on it with the left mouse button) or the 1C form itself (similarly on the form header). At the very bottom of the properties window there is a section called “Events”. Select a convenient event (for all fields it is usually “On Change”, for the form “On Opening”) and click the button with a magnifying glass. Its event handler will open.

For buttons, adding is the same. However, in addition to arbitrary handlers, you can choose one of the standard ones for this form (for the directory form these are some standard actions, for the document form - others). Just select one of the standard actions in the “Action” property or click the cross if you want to create your own handler.