Как исправить ошибку дублирования идентификатора рабочего места и настроить печать чеков из ПКО в 1С:УТ 11.4

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

При подключении торгового оборудования (например, популярной онлайн-кассы Атол 30Ф) в конфигурации 1С:Управление торговлей 11.4 пользователи часто сталкиваются с крайне неприятной проблемой. С одной стороны, рабочее место кассира (РМК) успешно функционирует, и чеки пробиваются. С другой стороны, при попытке пробить чек из документа «Приходный кассовый ордер» (ПКО) система выдает критическую ошибку: «Нет подключенного оборудования». Для автоматического заполнения параметров в таких документах на основе настроек РМК можно использовать расширение для определения кассы в ПКО и терминала по настройкам рабочего места.

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

Почему возникает ошибка «Такой идентификатор уже есть»?

Для начала проанализируем внутренние механизмы платформы 1С:Предприятие 8.3 и Библиотеки стандартных подсистем (БСП), на базе которой построена «1С:Управление торговлей 11.4».

Идентификация рабочих мест в системе происходит не по имени компьютера или пользователя, а по уникальному глобальному идентификатору (GUID / Client ID).

  1. Где хранится уникальный ID: При самом первом запуске базы данных на конкретном компьютере платформа 1С автоматически генерирует уникальный идентификатор сеанса и записывает его в локальный файл настроек пользователя Windows. Этот файл называется 1cv8u.pfl и располагается по пути: %LocalAppData%\1C\1cv8\ (локальный кэш пользователя).
  2. Почему двоится рабочее место: Если этот файл настроек удаляется (например, системный администратор почистил кэш 1С, пользователь сменил учетную запись в Windows, была переустановлена операционная система или платформа 1С), программа теряет старый идентификатор. При следующем запуске 1С считает, что запуск происходит на абсолютно новом компьютере, генерирует новый GUID и автоматически создает для него новое рабочее место в справочнике РабочиеМеста.
  3. Суть конфликта при создании: Когда вы заходите в настройки и пытаетесь вручную нажать кнопку «Создать новое рабочее место», система берет текущий автоматически сгенерированный GUID сеанса и пытается записать его в базу. Но запись с этим GUID уже была создана системой автоматически в фоновом режиме при запуске. СУБД блокирует транзакцию, так как поле уникального идентификатора защищено от дублирования, и возвращает ошибку о наличии такого идентификатора.

Почему чеки бьются из РМК, но не печатаются из ПКО?

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

Пошаговый алгоритм решения проблемы

Для восстановления корректной работы торгового оборудования нам не нужно создавать новые элементы. Наша задача — правильно связать уже существующие настройки оборудования с текущим активным рабочим местом. Разберем этот процесс по шагам.

Шаг 1. Отображение скрытых рабочих мест

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

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

Шаг 2. Перепривязка ККМ к текущему рабочему месту

Теперь свяжем нашу онлайн-кассу с актуальным рабочим местом сеанса:

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

Шаг 3. Очистка дубликатов в справочнике

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

  1. Вернитесь в справочник «Рабочие места».
  2. Найдите старые неактивные дубликаты рабочих мест (на них не должно быть зеленых пометок текущего сеанса и к ним больше не должно быть привязано никакого оборудования).
  3. Нажмите правой кнопкой мыши по старому рабочему месту и выберите «Пометить на удаление».
  4. Перейдите в раздел «Администрирование» -> «Обслуживание» -> «Удаление помеченных объектов» и полностью удалите эти дубликаты из базы данных.

Шаг 4. Настройка связи в Кассе ККМ

Последний штрих — проверка правильности аналитики торговой точки:

  1. Перейдите в раздел «НСИ и администрирование» -> «Кассы ККМ».
  2. Выберите кассу, с которой велась работа.
  3. Если поля заблокированы, нажмите меню «Еще» -> «Разрешить редактирование реквизитов».
  4. Убедитесь, что в полях «Рабочее место» и «Подключаемое оборудование» выбраны именно те актуальные элементы, которые мы настроили на предыдущих шагах. Сохраните изменения.

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

Если ваша компания использует работу в 1С через удаленные рабочие столы (RDP), описанная проблема может повторяться регулярно при каждом новом входе пользователя в терминал. Выясним причину этого поведения.

На многих терминальных серверах настроено автоматическое удаление временных профилей пользователей Windows при закрытии сессии (разлогинивании) для экономии дискового пространства. Вместе с профилем безвозвратно удаляется папка AppData и хранящийся в ней файл настроек платформы 1cv8u.pfl. При следующем входе пользователя сервер создает абсолютно новый профиль, 1С генерирует новый Client ID, и вся цепочка дублирования рабочих мест запускается заново.

Для решения этой проблемы системному администратору сервера необходимо выполнить одно из следующих действий:

Технический аудит рабочих мест с помощью запроса

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


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	РабочиеМеста.Ссылка КАК РабочееМесто,
    |	РабочиеМеста.Код КАК Код,
    |	РабочиеМеста.ИмяКомпьютера КАК ИмяКомпьютера,
    |	РабочиеМеста.ИдентификаторКлиента КАК GUID_Клиента,
    |	РабочиеМеста.ПометкаУдаления КАК ПометкаУдаления
    |ИЗ
    |	Справочник.РабочиеМеста КАК РабочиеМеста
    |УПОРЯДОЧИТЬ ПО
    |	ИмяКомпьютера";

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл
    // Здесь мы можем программно оценить количество дубликатов на один ПК
    Если ПустаяСтрока(Выборка.GUID_Клиента) Тогда
        Продолжить;
    КонецЕсли;
КонецЦикла;

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

← На главную