Как восстановить рабочее место кассира в 1С:Управление торговлей 11 после технического сбоя?

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

Рассмотрим распространенную проблему, с которой часто сталкиваются администраторы торговых систем и кассиры при работе в программе «1С:Управление торговлей 11» (а также в «1С:Розница» и «1С:ERP»). В процессе работы из-за внезапного сбоя компьютера, отключения питания или некорректного завершения терминальной сессии программа 1С перестает «видеть» подключенное торговое оборудование (фискальный регистратор, ККТ) и автоматически создает новое рабочее место кассира (РМК). При этом старая касса остается привязанной к прежнему рабочему месту, и кассир не может пробивать чеки.

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

Почему 1С теряет рабочее место кассира?

Для начала проанализируем ситуацию изнутри платформы «1С:Предприятие 8». Привязка подключаемого оборудования к конкретному физическому компьютеру осуществляется через справочник РабочиеМеста. Чтобы идентифицировать конкретный ПК, программа ориентируется на уникальный идентификатор клиента — GUID (ClientID).

Этот идентификатор генерируется платформой при первом запуске и сохраняется в файловой системе операционной системы Windows в специальном файле настроек платформы 1cv8u.pfl (в некоторых версиях — 1cv8.pfl). Обычно этот файл располагается по следующему пути:

%userprofile%\AppData\Local\1C\1cv8\1cv8u.pfl

Во время аварийного завершения работы системы, сброса кэша 1С или обновления платформы данный файл может повредиться, перезаписаться или удалиться. При следующем запуске 1С не находит старый GUID в файле настроек, генерирует новый уникальный идентификатор и автоматически создает в базе данных новую запись в справочнике РабочиеМеста. Поскольку к этому новому месту оборудование еще не привязано, кассир видит ошибку подключения ККТ.

Рассмотрим подробнее три основных способа решения этой проблемы.

Способ 1. Перепривязка оборудования в интерфейсе 1С

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

Выполним следующие действия по шагам:

  1. Запустим 1С под пользователем с правами администратора.
  2. Перейдем в раздел НСИ и администрирование, далее выберем пункт РМК и оборудование (или Подключаемое оборудование).
  3. В открывшейся форме списка оборудования обязательно установим флажок «Все рабочие места». Это позволит отобразить ККТ, которая осталась привязанной к старому «отвалившемуся» рабочему месту.
  4. Найдем в списке нужный фискальный регистратор (например, АТОЛ) и откроем его карточку двойным щелчком мыши.
  5. В поле «Рабочее место» нажмем кнопку выбора и выберем из списка новое рабочее место, которое автоматически создалось системой после сбоя.
  6. Нажмем кнопку Записать и закрыть.

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

Способ 2. Программная подмена идентификаторов (GUID) рабочих мест

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

Сделать это можно с помощью внешней обработки или написав небольшую процедуру. Посмотрим на пример кода, который выполняет замену GUID непосредственно в базе данных 1С:


// Процедура производит обмен GUID между старым и новым рабочими местами
Процедура ОбменятьИдентификаторамиРМ(СтароеРМСсылка, НовоеРМСсылка) Экспорт
    
    // Получаем объекты для записи изменений
    СтароеРМОбъект = СтароеРМСсылка.ПолучитьОбъект();
    НовоеРМОбъект = НовоеРМСсылка.ПолучитьОбъект();
    
    // Считываем текущие значения идентификаторов клиента (GUID)
    ВременныйGUID_Старый = СтароеРМОбъект.ИдентификаторКлиента;
    ВременныйGUID_Новый = НовоеРМОбъект.ИдентификаторКлиента;
    
    // Меняем идентификаторы местами
    СтароеРМОбъект.ИдентификаторКлиента = ВременныйGUID_Новый;
    НовоеРМОбъект.ИдентификаторКлиента = ВременныйGUID_Старый;
    
    // Записываем измененные объекты в базу данных
    СтароеРМОбъект.Записать();
    НовоеРМОбъект.Записать();
    
    Сообщить("Обмен идентификаторами рабочих мест успешно завершен!");
    
КонецПроцедуры

После выполнения данного кода и перезапуска сеанса 1С программа мгновенно распознает ваш компьютер как старое («правильное») рабочее место, и касса снова будет готова к работе под старой открытой сменой.

Способ 3. Ручное редактирование файла настроек 1cv8u.pfl

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

Разберем этот процесс по шагам:

  1. Откроем справочник РабочиеМеста в 1С под администратором и найдем карточку старого (нужного нам) рабочего места. Нам необходимо скопировать значение поля Идентификатор клиента (это длинная строка формата aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee).
  2. Полностью закроем 1С на проблемном компьютере кассира.
  3. Нажмем комбинацию клавиш Win + R на клавиатуре, введем команду %localappdata%\1C\1cv8\ и нажмем Enter.
  4. В открывшейся папке найдем файл с именем 1cv8u.pfl (или 1cv8.pfl) и откроем его с помощью обычного текстового редактора (например, Блокнота).
  5. Найдем в содержимом файла параметр ClientID. Строка будет иметь следующий вид:

    {"Universal", {"ClientID", {"#", ffffffff-0000-0000-0000-000000000002, aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}}}

  6. Заменим текущий GUID (в примере это aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee) на скопированный ранее идентификатор вашего старого рабочего места.
  7. Сохраним изменения в файле и закроем текстовый редактор.

Запустим программу 1С. Платформа считает измененный файл настроек, определит компьютер как прежнее рабочее место и автоматически подключит всё ранее настроенное торговое оборудование.

Рекомендация для работы в терминальном режиме (RDP)

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

Чтобы решить эту проблему кардинально, системному администратору рекомендуется настроить специальный скрипт автозапуска (PowerShell или обычный .bat / .cmd файл). Этот скрипт при каждом входе пользователя в терминал должен принудительно копировать заранее сохраненный эталонный файл 1cv8u.pfl с прописанным верным GUID в локальную папку профиля пользователя 1С. Это гарантирует стабильную работу ККТ без постоянных сбоев.

← На главную