После обновления конфигурации 1С:Управление нашей фирмой (УНФ) до версии 3.0.11.119 и выше многие пользователи столкнулись с изменением логики работы в Рабочем месте кассира (РМК). Система начала принудительно требовать указания ячейки при подборе товара, даже если фактический учет остатков в разрезе ячеек (адресное хранение) не ведется. Это приводит к тому, что Чек ККМ не проводится, выдавая ошибку о нехватке остатков по конкретной ячейке (в таких случаях может пригодиться автоматическое оприходование отрицательных остатков), хотя на складе в целом товар в наличии есть.
В этой статье мы подробно разберем, почему так происходит, и рассмотрим несколько способов решения данной проблемы: от изменения настроек системы до написания небольшого расширения.
В новых релизах ветки 3.0.11 разработчики 1С существенно переработали механизмы РМК (в частности, было добавлено ограничение продаж по категориям номенклатуры). Основное изменение коснулось того, как система интерпретирует настройки склада. Если в карточке склада включена опция «Использовать ячейки», РМК пытается автоматически определить способ хранения. Существует два основных варианта:
Запасы (для анализа которых удобно использовать сравнение регистров) хранятся только в разрезе склада.ЗапасыПоЯчейкам.Проблема релиза 3.0.11.119 заключается в том, что даже при справочном хранении РМК может начать проверять остатки по выбранной ячейке, что является ошибочным поведением для типового функционала. Проанализируем, как это можно исправить.
Если в вашей организации ячейки использовались только как справочная информация и вы не ведете строгий учет «штука в ячейке», самым простым решением будет отключение этого функционала. Рассмотрим, как это сделать правильно:
Процедура изменения настроек склада может быть заблокирована, если по складу уже есть движения. Однако, как показывает практика и советы технических специалистов, это ограничение можно обойти, если по регистру ЗапасыПоЯчейкам нет актуальных записей.
Групповое изменение реквизитов.После снятия этого флага поле «Ячейка» исчезнет из интерфейса РМК и документов Чек ККМ, что полностью устранит проблему с нехваткой остатков.
Если вам важно оставить кассиру подсказку, в какой ячейке лежит товар, но вы не хотите вести учет остатков по ним, убедитесь, что в настройках ячеек склада выбран вариант «Справочно».
Разберем ситуацию: в версии 3.0.11 РМК при подборе товара выводит список доступных ячеек. Если кассир выбирает ячейку, она попадает в документ. Чтобы программа не выдавала ошибку при проведении, необходимо проверить настройки контроля остатков в разделе Настройки — Еще больше возможностей — Склад. Если контроль остатков установлен в режиме «Не отгружать при нехватке», а ячейка заполнена, система будет искать товар именно там.
Если типовые настройки не помогают или бизнес-процесс требует, чтобы кассир видел ячейку в РМК, но в сам Чек ККМ она не попадала (чтобы не блокировать списание общего остатка), можно воспользоваться механизмом расширений. Это позволит сохранить конфигурацию на поддержке.
Нам необходимо перехватить момент записи документа ЧекККМ и принудительно очистить поле Ячейка в табличной части Запасы. Рассмотрим пример кода, который можно разместить в модуле объекта документа в расширении:
&После("ПередЗаписью")
Процедура ИТ_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
// Проверяем, что документ записывается из формы РМК или является Чеком ККМ
// Очищаем ячейки в табличной части, чтобы списание шло по складу в целом
Для Каждого СтрокаТЧ Из ЭтотОбъект.Запасы Цикл
Если ЗначениеЗаполнено(СтрокаТЧ.Ячейка) Тогда
СтрокаТЧ.Ячейка = Справочники.Ячейки.ПустаяСсылка();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Этот «костыль» эффективно решает проблему: кассир видит ячейку при подборе (удобство сохраняется), но в базу документ записывается без привязки к конкретному адресу, и списание остатков происходит корректно по складу в целом.
В новых версиях УНФ настройки РМК вынесены в отдельный блок. Проанализируем возможности настройки интерфейса:
Выясним важный момент: релиз 3.0.11.119 признан многими специалистами «переходным» и содержащим ряд ошибок в логике нового РМК. Одной из рекомендаций является обновление до версии 3.0.12 или 3.0.13. В этих версиях разработчики исправили поведение системы, когда справочное использование ячеек ошибочно подменялось адресным контролем остатков в интерфейсе кассира.
Резюмируем: если вам не нужен строгий учет по ячейкам, лучшее решение — отключить опцию в карточке склада. Если же ячейки нужны как справочник — используйте расширение для очистки поля в чеке или обновите конфигурацию до более стабильного релиза, где эта ошибка исправлена на уровне платформенной логики 1С:УНФ.