Почему в 1С постоянно плодятся рабочие места и как это остановить

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При работе в 1С:Предприятие через веб-сервер (IIS или Apache) с использованием тонкого клиента системные администраторы часто сталкиваются с неприятной ситуацией: в справочнике «Рабочие места» начинают бесконтрольно плодиться дубли. Это приводит к тому, что подключенное оборудование (кассы, сканеры штрихкодов, эквайринг) перестает работать, так как оно «привязано» к старому идентификатору рабочего места, а система создала для пользователя новый. Разберем подробно, почему это происходит и как раз и навсегда решить эту проблему.

Механизм формирования идентификатора рабочего места

Для начала проанализируем, как 1С понимает, что пользователь зашел с конкретного компьютера. Идентификатор рабочего места (ClientID) — это не просто случайный набор символов. В типовых конфигурациях на базе «1С:Библиотеки подключаемого оборудования» (БПО) рабочее место жестко привязано к сочетанию следующих параметров:

  1. Сетевое имя компьютера (имя хоста в ОС).
  2. Имя пользователя операционной системы.
  3. Уникальный идентификатор, который хранится локально на компьютере пользователя.

Если хотя бы один из этих параметров меняется, 1С считает, что запуск выполнен с нового устройства, и создает в базе новую запись в справочнике «Рабочие места». Это критически важно для лицензирования и работы с торговым оборудованием.

Проблема очистки кэша и удаления системных файлов

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


rmdir "%AppData%\1C\1Cv8" /S /Q
rmdir "%LOCALAPPDATA%\1C\1Cv8" /S /Q

Проанализируем ситуацию: в папке %LOCALAPPDATA%\1C\1Cv8 (или в аналогичных подпапках профиля) хранится файл 1cv8u.pfl. Именно в этом файле 1С сохраняет уникальный идентификатор клиента. Если скрипт полностью удаляет эти директории, при следующем запуске программа генерирует новый ID, что и приводит к появлению дубля в базе.

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


@echo off
set "PFL_PATH=%LOCALAPPDATA%\1C\1Cv8\1cv8u.pfl"
set "BACKUP_PATH=%USERPROFILE%\Documents\1c_backups"

if not exist "%BACKUP_PATH%" mkdir "%BACKUP_PATH%"

:: Сохраняем файл с ID рабочего места
if exist "%PFL_PATH%" copy /Y "%PFL_PATH%" "%BACKUP_PATH%\1cv8u.pfl"

:: Очищаем кэш (удаляем только папки с GUID, не трогая корень, где лежит pfl)
for /d %%i in ("%LOCALAPPDATA%\1C\1Cv8\*") do rmdir /s /q "%%i"

:: Восстанавливаем файл, если он был удален случайно
if not exist "%PFL_PATH%" copy /Y "%BACKUP_PATH%\1cv8u.pfl" "%PFL_PATH%"

Принудительное назначение имени рабочего места через WSID

Если работа ведется через веб-публикацию, идентификация по сетевому имени может давать сбои из-за особенностей проброса заголовков веб-сервером. Самым надежным способом «зацементировать» рабочее место является использование параметра запуска WSID.

Параметр WSID (WorkStation ID) позволяет явно указать имя рабочей станции в строке соединения. Выясним, как это настроить:

  1. Откроем список информационных баз в окне запуска 1С.
  2. Выберем нужную базу и нажмем «Изменить».
  3. На странице настройки параметров запуска найдем поле «Дополнительные параметры запуска».
  4. Впишем туда строку вида: /WSID "Kassa_N1".

Теперь, даже если пользователь сменит имя в Windows или очистит все файлы профиля, 1С будет передавать на сервер имя Kassa_N1. В справочнике рабочих мест будет всегда выбираться одна и та же запись, и оборудование не «отвалится».

Влияние веб-сервера IIS и сетевых настроек

При использовании IIS (Internet Information Services) важно учитывать, как сервер идентифицирует входящие подключения. Бывают случаи, когда из-за настроек прокси-серверов или VPN все клиенты видятся серверу 1С под одним и тем же IP-адресом или с пустым именем хоста. Если в базе включена автоматическая генерация рабочих мест, это вызовет путаницу.

Проверим настройки IIS: убедимся, что включена «Windows Authentication» (если используется в домене) или настроена передача оригинальных заголовков хоста. Также стоит обратить внимание на регистр букв: для некоторых версий платформы COMP1 и comp1 — это разные рабочие места. Старайтесь всегда использовать единообразное написание.

Обновление конфигурации и драйверов оборудования

Иногда корень проблемы кроется в обновлении самой «1С:Бухгалтерии». В новых версиях часто обновляется «Библиотека подключаемого оборудования». Даже если вы не трогали драйвер (например, АТОЛ), логика взаимодействия 1С с этим драйвером могла измениться.

Разберем, что нужно сделать в этом случае:

  1. Зайти в раздел «Администрирование» — «Подключаемое оборудование».
  2. Открыть карточку текущего оборудования.
  3. Проверить, не появилось ли предупреждение о необходимости обновить драйвер или переустановить компоненту.
  4. Если рабочие места уже размножились, воспользуйтесь стандартной обработкой «Поиск и удаление дублей» для справочника «Рабочие места», предварительно перепривязав настройки оборудования к «правильному» элементу.

Резюме и рекомендации

Чтобы забыть о проблеме дублирования рабочих мест, придерживайтесь следующих правил:

Соблюдение этих простых технических регламентов позволит обеспечить стабильную работу торгового оборудования и чистоту в справочниках информационной базы.

← На главную