How to set up smartphones and PCs. Informational portal
  • home
  • Errors
  • 1s 8.3 external report for the document. Adding an external report to the database

1s 8.3 external report for the document. Adding an external report to the database

Let's consider creating an external report in 1C 8 without using a data composition system. To create an external report, we will use the Accounting 2.0 configuration, the initial data: “Write a report on accounting account 62 in which the turnover for the specified period will be displayed in the context Counterparties And Contracts of counterparties.

1. Create a report

First of all, let's create an external report file; to do this, let's go to 1s 8 in the mode Configurator, let's go to the menu File -> New, or click on the icon new document.

Select the item from the list External report. After creating the external report, give it a Name (for example SimplestReport) and save it to disk. We will also add two details: Beginning of period And End of Period type date, we will need them to limit the time interval for data sampling when generating a report.

2. Create an external report layout

To generate a report in 1C 8, you need a layout, this is a template for displaying data in which all the necessary parameters are set, tables are drawn, etc. Let's add a new layout; to do this, select the item in the report metadata tree Layouts and press the button Add, when creating, select the type for the layout spreadsheet document.

Our layout will have 4 areas:

  • Header - in this area we will display the name of the report, the period for which it was generated and the table header;
  • Counterparty data - in this area we will display data on the counterparty in a table;
  • DataCounterparty Agreement - in this area we will display data on the counterparty agreement in a table;
  • Footer - in this area we will display the total values ​​for the entire report for the Income and Expense fields.

Let's start creating layout areas. In order to create an area in the layout, select the required number of lines and click Menu Table -> Names -> Assign name(Or Ctrl + Shift + N). To the region A cap Let's write the name of the report: Turnover 62 counts, draw using the tool Borders report header, and also set the parameters Beginning of period And End of Period. Using parameters, you can display the necessary data in the report; we will deal with this at the next stage of development, namely when writing the report code. To create a parameter in the layout, select the desired cell, write the name of the parameter in it (without spaces), right-click on it, select the item in the menu that opens Properties. In the cell properties on the tab Layout select padding Parameter.

After this, the parameter name in the cell will be enclosed in angle brackets("<>“). As a result, the area A cap should look like this:

In area DataCounterparty we will create parameters for displaying the name of the counterparty, as well as for income and expenses for account 62, using the tool Borders Let's design the area as a table row.

In area DataCounterparty Agreement Let's create parameters for displaying the name of the contract, as well as for income and expenses for account 62, using the Borders tool we will design the area as a table row. Let's make a small indent before the parameter Counterparty Agreement(this can be done by splitting and merging cells. Right-click on the cell -> Merge or Split cell), it is needed so that the report can see that the line for the contract is lower in the hierarchy than the line for the counterparty.

In area Basement Let's create parameters for income and expense totals.

As a result, we should get a layout like this:

3. Create a report form

To display data, set the formation period and button Form our report will require a form. To create a form, find the item in the external report metadata tree Forms and press the button Add. On the first page of the form designer, you don't need to make any changes, you just need to click the button Further.

On the next page of the designer, select both available details( Beginning of period, End of Period) for placement on the form.

As a result, we will get this form:

But we are not satisfied with it in this form; let’s make some changes to it:

  • Let's drag the button Form from the bottom panel of the report to the top (this will be more convenient for the user);
  • Stretch the shape vertically and horizontally;
  • Let's arrange the fields Beginning of period And End of Period horizontally;
  • Let's add a Spreadsheet Document Field control element to the form (our report will be displayed in it), give it a name TabDoc;
  • Let's create a period selection button (when clicked, a dialog will appear with a convenient choice of the desired period). We won’t write the program code for it yet, so we’ll just place the button next to the period fields.

As a result, our form will look like this:

4. Programming

After creating the report form, let's start programming. First, let's create a procedure for displaying a period selection dialog (we already created a button for this at the previous stage). Right-click on the button and select the menu item Properties, in the button properties go to the tab Events, where using the button with a magnifying glass icon we will create a procedure Button1Press in the form module.

You can switch between the form and its module using the tabs at the bottom of the form

To call the period selection form, we will use the standard procedure Accounting 2.0 from a common module Working with Dialogs - HandlerPeriodSettingPress, you need to pass the report details to it as parameters Beginning of period And End of Period.

Procedure Button1Press(Element) Working with Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); End of Procedure

Now let's move on to writing the code that will generate and display our report. The form module already has a procedure ButtonGeneratePress, which will be executed when the button is pressed Form, that’s where we’ll write our code. Let's start by initializing the necessary variables. First of all, let's create a variable for spreadsheet document fields into which we will output data, this is not necessary, it’s just that the recording of calls to it will become shorter, which means the program code will be more understandable for reading.

TabDoc = FormElements.TabDoc;

Let's get the layout of the external report using the function GetLayout(<ИмяМакета>) , we will pass the name of the layout as a parameter, and if such a layout exists, the function will find it.

Layout = GetLayout("Layout" );

After the layout is received, let's create variables for each of its areas, use the layout method for this GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Header" ); AreaDataAccount = Layout.GetArea( "Contractor Data"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

Let's clear the field of the spreadsheet document. This is necessary so that every time a new report is generated, the old data is deleted.

TabDoc.Clear();

Now that the initialization of the variables is complete, let's move on to filling and displaying the layout areas one by one. Let's start with the header. If you remember, we created two parameters in this area Beginning of period And End of Period, we will pass there the values ​​of the report generation period, for this we will use the property Options layout areas.

AreaHeader.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

No more actions with the area A cap The manufacturer is not needed, so we will display its field in a spreadsheet document.

TabDoc.Output(AreaHead);

Next, we will write a query to the database, with which we will take the account turnover 62 from the accounting register Self-supporting. Let's define a variable in which our request will be located.

Request = new Request;

Before we start writing the request text, let’s pass the necessary parameters to it. Since we are writing a request for an invoice 62 accounting, then first of all we will create a parameter for it

Request.SetParameter("Account62", Charts of Accounts. Self-supporting. Find By Code("62" ));

It is also necessary to pass the report generation period into the request. Don’t forget that we have special report details for the generation period, and we pass them as parameters.

Request.SetParameter("Start of Period", Start of Period); Request.SetParameter("End of Period", End of Period);

Let's start writing the query text, we will do this using the query designer. In many tutorials they write that you need to be able to write a query both manually and using a constructor, but in practice this is not the case. In the tasks that a 1C programmer constantly faces, the priority is to quickly and efficiently write code, and when writing a query to the database manually, this is almost impossible to achieve; you will spend a lot of precious time correctly reproducing all query structures and finding typos which you did when writing, etc. Therefore, do not waste your time trying to write queries manually, but use the query constructor. It will save your time and allow you to write complex queries without much effort. To start writing the request text, let’s write in code:

Request.Text = "" ;

After that, place the cursor between the quotes, right-click and select Constructor request. The query designer window will open.

Now we need to select the 1C 8 database table we need. We need a virtual table Revolutions accounting register Self-supporting. Let's find it on the left side of the designer window

Let's move it to the area Tables and let's start filling out the parameters. For all virtual query tables there is a special set of parameters that allow you to select the necessary data from the main table (in our case, the main table Accounting Register Self-supporting). Let's open the virtual table parameters window.

Let's fill in the parameters for the period that we passed to the request. To use a parameter in the request text, you should write the symbol before its name ampersand(&)

It remains to fill out the condition for the accounting account. accounting. To do this, find the line in the parameters of the virtual table Account Condition and we'll write there

Account IN HIERARCHY (&Account62)

You can also use the conditions constructor by clicking on the button with three dots.

There is no need to impose any more conditions on the virtual table, so let’s click the button OK in the virtual table parameters window. Next, we need to select the fields we need from the table Self-supporting.Turnover(namely: Counterparty, Counterparty Agreement, Income and Expense). To view the list of fields available in the table we have selected, click the “+” symbol next to its name. After that, drag the required fields to the rightmost area of ​​the query designer, which is called: Fields. If we open the chart of accounts, we will see that for the account 62 analytics on For the counterparty this is Subconto1, and by Counterparty Agreement - Subconto2.

Therefore, from the fields of the virtual table we select Subconto1 And Subconto2. Since we need income and expenses by amount, we also select the fields AmountTurnoverDt And AmountTurnoverKt

Let's fill in the aliases of the fields we have selected; to do this, go to the tab Unions/Aliases and set the required field names.

Since in our report the data will be displayed hierarchically (the Counterparty is on the first level, and all of its contracts are on the second), we will configure the display of data in the hierarchy using Totals. Let's go to the tab in the designer Results. Drag into grouping fields sequentially Counterparty And Counterparty Agreement, and in the final Coming And Consumption.

This completes the work in the query constructor, click the button OK and we see that the text of our request appears in the program code.

Query.Text = "SELECT | Self-supportingTurnover.Subconto1 AS Counterparty, | Self-supportingTurnover.Subconto2 AS Counterparty Agreement, | Self-supportingTurnover.AmountTurnoverDt AS Receipt, | Self-supportingTurnover.AmountTurnoverKt AS Expense|FROM | Accounting Register. Self-accounting. Turnovers (&Beginning of Period, &End of Period, Account IN HIERARCHY (&Account 62),) AS Self-accountingTurnover|RESULTS | AMOUNT(Revenue), | AMOUNT(Expense) |PO | Counterparty, | Counterparty Agreement";

After we have finished writing the request, let's start filling out the areas DataCounterparty, DataAgreementCounterparty And Basement. We will fill all these areas with the data received when executing the request. Since our query contains groupings( Counterparty And Counterparty Agreement) select data from it as follows:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

This way we will receive records with totals for all counterparties.

Before traversing the sample data using a loop, we initialize the variables intended for calculating the overall results for the report:

TotalIncoming = 0; TotalConsumption = 0;

In order for the report data to be displayed with a hierarchy (and rotations along “+“), let’s set the beginning of the auto-grouping of the rows of the spreadsheet document:

TabDoc.StartAutoGroupingRows();

All preparations are completed, now let's start crawling the query results. We will perform the traversal using a loop Bye

While Select Account.Next() Cycle EndCycle ;

At the beginning of the cycle, reset the parameters Coming And Consumption region DataCounterparty. What is it for? Let's imagine a situation where the counterparty Uncle Vasya, income is 10, and expense is 5, and for the next counterparty Uncle Petya there is no income or expense, in this case, if we do not reset the parameters Coming And Consumption, then in line by counterparty Uncle Petya there will be an income of 5 and an expense of 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

After that we fill the area DataCounterparty sample element data

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

After filling in the data, you can display the area in spreadsheet document, Since we are using auto-grouping of rows, we need to indicate the level of the row in the grouping (our report will have two levels, for counterparties the first for contracts).

TabDoc.Output(AreaDataAccount,1);

Now for this counterparty we will make a selection according to its contracts.

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

We will perform the traversal using a loop Bye.

While SelectionCounterparty Agreement.Next() Loop EndCycle ;

In the cycle for counterparty agreements, let’s reset the parameters Coming And Consumption, fill the area DataContract from the sample and display it in a spreadsheet document at the second level of records.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; Fill inPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Also in this cycle, we will add the current values ​​to the variables for calculating the total values ​​for income and expense.

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense;

This concludes the output of data in the area DataCounterparty, DataAgreementCounterparty completed, all that remains is to complete the auto-grouping of the rows of the spreadsheet document.

TabDoc.FinishAutoGroupingRows();

Full cycles responsible for outputting data to the area DataCounterparty And DataAgreementCounterparty look like this:

TabDoc.StartAutoGroupingRows(); While SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Expense = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups); While SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ; Fill inPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense; EndCycle ; EndCycle ; TabDoc.FinishAutoGroupingRows();

It remains to display the final data in the area Basement and output the area itself to spreadsheet document.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumption; TabDoc.Output(AreaFooter);

This completes the process of writing an external report for 1C 8 without using an access control system. Now it can be generated in 1C:Enterprise 8 mode and added to the directory ExternalProcessing You can download the report file discussed in the article from .

Watch a video on creating an external printable for a managed application:

1C 8.3 reports are a special metadata object designed to create a user-friendly presentation of data from 1C database tables.

Let's figure it out how to set up reports, what they are needed for, how external reports differ from built-in ones, and how reports differ from processing.

In order to create or customize a report, you need to know the built-in and . Whatever one may say, the basis for creating almost any report is the initial query that receives the data. We process this data and display it in a user-friendly form.

Reports are the main thing in any information system, so 1C paid close attention to the development of reports and created a large number of designers and mechanisms for creating them.

Let's look at the basic methods for creating reports

How to make a report in 1C using a layout

Creating using a layout is the most routine way. However, they often resort to it out of desperation, because... in this method, the developer completely writes each action in code, which means we can do anything. Other mechanisms cannot boast of this.

But in this case, all the items, menus and other “bows” will have to be entered manually, which is very labor-intensive.

Get 267 video lessons on 1C for free:

Creating a report using the output form designer

The output form designer is a mechanism built into the platform that makes report development easier. The designer is only available for regular forms.

The designer is given the request and all the necessary parameters for the future report, and it, in turn, generates modules and report forms. The mechanism is based on an object of the built-in language 1C 8.2 - Report Builder.

Creating a report using Generic Report

The universal report has great functionality, a convenient settings interface that is familiar to the user:

Reports based on the Data Composition System

This is the most progressive method of creating reports in 1C, recommended by 1C itself. appeared in the 1C platform in version 8.1.

SKD allows you to create simple reports without a line of programming at all, because it has a very flexible and functional constructor for creating a data composition scheme:

In all recent configurations, all reports are written using a data composition system.

What is the difference between external reports and built-in ones?

As it is written in the documentation - nothing. The external reporting mechanism was created in order to debug reports during development.

The only difference when developing a solution is that you cannot access an external report “by name”, unlike a built-in report.

How does a report differ from processing?

In fact, practically nothing. The main difference is the purpose of using the object: reports are needed to display information, and reports are needed to change information.

The main differences in properties: in reports, you can specify the Basic Data Composition Schema (DCS) and specify settings for saving report parameters.

Application objects designed to obtain all kinds of summary tables, to organize data in a form convenient for analysis and viewing in 1C configurations, are usually called reports. How to add a report in 1C, various options for adding, we will try to cover these and some other questions in this article.

Reports and processing: differences

At the same time, they are distinguished from other similar objects - processing:

  1. Possibility of using DCS (data composition system);
  2. Using processing, you can enter information; the report serves to display and organize data;
  3. The difference is in the file format: the epf extension indicates that we are dealing with processing, erf is typical for external reports.

From a programmer’s point of view, the use of these objects is very convenient, because it does not require changes to the configuration metadata, and, therefore, there is no need to kick users out of the database to update it.

Methods for adding a report to the database

Using a special reference book

In most configurations provided by 1C, there is an “External Processing” directory, which allows you to save the processing in the database without making changes to the metadata. There are two ways to access this directory:

  1. For the Full and Administrative interfaces, go to: Operations->Directories->External Processing;
  2. All others via: Service->Additional reports and processing.
  3. Next, you need to select the type of form you want to receive.

So, how to add a layout to the directory through the form, the form of which is presented in Fig. 1

Fig. 1 Report or processing registration form

First of all, it is necessary to come up with an original name for the directory element, which would best reflect the essence of the table being generated. The second step is to select the type of form to be added. It could be:

  1. A printed form called by the Print button or another button in those objects that are indicated in the tabular section “Print Form Accessory”;
  2. Filling out tabular parts for tabular parts of documents and reference books presented in the Tabular part “Processing accessory for filling out tabular parts”;
  3. Treatment;
  4. Report.

Rice. 2 Report type selection field

At the final stage, you need to select the file containing the code to be processed from those saved on disk.

Fig.3 Inscription indicating the need to select a report file

By recording an element, you will save it in the database. When restoring and transferring the database, elements saved in this way will also be transferred.

Adding to Configuration

The steps below require exclusive access to the database.

By going to the configurator and opening the configuration, you can start adding processing.

If the configuration is closed for editing, you need to go to the menu item Configuration->Support->Support Settings. A window will open as in Fig. 4

Rice. 4 Support editing window

  1. Click the “Enable change option” button;
  2. Answer the system's question positively.

This way, you will be able to add your own elements to the database metadata.

Now, by right-clicking on the “Reports” line of the configuration tree, you can add an external data compositor to the configuration Fig.5.

Rice. 5 Submenu for adding a report to the configuration

Features of placing processing on managed forms

The interface, built on managed forms, imposes its own restrictions on the display of additional handlers added to the database.

Before adding a report to a managed form in 1C, you need to make sure that it was created using an access control system, otherwise the form will be displayed incorrectly.

Having opened the program in Administration mode, you need to find the item “Print forms, reports and processing” in the Navigation Panel

Rice. 6 Navigation panel 1C 8.3

By checking the “Additional reports and processing” checkbox in the window that opens, you will be able to add your developments for the managed form to the database.

On the form, click the “Create” button. After ignoring the warning window, you can proceed to selecting a file.

Very often in the latest versions of the program, the addition crashes with an error stating: “Object method not found.” The fact is that after creating a handler using the data composition system, it is necessary to register in its module the function InformationOnExternalProcessing() marked Export, this function should return the registration parameters:

  1. The object to which the handler will connect;
  2. The name with which it will be registered in the database;
  3. Team name.

After this, you can start placing the report in the interface. To do this, click on the “Place” command.

Rice. 7 Accommodation

In this case, the activity of the element is regulated by selecting the appropriate value in the “Publish” field.

Adding without posting

Rewriting a directory element every time any changes are made to the code, especially registering this handler in the configuration, is quite a tedious task. You can do without this. It is enough to simply open the file containing the processing through the File->Open File menu. The most recently opened objects are stored in a list at the bottom of the File submenu.

Regulated reports

In addition to external files and processors provided by the configuration, there is another type of reports in 1C - regulated. These are the data arrangements whose work is regulated by the tax authorities.

By the nature of their work, these forms are more reminiscent of a document. The validity period of such processors rarely exceeds one quarter; 1C regularly releases updates to them.

You can open them from the Reports->Regulated reports menu. After selecting a report option, the program will fill it with data from the database. If there is not enough data, the program will offer to add the missing data manually.

Incompletely completed forms are saved with the possibility of completion. A fully completed and verified document can be printed on paper or submitted to the tax office electronically.

They say that the name 1C originally meant the phrase “one second”, i.e. programs must produce reports quickly, “in one second.” The speed of the reports is very important, but it is even more important that the reports provide the correct information - we will understand this using the example of creating a simple report in 1C 8.3 based on the Trade Management 10.3 configuration. To create correct reports, it is desirable (even strongly recommended) to be able to configure 1C and to be able to program a little in the internal language and query language of 1C, although, on the other hand, creating reports is an excellent opportunity to start mastering these skills.

This description is educational for understanding the basic principles of creating 1C reports

How to create a report in 1C 8.3

To create a report, you need to open 1C in configurator mode; to do this, in the 1C launch window, select the desired database in the list and click the Configurator button:

In the configurator itself, go to the File menu and select New:


In the menu that appears, select External report and click OK:


After this, a new report window will open. In the Name field, enter the name of the report; it must be without spaces or special characters:


How to make a report using a layout

This method most requires programming skills in 1C, but here we will not analyze the mechanisms for receiving and processing data, we will make a simple report to understand the mechanism for launching the report and displaying the report form on the screen:

In the report window (which opens when creating a report), in the lower list, place the cursor on the Layouts item and, when you right-click, click Add in the menu that appears:


In the layout designer that opens, you can specify the name of the layout, Spreadsheet Document should be selected as the layout type, and then click the Finish button in the designer:


This will open a layout window resembling an Excel sheet:


In this layout, you need to create areas - groups of rows or columns that the program will use as templates, insert data received from the database into them and display these templates on the screen, thereby putting together a report from these parts.

Let's create a report that displays a list of items. To do this, we will create two layout areas: the report header and the item line.

To create a header area, left-click on the line header (where the line number is indicated) to select the line like this (the entire line should be selected with one click on the header):


After that, go to the Table menu of the main menu, go to the Names submenu and click on the Assign name item:


The program will prompt you to specify the Area Name, the name should also not contain spaces or special characters, after that click OK, it should look like this:


Now in the created area you need to enter the text that will be displayed in the report and format it. To do this, enter text in the first cell, for example, “List of items.” Working with cells is similar to Excel.

To format text in a cell, right-click on the cell and click on Properties. The cell properties window will open on the right. Scrolling down the contents of the window, find the Font field and click on the “...” button:


In the window that opens, in the Style section, check the Bold box and click OK:


The layout should look like this:


In the same way, we create the item line area, but do not highlight it in bold:


In the line area you need to indicate that Name is a parameter, i.e. that the real name of the item will be substituted there when outputting the report. To do this, open the properties of the cell with the name and in the properties in the Filling field, select the value Option, this completes the layout setup:


We return to the main report window and in the lower list, right-click on the Forms item and click Add:


In the report form designer that opens, click the Finish button, the report form will open, double-click on the Generate button:


As a result, the button properties window will open on the right side of the screen; in the Action field, click on the magnifying glass:


After this, a form module will open in which you need to program the generation of a report:


First, replace the selected text with the following program code:

//create a spreadsheet document that will be filled with parts of the report and displayed on the screen
TabDocument = New TabularDocument;
//next, we get the layout that was created when creating the report
Layout = GetLayout("Layout");
//now we need to display the report header, for this we get the header area from the layout and display it in a spreadsheet document
AreaHeader = Layout.GetArea("Header");
TabDocument.Output(AreaHeader);
//using a query we get a selection of item names that need to be displayed in the report
Request = New Request;
Request.Text = "
|SELECT
| Name
|FROM
| Directory.Nomenclature
|";
//get the item line area from the layout - we will access it in a loop to display each item
AreaString = Layout.GetArea("String");
//process each name from the resulting selection in a loop
Select = Query.Run().Select();
While Select.Next() Loop
//to display the next line, you need to specify the next name in the area parameter (we configured the parameter itself when creating the layout)
AreaString.Parameters.Name = Selection.Name;
//the parameter has been filled in, now you can display the string
TabDocument.Output(AreaString);
EndCycle;
//the spreadsheet document has been generated, now we display it on the screen
TabDocument.Show("List of items");

When the text is copied into the form module, lines starting with a double slash “//” will be highlighted in green - these are comments that describe what each line of code does:


Let's summarize what lines of program code are needed to generate a report:

  1. It is necessary to create a spreadsheet document that will be filled with parts of the report and displayed on the screen; this is done with the line “TabDocument = New TabularDocument;”
  2. We need to get the report layout, from it we will get the report structure in parts (areas), this is done with the line “Layout = GetLayout(“Layout”)”
  3. To display each of the areas, you need to get it from the layout and output it to a spreadsheet document, this is done with the lines "Header Area = Layout.GetArea("Header")" and "TabDocument.Output(HeaderArea)"
  4. If you need to fill in parameters that become known only when the program is executed, then before displaying the area you need to fill in such parameters, this is done with the line “AreaString.Parameters.Name = Selection.Name”
  5. And only when the spreadsheet document is filled with all the necessary parts of the report, it is displayed on the screen, this is done with the line “TabDocument.Show(“List of items”)”

And now you can check the operation of the report - open 1C in enterprise mode (button 1C: Enterprise in the 1C launch window). In the main menu, go to the file menu, click Open:


Find and open the saved report file. In the form that opens, click the Generate button:


and we get a list of nomenclature:


This is just one way to create reports in 1C. In the following articles we will look at others.

In the top menu go to Service->->.

After this, the directory list form will appear. In the top menu click Add.

The window for adding a new report appears. Press the button Open.

Select the file with the desired report and click Open. After adding the file, if necessary, change the name of the report (how it will be displayed in the list). Click OK.

As a result, the new report appears in the list.

After this, the report can be used, adding is completed. To open this report later, we also go to Service->Additional reports and processing->Additional external reports.

For BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

To add an external report in 1C:Enterprise 8.3 configurations in a managed interface (using Accounting 3.0 as an example), let’s enter the corresponding section of the program:


It is necessary that the option to use additional reports is enabled, follow the hyperlink:

In the list that opens, click the button Create:


After this, a file selection dialog box with a report will immediately open, in which you need to select the desired file (in my case, it is a file with a plan-actual cost analysis).

Now you need to configure accommodation(the place in the program where the report will be available):


Randomly select the desired section of the program from the list:


Now you need to record changes in the external report card:

Now open the report from the program interface:


The list is empty, click here Customize the list:


In the selection form, we tick our report:


Now it has appeared in the list:


By button Execute The report form opens:


Best articles on the topic