Как настроить одновременную работу нескольких компьютеров под одним пользователем в 1С 7.7?

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

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

В этой статье мы подробно разберем, почему возникает популярная ошибка «Каталог пользователя занят!», проанализируем внутренние механизмы блокировки платформы 1С 7.7, а также рассмотрим несколько практических способов обхода этого ограничения — от простых административных решений до тонкой настройки параметров запуска.

Почему возникает ошибка «Каталог пользователя занят!»

Для того чтобы понять, как обойти ограничение, давайте проанализируем внутреннюю логику работы платформы 1С 7.7 при авторизации пользователя. За каждым зарегистрированным в Конфигураторе пользователем обычно закрепляется индивидуальный рабочий каталог. Этот каталог используется системой для хранения персональных настроек (таких как размеры и положения окон, открытые панели инструментов, история выбора в полях ввода и т.д.). Все эти параметры сохраняются в специальном файле 1cv7.cfg.

Когда первый компьютер авторизуется в базе данных под конкретным пользователем, платформа выполняет следующие действия:

  1. Обращается к рабочему каталогу, указанному в свойствах пользователя в Конфигураторе.
  2. Создает в этом каталоге пустой служебный файл-маркер блокировки с именем 1Cv7.LCK.
  3. Захватывает этот файл в монопольном режиме чтения/записи до тех пор, пока сеанс работы программы не будет корректно завершен.

Когда второй компьютер пытается войти в систему под тем же самым именем пользователя, платформа 1С 7.7 пытается выполнить ту же процедуру проверки в том же каталоге. Обнаружив, что файл-маркер 1Cv7.LCK уже создан и монопольно заблокирован другим процессом, система прерывает запуск и выдает критическое предупреждение: «Каталог пользователя занят!».

Способ 1. Очистка рабочего каталога в Конфигураторе (Самый простой путь)

Как совершенно правильно заметили участники обсуждения, простейшим решением является полное удаление пути к рабочему каталогу пользователя. Давайте разберем по шагам, как это сделать:

  1. Откройте информационную базу в режиме Конфигуратор.
  2. В главном меню перейдите в раздел «Администрирование» — «Список пользователей».
  3. Найдите нужную учетную запись и откройте ее свойства двойным кликом мыши.
  4. В поле «Рабочий каталог» полностью очистите строку (она должна остаться пустой).
  5. Сохраните изменения в списке пользователей.

После выполнения этих действий платформа перестанет обращаться к выделенной папке на сервере при входе. Файл блокировки 1Cv7.LCK просто не будет создаваться, что позволит запускать неограниченное число сеансов под одним именем.

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

Способ 2. Использование локальных абсолютных путей (Наиболее безопасный вариант)

Рассмотрим более изящный и стабильный способ, который позволяет сохранить индивидуальные настройки для каждого компьютера, избежав при этом конфликтов блокировки.

Обычно в Конфигураторе путь к каталогу пользователя прописывают относительно каталога базы данных, например: .\User_Sales. Из-за этого папка физически располагается на сервере, где к ней имеют доступ все сетевые компьютеры.

Мы предлагаем указать в качестве рабочего каталога абсолютный локальный путь на диске C: клиентских машин:

  1. Создайте на каждом рабочем компьютере локальную папку, например: C:\1C_Local_User\.
  2. В Конфигураторе в свойствах общего пользователя в поле «Рабочий каталог» пропишите этот локальный путь: C:\1C_Local_User\.

Как это работает на практике: при запуске 1С на Компьютере №1 программа создаст файл блокировки 1Cv7.LCK на его локальном диске C:. При запуске на Компьютере №2 программа создаст файл блокировки на его собственном локальном диске C:. Так как эти файлы находятся на физически разных жестких дисках, они никак не пересекаются и не конфликтуют. При этом настройки интерфейса каждого компьютера будут сохраняться локально и не будут мешать друг другу.

Обратите внимание: перед первым запуском базы необходимо убедиться, что указанная папка физически существует на диске каждого компьютера, иначе 1С 7.7 выдаст ошибку: «Рабочий каталог пользователя не обнаружен».

Способ 3. Переопределение каталога через ключ запуска /U

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

Для этого мы воспользуемся специальным ключом командной строки 1С 7.7 — /U. Давайте посмотрим на пример настройки строки запуска в свойствах ярлыка на рабочем столе:


"C:\Program Files\1CV77\BIN\1cv7.exe" enterprise /D"\\Server\1C_Base\" /N"ОбщийПользователь" /U"C:\LocalFolder1\"

На Компьютере №1 в свойствах ярлыка укажите в конце параметр /U"C:\LocalFolder1\", а на Компьютере №2 укажите параметр /U"C:\LocalFolder2\". Платформа принудительно назначит эти локальные каталоги в качестве рабочих для конкретных сеансов работы, полностью исключая возникновение ошибки занятости каталога.

Проблемы при работе в терминальном режиме (RDP)

Отдельно проанализируем ситуацию, когда база данных развернута на терминальном сервере Windows. Очень часто пользователи сталкиваются с ошибкой «Каталог пользователя занят!» даже в тех случаях, когда под учетной записью никто не работает физически.

Причиной этого являются «зависшие» терминальные сессии. Если сотрудник некорректно завершил работу (например, просто закрыл окно подключения к удаленному рабочему столу крестиком, не выйдя из 1С), процесс 1cv7.exe продолжает выполняться на сервере в фоновом режиме, удерживая файл 1Cv7.LCK.

Для решения этой проблемы системному администратору необходимо зайти в диспетчер задач на сервере, найти соответствующего пользователя во вкладке «Пользователи» и принудительно завершить его зависший процесс 1cv7.exe, либо полностью сбросить зависшую RDP-сессию.

Оценка рисков безопасности и аудита изменений

В завершение обсуждения важно отметить, что хотя технически запуск нескольких ПК под одной учетной записью реализуется достаточно просто, этот подход несет в себе серьезные организационные риски:

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

← На главную