Preparation to become a 1C platform specialist. Courses and exams

If my publication is useful to you, do not forget to give it a plus :-)

Here is a rubricator for all tasks in the collection(a page containing links to forum threads for each task)
http://chistov.spb.ru/forum/16-969-1

Well, now my developments and notes that I created during the preparation process.
I will try to repeat as little as possible with the two mentioned above last publications.

So let's get started:


If you take it remotely, you should have two objects on your desktop at the end of the exam:

1. Final upload of the information base (dt file)
2. Explanatory note

There should be nothing else, no intermediate copies, etc.

Be sure to write an explanatory note!
In the case of a vaguely formulated task, be sure to write there that you have chosen exactly such and such a solution option.
Also, in key places in the code, it is better to leave brief comments, without fanaticism, but where the examiner may have questions, it is better to write.

But you will be told about this in the instructions that you will be given to read before the exam.
It's just better to know in advance)


Using the ampersand character in queries.

Sometimes it’s faster to type from an additional keyboard than to switch the layout back and forth, saving time
& = Alt+38

*************************************************************************************************
Using TimePoint() in Queries

In queries to accumulation and accounting registers, it is necessary to use not the document date as a virtual table (period) parameter, but the Moment parameter, which is defined in the code as follows:

Moment = ?(Passing Mode = Document Posting Mode. Operational, Undefined, Moment of Time());

*************************************************************************************************
When generating document movements by register, at the very beginning of the posting processing procedure, it is necessary to clear the movements of the current document by register.

The code is:

Movement.RegisterName.Write = True;

Movements.RegisterName.Clear();
It is possible that during the process it will be necessary to analyze records from this register.

So, so that when analyzing the current records (old ones, before the document was changed) they are definitely not included in the sample, you can add one more line to the above two lines:

Movement.RegisterName.Write();

Or, when analyzing records, explicitly indicate a boundary that does not include the point in time of the current document.

But everywhere I simply indicated the construction of these three lines:

*************************************************************************************************
There are two ways to block data, the choice between them depends on the method used - old or new:

1) Regular controlled blocking, old method of document processing (Data Blocking object)

Set if balances are first checked and then written off.
In the case when we need to have some information from the register to form a movement.


Example:

In the document - quantity, in the register - quantity and amount (cost)
So, we know the quantity of goods from the document - how much we write off, but the cost - not.
We can only find it out from the register, but in order to ensure that no one changes the register between the moment of receiving the balances and the moment of recording the movements, we need to lock the register even before reading the balances.
So, in this case, the Data Locking object is used. And when creating it, it is more correct to indicate by what dimensions we are blocking the register (for example, in our case - only by the item specified in the document) - so that there are no unnecessary locks and another user can sell another item.


1. Set a lock using the Data Lock object
2. Read the rest
3. We check the possibility of write-off
4. We create movements, for example, write off goods
5. After posting the document, the blocking is automatically removed (the blocking is valid as part of the posting transaction and is removed automatically by the system). That is, there is no need to specially unlock the object.

2) New methodology for processing documents (using the LockForChange property = True)

It is used if we do not need information from the registers to form movements, and we can check whether we have gone into the negative when writing off if, after recording, we look at the balances in the register and see that there are negative ones. In this case, we will understand that we have written off too much and will cancel the write-off operation.

Example:
Let's consider the operation of selling a product.
In the document - quantity, in the register - only quantity
So, we know the quantity of goods from the document.
We form movements with the quantity specified in the document and record them. Next, we read the register, look at the balances, and analyze whether there are any negative ones. If there is, display an error and set Refusal = True.

That is, the sequence is like this:
1. To move through the register, set the BlockForChange property = True
2. We create movements - write off the goods
3. Record the movements
4. Read the register and make sure there are no negative balances. If there is, then they wrote off the excess, if not, then everything is fine.

So, in this case, there is no need to indicate by which dimensions we need to block the register.
We simply set the BlockForChange property to True before recording our movements, form the movements and record.
The system itself will block the register at the time of recording according to the measurements that are needed, having analyzed what we have recorded.
Once completed, the blocking will be removed.

This option (the second) is simpler, it’s called the “new methodology for processing documents” and 1C recommends using it if possible and deducts points if the first option is used, but in some cases it simply cannot be applied and the first option with the Data Locking object is used (see. above example).

I also note that regardless of the chosen method, the movements must be cleaned before working with them (see previous advice)

*************************************************************************************************
Data blocking (blocking method No. 1 from the above description)

Controlled locking is required where data is read and movements are made based on this data
The fastest way to get the managed locking code is to enter “Data Locking”, call the Syntax Assistant and simply copy the example code from there. Then simply change it to the name of your register and dimensions.

It looks something like this:

Lock = NewDataLock;

*************************************************************************************************
Locking Element = Locking.Add("Accumulation Register.GoodsInWarehouses");

LockElement.Mode = DataLockMode.Exclusive;
BlockingElement.DataSource = PM;
Locking Element.UseFromDataSource("Nomenclature", "Nomenclature");

*************************************************************************************************
Lock.Lock();

It is better to call the tabular part of the documents simply “TC”

There is only one tabular part in 99% of documents. Such a unified name for tabular parts will greatly help save time, since:

1) Very short - write quickly

Result = Query.Run();

If Not Result.Empty() Then Select = Result.Select(TravelQueryResult.ByGrouping);
... EndIf;

And in case we need to get only one value from the request

*************************************************************************************************
(for example, only the write-off method in accordance with the accounting policy established for this year):

Result = Query.Run();

If Not Result.Empty() Then Select = Result.Select();

*************************************************************************************************
Selection.Next();

Cost Write-off Method = Sample.Cost Write-Off Method; endIf;:
Document "Operation" for an accounting task

Cost Write-off Method = Sample.Cost Write-Off Method; It is necessary to create an Operation document for accounting tasks.:
We disable posting for it altogether (in the properties “Posting = Deny”), indicate that it makes movements in the accounting register, and drag the movements onto the form.

Prompt processing of documents:
Must be

*************************************************************************************************
included

In operational and accounting. accounting for documents must be enabled (except for the “Operation” document, see below).
turned off

in calculation tasks it does not make sense for a payroll document.

For the document "Operation", posting should be disabled altogether (in the document properties "Posting = Prohibit"),


since he writes simply writes data directly to the register when writing.

Condition in a request of the form "Either the specified nomenclature or any, if not specified"

In queries, the following task is encountered: for example, you need to select documents with a specified nomenclature or all documents if the nomenclature is not specified.

It is solved by the following condition in the request itself:
Nomenclature = &Nomenclature OR &Nomenclature = Value(Directory.Nomenclature.EmptyLink)
But it would be more optimal and correct to transform this condition (thanks yukon):
Condition in a request of the form "Either the specified nomenclature or any, if not specified"

*************************************************************************************************
Request.Text = Request.Text + "WHERE Nomenclature = &Nomenclature";

endIf;
With the advent of the query object model in 8.3.5, it will be possible to add a condition more securely:

If ValueFilled(Nomenclature) Then
Query1.Selection.Add("Item = &Nomenclature");

*************************************************************************************************
Request.SetParameter("Nomenclature", Nomenclature);

Joining tables in queries:

1.1. We create PVC. These will be Types of Characteristics (for example, color, size, max. speed, etc.). In the settings, select all possible types of characteristic values ​​and, if necessary, create the object from point 1.2 and also indicate it in the settings.

1.2. For additional values ​​of PVC, we create a subordinate directory AdditionalValues ​​of Characteristics (or simply Values ​​of Characteristics).
It will store characteristics if they are not in existing directories. We may not create it if all the characteristics we need are in existing directories, or these values ​​can be represented by elementary data types. In the PVC settings we indicate that this directory will be used for additional purposes. characteristics values.

1.3. We create an information register, which actually connects three objects:
- The object to which we connect the characteristics mechanism
- TypeCharacteristics (PVC type)
- Characteristics value (type - characteristic, this is a new type that appeared in the system after the creation of PVC
and describing all possible data types that a characteristic value can take).
In the information register, we indicate that the Characteristic Type is the owner for the Characteristic Value (link to the selection parameter), as well as the type connection for the Characteristic Value, again from the Characteristic Type.

Another feature is that for each created type of characteristic, you can specify the type of characteristic value, if you do not need all possible types to describe the value of this characteristic.

2. Using PVC to create a sub-conto mechanism for the accounting register .

2.1. We create PVC TypesSubconto.

2.2. We create a subordinate directory ValuesSubConto (as with characteristics, it will contain subconto values ​​if there are no such in other directories).

2.3. Communication is made using a chart of accounts.

*************************************************************************************************
Accounting register resources:

Amount - balance sheet,
Quantity - off-balance sheet and associated with the accounting characteristic Quantitative

*************************************************************************************************
Virtual accounting register tables:

Turnover: turnover of a single account
TurnoverDtKt: turnover between any two accounts, that is, all the same transactions for the period.

*************************************************************************************************
Currency accounting on accounting registers - how to implement:

We create an accounting attribute “currency” in the chart of accounts.
In the accounting register, we additionally create:
- Currency dimension (prohibition of blank values, off-balance sheet, accounting attribute - currency)
- resource CurrencyAmount (off-balance sheet, accounting attribute - currency, it will store the amount in currency, that is, $100 for example)
All.

Thus the register structure is:

Measurements:
- Currency
Resources
- Quantity
- Amount (amount in rubles)
- CurrencyAmount (amount in currency)

Thus, currency accounting is only a refinement of conventional accounting in the Republic of Belarus; it does not change the essence of, for example, the resource Amount
(there, as usual, the amount is in rubles, regardless of whether the account is in foreign currency or not).
And if the Currency accounting feature is turned off for the account, then this is the usual structure of the Republic of Belarus (resources - only quantity and amount).

*************************************************************************************************
When setting the parameters of a virtual table to obtain a slice of the latter, we impose conditions on dimensions, and not on resources.

Otherwise, we will get not a slice of the latest ones, but the last record with the specified resource value - it may not be the last in the set of dimensions

*************************************************************************************************
The meaning of the resource and details in the calculation register

In calculation registers, creating a resource makes it possible to receive it when calculating the base using this register.
And even in proportion to the given period, the resource value will be recalculated (if the base period does not coincide with the periodicity of the register).

And the value of the attribute is available only in the real table of the calculation register; it is not available in virtual tables.

*************************************************************************************************
Checkbox "Basic" in the properties of the calculation register dimension
It means that a base will be obtained from this dimension in the future and serves for additional indexing of values ​​for this field.

*************************************************************************************************
Breakdown of the vacation validity period by month when recording sets of register entries,
if vacation is specified in the document in one line for several months at once in one line:

StartDate of CurrentMonth = Start of Month(TexLineMainAccruals.ActionPeriodStart);<= НачалоМесяца(ТекСтрокаОсновныеНачисления.ПериодДействияКонец) Цикл Движение = Движения.ОсновныеНачисления.Добавить(); Движение.Сторно = Ложь; Движение.ВидРасчета = ТекСтрокаОсновныеНачисления.ВидРасчета; Движение.ПериодДействияНачало = Макс(ДатаНачалаТекМесяца, ТекСтрокаОсновныеНачисления.ПериодДействияНачало); Движение.ПериодДействияКонец = КонецДня(Мин(ДатаОкончанияТекМесяца, ТекСтрокаОсновныеНачисления.ПериодДействияКонец)); Движение.ПериодРегистрации = Дата; Движение.Сотрудник = ТекСтрокаОсновныеНачисления.Сотрудник; Движение.Подразделение = ТекСтрокаОсновныеНачисления.Подразделение; Движение.Сумма = 0; Движение.КоличествоДней = 0; Движение.График = ТекСтрокаОсновныеНачисления.График; Движение.Параметр = ТекСтрокаОсновныеНачисления.Параметр; Движение.БазовыйПериодНачало = НачалоМесяца(ДобавитьМесяц(Дата, -3)); Движение.БазовыйПериодКонец = КонецДня(КонецМесяца(ДобавитьМесяц(Дата, -1))); ДатаНачалаТекМесяца = НачалоМесяца(ДобавитьМесяц(ДатаНачалаТекМесяца, 1)); ДатаОкончанияТекМесяца = КонецМесяца(ДатаНачалаТекМесяца); КонецЦикла; КонецЕсли;

*************************************************************************************************
CurrentMonthEndDate = EndMonth(TexLineMainAccruals.ActionPeriodStart);

CurrentMonth = Date;

&OnClient Procedure Generate(Command) GenerateOnServer();

End of Procedure &On the Server Procedure GenerateOn Server() DG.Clear();
DG.Update = False;
Request = New Request("SELECT |BasicAccrualsActualActionPeriod.Employee, |BasicAccrualsActualActionPeriod.CalculationType, |BasicAccrualsActualActionPeriod.ActionPeriodStart AS ActionPeriodStart, |MainAccrualsActualActionPeriod.Peri odActionsEnd AS PeriodActionsEnd |FROM |Calculation Register.MainAccruals.ActualPeriodActions AS MainAccrualsActualPeriodActions |WHERE |MainAccrualsActualPeriodActions.PeriodActions BETWEEN &StartDate AND &EndDate ");

*************************************************************************************************
Query.SetParameter("StartDate", Period.StartDate);

Request.SetParameter("EndDate", Period.EndDate);
Select = Query.Run().Select();

While Selection.Next() Loop Point = DG.SetPoint(Selection.Employee);

Series = DG.SetSeries(Selection.CalculationType);
Value = DG.GetValue(Point, Series);
Interval = Value.Add();
Interval.Start = Sample.PeriodActionStart;
Interval.End = Sample.ActionPeriodEnd;
EndCycle;
DG.Update = True;

EndProcedure

Actually, only the code in the loop is important to us here, the rest of the things are auxiliary, I just gave the entire implementation of this subtask.
In the request, it is important for us that there is an employee, type of payment, start date and end date of the period.
Condition in a request of the form "Either the specified nomenclature or any, if not specified"

*************************************************************************************************
The code is actually very simple, easy to remember, don't be alarmed if it seems cumbersome

But this is not always 100% clear; there are also more complicated cases, although there are quite a few of them
(for example, a bonus that depends on the number of working days in a month - this is HE).

Basic charges:
If the type of calculation is dependent on the schedule (meaning a register of information with calendar dates), then it refers to the main charges.

Example OH:
- Salary
- Something that is calculated from the number of working days (and for this you need to use a schedule): either in the validity period (like salary) or in the base period

Additional charges:
What is considered either from the accrued amount, or the time WORKED (and not the norm!), or does not depend at all - this is additional. accruals.

That is: accruals for the calculation of which the time standard is used (maybe also a fact) - this is OH, and for which actual data or nothing at all is needed is DN.

Or in other words:

If the VR uses a time standard, then the validity period must be included for the VR.

*************************************************************************************************
Add the ability to open the built-in help section "Working with reference books" in the list form of the "Nomenclature" directory.

Run the command on the form:

&OnClient
Procedure Help(Command)
OpenHelp("v8help://1cv8/EnterprWorkingWithCatalogs");
EndProcedure

We define the section line as follows:
Go to the help information of the configuration object (in the configurator), write a word, select it, go to the Elements/Link menu and select the desired section of 1C Help, after which the link is inserted automatically. It looks complicated, but in practice it’s easy.

*************************************************************************************************
Implementation of interaction between forms, for example, selection:

1. From the current form, open the desired one using the “OpenForm()” method, passing the structure with parameters as the second parameter (if necessary). The third parameter can pass a link to this form - ThisForm.

2. In the opened form, in the “When CreatedOnServer()” handler, we can catch the parameters passed in step 1 through “Parameters.[ParameterName]”. The form that initiated the opening of this form will be accessible through the “Owner” identifier (if it was, of course, specified in step 1).

And most importantly, export functions of the owner form will be available. That is, we can call the export function of the source form and pass something there as a parameter to process the selection. And this function will already fill in what is needed in the original form. There is only one caveat - you cannot pass a table of values ​​between client procedures, but we can place it in temporary storage and simply pass the VX address, and then extract it from the VX.

*************************************************************************************************
Lifecycle of Form Parameters

All parameters transferred to the form at the time of its opening are visible only in the “When CreateOnServer” procedure.
Once created, all parameters are destroyed and are no longer available on the form.
The exception is for parameters that are declared in the form editor with the “Key Parameter” attribute.
They determine the uniqueness of the form.
This parameter will exist as long as the form itself exists.

*************************************************************************************************
Using the Taxi interface

During development, you can set the usual managed interface 8.2 in the configuration properties - this makes everything noticeably more compact and familiar.
This is especially true if you rent remotely - the screen resolution is very small, and it’s impossible to do anything with the “taxi” interface.
Just don’t forget to put “Taxi” again when you’re done!Otherwise, the examiner will deduct points!

*************************************************************************************************

PS: E There are separate standard subtasks that are used in all tasks, and it is these that you need to be able to solve (for example, writing off by batches, using PVC (well, this is really rare) and others). And in all tasks they are simply repeated (somewhere there are some subtasks, somewhere else, just in different combinations). Moreover, they have long promised to release a new collection (if they haven’t already), in which there should be much more problems, that is, there is no point in memorizing solutions to individual problems, it makes sense to learn how to solve individual standard subtasks, then you will solve any problem.

PSS: Colleagues, if anyone has any other useful information on preparing for the exam and passing it, please write in the comments and we will add to the article.

Certification according to the 1C:Enterprise 8 system
Exam "1C:Specialist" on the platform "1C:Enterprise 8"

1 Form for conducting the “1C: Specialist” exam on the “1C: Enterprise 8” platform and requirements for candidates

The exam is conducted to check whether the level of training of programmers meets the requirements set by 1C for specialists.

The understanding of the basic principles of designing configurations and technological solutions embedded in the 1C:Enterprise 8 platform and practical configuration and programming skills are tested.

The exam takes the form of solving a practical problem. The candidate must develop a configuration according to the formulation set out in the assignment, based on the so-called “frame” configuration. The “frame” configuration is the simplest configuration, containing a minimum of objects on which it is possible to register the modeled enterprise. It is issued to the candidate at the beginning of the exam and is intended to reduce routine operations in the process of preparing a solution (for example, creating the structure of reference books or filling out these documents). The task itself, as a rule, includes working with the main accounting objects: documents, charts of accounts, types of characteristics, types of calculations, accumulation registers, information, accounting and periodic calculations.

It is allocated to solve the problem 4 hours. At the end of this time, the candidate must propose a valid configuration option, which must include:

  • metadata objects are created/modified accordingly;
  • debugged software modules of objects ( processing procedures – required);
  • The screen and printed forms specified in the assignment were developed.

It is not allowed to solve an exam problem by making changes to the standard configuration. Candidates are also not allowed to present their own configurations (both original and configurations developed on the basis of standard ones).

In cases where the task explicitly indicates object structures, types and properties of data elements, and built-in language methods with which the logic of the accounting system should be built, the candidate is required to use them. If this is not explicitly described in the task, then the candidate has the right to make design decisions independently. It is allowed to change the structure of the “frame” configuration according to the requirements of the task, and at the discretion of the candidate. In any case, you need to be able to justify your decisions, ensure their sustainability and functionality.

During the preparation process, you are allowed to use the documentation for the program included in the delivery kit, as well as - officially published methodological and teaching aids. It is prohibited to use printouts (reprints), listings and materials on electronic media (floppy disks, flash drives, CDs, etc.). If an examinee is caught using prohibited materials, he will be removed from the exam and given a grade of “unsatisfactory.”

The developed configuration is protected by checking its performance on test data and interviewing the structure of configuration objects and the built-in language tools used.

2 Principles of task layout

The tasks are arranged in such a way as to, at a minimum, test the knowledge and skills of programming and configuration within the framework of the technologies and mechanisms of the following sections:

— accounting;

— periodic settlements;

— operational accounting and management;

— business processes and tasks

The result of solving the examination problem is assessed for each section. In case of a negative assessment of the work in any of the sections (except for business processes), the exam is considered failed.

The solution must be optimized for working in a thin client, unless otherwise specified by the specific task.

As a rule, the solution to each of the exam tasks includes the need to correctly implement no more than 12 software or structural mechanisms, i.e. 3-4 mechanisms for each section.

The main list of mechanisms that you need to be able to implement is as follows:

1) organization of balance control according to the register of balances;

2) work with cost;

3) organization of weighted average write-off;

4) organization of batch write-off;

5) work with turnover indicators;

7) work with information registers;

8) currency conversions through cross-rate

9) use of object characteristics (plan of types of characteristics)

10) work with measurements in accounting registers;

11) work with off-balance sheet measurements and accounting register resources;

12) weighted average write-off of cost according to the accounting register;

13) work with subaccounts (including working capital);

15) organization of currency accounting;

16) organization of quantitative accounting in accounting;

17) organization of accounting of advances;

18) work with chart data for the actual period of validity;

19) work with chart data for the registration period;

20) work with basic types of calculations - obtaining a base;

21) working with displacement calculations - obtaining an addition;

22) work with leading types of calculations - the use of recalculations;

23) constructing queries based on settlement registers;

24) working with a pivot table;

25) working with the report builder;

26) work with the data composition system;

27) work with the mechanism of business processes;

28) use of temporary tables in queries;

29) work with routine tasks;

30) use of a new methodology for processing documents;

31) work with controlled data blocking when posting documents;

32) formation of a command interface;

33) working with functional options;

34) the use of mechanisms related to filling objects with data;

35) working with report options and option settings;

36) use of new capabilities for working with dynamic lists;

37) working with parameters, details, form elements, etc.;

38) use of the navigation links mechanism;

39) organization of dialogue with the user (alerts, notices, status);

40) working with files and pictures.

The rating for each section is determined based on the completeness of the solution's functionality.

The estimate may be reduced:

— For the use of types of objects and means of accessing and processing data other than those specified in the task;

— For an ineffective decision;

— For errors in the design of register structures and errors in the development of data processing algorithms.

3 Evaluation of the result of the task

  • A task completed completely and correctly is scored 5 points;
  • If there are errors in the solution, the assignment grade for each error may be reduced in the following order:
  • List of the most common errors typical for any accounting task

Description of the error Point
Suboptimality of the proposed solution or failure to fulfill certain points of the task. Simplification of the problem being solved. If it is difficult to determine the simplification or complication of a problem, it is recommended to clarify the requirements with the examiner 0,5 — 3,0
The report given in the task was not implemented 1,0
The form of the report given in the task does not correspond to the task 0,5 — 1,0
The mechanism for obtaining data does not correspond to the task. For example, the task may directly indicate the mechanism for generating a report using data composition, the use of temporary tables in processing document posting, etc. 1,0
Obtaining settlement data not from the register. The only reliable information in the accounting system should be considered register information. Information from documents can only be considered as auxiliary and cannot be absolutely reliable. For example, if you have a document (analogous to a manual operation in accounting) that allows you to interactively enter entries into the register 3,0
The accounting scheme constructed in the solution fundamentally does not allow simultaneous reduction to zero of all resources of the register accumulating information about balances. 0,5 — 2,0
Register resources (one or all) are changed by documents only “in one direction” (only in “+” or only in “-”). If it follows from the logic of the applied problem that the balances simultaneously for all resources of the accumulation register must be equal to zero, the solution the examinee must be provided by this circumstance. Violation of the above requirements leads to unjustified “swelling” of tables storing register totals; 2,0
The resources of the balance register (one or all) are changed by documents in both “+” and “-“, but movements with the opposite sign for the same accounting object are performed with different sets of measurement values, which also does not ensure that resource balances are brought to zero " 2,0
The solution lacks checks for correct filling of register resources, leading, for example, to the appearance of negative balances of goods in the warehouse. The presence of negative values ​​of register resources is permissible only if this is explicitly stated in the task or follows from the logic of the accounting scheme that does not contradict the situation arising in real accounting practice 1,0 — 2,0
Using incorrect or simplified algorithms when calculating register resource values. For example, when solving the “kopeck problem” 0,5 — 2,0
The accounting scheme built in the solution does not ensure correct entry of data into registers. For example, you need to write off 1000, but 500 is written off 2,0
Presence of errors in the program code 0,25 — 3,0
In tasks of obtaining summary information on balances, use information on turnover or vice versa 2,0
In tasks of obtaining summary information, using direct access to real register tables 1,5
In tasks of obtaining data from an information base, setting selections for non-indexed fields 0,5
If, when posting a document, data read from registers is used in some way, it is imperative to provide for the receipt of such data at the time of posting the document 1,0
The configuration must work stably not only when moving forward, but also backward. That is, when the action of any document is canceled, the state of the indicators controlled by the system should return to its original position (as it was before the document movements). In fact, then it will be possible to unwind the entire chain of documents back 1,0
The possibility of correct reposting of documents retroactively is not implemented 1,0
The configuration must work stably in the presence of duplicate lines (items or employees, etc.) in the documents. It is necessary to ensure that the documents are processed correctly in this case. 0,5
Obtaining information stored in the information base (balances, turnover, database data, chart data, etc.) in a cycle 2,0
Missing parameter values ​​in the virtual table or using a “WHERE” condition instead 2,0
No NULL check 1,0
Incorrect table join 1,0
Using table join mechanism instead of setting virtual table parameter values 0,5 – 1,0
Unloading the result of a query into a staging table (for example, a value table) without having to 1,0
Additional question 0,5 — 1,0
Inability of the proposed solution to work in managed application mode 3,0
Using a less efficient method of document processing 1,0

  • List of the most common errors typical for operational accounting tasks

  • List of the most common errors typical for accounting tasks
Description of the error Point
3,0
Construction of an accounting scheme not based on accounting registers 3,0
The accounting scheme used in the solution is constructed incorrectly 0,5 — 2,0
Incorrect use of the “double entry” principle. The absence of double entry when it is necessary or the presence when it is not needed. 2,0
Extra analytic created (for example, register dimension) 0,5
The dimensions and resources of the accounting register have the “balance sheet” flags set incorrectly and the “accounting characteristics” configured 1,5
The setting of “subconto accounting attributes” has not been implemented or has been implemented incorrectly 1,0
Storing balances in cases where information only about turnover is needed. When constructing an accounting scheme, ordinary (non-circulating) sub-accounts or register measurements were used to store data and control indicators that are negotiable in nature (not requiring storage of balances) 1,5
When receiving final data from the accounting register, correspondence of accounts is not taken into account 1,5
When receiving final data from the accounting register, the analytics on the account are not taken into account or taken into account incorrectly 1,0

  • List of the most common errors typical for problems involving complex periodic calculations

Description of the error Point
The task has not been fully implemented 3,0
Construction of an accounting scheme not based on settlement registers 3,0
The displacement and base dependencies between the types of calculations used in the solution are incorrectly configured 1,0
Using a settlement register that has a “Validity Period” to implement accounting for settlement types that do not have a “Validity Period” 1,5
There is no connection with the graph in the calculation register or such connection is set incorrectly. For example, in a dimension instead of an attribute or vice versa. 1,0
Receiving graph data through the information register table 2,0
In the tasks of obtaining the calculation base, analytics are used incorrectly. Register dimensions are not used or used incorrectly 1,0
Obtaining the calculation base through the main table of the calculation register 2,0
In the task of obtaining a calculation base, the selection speed based on the measurements of the calculation register is not optimized 0,5
The dependency for leading calculation types is incorrectly configured 1,0
Creating an allocation in a register where allocation data cannot appear. 1,0
When solving the allocation problem, allocation objects are configured incorrectly (for example, allocation dimensions) 1,5
Obtaining data for making calculations based on unrecorded or uncalculated data 1,0
Connection without the need for a mechanism for automatically rewriting the table of the actual period of validity at the time of entering calculation data into the information base 0,5
The solution does not have a mechanism for reversing calculation register entries when entering a preemptive calculation type in the current billing period for the previous period, provided that such a situation is clearly described in the task 1,0
Implementation of reversal of settlement register entries without using specialized and optimized platform mechanisms 1,5
Solving accumulation problems on the calculation register 2,0
  • List of the most common errors typical for business process tasks
Description of the error Point
The task has not been fully implemented 1,5
The business process form does not reflect its current state 1,0
The form for the list of uncompleted tasks of the current user of the system is not implemented or does not work correctly. 1,0
Personal addressing of tasks has been set without the need 1,0
Role addressing of tasks is set unnecessarily 1,0
Redundant addressing attributes have been created for both tasks and the addressing register 0,5
The addressing register is filled in incorrectly 1,0
There is no option to display the full list of tasks 0,5

  • List of the most common errors typical for tasks using managed forms

  • When checking a solution, if errors are detected, the examiner is not obliged to explain to the test taker how the solution to the examination problem under consideration should have been correctly constructed;

The exam is considered passed successfully if the exam is graded “excellent”, “good” or “satisfactory”. The exam grade is calculated based on a five-point system according to the following scheme:

  • if the result obtained is less than 2.2 points, then the exam will be graded “unsatisfactory”;
  • if the result obtained is in the range from 2.2 to 3.5 points, then the exam will be graded “satisfactory”;
  • if the result obtained is in the range from 3.5 to 4.5 points, then the exam is graded “good”;
  • If the result obtained is 4.5 points or more, then the exam is graded “excellent”.

To prepare for the exam "1C: Platform Specialist "1C:Enterprise 8" it is recommended to use Collection of tasks for preparing for the 1C:Specialist exam on the 1C:Enterprise 8 platform with examples of solutions.

4 Examples of tasks:

General requirements

It is necessary to create an interface for solving a training problem, in which the division of objects according to the tabs of the Section Panel should occur based on their belonging to the corresponding section of the task (operational accounting, accounting, complex periodic calculations, business process). The navigation panel for each tab should provide access to all objects in this section, including registers. Objects should be grouped according to their type: directories, documents, other objects. When creating a command interface, it is necessary to use the subsystem mechanism. An approximate view of the interface is shown in Fig. 1.

Fig.1. Approximate view of the learning task interface

Operational accounting

The company is engaged in wholesale trade. Receipt of goods is reflected by the document “Receipt invoice”, sales - “Invoice”. In addition to selling goods, additional services may be provided, such as delivery. Both services and goods are indicated in different tabular parts.

Accounting of goods is carried out in the context of warehouses. Receipt and sale are carried out with the indication of the warehouse (in the header of the document).

Write-off of cost should be organized by batches, depending on the current value of the cost write-off method adopted for this year in the accounting policy (FIFO or LIFO). It is emphasized once again that the accounting policy is valid for a year. Next year, the write-off method may change.

To calculate the cost when writing off goods, it is necessary to take into account only the moment the goods arrive at the company, regardless of which warehouse it arrives at. Let’s assume that for the FIFO write-off method, the first receipt of a cigarette case occurred at the “Main” warehouse using the document “Invoice No. 1”, and then to the “Transit” warehouse using the document “Invoice No. 2”. In this case, when selling goods from the Transit warehouse, the cost of the cigarette case should be written off first according to the document “Invoice No. 1”, since it arrived earlier.

It is necessary to build a report on sales of goods for the period and balances of goods in warehouses as of a specified date.

Sales from 01/01/2009 to 03/31/2009

Nomenclature Qty Self-worth Sale Profit
Suede jacket 3 300 620 320
Cigarette case 3 30 50 20
Delivery 1 100 100

Profit is calculated: “Sales amount” - “Cost price”

Remaining goods as of 01/01/2009

Stock Nomenclature Qty
Basic
Suede jacket 2
Cigarette case 2
Transit
Suede jacket 5
Movie camera 1

Accounting

It is necessary to organize the possibility of issuing cash loans to company employees. The fact of issuing such a loan is reflected in the system by the document “Issuance of a loan”. This document indicates which employee of the company and in what amount the funds were issued. The period within which the refund must occur is also indicated.

The “Loan Issue” document implements the following posting:

DT “Credits and loans issued” - CT “Cash” for the amount of funds issued.

There is no need to control the availability of money in the cash register.

The return of funds is registered using the “Loan Repayment” document. This document indicates which employee returned what amount. The refunded amount must exactly match the amount of funds received at the time. If the amount is different, then the document should not be posted. An employee cannot be issued another loan until he repays the previously issued one.

The document “Loan repayment” implements the following posting:

Dt “Cashier” - Kt “Credits and loans issued” for the amount of the loan to be repaid.

If the loan was repaid later than the specified period, the document additionally indicates the date of repayment of the fine and the document makes an additional entry:

DT “Credits and loans issued” - CT “Profit and loss”

for an amount calculated as 0.1% of the total amount of the loan provided.

In fact, this means charging a penalty amount in the form of a newly issued loan. This loan is repaid with another copy of the “Loan Repayment” document. Penalties are not assessed when the amount of the fine becomes less than 1 kopeck.

The system must provide a report on loans issued.

Loans issued to employees for the period from 01/01/2009 to 01/31/2009

Employee Loan amount Planned return date Real return date Is a fine
Onopko 100 000 January 10, 2009 January 20, 2009
Onopko 100 January 25, 2009 January 25, 2009 V
Khalikov 12 788 04 December 2009

The report should reflect loans outstanding at the beginning of the period, as well as loans issued or repaid in the selected period.

It is necessary to create a document “Operation”, with the help of which the user should be able to enter transactions with arbitrary correspondence of accounts. When solving the problem, you should take into account the possibility of postings generated using this document.

Complex periodic calculations

Salaries of the company's employees are calculated monthly. All employees work a five-day work schedule, but the solution must allow for the ability to work multiple different schedules.

Employees of the company receive a salary in proportion to the time worked in hours. The hourly rate is calculated as the starting salary divided by the number of hours worked in the same period as the hours actually worked. During the billing period, the initial salary value can be changed once. The calculation must be made based on the initial salary value valid on the calculated date. For example, if the initial salary value changed on August 10, then before August 10, the old value is taken for calculation, and starting from August 10, the new one.

Additionally, company employees may be awarded a bonus as a percentage of the salary accrued in the same pay period. The premium percentage during the accrual period can change no more than once a day, but is taken at the beginning of the current billing period. It is necessary to store the history of changes in the premium percentage in the information database.

As necessary, any employee can be sent on a business trip. In this case, payment of salary and bonus does not occur. The hours spent on a business trip are determined according to the five-day work schedule. The hourly rate for calculating a business trip is determined as the sum of all accruals for the two previous months, divided by the number of hours worked in the two previous months.

There is no need to use the recalculation mechanism within the framework of this task.

All accruals are entered using the “Payroll” document. Consider that all data is entered only within one month, for example, you can indicate salary accrual from 10.01 to 31.01, but the salary entry: from 10.01 to 03.02 cannot be entered.

To analyze bonuses received by employees of an enterprise, the configuration must provide a report for any billing period of the following type:

Bonuses accrued from 01/01/2009 to 01/31/2009

Managed Forms

For the documents “Receipt invoice” and “Expense invoice”, you need to create basic managed document forms of the following type:

Fig.2. Type of the main form of the document “Receipt invoice”

Fig.3. Type of the main form of the document “Invoice”

In the forms of both documents, it is necessary to implement automatic calculation of the amount according to the line of the tabular part of the document when entering the quantity of the product being purchased (sold) or its price into this line, as well as to calculate the total amount for the document.

For the “Payroll” document, it is necessary to create a main controlled list form, in which for the current document the entries made by it in the calculation registers should be reflected. The form view along with the entire “Periodic Calculations” section is shown in Figure 4:

Fig.4. View of the main list form of the “Payroll” document

Posted in

Hurray, friends! I passed the specialist exam at the beginning of July this year!

I didn’t tell you for a long time, because... there was no time. Some time after passing the exam, I started looking for work and found a really well-paid and interesting job in a large company (not a French company). And only now have I found the time to tell you.

In this course, a lot of time is devoted to theory and tasks on Complex Periodic Calculations, and about half the time on tasks on Operational and Accounting. During the learning process, the teacher assigns homework on the topics covered and checks them. Communication with the teacher occurs either online in chat while watching, or by email. If you don’t have time to watch the course Online, then in a day or two you can watch the recording Offline. The tasks that are given at home are very comprehensive and complex that after such tasks the exam seems simple.

The course is really useful because... it talks about all sorts of subtleties and little things, as well as answers to questions that cannot be found on the forums.

At the end of the course, I did not solve the problems from the collection, but went to Pavel Chistov’s forum to get “up-to-date” tickets.

All preparation (course and independent solution of tickets) for the exam took about three months. It takes so long because it’s difficult to combine work and get ready in the evenings.

Exam. I arrived at the exam about 40 minutes before, and registration began 20 minutes before the start. I registered second or third and immediately headed to the auditorium. I selected a computer, turned it on without waiting for a command, climbed through network drives - found a skeleton configuration, downloaded it and immediately began setting up subsystems, the command interface, “cleared” the configuration, made a parameter for the current user’s session, and installed it. These 20 minutes helped me a lot. The audience was already filled with people. The teacher appeared and introduced himself as Dmitry Aksenov. And I expected to see Pavel Belousov, because... he taught the course 🙁

And so I got ticket number 5. By the way, the computer I was sitting at was also number 5 (sticker on the back of the monitor). And I passed with a 5. The ticket was not very difficult, but not easy either.

I didn’t take a photo of the ticket, but I’ll try to reproduce it from memory: OU write-off of cost with priority by warehouses, with the warehouse in the header first. Nonsense.
BU write-off of cost by batches and warehouses, warehouses - details of the tabular section.
SPR employees work on various vehicles:
Fixed amount (no validity period!),
allowance (without validity period) on the amount of payments (the amount of payments was taken from the BU - added a car subaccount, or something like that. I don’t remember exactly) plus a percentage of the allowance (stored in the periodic information register),
base vacation (all payments, including vacation) for the previous three months.
And for dessert - business processes.

The ticket was 3.5 hours along with a 20 minute head start. Aksenov found one small error in the request and asked if I was not noticing anything here. I immediately saw the joint and told him. He didn’t ask me any additional questions and asked me perfectly.

Friends, do not hesitate to ask questions to the teacher.
For example, in my ticket, wording like: “an additional bonus is awarded to employees in the form of a percentage of the amount of payments from passengers for the same period” means that such an amount can be taken from the OU or BU task, but the easiest way is to set up the BU.
It’s true that you shouldn’t ask questions like: can I make separate Income and Expenditure documents for the OS and separate ones for the BU? In front of me, one person asked such a question, and asked when 2 hours had already passed from the exam. 2 o'clock, Karl! Read the regulations for the exam - everything is written there!
Do everything in one run with two independent pieces of code - one for the op-amp, the second for the control unit.

Perhaps the most difficult thing on my ticket is the SPR task. In accounting, you also need to use your brain to set up accounts and subaccounts.

Recalculations in my ticket need to be configured, because... There are types of calculations that depend on the base, but the recalculations themselves do not need to be done, because My ticket doesn't say anything about this.

Look at the report forms in the ticket and first set out the tasks on the sheet, describe what details to add, the structure of the registers, which sub-accounts and for which accounts to add, current, non-current, accounting signs and sub-account signs, types of calculation, which of them with a validity period , which are not, incl. set up business processes. Spend 20-30 minutes on this, but you don’t need to keep it in your head and you won’t go wrong.

Make cheat sheets in your phone for all the “current” tickets from the forum - structure, pieces of code for such difficult things as getting work experience in a request, multiple salary changes, etc. You can carefully look at the cheat sheets when the teacher leaves for a long time. During the exam you can go out to smoke, go to the cafeteria and go to the toilet. I won’t hide it, I had cheat sheets for all the tickets, but they weren’t useful to me.

Thank you for your attention! Successful delivery!

Exam preparation
1C:Platform Specialist

solving operational problems,
accounting and periodic settlements

During the course:

  • under the guidance of an experienced trainer, you will solve 25 problems;
  • master configuration techniques in accordance with the “Configuration Development Standards” prepared by methodologists of the development department of the 1C company;
  • You will analyze typical mistakes encountered during practical implementations and on the exam, as well as ways to overcome them.

The course is taught by Pavel Belousov, who has been taking the 1C:Specialist exam for more than 20 years and is one of its developers. It’s unlikely that anyone can tell you more about the exam than he does.

It is important to know!

The "1C: Platform Specialist" certificate is in demand on the market. If you are an employee of a 1C franchisee company, its presence will not go unnoticed by your management and will have a positive impact on your salary.

The course is based on solving practical problems similar to those you will encounter in the exam. No template solutions, just developing your own experience under the guidance of a professional teacher.


69% of students successfully passed the exam after completing the spring series of the exam preparation course (from among those who passed after the course).


Course Update:

  • Number of lectures doubled, while the teacher will comment on all questions that arise during the course.
  • Added 1 lecture and 5 online consultations, typical mistakes in homework assignments for the entire group will be examined.
  • The frequency of classes is reduced for comfortable learning. Now the course is structured according to the scheme of alternating thematic blocks and periods of homework and self-study.

These changes create more comfortable conditions for learning and mastering the material covered.

Course program

Seminar title

Features of accumulation problems, general approaches to solving exam problems

Arrangement of accumulation registers

Methodology for solving operational accounting problems

Design of accumulation registers - a universal approach

Features of writing and reading data from accumulation registers

Two methods for conducting operational accounting documents

Building reports

Solving accounting problems

Methodology for solving accounting problems

Features of document processing and reporting in accounting tasks

Methodology for solving calculation problems

Formulation of the problem

Carrying out settlement documents

Working with time (continued)

Using the timesheet

Getting the base

For all dimensions of the calculation register

By several dimensions of the calculation register

Using cuts

Using a database to get time

Working with recalculations and additions

Setting up plans for calculation types

Setting up calculation registers

Generating reports

Processing of allocations

Formation of reversal records

Additional tasks using periodic calculation mechanisms

Calculation in form. Creating calculation types in custom mode. Implementation of payment. Implementation of calculation types moving from period to period

from 17.00 to 21.00

Arrangement of accounting registers

Choose between accounts, subaccounts and dimensions

The concept of “balance sheet”, “accounting characteristic”, “subconto accounting characteristic”, “working subconto”

Beginning to solve a learning problem

Working with time

Definition of calendar time

Determination of working hours

Determining actual time using the variance method

Gantt chart

Homework example

You will solve 24 more problems!

Procedure for conducting the online course:

  • The course is conducted online (with recording of materials provided)
  • There are 11 online classes (from July 8 to July 31)
    + 6 consultations (from August 5 to September 9) from 17:00 to 21:00
Online course is:
  • two forms of transferring materials: online consultation with a trainer and video recording.
  • The lecture part is recorded and access to the video is provided to all participants in the online course.
  • The trainer conducts an online consultation, answers questions and sorts out mistakes.
  • After each consultation, participants receive homework to consolidate the material covered. Doing your homework is mandatory. At the same time, the trainer checks each task and gives feedback to all students.

After training (within a month), a free attempt to certify “1C: Specialist” on the “1C: Enterprise 8.3” platform is provided at 1C: Training Center No. 1 (for residents of Moscow and the Moscow region) and at the nearest Certified Examination Center (for others regions).

Course author

Belousov Pavel Stanislavovich

Candidate of Sciences, experience in teaching and using 1C programs - more than 15 years. Practicing examiner, one of the authors of the "Collection of tasks for preparing for the 1C:Specialist exam on the 1C:Enterprise 8.3 platform"

Student practice shows that you need to prepare for exams in advance. Exam 1C: Specialist is just one of those. We are opening registration for an online course to prepare for certification.

The author and presenter of the course is Pavel Belousov, teacher of 1C: Training Center No. 1. He has been taking the 1C:Specialist exam for 15 years and is one of its developers. It’s unlikely that anyone can tell you more about the exam than he does.

Course Features

The main emphasis of the course is on practicing methodologically correct programming and configuration techniques, the mastery of which is tested in the exam. Besides:

  • the course includes two forms of transferring materials: video recording and online consultation with a trainer;
  • the lecture part is recorded and access to the video is provided to all participants in the online course;
  • After each consultation, participants receive homework to consolidate the material covered. Its implementation is mandatory!
  • The trainer checks each task and gives feedback to all students.

At the end of the course, students will master configuration techniques in accordance with the “Configuration Development Standards” and will be able to be certified as a platform specialist for free "1C:Enterprise 8.3".

Bonuses for course participants

Infostart has provided a set of bonuses specifically for course participants:

  • For the entire period of study, access to the Infostart catalog is provided with a limit 20 startmoney on account. This subscription can be used to download files from a set of publications in this special project
  • 10% discount coupon for any course posted in the Infostart catalog.
  • Free attempt to certify “1C: Specialist” for the platform "1C:Enterprise 8.3"(if you have a “1C: Professional” certificate for the platform) at the nearest Certified Examination Center of the “1C” company.

Cost and time

The course will take place from March 11 to April 3, 2019. It consists of 11 online classes of 4 hours each and 6 additional consultations. Classes are held as scheduled: from 17.00 to 21.00 Moscow time.