При переходе на релиз конфигурации 1С:Управление торговлей 11.5.17.90 многие пользователи и администраторы сталкиваются с неприятным поведением подсистемы розничных продаж: при закрытии кассовой смены из рабочего места кассира (РМК) перестает создаваться документ «Выемка денежных средств из кассы ККМ», несмотря на активный флаг автоинкассации. При этом ручная выемка наличных через интерфейс РМК приводит к созданию документа с установленной пометкой на удаление. Разберем детально, с чем связана данная неполадка и какими способами можно восстановить корректный учет денежных средств в кассе.
Рассмотрим, почему система ведет себя подобным образом. Описанное поведение вызвано зарегистрированной ошибкой конфигурации с кодом 00-00644690 («С версии 11.5.17.90 не создается автоматическая выемка при закрытии кассовой смены»).
Проанализируем техническую сторону вопроса:
ПометкаУдаления = Истина. Это черновик, защищающий базу от появления проведенных документов при зависании драйвера, обрыве связи или отказе фискального регистратора. После того как онлайн-касса успешно напечатает чек выемки, обработчик ответа ККТ должен снять пометку и провести документ. В версии 11.5.17.90 в асинхронной цепочке обработки события возврата от оборудования возник сбой: постобработка не выполняется до конца, из-за чего созданный документ остается помеченным на удаление.Выясним, какие официальные способы решения проблемы предоставляет вендор. Фирма «1С» устранила данную ошибку в следующих обновлениях конфигурации:
11.5.17.10611.5.18.4111.5.19.44Если в информационной системе развернута распределенная информационная база (РИБ) с большим количеством узлов, полное обновление конфигурации метаданных на всех точках может быть трудоемким. В таком случае оптимальным решением является установка официального патча исправлений (расширения типа EF_00_00644690).
Преимущество патча в распределенной базе заключается в том, что при установке в центральном узле (раздел «НСИ и администрирование» → «Обслуживание» → «Обновление конфигурации» → «Установка исправлений (патчей)») патч автоматически передается во все подчиненные узлы в рамках регулярного сеанса обмена РИБ без необходимости монопольного обновления структуры метаданных.
Если возможность установить официальный патч отсутствует, исправим логику с помощью собственного расширения. Для восстановления корректной работы нам потребуется вмешаться в две цепочки событий.
Рассмотрим, какие процедуры необходимо скорректировать:
Если РезультатОперацииККТ Тогда
ДокументОбъект = СсылкаНаВыемку.ПолучитьОбъект();
ДокументОбъект.ПометкаУдаления = Ложь;
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
Важно для распределенных баз: При подключении расширения через план обмена убедимся, что расширение не содержит собственных объектов метаданных (новых реквизитов, табличных частей или документов), способных нарушить структуру распределенной базы данных.
Пока выполняется подготовка доработки или обновление узлов, разберем регламентные обходные пути для поддержания корректного учета остатков:
ДенежныеСредстваВКассахККМ и позволит принять выручку в главную кассу организации через документ «Приходный кассовый ордер».