Чек пробит, но не обновлён в базе

Проблема: При попытке закрытия чека на Рабочем месте кассира (РМК) появилась нереально большая и страшная ошибка:

Ошибка (приведу целиком)Чеку нужно установить отметку о пробитии при закрытии смены.
Запись чека не выполнена по причине:
{Обработка.РМКУправляемыйРежим.Форма.Форма.Форма(10494)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(1055)}: Не удалось зарегистрировать изменения на узлах плана обмена ПоРабочемуМесту по причине: {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(1328)}: Ошибка выполнения правил регистрации объектов для плана обмена ПоРабочемуМесту.
Описание ошибки:
{ОбщийМодуль.ОбменДаннымиСобытия.Модуль(2032)}: Ошибка при получении списка узлов получателей. Ошибка выполнения запроса: {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(2027)}: Ошибка при вызове метода контекста (Выполнить)
МассивУзловРезультат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(«Ссылка»);
по причине:
Ошибка выполнения запроса по причине:
Конфликт блокировок при выполнении транзакции:
Не удалось заблокировать таблицу ‘_Node22’
по причине:
Не удалось заблокировать таблицу ‘_Node22’
ВызватьИсключение СтрокаСообщения;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(


Оборудование: Стандартное рабочее место, 1С Розница

Решение проблемы: Для начала можно проверить, действительно ли чек не пробился. Для этого заходим в «Продажи —> Чеки».

Смотрим последний чек:

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

Вообще, отчего и почему такое могло случиться?

Всё очень просто! В магазине установлены 3 РМК. И настроена синхронизация этих РМК (или просто «касс») с сервером. Синхронизация проводится раз в пять минут. Соответственно, синхронизация производит обмен всеми изменёнными документами. На кассах таким образом актуализируется вся изменяемая номенклатура с ценами, а на сервере — появляются все пробитые документы на кассах регулярно.

При этом вроде как существует 4 базы раздельных. На сервере — главная, на кассах — зависимые. Но расположенные физически не на сервере.

Делается это потому, что очень часто будет возникать конфликт блокировок. Когда одно РМК закрывает чек. И все данные ещё не записаны нормально в базу, а другая РМК чек уже стала пробивать.


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

Потому надо зайти в документ и, как я уже говорил, пробить чек. Вверху нажать «Пробить чек». Чтобы в чеке всё стало неактивно. Примерно вот так:

При нажатии «Пробить чек» второй раз чек из ККТ выйти при этом не должен.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *