Default server port 1c

The steps are similar). We will add the rule using the example of the 1C:Enterprise 8.x server (you need to open the port 1541 for cluster manager, ports 1560-1591 for workflows and port 1540 for the server agent).

Some programs and services, when operating over network protocols, use specific ports for data exchange. By default, an enabled Windows Firewall blocks such network activity. In particular, if you try to connect from a client machine to, you may encounter an error:

« Error when performing an operation with the infobase (...). Error in network access to server (...). An attempt to establish a connection was unsuccessful, because the required response was not received from the other computer within the required time, or it was already disconnected established connection due to an incorrect response from an already connected computer (...) »

This error means that specified address The 1C:Enterprise server was not found, or the port on the server is closed (in this case, the port 1541 ).

To open the port, go to the computer where the 1C:Enterprise server is installed (in my example, this is a computer with the address 10.192.128.15 and the operating system installed on it Windows system Server 2012 R2).

Launch the Windows Firewall. You can do this by clicking right click mouse on " Start» ( Start), then " Control Panel» ( Control Panel) — « system and safety» ( System and Security) — « Windows Firewall» ( Windows Firewall). Or by running the command firewall.cpl(to do this, press the key combination Win + R, in the “ Open» ( Open) enter the command name and press " OK») .

In the window that opens, in the tree on the left, open the tab “ » ( Inbound Rules), and then to the menu " Actions» ( Actions) select the item “ Create a rule...» ( New Rule...).

" Wizard for creating a rule for a new incoming connection» ( New Inbound Rule Wizard). On the first page, select the type of rule ( Rule Type) « For port» ( Port) and click " Further» ( Next).

Then you need to specify the protocol (in our example it is TCP) and, directly, the port number (Specific local ports) that we are opening. Then click “ Further» ( Next).

Now let's indicate the action associated with the added rule. Let's select " Allow connection» ( Allow the connection) and click " Further» ( Next).

On the next page you need to specify which firewall profiles the rule will apply to. We mark the necessary profiles with checkboxes and click “ Further» ( Next).

And finally, enter a name and description for the new rule and click “ Ready» ( Finish) to complete the wizard.

We try to connect to the 1C:Enterprise server again and see that the error remains, but the message contains a different port, 1560.

Using the method described above, we will add another allowing rule, with the name “ 1C: Work processes» for the entire range of ports with 1560 By 1591 (for 1C workflows), specifying them separated by a hyphen in step “ Protocol and ports» ( Protocol and Ports).

Now, in the snap " Windows Firewall with Advanced Security» ( Windows Firewall with Advanced Security) in the table " Rules for incoming connections» ( Inbound Rules) we should see 2 newly created rules.

Well, it should connect to the server without errors. If you need to connect to this server via , then you must also open the port 1540 .

In the same way, rules for outgoing connections are added (Outbound Rules), prohibiting rules, rules for certain programs and protocols. You can also change any rule by opening its properties from this snap-in.

Did this article help you?

26.07.2017

Adding a rule to the Windows Server 2012 R2 firewall for 1C: Enterprise

During the operation of various services and software network protocols, these work items use specific ports through which data exchange occurs.

In the firewall configuration Windows Server 2008/2012 R2 provides blocking of network activity by default. To give your client programs to work through the appropriate ports with server components, you need to add rules to the Windows Firewall that will allow data exchange on the network using specific ports.

Users often encounter situations in which client software cannot find a 1C:Enterprise server running in a server environment managed by Win Server 2012. In this case, errors of the following nature may occur:

    error accessing the server over the network;

    error when performing operations with the infobase;

    an unsuccessful attempt to establish a connection; the required response was not received from the other computer;

    An already established connection was terminated due to an incorrect response from the already connected computer.

These errors indicate that the client software was unable to find the 1C server at the specified address. It often happens that on the server the port required for connection is simply closed. In the case of 1C server, this is port number 1541.

To open this port, you need to log into the server via an RDP connection and run Windows management Firewall. This operation can be performed in two ways. The first option is to go to the “Control Panel”, then to the “System and Security” subsection, where you need to launch the firewall itself.

You can also use the command line to do this by executing the firewall.cpl command in it - to do this, press the Win + R hotkeys, then go to the “Open” section, enter the command name and click confirm.

Once we have accessed the Windows Firewall, in its active window we need to select the advanced settings section, which is located in the left menu. Next, on the left side of the new window that opens, you need to go to the rules section for incoming connections and select “Create a new rule” through the “Actions” menu.

A wizard for creating rules for new incoming connections will open in front of us. On the title page, you need to select the type of rule you want to select, labeled “For ports” and you can proceed further. Now we will indicate the network data transfer protocol (in our case we indicate TCP), as well as the number of the port to open.

On the next tab, we will need to directly specify the action that will be associated with the rule we are creating. We are interested in the “Allow connections” action. Select it and click “Next”. Now we mark the required Windows profiles Firewall to which the action we create should apply. The final page of the wizard prompts us to enter a name for the new rule, and also add a description for it if desired. Click done and finish working with the wizard.

After creating the rule, you need to try connecting to the 1C server again. When connecting, we will see the same error, but now the message talks about a different port, number 1560.

By analogy with the scheme for adding ports described above, we add another rule in which we indicate the range of ports 1560-1591. These ports are required to support various workflows of the 1C program. Ports included in this range are indicated with a hyphen in the “Protocol and Ports” section.

After the completed manipulations, go to the “Windows Firewall with Advanced Security” snap-in. Here, in the rules section for incoming connections, we can see the rules we created. At the same time, the 1C client should now freely connect to the server environment. If you need to connect to your server through the 1C server administration console, you will need to create a separate rule that opens port 1540.

If you need to add rules to outgoing connections, you can use the same scheme for creating rules for individual protocols and programs.

Setting up Windows Firewall for Win Server 2012 on 1C server + MS SQL

Now a few words about how to configure a firewall for Windows Server 2012 in the specified configuration. This combination is not uncommon for modern offices, but sometimes it takes extra time to understand the principle Windows operation Firewall relative to the 1C server environment.

Provided that the server accepts connections on standard TCP port 1433, you simply need to allow this port using the creation of firewall rules, the principle of which we discussed above. To check whether work is actually going through this port, you can run the Configuration Manager snap-in SQL Server» in Server 2012 and go to the network configuration tab. Here you need to select the protocols tab for MSSQLSERVER and find the TCP/IP protocol in the left window. Select it and click “Properties”, then look for the “IP addresses” tab and open the “IPAII” branch.

If the SQL port is dynamic, you will need permission to connect to the following application %ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe.

As mentioned above, 1C server works with port 1541 and ports in the range 1560-1591. However, it often happens that for unknown reasons this list Open ports still prevent you from connecting to the server. For everything to work 100%, you just need to expand this range by indicating ports from 1540 to 1591.

Terms, concepts

Why do you need a 1C server?

The term “server cluster” refers to several computers (servers) performing a common task.

The tasks solved by the 1C:Enterprise 8 server cluster are shown in the figure below.

Difference between 8.1 and 8.2

Cluster 1C 8.1

The 1C:Enterprise 8.1 server cluster is an implementation of the ideas of load distribution on servers serving client requests. This mechanism distributes the load on computing resources within one server or several servers (“Working Servers”), thus ensuring application scaling. The server cluster duplicates the code that serves client connections. The cluster's duplicate executable code is named "Worker Process" (rphost). When installing a cluster, only one worker process is created.
Multiple work processes on one server enable efficient use of space random access memory and processor resources to execute requests, as well as connect the client session to another worker process when the current one “crash”.
The Server Agent (ragent) program is responsible for understanding what is running on a specific server. Stopping the server agent will make the server unavailable for use by the cluster. The agent stores its information in the file srvribrg.lst.
Information about work databases and involved work processes is owned by the “Server Manager” (rmngr). It stores this information in the file 1CV8Reg.lst. Stopping the server manager can lead to a restart of client applications if the manager restarts successfully or to a complete stop of the working servers of the entire cluster.
1C:Enterprise 8.1 allows the possibility of creating several independent clusters on one server. Each of them is identified on the network by a unique “IP port” and unique number in service files. The first cluster receives port 1541 by default.
The Enterprise Servers snap-in is designed to manage a cluster.
You can connect to servers by server name or IP address.

Server agent

The server agent “knows” about all the clusters that are running on the server. This information is stored in the file srvribrg.lst with a list of clusters and list administrators. The main port of the agent is 1540. On each Working server, only one agent can be launched, servicing all possible clusters on this server.
To get more detailed information clearly, use the Process Explorer utility (developed by Sysinternals). The program allows you to take a deeper look inside any running processes, including a 1C:Enterprise 8.1 server cluster.

Cluster Manager

The cluster manager is responsible for the operation of the cluster. Each cluster has its own Manager. The manager stores information about the cluster in the file 1CV8Reg.lst (cluster registry). Each Cluster Manager also has its own port on the Work Server. For the first cluster, the default Manager port is 1541. It is this port that is displayed in the 1C:Enterprise Servers snap-in in the Clusters branch, identifying the cluster.
The manager receives requests from the client part of 1C:Enterprise 8.1 and makes a decision to which Workflow to give this service request.

The Manager uses the service port to interact with worker processes.

The working process

The Work Process is responsible for “working with clients.” It can be said that in previous version 1C:Enterprise 8.0 “Workflow” was one.
There can be several worker processes in a 1C:Enterprise 8.1 cluster. The server manager decides which worker process will serve the client connection. For client connections, Worker Processes are by default allocated a range of IP ports 1560 – 1591. In addition, each Worker Process is assigned a Service port for communication with the cluster manager. Each worker process uses up to 2 Gb of 32-bit RAM operating system. In a 64-bit operating system, the limitation is imposed by the physical amount of RAM

Cluster 1C 8.2

Server cluster 1C:Enterprise 8.2 – further development server technologies 8.2.

The server can work “like 8.1”, i.e. it remains compatible with previous technologies.

And the plus is realized new approach to server operation. Now, instead of processes, sessions play an important role.

Sessions enable load balancing and fault tolerance within a managed application.

Cluster Manager

The cluster manager has now become more complex. Some functions can now be separated into a separate process and even placed on another working server in the cluster. This allows you to balance the server load.

Server 8.2 fault tolerance is achieved through:

  • Storing information about the user's session.
    • The user is no longer tied to the workflow.
  • Reservation of work processes in a cluster.
    • There should be several worker processes, including redundant ones
  • Cluster reservation.
    • A spare cluster is indicated; when connected, they are listed in the connection line

This allows for continuity of operation:

When breaking physical connection client with a cluster (the cleaning lady pulled out the cable, the power went off network equipment, problems with the provider) you don’t have to reconnect to the infobase and start all the work all over again. After the physical connection is restored, the user can continue working from the point where it was interrupted.

If maintenance of cluster computers is required, they can be turned off during operation without stopping users from working with the information base.

If any server in the cluster fails, user work will not stop; it will be automatically transferred to the backup cluster and/or backup work processes. For users, such a transition will be invisible.

If one of the cluster's worker processes fails, users connected to it will be automatically transferred to other or backup worker processes. Such a transition will also be invisible to users.

Cluster 1C 8.3

Server 8.3 is characterized by a newly redesigned internal code, although “from the outside” it may seem that it is a slightly modified 8.2.

The server has become more “auto-configurable”; some parameters, such as the number of worker processes, are no longer created manually, but are calculated based on the descriptions of the requirements of fault tolerance and reliability tasks.

A load balancing mechanism has been developed, which can be used either to increase the performance of the system as a whole, or to use a new “memory saving” mode, which allows you to work “with limited memory” in cases where the configuration used “likes to eat up memory.”

Stability of operation when using large amounts of memory will be determined by the new parameters of the production server.

Particularly interesting is the parameter “ safe consumption memory in one call." For those who have little idea what it is, it’s better not to train on a “productive” basis. The “Maximum memory size of working processes” parameter allows, in case of “overflow”, not to crash the entire working process, but only one session “with the loser”. “The amount of working process memory up to which the server is considered productive” allows you to block new connections as soon as this memory threshold is exceeded.

I recommend isolating work processes by information base, for example, specifying the parameter “Number of information security per process = 1”. With several highly loaded databases, this will reduce mutual influence both in terms of reliability and performance.

A separate contribution to the stability of the system is made by the “expenditure” of licenses/keys. In 8.3 it became possible to use the “manager software licenses”reminiscent of the manager of “aladin”. The goal is to be able to place the key on a separate machine.

It is implemented as another “service” in the cluster manager. You can use, for example, a “free” laptop. Add it to the 1C 8.3 cluster, create a separate manager on it with the “licensing service” service. You can insert a hardware hasp key into your laptop, or activate software licenses.

Of greatest interest to programmers should be the “Functionality Assignment Requirements”.

So on a laptop with a security key, in order not to launch users on the cluster server, you need to add “requirements” for the requirement object “Client connection to information security” - “Do not assign”, i.e. deny worker processes of this server handle client connections.

Of even greater interest is the ability to run “only background jobs» on a working cluster server without user sessions. This way you can move highly loaded tasks (code) to a separate machine. Moreover, you can have one background task “closing the month” through “Value additional parameter" run on one computer, and the background job "Updating the full-text index" on another. Clarification occurs by specifying the "Value of the additional parameter." For example, if you specify BackgroundJob.CommonModule as a value, you can limit the work of the worker server in the cluster to only background jobs with any content. BackgroundJob.CommonModule value.<Имя модуля>.<Имя метода>- will indicate a specific code.

Solving possible installation problems

When installing the 1C:Enterprise 8.1 server part, you can create a new user or select an existing account.

If you select an existing account you must provide the correct password and confirmation, otherwise running the backend will result in an error.
When you run the Cluster Agent for the first time, a default cluster is created.
The default cluster has the following characteristics:
· port number – 1541;
· IP port range – 1560:1591;
· support for many workflows – disabled;
· one worker process, the port number is set from the specified range.
If there are any problems when you first start the Cluster Agent, the default cluster may not be created. This manifests itself in the fact that when the server agent (ragent) starts, it starts, but does not start other cluster processes (rmngr, rphost). The list of clusters srvribrg.lst looks like this:
{
{0},
In this case, you can stop the ragent process, delete the list of clusters (srvribrg.lst) and start ragent again.

Check that the ports specified in the port parameter match command line starting the server agent service and the one specified in the central server parameters dialog of the cluster console:

— Stop the 1C:Enterprise 8.1 Server Agent service.

If the Server Agent is running as an application, it can be stopped by pressing the Ctrl+C key combination.
- Make sure in the Task Manager that all processes ragent, rmngr, rphost have ended. If necessary, complete them using Task Manager.

— Open the properties of the 1C:Enterprise 8.1 Server Agent service.

- Pay attention to the line “Executable file” (Path to executable). It has the -d parameter followed by the cluster data directory. All files related to the cluster are located in this directory.
- Delete all contents of this directory.
— Start the 1C:Enterprise 8.1 Server Agent service.
- Make sure in the Task Manager that all processes ragent, rmngr, rphost have started.
— Launch the cluster console and register the central server in it. The console should connect to the central server and show one cluster created by default.
Possible problems with the failure of the Server Cluster include problems with security keys, service account rights, and incorrect startup parameters.

  1. The server protection key is installed LOCALLY on each server in the enterprise
  2. Don't set a service account with a blank password
  3. With multiple clusters, the ports used should not overlap

Please note that during the installation process of the 1C:Enterprise 8.1 platform, error messages may be displayed. The most likely messages are listed below. The reasons that caused the messages and steps to eliminate them are indicated.

Error 1069: The service is not running due to a login error

The problem is related to the account's rights to run as a system service. Open the Local Security Policy utility ( Local politics security) and add the user (on whose behalf the Cluster Work Servers are launched) to the Logon as service and Logon as batch job policies.
If the data stored in service files is damaged, the start of the Cluster's Production Servers may fail. Make sure that the 1C:Enterprise 8.1 server agent is running (ragent process in Task Manager).
Don't forget that audit is also a means of analysis. Windows events. To do this, look to see if any “suspicious” messages appear in the Windows event log.

Error 8007056B / 800708C5

The new password does not meet the password policies. The password may be too short or you have already used this password recently.
Reason: the specified password for the account in the “Install 1C:Enterprise server” dialog box does not meet the requirements of the security policy.
Solution: Set a new password for the selected account that meets the requirements of the security policy or weaken the requirements of the applied security policy, i.e. do not require a “complex” password, do not limit the number of characters in the password, do not check repetition attempts, etc.

Error 1923: No privileges to install by service

Cause: The error is related to the account's installation rights as applications. This error is typical for attempts to install a server on a domain controller where increased security measures are required.
Solution: Do not use a domain controller to host the enterprise server or relax the security requirements and specify the “Run as a service” or “Run as a batch job” rights for the selected account.

Error 80070056

Your password could not be changed. Each password must be used for at least x days.
Cause and Solution: Another error that occurs when the security policy requirements for the passwords used are violated. The solution is similar to error 800708C5.

Windows Sockets - 11004(0x00002AFC)

1) Make sure that on the Working server of the cluster in the Task Manager the following are running:
Server agent (ragent.exe),
Cluster Manager (rmngr.exe),
Cluster worker process (rphost.exe).
2) To check IP address name resolution, run on the command line:
ping machinename
In the system's response to the command, we are interested in determining whether the IP address is determined.
3) If the name is determined, but the Worker Process is still not found, then make sure that the IP address of the name is determined<имя машины>And<имя машины>.<имя домена>are not defined differently.

(Windows Sockets - 10054(0x00002746).

The remote host forcibly closed the connection.
This message may be received if the server is rebooted or forced deletion Work process.
This error usually does not appear when reconnecting. If the error remains, it is necessary to investigate the reasons for the failure of the cluster's production servers.
This error can occur when a worker process reaches the maximum memory capacity on 32-bit systems.
Another case is a connection attempt from a client with an error message:

(Windows Sockets - 10060(0x0000274C)

An attempt to establish a connection was unsuccessful because... the required response was not received from another computer within the required time, or an already established connection was terminated due to an incorrect response from the already connected computer.
The essence of this error is the lack of response within a certain time (timeout).
1) Make sure your firewall is not blocking application traffic. Turn off your firewall.
To do this, run the command on the command line (the command is available starting from Windows XP and Windows Server 2003, in more earlier versions There is no built-in firewall, but third-party software can be installed):
netshfirewallsetopmodedisable
If the command is successful, you will receive a message:
OK.
In addition to a firewall, network filters can block traffic. They are disabled by default. However, make sure it is like this:

  1. Open the Network Connections folder.
  2. Right click network connection that you want to configure and select the command Properties.
  3. On the tab Are common(for connection via local network) or on the tab Net(for all other connections) select Internet Protocol (TCP/IP) and press the button Properties.
  4. Click the button Additionally.
  5. Open the tab Options, select an option TCP/IP Filtering and press the button Properties.
  6. Make sure the checkbox Enable TCP/IP filtering (all adapters) removed.

2) Make sure that the processor resources are not 100% loaded (CPU%).
3) Measure the network activity of the client and server interfaces. Stress on network adapter should not exceed 60%.

(Windows Sockets - 10061(0x0000274D)

The connection has not been established because The destination computer rejected the connection request.
A typical reason for this error is the absence of a running Server Agent. Start the server manually or reboot the server to start automatically.

Answers on questions

Multiplatform 1C

Server installation

Q: Error installing 1c server on MS Server 2008 R2 x64 When installing 1c server via the command line, for example, ragent.exe -instsrvc -port 2040 -regport 2041 -range 2060:2091 -d “C:\Program Files\1cv82\ (taken from the ITS disk), the command line writes the message: “Error! OpenSCManager error!” The service is not created in this case. Tested on 8.1.15.14 and 8.2.10.77

A: To install from the command line on an OS where UAC is present, you need to use the RunAs service, because Even if the user is a member of the Administrators group, UAC blocks actions that change the system state.

Protection keys

Q: Does the protection key for Server 8.2 allow me to run Server 8.1?
A: Yes, it does

Q: To start a 1C server, do I need some kind of server hasp keys? Local, or will it not work for 5 users?

A: yes, the server needs its own key, local user and network keys will not work. More details in « « , slide number 30.

Q: Let’s say a 1C server cluster consists of 3 physical servers. how many security keys are needed?

Q: Yes terminal server and a key for 5 licenses, a 6th additional license is purchased. license. Is it possible to install it on the server next to the key at 5? And will all 6 users work in terminal sessions or 5 - under the terminal, and 1 in the file version?
A: No, they won't. The 6th license in the form of a local key must be plugged into the user’s computer, but not into the terminal.

1C server updates

Q: upon exit new version 8.2.xxx platforms what is the procedure for updating servers and clients
A: 8.2 distributions install their files in different folders(each version has its own folder), i.e. theoretically, it remains possible to call several versions of the server in parallel.

I didn't have any problems. However, you need to carefully monitor the ports occupied by the 1C server instance. There should be no intersections.

Setting up 1C server

Q: In 1C 8.1, what is the best way to place information bases, if there are several of them, in one cluster or create a separate cluster for each database? A: With a large volume or load, test databases must be placed in separate clusters!

Q: QUESTION: Is the 1C:Enterprise 8.1 workflow a single-threaded application or a multi-threaded one? Those. can many cores be loaded with one connected user? With several? What about the 1C:Enterprise 8.2 workflow? Thank you.
A: 1Сv8.exe and rphost.exe in version 8.1 consumed 1 core. Since in 8.1 the client connection is strictly tied to the worker process, we can conditionally assume that 1C client processing is performed within a single core. The exception is the DBMS, which uses kernels regardless of how the 1C server works.

In version 8.2, connections are replaced by sessions. Sessions may already be running in different worker processes. Therefore, calling 8.2 single-threaded is probably not correct. Client 8.2 also visually loads several cores, so this:

platform 8.2 does not implement all features multi-threaded system, but it makes much better use of hardware capabilities compared to 8.1, including in terms of parallelism.

Q: Is it necessary to have multiple 1C:Enterprise 8.1 work processes for the database server (MS SQL) to load multiple cores? (It is noted that MS SQL usually “loads” only one core, i.e., “parallelizing” the processing of one request across several cores, as a rule, does not occur.) Thank you.
A: There is no need to specifically manage MS SQL; it is a fairly self-tuning system that uses resources as needed. You can control execution parallelism:

EXEC sys.sp_configure N’max degree of parallelism’, N’5′
GO
RECONFIGURE WITH OVERRIDE
GO

You can create several work processes on the 1C server based on the fact that one work process does not provide the ability for users to reconnect in case the work process crashes. Process 2 (on 8.2 it is better to make it “backup”) solves this problem. But it makes sense to add a third or more work processes only if the first two work processes are heavily loaded (more than 90%). There is no point in multiplying work processes unnecessarily; this can worsen productivity.

A: There must be at least 1 backup worker process in 8.2.

Failover Cluster

Q: Question about enabling redundancy for 1s 8.2 clusters. If our server crashed (the cleaning lady pulled out the wire), then the network name, for example “server:2540” will be unavailable. How does a client whose connection string says “server:2540” know that it needs to connect to the backup cluster? where will he get the name of the other server? What if you write clusters separated by commas in the database connection string?
A: Several clusters are combined into a “redundancy group”. For this purpose, there is a “reservation list” in the cluster snap-in.

When a client first accesses a cluster, it is given a list of clusters included in the redundancy group.

If the client has never contacted you, then in this case you need to manually specify the addresses of all clusters, for example storm:2541,monster:2541.

Synchronized data is exchanged between redundancy clusters.

Q: What happens after the main cluster is restored? when users switched to backup.

A: They are going back. There may be pauses during switching while synchronizing these clusters.

Background jobs

Q: How to delete a background job running on servers 1C:8.1 and 1C:8.2?

A: Possibility of cancellation regulatory task works only if the code is executed within the built-in 1C:Enterprise language. If the code is executed in external libraries, then such a task cannot be canceled except by forcefully terminating the workflow. If in the process there is a block StartTransaction() - CommitTransaction(), then it’s unlikely. Other background jobs can be deleted through the job console.

Regulatory procedures

Q: Is it possible to destroy the base during T&I?

A: I am not aware of such cases, but IMHO anything is possible. Therefore, it would be a good idea to make a backup before T&I.

Q: Vyacheslav, for what reasons do you not perform reindexing using 1C Testing and Correction?
A: DBMS capabilities are better suited for these purposes, since they essentially also rebuild indexes, but do not require exclusive seizure of the database.

Technology magazine

Q: Good afternoon. Question from a technology magazine: I need to receive copies of workstation screens in case of 1C errors. Do I need to set up a technological log on workstations for this, or is it only for the server?
A: You can only configure receiving a screenshot when the platform falls, and not when there is any error. However, there is not much usefulness in such an operation; it is quite enough to collect exception situations using a technological log. At the same time, most of the errors can be seen using TZ on the 1C server side. An exception would be events such as a "format stream error" associated with an outdated metadata cache.

Problems and errors

Q: Have you encountered a problem - the disappearance of report settings for users when dynamically updating configurations on the 8.2 platform. Any recommendations on how to deal with this?
A: Problems associated with dynamic updating are reflected in “1C Servers: Enterprise 8.1 and 8.2 - what to eat with “), slide number 60. Clear cache. Perhaps in some cases it is necessary to understand where exactly user settings are stored. If necessary, store as binary data in the information register.

Q: A related question, because... this is relevant for file mode: what errors does chdbfl.exe correct?
A: This is a data storage structure error correction tool. This could be a situation where, for example, “The database file is damaged.../1Cv8.1CD” appears. Those. fixes database file corruption. However, it does not perform T&I functions. I run chdbfl.exe if the T&I does not run successfully.

Q: Please tell me if you have encountered such a problem. when there are a large number of users in the database (about 40) when processing large documents, for example, reflecting the PO in the reg. Accounting for about 8000 lines. The error message is that there is not enough memory on the enterprise 1C server and the user who initiated this document falls off. The document can then be processed only after restarting the 1C server agent.
A: Looks like memory leaks:

1. Restart the 1C server, increase the number of worker processes, and keep only this one database in the cluster.

2. Beat the holding in portions, say 1000 lines at a time. Using TZ, track objects that occupy memory at the beginning of an operation, but do not release memory upon completion.

3. Install the x64 version, increase the amount of RAM, switch to 8.2.

Q: Question about testing and management. Is it possible to run “Referential Integrity Check” based on the URDB with selection based on the transmitted data? (i.e., in some nodes there are physically no objects, but there are links to them). Thank you!
A: Unfortunately, this is not possible yet.

Q: Why doesn’t testing and fixing solve all the issues at once, do you have to run it several times?

A: Only developers can answer accurately. I run T&I according to regulations (cyclically), so this issue is not very relevant for me. T&I must be done not just once, but constantly, like “MOT for a car.”

Q: Is there a difference between T&I 8.1 and 8.2?

A: At the moment of writing the answer and release 8.2.10, I do not know the difference.

Q: Is it necessary to reindex during restructuring?
A: No need.

Other

Q: Dear sirs, has anyone tried to mirror databases using MSSql 2008? Is it even possible?

Q: Question about forcing shared memory on server 1s 8.2

A: There is no need to force anything, the server will understand.

Q: For 1C:Enterprise 8.1, situations have been noticed when, on the same hardware, the file-server version with “heavy” operations and a single user works much faster than the client-server version, when all “links” (database server, 1C server :Enterprise and client) are installed on the same server. Moreover, when performing this “heavy” operation, there are no obvious hardware overloads (processor load, memory load, hard drives minimum). That is, there are a lot of hardware resources, but it works slowly. What can we “rest against”? Thank you.
A: The advantage of the client-server architecture from a performance point of view is the ability to process client requests for data in PARALLEL. Those. Flow speed is not an indicator on which to draw general conclusions. Mechanisms that improve concurrency may still slightly reduce performance within a single thread.

In order to unambiguously find the bottleneck in your case, you need to obtain the workload of the server equipment and compare it in time with the longest operations in client-server mode. Often this is an excessive movement of data to the client side. Those. Instead of performing operations on the 1C server, data from the database is transferred through the server to the client.

The speed in one thread of the client-server version will only catch up with the performance file version. It is worth tackling this problem if the operation time in absolute numbers is measured in no less than minutes. Optimizing within 1-3 second queries is doubtful.

Q: About the difference between the Windows terminal and the 1C thin client.
A: Until most solutions are COMPLETELY translated to 8.2, it is definitely difficult to talk about a practical comparison of these technologies.

It is clear that thin client 1C should eat up less traffic and provide the ability to work via the web. But this is something that has yet to be implemented, and terminal solutions are being used very widely now.

For conservative, pragmatic project managers converting 8.1 to 8.2 - a terminal solution. For small projects with low cost of errors and configuration immediately implemented with controlled forms and SKD - a thin client is preferable IMHO.

Q: How to conduct Stress Testing close to real conditions? After all, you can’t force users to “click something.”

A: 1C: Test center with a selection of the most difficult operations, 100% reproduction is not necessary, the clicks themselves are not difficult, mainly conducting and requesting reports. There will be a separate webinar on testing. I’ll also tell you in more detail.

Background... Our company successfully operates 1C:Enterprise version 8.2, which has about 100 intensively used accounting databases. A separate server with quite impressive characteristics has been allocated for this matter, because... During operation, it turned out that the 1C:Enterprise 8.2 + MS SQL 2005 combination is very demanding on such hardware resources as hard drives, processor, and most importantly, the amount of RAM. The cost of such a server for us exceeded 250 thousand rubles (not counting licenses for both the OS and 1C itself).

It was considered unreasonable to allocate separate hardware for 1C:Enterprise version 8.3, and besides, paying another 100 thousand rubles for the second set of keys for the 1C server is very expensive! An attempt to install 1C:Enterprise version 8.3 directly led to the fact that the cluster with existing databases was lost. This is where the peculiarities of installing and running two server versions of 1C:Enterprise on one computer were revealed.

The installation program for 1C:Enterprise 8.2 and 8.3 configures software to use their standard ports: 1540 (used by the server agent), 1541 (used by the cluster manager), 1560-1591 (range of ports used for workflows). Therefore, if the 1C:Enterprise 8.3 server must work simultaneously with the 1C:Enterprise 8.2 server, then the former must specify ports different from those already used by the running instance of the previous version of the server.

On a computer with the 1C:Enterprise server version 8.2 already installed, the “1C:Enterprise 8.2 Server Agent” service is registered and running, already using the standard ports indicated above. If you installed a 1C:Enterprise 8.3 server “nearby”, then the launch of its service “1C:Enterprise 8.3 Server Agent” will end abnormally, because it will try to use already “occupied” ports. To avoid this, you must do the following.

(Everything described below is true for Windows Server 2008 R2 Enterprise (and Standart) 64 bit + SP1 and 32-bit server versions of 1C:Enterprise 8.2 and 8.3).

1C:Enterprise 8.2 (version 8.2.19.90) was installed by me as a Windows service with rights to run on behalf of an existing one local user"Administrator".

After installation is complete, the window Server Manager -> Configuration -> Services we see running service“Server Agent 1C:Enterprise 8.2”:

launched with parameters:

C:\Program Files (x86)\1cv82\8.2.19.90\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv82\ srvinfo"

I installed 1C:Enterprise 8.3 server (version 8.3.4.437) in a similar way:

However, as we see in the window Server Manager -> Configuration -> Services, the “1C:Enterprise 8.3 Server Agent” service did not start:

Now we need to open a command prompt window cmd and go to the bin directory of the installed server version of 1C:Enterprise 8.3 and try to delete the registration of the “1C:Enterprise 8.3 Server Agent” service with the command ragent.exe -rmsrvc:

C:\Users\administrator>cd C:\Program Files (x86)\1cv8\8.3.4.437\bin C:\Program Files (x86)\1cv8\8.3.4.437\bin>ragent.exe -rmsrvc Error! ControlService error!

I got it error Error! ControlService error! , which is in principle expected, because the service has not registered properly in the system. But in fact, he should leave. In the window Server Manager -> Configuration -> Services you won't see him again.

Now you need to re-register this server, but at the same time specify ports different from those already used by the 1C:Enterprise 8.2 agent. In my case the command will look like:

C:\Program Files (x86)\1cv8\8.3.4.437\bin>

  • -port 2540— port on which the 1C:Enterprise server agent version 8.3 will run;
  • -regport 2541— port through which the 1C:Enterprise server cluster, version 8.3, will be administered;
  • -range 2560:2591— range of ports for workflows;
  • -in “C:\Program Files (x86)\1cv8\srvinfo”— a directory for storing information about the new 1C:Enterprise server cluster being created, version 8.3;
  • -usr .\Administrator— the user on whose behalf the 1C:Enterprise server agent version 8.3 will be launched;
  • -pwd********— password for the specified user (enter yours).

After this, you will again see the “1C:Enterprise 8.3 Server Agent” service in the window Server Manager -> Configuration -> Services. All you have to do is run it with the command ragent.exe -start:

C:\Program Files (x86)\1cv8\8.3.4.437\bin>ragent.exe -start

In the window Server Manager -> Configuration -> Services we see the “1C:Enterprise 8.3 Server Agent” service:

launched with parameters:

where the “Executable file” field has the setting:

C:\Program Files (x86)\1cv8\8.3.4.437\bin\ragent.exe" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d "C:\Program Files (x86)\1cv8\ srvinfo"

And now the most interesting thing: you will have to perform this operation every time there is a need to update the version of the 1C: Enterprise 8.3 server! Bravo, developers...

Now a little about how to live with this connection. There is no longer a need to run the 1C:Enterprise program itself with the old version (from the folder C:\Program Files (x86)\1cv82\common). When installing 1C:Enterprise version 8.3, the desktop shortcut will automatically be overwritten to launch the program from the folder C:\Program Files (x86)\1cv8\common. If you open an accounting database running on a server version 8.2, it will automatically open in the required version of the thin client.

Templates for creating databases (accounting or ZIK) are placed by default in the directory of the user on whose behalf you launched their installation. If you are doing this as an administrator, you will find them in the path C:\Users\administrator\AppData\Roaming\1C\1cv8\tmplts . If you would like to add new base Based on the installed template, the thin client version 8.3 will see them all:

Now, if you need to register the database version 8.3, then you will need to indicate in the “1C:Enterprise server cluster” field the computer with the 1C server version 8.3 installed and, separated by a colon, the cluster manager port that you specified when registering the 1C server agent version 8.3. In my case it is 2541:

When adding a new one to the list of accounting databases, located on an enterprise server running 1C:Enterprise version 8.3, you must also indicate the server name, followed by a colon - the port used by the cluster manager:

The need to register the utility for cluster administration with both 1C servers (both versions 8.2 and 8.3) remains after each installation/update.

Now let's move on to administering clusters managed by different versions 1C:Enterprise servers on one computer. Open the folder in Explorer along the path C:\Program Files (x86)\1cv8\common, and create a shortcut on the desktop for the cluster administration console version 8.3 (it’s better to immediately rename the shortcut accordingly, for example 1CV8.3):

In the same way, open the folder in Explorer along the path C:\Program Files (x86)\1cv82\common , and create a shortcut on the desktop for the cluster administration console version 8.2 (it’s better to immediately rename the shortcut, for example to 1CV8.2):

On your desktop you will get the following:

Let’s launch the 1C:Enterprise server cluster administration utility version 8.2 with the shortcut “1CV8.2” (since the server uses default ports, the cluster will be displayed without problems):

When you try to open this cluster from the console intended for administering the 1C:Enterprise server cluster version 8.3 (using the desktop shortcut named “1CV8.3”), you will see the error:

Error connecting to the 1C:Enterprise 8.3 server: The client and server versions differ (8.3.4.437 - 8.2.19.90), client application: Cluster Console

To display the 1C:Enterprise server cluster version 8.3 we need, we need to create a new central 1C:Enterprise 8.3 server in this snap-in:

  • in field Name you must specify the name of the computer with the 1C:Enterprise 8.3 server installed;
  • in field IP port you must specify the port on which the 1C:Enterprise 8.3 server agent runs, which you designated when setting up the agent launch service;
  • in field Description indicate description.

After clicking the “OK” button, you will be able to see your new cluster, which was created after installing the 1C:Enterprise server version 8.3.

Those. administration of clusters of different versions of 1C:Enterprise server installed on one computer is carried out using the appropriate snap-ins.

That's basically it. Good luck!

_________
UPD. As practice has shown, the method described in this article is not suitable for simultaneously running several instances of 1C:Enterprise server version 8.3 on one server. When trying to create a new 1C agent service from a different version of 1C:Enterprise, running on different ports, the operation:

C:\Program Files (x86)\1cv8\8.3.4.437\bin>ragent.exe -instsrvc -port 2540 -regport 2541 -range 2560:2591 -d "C:\Program Files (x86)\1cv8\srvinfo" - usr .\Administrator -pwd ********

ends up removing an already running service old version 1C 8.3, but a new one is not created.

In I described a method for installing, creating the appropriate ones and running several versions of 1C:Enterprise 8.3 server on one server...