Работа с контрольно-кассовой техникой (ККТ) в многопользовательских средах, таких как SQL-сервер с использованием веб-сервера или RDP, часто преподносит неприятные сюрпризы. Одна из наиболее запутанных ситуаций — когда в справочнике Подключаемое оборудование у разных физических касс внезапно становятся одинаковыми регистрационные номера, номера ФН и заводские номера. При этом сама касса может печатать корректные чеки, но логика 1С ломается: документы Кассовая смена перестают создаваться, а отчеты выводят неверные данные.
Разберем детально, почему это происходит и как восстановить нормальную работу системы.
Проанализируем ситуацию: изначально оборудование было настроено верно, но в процессе работы параметры одной кассы «наехали» на параметры другой. Выясним причину этого явления. В платформе 1С оборудование жестко привязано к справочнику Рабочие места. В среде веб-сервера или терминального доступа идентификатор рабочего места может генерироваться динамически. Если два сеанса разных пользователей по какой-то причине получили один и тот же ID рабочего места, система начинает считать, что обе кассы подключены к одному локальному компьютеру.
Когда один из пользователей открывает настройки оборудования или выполняет операцию, драйвер ККТ опрашивает физическое устройство и обновляет данные в базе. Если в этот момент произошел сбой идентификации рабочего места, 1С может записать данные физической «Кассы №1» в карточку «Кассы №2». Рассмотрим основные факторы, способствующие этому:
Рабочие места.F9 (копирование). При этом копируются внутренние идентификаторы, которые связывают запись с конкретным экземпляром драйвера.Как показывает практика, простое переподключение оборудования в списке часто не помогает. Рассмотрим пошаговый алгоритм восстановления корректных данных, который помог участникам обсуждения:
Подключаемое оборудование.СерийныйНомер и РегистрационныйНомер в базе данных.Важный момент: Эти реквизиты часто недоступны для прямого редактирования в форме, так как они должны считываться программно из памяти ФН через драйвер.
Рассмотрим связь между некорректными номерами в справочнике и логикой закрытия смены. В большинстве типовых конфигураций (включая «Расчет квартплаты и бухгалтерия ЖКХ») при создании документа Кассовая смена срабатывает программная проверка кода:
// Пример упрощенной логики проверки
Если ОтветДрайвера.СерийныйНомер <> Объект.СерийныйНомер Тогда
ВызватьИсключение "Ошибка: Подключенное устройство не соответствует настройкам оборудования!";
КонецЕсли;
Когда в справочнике записан номер «Кассы №1», а вы пытаетесь закрыть смену на «Кассе №2», проверка не проходит. Касса (железо) успешно печатает Z-отчет, так как ей все равно, что записано в базе 1С, но сама программа блокирует создание документа в базе из-за несоответствия номеров. В итоге мы получаем «рассинхрон»: смена в ФН закрыта, а в 1С она висит в статусе «Открыта».
Чтобы ситуация не повторилась, проанализируем настройки рабочих мест. Посмотрим на список в справочнике Рабочие места. Для каждого физического компьютера или уникальной связки «Пользователь + Компьютер» должна существовать строго одна запись.
Рекомендуем выполнить следующие действия:
ID, или наоборот — один ID на разные имена, это признак проблемы.Журналом регистрации. Установите отбор по объекту (конкретный элемент справочника оборудования) и посмотрите, какой пользователь и в какое время внес изменения. Часто выясняется, что данные обновляются автоматически в момент выполнения «Теста устройства» другим сотрудником под тем же рабочим местом.Если документы перестали создаваться даже после исправления номеров, проанализируем состояние регистра сведений Статус кассовых смен (или аналогичного в вашей конфигурации). В нем хранится информация о последней открытой смене для конкретной кассы. Если там «зависла» запись о предыдущей неудачной попытке закрытия, 1С может выдавать ошибку «Смена уже закрыта» или «Смена не открыта». В таких случаях может потребоваться ручная корректировка записи в регистре, чтобы привести её в соответствие с фактическим состоянием кассового аппарата.
Соблюдение этих правил и понимание механизмов взаимодействия 1С с драйвером ККТ позволит избежать ошибок при работе с фискальными данными и обеспечит корректное формирование отчетности.