Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки


Цель использования: разгрузить процессор, когда два или более пользователей пытаются провести документ. 1С пытается заблокировать таблицы, но делает это без пауз, и загружает процессор на 100%. При этом пользователи практически "встают", и нормальная работа прекращается. Компонента (или патч) позволяет решить эту проблему и нормализовать работу пользователей. Особенно актуально при работе в режиме сервера терминалов.

Нужно ли данное исправление для 8.0 SQL (клиент-сервер)?

Нет, там эта проблема не существует. А для версии 7.7 эта проблема существует во всех версиях - и SQL, и DBF.

Как узнать, что проблема решена
Вставьте в модуль проведения Предупреждение(), чтобы остановить проведение. Начните (из другой копии 1С) проводить другой документ. 1С с ошибкой станет загружать процессор на 100% пустым циклом ожидания, тогда как 1С без ошибки (или с установленным исправлением) грузить процессор не будет. Я начал свою разработку именно с этой проверки.

Установка
Плагин присоединяется в качестве одного из бинарных файлов 1С:Предприятие (чтобы 1С его загружала, я использую небольшой патч с подменой имени DLL). Управление загрузкой плагина происходит через файл ini.

Если у вас файл-серверная версия 1С (77, 8.0 или 8.1) ставьте из папки Plugin_dbf_77_80_81

Если у вас клиент-серверная (SQL) версия 1С 7.7 - ставьте из папки plugin_sql_77.

Если у вас есть и DBF, и SQL базы 7.7 - ставьте и то, и то (они друг другу не мешают).

Если у вас клиент-серверная (SQL) версия 8.0 или 8.1 - вам не нужно ничего ставить (проблемы с блокировками там нет).

Чтобы было удобнее устанавливать и (при необходимости) отключать плагин сразу у всех пользователей, имеет смысл расположить файлы 1С:Предприятие на сервере (в папке, которая открыта пользователям в режиме "только чтение"). Потребуется исправить только ярлыки на рабочем столе, чтобы они указывали туда. Это позволит оперативно вносить исправления в программные файлы 1С:Предприятие, устанавливать новые релизы платформы и т.д.

Сигнальные файлы

В настройках (ini) есть параметр - сигнальный файл. Если он указан, то файл с указанным именем возникает при конфликтах блокировки синхронно с сообщением, которое вы видите на экране. Вы можете научить ваших роботов проведения смотреть на этот файл, и делать паузу, пока пользователь проводит свой документ. Потом робот проведения должен сам удалить этот сигнальный файл.

Если у вас нет роботов проведения, или они не беспокоят ваших пользователей, то сигнальный файл вам не нужен (укажите там пустую строчку).

Файлы обработки:

-