1c processing access violation. Software discovery of external processing
How to allow interactive opening of external reports and processing? (1C: Accounting 8.3. Edition 3.0)
2016-12-08T15:52:26+00:00If when opening an external processing or report via the menu File->Open
I get an "Access Violation" error:
There are only two options for using processing.
The first option is to register processing in the "Additional reports and processing" directory (more on this).
But, what if processing does not support such registration? And the processing is very useful and I really want to open it.
In this case, you can go for the second option and re-enable the ability to open processing in the database through the File->Open menu.
Instructions for this are below.
Go to the database configurator:
Execute the menu command "Administration"->"Users":
Double click to open your user:
Go to the "Other" tab, check the "Interactive opening of external reports and processing" checkbox and click "OK":
Now close the configurator and the database (if you had it open).
Go back to the database and try to open the report via the "File"->"Open" menu.
Now everything will work out
There are nuances...
The method that I described in this manual is 100% working, but when using it, the right to "Interactively open external processing" may disappear again after a while.
To avoid this, set the same checkbox in 1C:Enterprise mode in the current access group profile for your user.
When using this method, various nuances may occur (for example, if you use an embedded profile that cannot be edited), so detailed instructions for this case, I will not give.
Sincerely, Vladimir Milkin(teacher and developer).
Download the latest version of 1C processing
The IT Audit program supports several 1C platforms. Therefore, when choosing an external processing file, it is necessary to take into account the configuration used and the 1C platform. The name of the external processing file contains information about the number of the configuration for which the processing is intended.
External processing 1C is loaded on the page Download
Check if the IT Audit developers support the used 1C configuration
When opening external processing in 1C, an error "Access violation" occurs
The use of external processing requires the user to have 1C established law Use as an OLE Automation server. In the absence of rights, an "Access Violation" error or other similar error may occur.
Mode 1C: Enterprise
- In the user list, open the required user account.
- AT account user click on the button Access rights. Check the value Opening external reports and processing.
- save changes made. Exit the program and reopen the program in 1C:Enterprise mode. Then open the required processing.
Mode Configurator
- Log in to the program Configurator.
- In the user account, go to the "Other" tab. In the "Available roles" list, check the box for the value Interactive opening of external reports and processing.
- Save your changes. Open the program in "1C: Enterprise" mode and open the necessary processing.
In the "Administration" item, open the list of users and open the account of the required user.
If there are no 1C users, you must create a user (for example, "Administrator")
Error loading external processing file as a result of 1C protection settings against dangerous actions
Starting from the 1C platform 8.3.9.x, the user settings of the 1C program by default include a ban on performing dangerous actions. Therefore, before making a call to the 1C platform for a 1C user, you must perform following settings in 1C configuration.
- In the 1C: Enterprise program, open the required configuration in the mode Configurator.
- In the form that opens, select the 1C user on whose behalf the connection to the 1C database is made from the IT Audit program. Double click the left mouse button to open the form User with the settings of the selected user.
- In the form that opens, uncheck the box Protection from hazardous activities. Then click on the button OK to save your changes.
×
Connecting to 1C in integration mode takes a long time
If the connection to 1C: Enterprise takes a long time (more than 2-3 minutes), then, apparently, the 1C: Enterprise program displays in a separate window Announcement A that contains the reason for the connection failure.
To read the message of the program 1C: Enterprise, press the keys on the keyboard Alt+Tab. As you press the "Tab" key, a message from the program 1C: Enterprise will open. Read this message and execute it. For example, a message is often displayed about the need to recalculate balances on a specific date.
When opening a 1C report in integration mode, an error occurs: "invalid string indicating the class", "failed to connect the COM class factory for the component", etc.
If several versions of the same 1C platform are installed in the system, then the last one will be used correctly to connect to the 1C base installed version(version of the 1C platform, which is registered as an OLE server).
If you need to specify a different platform, then in command line Windows as an administrator, run the command to register 1C: Enterprise as an OLE server: for example,
"C:\Program Files\1cv83\bin\1cv8.exe" /regserver
regsvr32 "C:\Program Files\1cv83\bin\comcntr.dll"
Similar actions must be taken if the 1C platform is not registered as an OLE server at all (for example, as a result of incorrect installation of the platform or launching the 1C program from the copied directory with the program), that is, the error "Invalid string indicating the class ...".
There is no license to use 1C
If it is impossible to connect to the database of the 1C: Enterprise 8.3 (8.2) program due to the lack of the right to work with the program (there is no USB protection key for the 1C: Enterprise program), an informational message will be displayed: "The program protection key was not found (the license was not found)" .
In the menu bar of the 1C configuration that opens, click Administration and select the item Users. A form will open a list of users.
If there are no 1C users, you must create a user (for example, "Administrator")
Starting with new releases, 1C: made an attempt to eliminate the wave of cryptographic viruses by limiting the launch of external reports and processing for all users of a particular accounting system.
Of course, this caused a wave of misunderstanding on the part of both users and the management of the IT department (programmers, administrators).
In fact, the measures taken, of course, are forced, because. many users may not even suspect that some of the files they open may contain a terrible threat - stop all business and loss all data on the open resources of the enterprise.
Yes, of course, when correct settings Reserve copy, some of the data can be saved, but what if your company enters data every day / hour / minute, which is either not possible to recover, or it will take a lot of effort to do it: human resources, time, budget, etc.
What does it mean: well, the first thing the user encounters is the banal launch of specialized forms and processing included in accounting system— i.e. the user will not even be able to run, for example, a modified and unified account of the organization, or, for example, a report for the management distribution of DDS, and so on.
It is clear that this does not suit either the administrative staff of the organization or the end user, in whose person there are tasks associated with such external processing.
How to solve this issue? it is clear that not a single modern anti-virus system or access rights restriction system can completely protect the user from the danger of “infecting”, but for specific specialists who were notified of the threats and conducted an educational program to launch potentially dangerous elements, you still have to open access .
So what is supposed to be done:
- Assign responsibility to the employee who should launch such improvements, files, reports;
- Conduct some educational program with this employee to fully understand the threats and security;
- Give this employee the opportunity to launch external processing in 1C:
We do not touch on the first 2 points, because this is on the conscience of the administrative staff and employees of the IT department of the company, but for point 3 - you can use the instructions described below:
- First of all, you will need access to the 1C configurator: a user with full rights;
- Run the configurator under a user with full rights;
- In the general menu (usually it is on top) we find the item "Administration" -> "Users"
4. Select the user to be changed:
Uncheck the "protection against dangerous actions" checkbox and go to the other tab here, if this user, the role "Interactive opening of external forms and processing" was not previously installed, check the box:
Everything. after these manipulations, the user to whom these settings were applied needs to restart the program. After that, it will have the ability to run from external sources.
We really hope that you have read this article from the very beginning and that you are aware of the risks of these manipulations.
Programmatic discovery of external processing is carried out using the global context object ExternalProcessing, which has the type ExternalProcessingManager. For each operating mode of the 1C platform (normal application mode and managed application) uses various object methods to work with external processing.
Starting external processing in normal application mode
In a typical application, you need to use the Create() method of the ExternalProcessing object, which is passed the full name of the externalprocessing file. The method returns an object of type ExternalProcessing, this object is the external processing being opened. If you want to open an external processing form, then call the GetForm() method of the received object, which will return the main form, and then call the Open() method to open it.Processing = ExternalProcessings.Create(FullFileName);
Processing.GetForm().Open();
In external processing, the main form should always be a regular one, and the managed one should always be an additional one, otherwise the GetForm() method will not work in the normal application mode.
Start external processing in managed application mode
In mode managed forms there is a division of the algorithm according to the context of execution. On the client, we get binary data by the full name of the external processing file. We transfer the received binary data to the server and place them in temporary storage. Next, you need to call the Connect() method of the ExternalProcessing object, to which the address to the temporary storage is passed. The method returns the name of the connected external processing. We return the name of the external processing on the client, form a string path to the processing form, and use the OpenForm() method to open the external processing form.&On server
GetExternalProcessName(BinaryData) Function
AddressInTempStorage = PlaceInTempStorage(BinaryData);
Return ExternalProcessing.Connect(AddressInTempStorage);
EndFunctions
&AtClient
FullFileName = ""; // Full name of the external processing file.
FileData = New BinaryData(FullFileName);
ExternalProcessingName = GetExternalProcessingName(FileData);
OpenForm("ExternalProcessing." + ExternalProcessingName + ".Form");
Safe mode for external processing
The Create() and Connect() methods of the ExternalProcessing object have an input SafeMode parameter - a sign of connecting an external processing in safe mode. If the parameter is not specified, the connection will be made in secure mode.Safe mode operation is designed to protect the system from executing "untrusted" program code on the server. Potential dangers are external processing or program code entered by the user for use in the Execute () and Calculate () methods.
Safe mode has the following restrictions:
- privileged mode is canceled if it was set;
- attempts to enter privileged mode are ignored;
- operations with COM objects are prohibited;
- loading and connection of external components is prohibited;
- denied access to file system(except temporary files);
- access to the Internet is prohibited.
To prohibit the interactive opening of processings, in all roles assigned to the user, it is necessary to remove the "Interactive opening of external processings" right (see Figure 1).
Figure 1. Rights to interactively open external processing/reports |
Opening external reports programmatically is similar to external processing, but you should use the ExternalReports global context object, which is of type ExternalReportsManager.
When you start the program Download documents under regular user the error "Safe mode is set. The operation is prohibited."
This difficulty arises because there are not enough rights to start external processing. To set access rights, go to the database in 1C Enterprise mode on behalf of administrator and go to section User and Rights Settings / Access Group Profiles, click To create a group.
Enter the name of the group and check the boxes available to users this role group -
- Interactive opening of external reports and processing
- Use of additional reports and processing
Click Write and close
![](https://i0.wp.com/42clouds.com/img/kb/kb_img_335.png)
Return to the Users menu and select an employee from the list who will work with the Document Upload program. Click Permissions. In the list of profiles, mark the previously created profile. Click burn.
![](https://i0.wp.com/42clouds.com/img/kb/kb_img_336.png)
In order for users to start processing, it is recommended to add Document Upload to the list of external processing. To do this, the menu Administration / Printing forms and processing / Additional reports and processing create a new processing. Specify the path to the "DocumentUpload.epf" file and give it a name. Specify the location of the processing in the menu, from where the user can start it in the future, for example, select the menu Reference books
![](https://i1.wp.com/42clouds.com/img/kb/kb_img_337.png)
By clicking on the Quick access item, you specify which of the users is available for processing:
![](https://i2.wp.com/42clouds.com/img/kb/kb_img_338.png)
After setting, click Write and close. To start processing, users will only need to re-enter the database and open it from the access menu (in the example - Directories) and click Run.
![](https://i2.wp.com/42clouds.com/img/kb/kb_img_339.png)
Open Menu - All functions... and find the option "Using security profiles" in the list.
![](https://i2.wp.com/42clouds.com/upload/medialibrary/961/Img%20769.png)
It is enough to uncheck the option "Security profiles are used".
![](https://i0.wp.com/42clouds.com/upload/medialibrary/cf5/Img%20770.png)
After that, the program will run successfully.