the Internet Windows Android

Select the dynamic list settings 1C 8.3. Methods for obtaining and caching data dynamic list

Printing (Ctrl + P)

Dynamic list

1. General information

The dynamic list is a special type of data that allows you to display arbitrary information from the database tables. To do this, you need to specify the table, the data from which you want to display, or describe the resulting sample in the query language.
The mechanism is based on the data layout system and provides opportunities for sorting, selection, search, grouping and conditional design of the data obtained. In this case, the source of the data is a query that is either formed by the system automatically (based on the specified data), or is written by the developer manually.

Fig. 1. Options for creating a dynamic list

When creating the type of form Dynamic list The developer can choose two ways to form a request to the data:
● Setting the main table - in this case, it is sufficient to simply specify the table (the property of the main table) from which it is necessary to obtain the data, and the system will automatically form a request to the data (see the right side in Fig. 1).
● Manual query formation - for this you need to set an arbitrary request property (see left part Fig. 1). After that, manual formation of a request for obtaining data from the information base will be available.
Using the query, you can select data from several tables, so you can specify the main table. It is necessary so that the dynamic list can determine which data are the main, and which are secondary, and could correctly select and display information, as well as provide standard commands. However, if you can not determine the main table in the query, it can not be indicated, but then
the dynamic list will not provide commands associated with the main table. In addition, in this case (without specifying the main table), the efficiency of obtaining data to the dynamic list will be significantly reduced.
In order to improve performance, all connections used in an arbitrary query are recommended only to obtain additional data, to make optional by expanding the data layout system requests.
For a dynamic list, which is the main details of the form, it is possible to set the selection values \u200b\u200busing the form parameter Selection. This requires that the name of the structure property in the parameter Selection,
coincided with the name of the selection of a dynamic list. In this case, the value of the structure property will be set as the right value of the selection element. If an array, a fixed array, or a list of values, is used as the value of the parameter element of the parameter, the condition with the option in the list is added to the selection, the list of values \u200b\u200b(to which the array and fixed array are transformed).
As an arbitrary request in the dynamic list, a request can be played in which a parameter is used to form the value of any field, for example:

CHOOSE
Choice
When delivery. Coefficient \u003d 1 then & performance
Otherwise delivery. Coefficient
End as coefficient
OF

In this case, if the type of parameter value is different from the type of object props (for example, Requisite1 It has type Number, and the value of the parameter - type Line), then for the correct field display, it is necessary to explicitly bring the value of the parameter to the desired type:

CHOOSE
Choice
When delivery. Coefficient \u003d 1, then express (& performance as string (100)) otherwise delivery. Coefficient
End as coefficient
OF
Document. Document Capacity as delivery

If the field for which the selection is set is disabled using functional options, then the selection by such an field is not installed, even if the selection value is transmitted as the form parameters or the selection parameters links.
Using the dynamic reading property, the dynamic list is indicated for the need to read data by small portions.
(For more information about ways to obtain data by dynamic list and data caching, see below). Regardless of this feature, the following conditions apply:

● If the viewing mode is set as a hierarchical list, only the data of the current group and the data of all parent elements (without subordinate elements) will be read.
● If the viewing mode is set in the form of a tree, only the data of the open nodes of the tree will be read.
● The one-time load of the dynamic list data is not supported in the case of a hierarchical viewing (the display property is set to a tree) and the initial display of the tree installed in the value to disclose all levels. To obtain data, so many requests to the server will be performed, how many nodes are in the displayed list.
Within one receipt of the data, the dynamic list reuses previously created temporary tables subject to the following conditions:
● There is no requests in the package query after the main query package.
● The composition of temporary tables and fields in them is unchanged from the previous execution of the batch request.

In its work, the dynamic list uses the values \u200b\u200bof the following properties of the details of metadata objects:
● format,
● editing format,
● Tip,
● sign of highlighting negative values
● Mask,
● Sign of multi-line regime,
● Sign of advanced editing
● Password mode.
When displaying and editing the selection and parameters of the data layout system, the format for editing the corresponding field is used.

2. Restrictions and features

When setting the selection in a dynamic list, it should be remembered that the selection does not act on the group if the display mode of the hierarchical list or wood is selected for a dynamic list. Under the "groups" it is understood as an element of the reference book or a plan of species of characteristics, in which the property of the etco is set to the value of truth.
Selection, automatically superimposed by a dynamic list to standard details owner, parent, date, period and etco group applied
standard data layout system. Selects that automatically superimposed by a dynamic list on key fields can be used as standard tools for the data layout system and by directly adding the Conditions to the text IN On the main table fields. As a result of the use of selections with layouts, they can be applied both in attached queries and in the parameters of virtual tables.

When developing dynamic lists, it is recommended to check all dynamic lists with arbitrary requests. In the process of verification, make sure that if there are nested queries or virtual tables in the list request, and they are available for selecting a field with aliases that coincide with the aliases of standard details owner, parent, date, period, etco group or key fields, then these fields are really Comply with standard details with which the alias coincides with them. If this is not the case - you should change the request what they would coincide or
the pseudonym differed.
If a manual formation of the query is selected, some restrictions are prescribed to the request:
● Not supported using the first instructions in the dynamic list request. If you need to use a sampling, limited by the number of entries in the dynamic list, you should rewind a request for forming a dynamic list in such a way that the actual part of the query is posted in subquery and limit the number of records received in this subquery. Instead of subquering, you can also use a temporary table.
● Not supported, sorting and grouping:

  • According to the details of the tables.
  • Presentation fields.
  • The field version.
  • Field name Distribution.
  • Field view of the table plan table.
  • Field of accumulation register table.
  • Field of type table type feature plan.
  • Type field type;
  • Field type string (unlimited length).
  • Field type binary.

● Sorting and grouping on the subconto fields is not supported.<НомерСубконто> and Wisubekkonto<НомерСубконто> Tables of MotionSubkonto Register of Accounting.
● The grouping is not supported by fields that represent the expressions of the query language containing aggregate functions.
● When the main table selected, the dynamic list request has the following limitations:

  • Uncinds are not supported.
  • It is not supported by the use of the section Sort by. You should use the request without the main table or set the necessary ordering through the settings of the dynamic list.

● If the dynamic list is displayed as a hierarchical list or tree, then the record will not be displayed by a dynamic list, if one parent is not displayed. In other words - to display the element of the hierarchy list, the dynamic list should also display all the parents of this item to the top of the list. At the same time, under the top of the list implies or actually
the root element of the hierarchical object displayed by a dynamic list or an element installed as the Property Property of the Terexual Form Table Extension for a Dynamic List.

Not supported using the following tables as the main table:

● The table for which there is no key is uniquely identifying each table entry (link for object tables and a record key for register tables). However, the following tables can be installed as the main table of the dynamic list (despite the lack of key):

● Table of subconto accounting register;
● All accounting register tables, except for the Motion Dubkonto table;
● Constant values \u200b\u200btables (including constant table);
● Tables of external data sources without key fields;
● Cube tables of external data sources;
● Accumination Register Tables:

  • roll table;
  • table of residues;
  • table of revolutions and residues.

● Calculation Register Tables:

  • table of the actual period of action;
  • data graphics;
  • basic data.

● Tables of table parts of objects;
● Change registration tables (used in data exchange mechanisms);
● sequence tables;
● recalculation tables (used in periodic calculation mechanisms).
● Tables that are used in the request only in the external connection.

In other words, the dynamic list with the specified main table will work correctly if as a result of the query execution,
the number of lines obtained from the main table does not increase as the data source, does not increase (including superimposed selection). If, as a result of the execution of the query, the number of rows received by the request from the main table increases, it will lead to a violation of the uniqueness of the key entry key displayed. In this case, you need to disable the use of the main table of the dynamic list.
When working a dynamic list, it is necessary to consider access rights to the details displayed by the list:
● On the client side, the dynamic list column data is not transmitted, which are always marked by the use of always, but for which the current user does not have the right to view. Access to data of such columns (using the properties of the fluid and data method ())
on the client side is impossible.
● If the current user does not have the right to view the key field of the dynamic list, obtaining data by this dynamic list leads to an error of violation of access rights.
For a dynamic list that displays the list of enumerations, there is no interactive list setting.
The composition of the columns and the settings of the dynamic list are associated with the fields of the selection fields in the pseudonyms. If in the query for the sample field, the alias is not specified explicitly and the field is systemic, then the name of the field name for the English embedded language is used as a pseudonym.
This relationship means that when changing (or explicitly specified a pseudonym for the field, which used an automatic alias)
the pseudonym of the query field forming the dynamic list data will be lost the settings of the dynamic list props, the elements of the form "will lose" the displayed details, the settings of the dynamic list will become incorrect, etc.
In the event that the source of the dynamic list data is the table (normal or virtual), which allows you to set the selection at the period, then if the user sets the display period in such a dynamic list (command set the dates interval ...),
the specified borders of the period will be set as the values \u200b\u200bof the selection or parameters of the virtual table. If language extension means
queries for the data layout system were explicitly indicated by the names of the parameters of the virtual table - parameters will be installed with the specified
names. Tables for which it is possible to control the display period or data processing:
● Register tables (main or virtual), for which there is a possibility of selection at the period (for the calculation register - at the registration period);
● Basic tables of documents, business processes and tasks;
● Basic table log tables;
● Basic sequence tables, sequence boundaries table.
As a dynamic list query parameter, an array or list of values \u200b\u200bcan perform. However, if the parameter is the list of values, only the first list value will be used as the selection value. If the dynamic list uses a request to parameters, the initial setting of parameter values \u200b\u200bshould be performed in the driver handler.
When displaying the dynamic list data, you should remember the following features:
● When programmatically change the properties of the dynamic list, it does not automatically re-fill the command panels associated
with this dynamic list.
● If several fields are grouped into a group with a grouping mode in a cell and in the grouped fields there is a field that is displayed by the checkbox, this check box will always be displayed first in the resulting cell (left text).
In a dynamic list, when determining the type of data for fields, the expressions of which include parameters, fields or literals, the resulting type is determined by the types of fields and literals. If the type of parameter value is not included in the resulting data type - its value will be truncated.
For example, in the following example, the field will have a type of number.

Choice
When lies
Then 5.
Otherwise
&Parameter
END

If you assign a parameter to the parameter to another type, the dynamic list for this field will receive a value 0 (default value for the number type).
If a similar type is required in such a situation - it is recommended to use the design of the query language Express. For example,
if the example above requires to be transferred to the parameter string not longer than 100 characters, then you should replace the simple specification of the parameter to express with explicitly lifting type:

Choice
When lies
Then 5.
Otherwise
Express (& parameter as string (100))
END

If in the arbitrary text of the dynamic list query in the expressions of the sample fields, parameters are used - one should explicitly specify the type of parameters using the design Express. For example, instead & Nomenclature as nomoculator use
Express (& Nomenclature as a reference book. NameNeture) as a nomenclature. Otherwise the search through the search string can work
incorrectly or produce errors.

3. Methods for obtaining and caching data dynamic list

When receiving data to display the dynamic list uses one of three ways:
1. Read from the database is performed by portions with the number of data elements, slightly exceeding the number of rows simultaneously displayed by the list (but not less than 20). Data caching on the server is not performed.
2. Read from the database is performed by pages for 1,000 data elements. Data caching on the server is performed. Hierarchical data is cached: no more than 2 pages of elements are cached for each parent. No more than 20 pages of elements are cached on one dynamic list. The caching will be included with a dynamic list for the following tables:
● selection criteria;
● All accounting register tables, except for the main table and table of motionSubkonto;
● All accumulation register tables except the main table;
● All information register tables except the main table;
● All calculation register tables, except the main table;
● Virtual table to the task switch;
● Tables of external sources without keys;
● Cubes of external sources.

3. Read from the database is performed by pages for 1,000 items. The first portion is 1 page. Each next portion increases by 1 page (when the end of the previous sample is reached). The closer the "viewpoint" by the end of the displayed data is moving, the greater the sample is read from the database, in the limit becoming equal to all displayed data. Data caching on the server is performed. The maximum number of records in the cache and dynamic list is 1,000,000.
Depending on what is selected by the main table of the dynamic list and the value takes the dynamic reading property, these or other data reading methods are used:

● As the property value, the main table is one of the following tables: Exchange Plan, Directory, Document List, Document Magazine, Characteristics Plan, Account Plan, Calculation Plan, Business Process, Task, Business Process Point Table:



● As the value of the property, the main table shows one of the following tables: the main table of the information register, the accumulation register, the accounting register, the calculation register, the virtual table of the accounting register of MOTRSSUBKONTO:

● Property Dynamic reading:
● Installed: Method 1 is used (the description of the methods is given above).
● Released: Method 2 (methods described above).

● As a property, the main table is the table of the selection criterion or task table for the Contractor (task executive):
● The key identifying the table string: link.

● As a property, the basic table indicates the virtual table of the composer information of the composer or the searchable:
● The key identifies the table string: key-ups.
● The dynamic reading property is not applicable.
● Method 2 is used (methods described above).

● As a property, the main table indicates one of the virtual register tables, besides the above:

● The dynamic reading property is not applicable.

● Properties The main table is not specified, an arbitrary request is used:
● The key identifying the table string: number.
● The dynamic reading property is not applicable.
● Method 3 is used (methods described above).

To display, the data is transmitted to the client by portions, the size of which is similar to the size of the portion in the 1st method of reading the data (described at the beginning of this section).
When creating a form containing a dynamic list, 45 data elements of each visible dynamic list are initially transmitted to the client (if more than 45 elements listed). If the dynamic list displays more than 45 lines, then when opening the form, an additional server call will be executed to obtain missing data items.

4. Dynamic List Settings

Property Setting the list - Pressing the Hyperlink to open leads to the opening form setting the dynamic list. The list setting is performed in the same way as similar operations in the data layout system.


Fig. 2. Conditional registration of the dynamic list

During the configuration of the dynamic list in the configuration, the applied solution has the ability to do the following:
● Set the fields for which it is necessary to conduct a streamline;
● Describe data selection in the list;
● specify conditional settings;
● Set fields by which you need to group data.
To set the sorting to the developer makes sense, if it does not suit the default sorting system installed.

Council. It should be remembered that the unsuccessful selection of the sorting fields (as well as the selection and grouping of the data) adversely affects the efficiency of the dynamic sample.
From the point of view of the application developer, the settings of the dynamic list consist of several parts that are interconnected. The main property through which you can manage the settings of the dynamic list is LockersTrakes. This object contains three sets of settings that, when operating the system, define the final settings applied to the dynamic list:
● Settings - settings created in configurator mode. The Dynamic List Procedure Provides quick access to the configuration property. The name of the dynamic list settings linker is thus the following designs are equivalent:
List. Clipped and list. Support workers. Instructions.
● Custom-to-settings are the settings that the user changes in "1C: Enterprise" mode;
● Fixed-lane - these settings are set from the embedded language. Also, this property includes selection values \u200b\u200bthat are transmitted to the form using its parameters. Properties of the dynamic list Selection, parameters, conditional application provide quick access to the fixed settings of the dynamic list settings. In other words, these appeals are equivalent:
List. Supercrowers. Refixed-intensified. Potting and list.
When forming the final setting of a dynamic list, various options for settings are combined as follows:
● If any kind of settings is entirely marked as a user, then user settings fall into the result settings
(List. Support workers. Use the user-in-law). At the same time, if any settings are marked as inaccessible, then these settings will be placed in the resulting settings from the list properties. Supercrower. Settings.
● If any kind of settings is noted as a user not entirely, but element, then:
● The elements marked as custom will fall into the resulting settings from the list properties. Supercrower.
● The elements marked as inaccessible will fall into the resulting settings from the list properties. Superman.
● Fixed settings (list. Supercrowers. Fixed-intensified) are added to the resulting settings "As is". At the same time, the situation is invalid when the settings of the same name are in fixed and user settings, such as the selection with the same left value in the condition.

If settings are present in the settings of the dynamic list that are disabled using functional options, these settings will be deleted from the list of available settings when you receive a dynamic list data.
Manage what settings will be available to the user, and which - no, runs in the Dynamic List Settings window.


Fig. 3. Management Including in Custom Settings

Checkbox at the bottom of the window (see Fig. 3) is responsible for placing in the settings (ordinary or fast) all kinds of settings. This feature is available for selection, order, grouping and conditional design. If the settings are specified with the edit mode is a quick selection, then in the User settings group of the form table, which displays the dynamic list, you must specify an empty group of the form in which the elements associated with the rapid custom dynamic list settings will be located. If the group is not specified - fast user settings will not be displayed on the form. It is also possible to explicitly cause custom settings using the built-in language using the Create element-users method () extension of the dynamic list.
It is also possible to choose the possibility of accommodating specific settings in the user settings. This feature is available for selection and conditional elements (see Fig. 3).

If it is necessary that when opening a dynamic list, any special settings are loaded, this can be done in two ways:
● Using the dynamic list of custom settings. The data contained in this parameter will be placed in the user settings of the dynamic list.
● Using the form of a dynamic list of keystalls. If, when you open the form, specify this parameter, then in a dynamic list that is the main details of the form, user settings located in the settings storage with the specified key will be downloaded.

5. Search in the dynamic list

The dynamic list located on the form provides the ability to perform an interactive search in the displayed data. The search can be carried out using the following tools: search strings, search dialog, search current value, using the search history and setting period (for dynamic lists displaying documents). The search result is a limited set of records.
dynamic List (from available to this user), which meet the search criteria.
To manage the search capabilities in the dynamic list, three properties of the managed form table displaying the dynamic list are designed:
● The position of the search string - determines the position of the search string. It can take the following values: auto, command panel, no, top, bottom.


Fig. 4. Search string in a dynamic list

If the value of this property is set to the command panel, then in the command command panel (if the dynamic list is the main details of the form) or in the command panel associated with the dynamic list, the search string will be displayed. The search string posted in the command panel is always pressed against the right edge of the command panel (along with the buttons located the right of the search bar).
If the property is not set to no, the search string will be missing on the form, and when the starting line dialog starts, a dialog will be opened.
If the property is set to the top, then the search string will be located between the List command panel and the table displaying the dynamic list. If the property is set to the bottom, the search string will be posted immediately after the table displaying the dynamic list.


● If the Compatibility Mode property is set to not to use or older Version version 8.3.4 - Value command panel.
The transition to the search bar is as follows:
● by pressing the Ctrl + F key combination;
● Mouse;
● When the text set is started in the dynamic list (taking into account the value of the property of the dynamic search list).
● The viewing status position - describes where the viewing status will be displayed: What fields search and what values
searched in each field. Can take the following values: auto, no, top, bottom


Fig. 5. Search status in the dynamic list

If the property is set to no, the viewing state will be absent on the form. As a result, it is possible to identify or not, it will be possible to cancel the selection button only by availability.
If the property is set to the top, the viewing state will be located between the list command panel and the table displaying the dynamic list. If the property is set to bottom, the viewing state will be posted immediately after the table displaying the dynamic list.
If the form is created in "1C: enterprise" version 8.3.4 and younger - the property is set to no. If the form is created in "1C: enterprise" version 8.3.5 and older - the property is set to auto. The actual value of the property in this case will be determined as follows:
● If the Compatibility Mode property is set to version 8.3.4 (and below) - no value;
● If the Compatibility Mode property is set to not to use or older Version version 8.3.4 - Top value;
● Search management position - determines where the search button will be displayed. The button opens the menu that contains the following information: Commands Find for the current value, Advanced Search, cancel search, set the period (for lists of documents and logs) and the history of search queries (last 5 requests). The property can take values: auto, no, command panel.


Fig. 6. Managing the search in the dynamic list

If the property is not set to no, the search button will be missing on the form (but commands will be available using the menu yet). Value Properties The command panel places the button to the command panel associated with the table displaying the dynamic list.
If the form is created in "1C: enterprise" version 8.3.4 and younger - the property is set to no. If the form is created in "1C: enterprise" version 8.3.5 and older - the property is set to auto. The actual value of the property in this case will be determined as follows:
● If the Compatibility Mode property is set to version 8.3.4 (and below) - no value;
● If the Compatibility Mode property is set to Do not use or older Version version 8.3.4 - Value command panel;
If there are several command panels on the form, the source of the commands for which is one of the managed form table (displaying the dynamic list data), then the search bar and the search button will be located only in one command panel:
● or in the command panel of the dynamic list itself (if automatic filling is turned on for it)
● or in any of the remaining command panels.

Consider the features of the search for the search in the dynamic list:
● In order for the search to be conveniently enjoy (including from the speed of speed), you must enable full-text search for all configuration objects that can be used as the main table of the dynamic list. Also, all details of the configuration objects that can be displayed in the dynamic list must be involved in the full-text search, which may be required to search.
If the object is excluded from full-text search, the search mechanism under consideration will work, but the performance of such a search will be extremely low. It is not recommended to use the search for objects that are not indexed by full-text search.
● The application solution must have a regulatory task that regularly updates the full-text search index.

● The search is not performed by all the dynamic list columns (and the configuration object), but only by those speakers that are displayed in the table.
● Search in a dynamic list over the fields of reference types with an arbitrary representation is performed by fields that are used for
representation formation (see here). The fields included in the representation are obtained taking into account the processor of the processing of thePole representation () of the corresponding object.
● For dynamic lists with the specified main table, a full-text search on the main table is used. All non-cristed references from the main table will be added to the results of full-text search. The result of full-text search for the main table is used as a selection by key fields. A full-text search on the fields displayed in the list from other tables is also executed (if a full-text search is used for the field and configuration object). Without full-text search, data may be
found, but the search itself will be performed very slowly.
If an error occurred when trying to perform full-text search, the search will be performed without using full-text search.
For example, this can occur when searching for one letter and a large number of rows in the information base starting with this letter.
● In the event that the selection of the comparison type is used for the field of the main table of the dynamic list, then the selection value will be added to the search query to the search query on this table.
● The search string is divided into words. This partition is carried out according to the following rules:
● The string is divided using a space and tab symbols as separators.
● The resulting fragment is then processed:
● If the fragment is a date representation (with or without time), taking into account the current regional session settings, then the word is this fragment.
● Otherwise, the fragment is broken further using symbols ",.- / \\" as separators. In this case, each resulting string fragment is accepted as a word.

● For each word, a set of conditions are formed, which are combined by "or". This set of conditions is formed if the full-text search for this word in the table, from which this field was obtained, returned at least one object or full-text search was not used for this field. Conditions are formed as follows:
● For a field of type string, the condition has a view of the name of the name like a% word%.
● For the type field, the condition of the condition has the name of the name \u003d value where the value is the word that is given to the number type. If you cannot execute correctly, the search on the field will not be executed.
● The word is looking for as a substring in the default view for the booleo type defined for the current session. If the desired word is detected in the view, then the search for a value corresponding to the presentation in which the word is detected is. At the same time, no views are used to search, which are specified using the format format item property.
● For a field of type, the condition of the condition has a view of the name of the name\u003e \u003d beginning (word) and name<=КонецДня(Слово). Если Слово подобно дате, в которой год
specifies one or two digits, the year will be given to the current century and this value will be added to the search condition.
● For reference fields, search is performed on the fields used to form a reference presentation. In each of these fields
performed according to the rules described above. To search, the fields used to form an arbitrary data representation are not used.
A set of conditions for each word is combined by "software".
● For values \u200b\u200bwith leading zeros, you can search for a line with the leading zeros and on the line indicated without leading zeros.
● If the dynamic list displays a list of documents or a document log, then the specified list viewing interval is also displayed in the shape area allotted to display the viewing status for the required dynamic list.
● The search command for the current value is not available if the main table of the dynamic list is the selection criterion.
● Foreign fragments of rows are highlighted when displayed in the table.
● For one column, only the search bar is supported. When adding a new search query for the column on which the search is already executed, the search expression will be replaced, and not the addition of two search queries.
● If there is no form in the form. Supplement element of the form Displays the search string associated with the table (property of the Form element add-on) displaying the dynamic list, then pressing the Ctrl + F keys key leads to the opening of the search dialog.


Fig. 7. Search dialogue

If the form is present in the form of the form element of the form Displays the search string associated with the table (property of the Form element add-on) displaying the dynamic list, then the Advanced Search command should be used to open the search dialog.
● When using the search dialog, you need to remember the following features:
● Opening the keyboard search dialog leads to the fact that the value of the current cell is in the string that to search, and the switch value how to search is set to accurate coincidence.

● Opening the search dialog by directly starting the search string set in the dynamic list leads to the fact that the switch value how to search is set to a part of the line, and the text dialing falls in the field. What to look for.

6. Obtaining data displayed by a dynamic list.

When using dynamic lists, you may need to perform various data actions that are currently displayed by a dynamic list, taking into account superimposed selection and the searchable. Such actions include: processing the displayed information, for example, transfer of selected documents or set any details from selected objects, generating a list of available objects (with design, etc.), for example, for printing or saving to a tabular document.
To obtain data that are displayed by a dynamic list, you should use the methods of receipt of the flash compound () and
Replenitable-based complexomples ().
An example of data receipt:

Scheme \u003d Elements. Opportunities. Persupportment ();
Settings \u003d Elements. Opportunities. Powerflower-based ();
Complimentary machine \u003d New fold-shirtsComplekdang ();
MockupsComponovka \u003d folder machine. Fill (scheme, settings);
ProcessorComponovka \u003d new processor components;
ProcessorComponovka.Initialize (MockComples);
Processor Equipment \u003d New processor-in-line results CommonTheldBlocks
Returning processor exercise. Ensure (processorComponovka);

Obtaining data to the collection of values \u200b\u200b(table or list of values) is performed similarly.
Obtaining a dynamic list data indicatedly has a number of features that need to be taken into account when developing applied solutions:
● Not supported by the following table design:
● Alternation of lines colors;
● Picture caps;
● Podle picture;
● Basement background color;
● the color of the basement text;
● basement font;
● horizontal position in the basement;
● Password mode.
● The conditional design specified for the managed form is not supported;
● When organizing a hierarchical table ascending, a link type field, records containing an empty link are always placed first.

Main Notes from Zasitorical

04/21/2014 Obtaining a dynamic list data

Implemented in version 8.3.6.1977.

We have implemented the possibility of simple and convenient receipt of data displayed using a dynamic list.

Dynamic list data may be needed to print them in a non-standard, "specific" form. Or in order to perform certain actions with them. For example, send a letter to all the counterparties that you selected in the list by some features.

In addition, there are a number of tasks in which the user, in addition to the list of items, wants to see also the final data associated with this list. For example, by holding the goods to some commodity group and some supplier, he immediately wants to see the total number of such goods in the database.

The dynamic list itself cannot provide you with such information. The task of the dynamic list is to provide a quick view of large data volumes. Therefore, it reads these portions required to display on one or two screens. And "does not know anything", for example, about the total number of data that he has to be considered.

In general, in order to obtain additional information that the user wants, you need to query the database. Exactly the repeating one that is used in the dynamic list.

Previously, you could do it. But not always it was just. After all, in addition to the text of the source request, which the dynamic list works, you needed to know all the selection, sorting, etc. Parameters that the user interactively installed in the table displaying the data.

Now this task is solved simply. The table of the dynamic list appeared two new methods:

  • Receiving fulfillment of the comcompound ();
  • ReplenitableEnstroitkomponKydata ().

Thus, you get both the diagram of the data layout, and, most importantly, all its settings, thanks to which the user sees a list of exactly the same. You only have to programmatically compose the layout and withdraw it to the collection of values \u200b\u200b(for software processing) or to a tabular document (for display):

As a result, you will receive a structure (or report) containing columns and rows displayed in the dynamic list table.

An important point is that the diagram and the settings that you receive from the table of the dynamic list are taken into account, including the visibility of the speakers and the search applied. Since settings are obtained separately, you can change the composition of the fields for your purposes and get, for example, all the list columns, and not just those that are visible to the user.

When displaying a tabular document, there is another pleasant moment. In general, the appearance of the report will correspond to the appearance of the table of the dynamic list at the time of the diagram and settings. Including conditional design of the table. Some additional actions will be needed to you only if you want to transfer to the report also the conditional design of the form.

In the process of configuration refinement, each 1c programmer faces dynamic lists.
The dynamic list is an interface object used to display various lists of database objects or non-delete data records.
For example, the dynamic list is used to display the list of the nomenclature:

To demonstrate the capabilities of the dynamic list, create external processing, add the basic form. We will add a new props with the type "Dynamic List". Let's go to his properties and see what's there.
We are interested in the "arbitrary request" property. Its inclusion will demonstrate to us all the possibilities of a dynamic list. We will be able to write a request using almost all the possibilities of the Q: Enterprise Request Language. Install the checkbox and click the "Open" link:

By default, our list will show the list of nomenclature with the total residue on all warehouses. To implement such a list, add the following query:


As a main table, choose the "Directory. Namenclature", this will allow us to work with a dynamic list, as with a list of nomenclature - add, change, march to delete the elements of the reference book. Also, the installation of the main table makes it available the possibility of dynamic data reading - this means that the sample will be made by portions, as needed.
Next, you need to create form elements for our list:

If we try to run our processing in this form, we will get an error:


To eliminate it, you must set the value to the "Period" parameter. To do this, you can use the "Install Parameter" method of the "Parameters" collection of the dynamic list. The method takes two parameters:
. "Parameter" - Type: Row; ParameterComponed. The parameter name or data layout parameter whose value must be installed;
. "Value" - Type: Arbitrary. The value you want to install.
It may be called in the "Department of Summer" handler forms:

Do you have a question, do you need a consultant help?


We will provide the user with the ability to change the period for obtaining residues. To do this, add props and associated element of the form "Date":


In the "Imposition" form of the "Date" form item, call the "Setpoint" method, passing the value of the associated details as the value. Similarly, you will change the procedure for the "Promotion" forms. Since the method is available on the client, the server call will not need:


Now when the date is changed, the remnants will be automatically updated:




Suppose users want to see either current remnants or planned receipts. Consider one of the embodiments. Add the props of Boolean type forms and the associated switch:


When changing the switch value, we will change the text of the query. To do this, we use the handler of the "imparting" element of the form "displayed-capacity". We need to change the "Text request" property of a dynamic list depending on the value of the props. Since this property is not available on the client, the server procedure is required:


The result of changes made:



In addition to primitive data types that can be found in any programming language, there are unique types in 1C. Each of them has its own properties, methods, functions, purpose and nuances of use in the system. One of these types is a dynamic list that substantially facilitating many applied tasks. That is why developers should know and be able to treat this universal tool.

Opportunities for dynamic lists in 1C

The purpose of this type is to display information from any database tables, regardless of its type. The mechanism was created on the basis of CD and possesses similar capabilities. But this does not mean that it will be necessary to write a request in Language 1C, although this opportunity is and it needs to be used. You can simply specify the table, the information from which you are interested in and 1C will form yourself the simplest request.

To see how the dynamic list is formed and what data it shows, you must open the managed forms where it is located, in the configurator: in the list of details through the context menu, open its properties and pay attention to the "Arbitration". If the daw is missing, then the "Main Table" parameter reflects the database table where data is taken from. Otherwise, the dynamic list reflects the data of an arbitrary request, which can be seen by opening the list setting.

A scheme with an arbitrary query is much more often used, as it gives an excellent opportunity to combine and show a wide variety of data. Most often, this mechanism is used to reflect the residues in warehouses, price ranges, coming, consumption or procurement. It is necessary to use it carefully, since speed in case of complex queries may fall.

Another useful property of the dynamic list opens when you click on the inscription "Setting the List". This menu allows even when using a standard field set to make information more accessible and understandable to end users. Regardless of whether an arbitrary request or not, you will see the "Settings" tab, where you can specify:

  • Selection of a dynamic list;
  • Groupings;
  • Sorting;
  • Registration.

Using parameters makes dynamic lists universal and flexible enough. You can also associate them with details on a managed form, and the data will vary depending on the user-selected parameters. The use of these mechanisms can be understood and evaluated when considering examples of real tasks.

As an example, consider the task of reflecting on the managed form of the remnants of the nomenclature. In real practice, such orders are found quite often in various configurations, and the dynamic list is ideal as a tool. For this task, we will have to use an arbitrary request, dynamic list parameters and its settings.

For greater visibility, we will create separate external processing and place a dynamic list on it. To implement the conceived, the tables with the nomenclature will be not enough, so we need to resolve an arbitrary request. In it, we describe the left connection of the directory with the list of the nomenclature and the register of the residues and set the reference book as the main table. Such a scheme will allow users by working with a dynamic list, add or modify the nomenclature.



Choose a nomenclasture.

Since in our request it was used the parameter "Current Data", then we need to set its value before using processing. To do this, in the form module in the "Departure" procedure, the standard team assign it the function "Current Tatseans". We also need to withdraw a dynamic list on the control shape and change the order of fields for clarity. Drag / pass the props "residency" in the form elements (left upper part) and blue arrows we change the order of fields in the table on the form.

& Nasserver Procedure Department of Server (Failure, Standard Processing) of the residency. Parameters. Installing the Oparameter ("Thusydeta", currentDatseans ()) Extra Processes


Already at this stage, we can open our external processing in 1C and see that the dynamic list works. We can watch the remnants, create a nomenclature and group, search. Often customers are asked to add the ability to choose the date to which they will see the remnants. In the case of a form with a dynamic list, this is ensured by an additional field and setting parameters with it.

We add the details of the "datasets" of the type "date" and carry it into the form elements. In the event event events, create an "imparting" event and prescribe a code for installing the "current value" parameter used in a dynamic request. In order, when opening the form, the user immediately understood, at what date it sees the remnants, we will make small changes in the procedure "Departure".



& Nasserver Procedure Department of Summer (Failure, Standard Processing) of Data Resists \u003d Current Tatseansa (); Residentinenclature. Parameters. InstallingParameter ("Current Data", Data Resists); End Controlments & Complaint Procedure of Data Resource Contribution (Element) of Pavenomen Stretch. Parameters Extrudresses

As a result, our form dynamic list can reflect the remnants to any date.

We reviewed only a small part of this toolkit, but this is already enough to understand the convenience of this type as a dynamic list. Such a mechanism is used for a variety of tasks, but it is most often met in typical configurations in managed forms:

  1. Selection;
  2. Lists.

To get a dynamic list and its request in typical managed forms, the developer is necessary in the configurator to open the desired form. In the details section, it includes props with the type of data "dynamic list" (most often it is highlighted in bold). Its properties are the text of the query, selection and other settings.

Finally, the dream of any "seven" was carried out. How often users of the program 7.7 asked to make a normal selection of the nomenclature. So that the remnants can be seen, and prices and install filters. I had to invent different tricks, right up to writing external components. In 1C 8.2 dynamic lists appeared. I propose to consider what it is and that they can give us in 1C 8.3.

As a basis, we take a certain test configuration of 1C: "An enterprise accounting 3.0". We will not make the selection now, simply in the Handbook "Nomenclature" add another form of choice and make it temporarily main:

When creating a default system adds a table field with a "dynamic list" type.

Let's go to his properties and see what's there.

First of all, we are interested in the "Arbitrary Request" checkbox. He will open us all the advantages of a dynamic list. We will have the opportunity to write your own request, and with parameters. Install the checkbox and click the "Open" link:

A window with a ready-made code will open. So far, there are simply listed all fields of the "Nomenclature" directory.

Get 267 video tutorials for 1C for free:

As you can see, there is a call button "" and the checkbox that makes it possible to dynamically change the contents of the list. That is, when another user changes something in the directory, this will also change on our list. In addition, there is a tab "Settings", but we will touch it later.

Own request in the dynamic list

First create a request you need with remnants and prices. Like that:

Settings tab

And now the most delicious! Go to the "Settings" tab. And immediately see that on the first tab we can make any selection on any field in the query:

Software setting of request parameters in dynamic list 1C 8.3

We do not forget that in the query we have two parameters: "Period" and "Price Type". We must pass them into a request, otherwise there will be a mistake.

We feed these parameters in the form parameters, and add the following lines in the form module:

& NASTERER PROCEDURE DEPARTMENTS (Failure, Standard Processing) List. Parameters. Setting parameters ("Period", parameters. Date); List. Parameters. Setting parameters ("typostern", parameters. Titzen); Extrudresses