Как убрать автоматическое проставление ячеек в чеках ККМ и РМК в 1С:УНФ 3.0

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

После обновления конфигурации 1С:Управление нашей фирмой (УНФ) до версии 3.0.11.119 и выше многие пользователи столкнулись с изменением логики работы в Рабочем месте кассира (РМК). Система начала принудительно требовать указания ячейки при подборе товара, даже если фактический учет остатков в разрезе ячеек (адресное хранение) не ведется. Это приводит к тому, что Чек ККМ не проводится, выдавая ошибку о нехватке остатков по конкретной ячейке (в таких случаях может пригодиться автоматическое оприходование отрицательных остатков), хотя на складе в целом товар в наличии есть.

В этой статье мы подробно разберем, почему так происходит, и рассмотрим несколько способов решения данной проблемы: от изменения настроек системы до написания небольшого расширения.

Анализ причины возникновения проблемы

В новых релизах ветки 3.0.11 разработчики 1С существенно переработали механизмы РМК (в частности, было добавлено ограничение продаж по категориям номенклатуры). Основное изменение коснулось того, как система интерпретирует настройки склада. Если в карточке склада включена опция «Использовать ячейки», РМК пытается автоматически определить способ хранения. Существует два основных варианта:

  1. Справочное размещение — ячейка служит лишь подсказкой для кассира или кладовщика, где искать товар. Остатки в регистре Запасы (для анализа которых удобно использовать сравнение регистров) хранятся только в разрезе склада.
  2. Адресное хранение (Ячеистый склад) — остатки жестко фиксируются в разрезе каждой ячейки (для массового создания которых подойдет подготовка ячеек адресного склада) в специальном регистре ЗапасыПоЯчейкам.

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

Решение 1: Отключение использования ячеек в настройках склада

Если в вашей организации ячейки использовались только как справочная информация и вы не ведете строгий учет «штука в ячейке», самым простым решением будет отключение этого функционала. Рассмотрим, как это сделать правильно:

Процедура изменения настроек склада может быть заблокирована, если по складу уже есть движения. Однако, как показывает практика и советы технических специалистов, это ограничение можно обойти, если по регистру ЗапасыПоЯчейкам нет актуальных записей.

  1. Перейдем в раздел Компания — Склады.
  2. Откроем карточку нужного склада.
  3. Попробуем снять флаг «Использовать ячейки».
  4. Если система выдает предупреждение, проанализируем движения. Если фактически остатки по ячейкам не распределялись (регистр пуст), флаг можно снять через обработку Групповое изменение реквизитов.

После снятия этого флага поле «Ячейка» исчезнет из интерфейса РМК и документов Чек ККМ, что полностью устранит проблему с нехваткой остатков.

Решение 2: Перевод склада в режим «Справочно»

Если вам важно оставить кассиру подсказку, в какой ячейке лежит товар, но вы не хотите вести учет остатков по ним, убедитесь, что в настройках ячеек склада выбран вариант «Справочно».

Разберем ситуацию: в версии 3.0.11 РМК при подборе товара выводит список доступных ячеек. Если кассир выбирает ячейку, она попадает в документ. Чтобы программа не выдавала ошибку при проведении, необходимо проверить настройки контроля остатков в разделе Настройки — Еще больше возможностей — Склад. Если контроль остатков установлен в режиме «Не отгружать при нехватке», а ячейка заполнена, система будет искать товар именно там.

Решение 3: Программная очистка ячейки через расширение (для программистов)

Если типовые настройки не помогают или бизнес-процесс требует, чтобы кассир видел ячейку в РМК, но в сам Чек ККМ она не попадала (чтобы не блокировать списание общего остатка), можно воспользоваться механизмом расширений. Это позволит сохранить конфигурацию на поддержке.

Нам необходимо перехватить момент записи документа ЧекККМ и принудительно очистить поле Ячейка в табличной части Запасы. Рассмотрим пример кода, который можно разместить в модуле объекта документа в расширении:


&После("ПередЗаписью")
Процедура ИТ_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    // Проверяем, что документ записывается из формы РМК или является Чеком ККМ
    // Очищаем ячейки в табличной части, чтобы списание шло по складу в целом
    Для Каждого СтрокаТЧ Из ЭтотОбъект.Запасы Цикл
        Если ЗначениеЗаполнено(СтрокаТЧ.Ячейка) Тогда
            СтрокаТЧ.Ячейка = Справочники.Ячейки.ПустаяСсылка();
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Этот «костыль» эффективно решает проблему: кассир видит ячейку при подборе (удобство сохраняется), но в базу документ записывается без привязки к конкретному адресу, и списание остатков происходит корректно по складу в целом.

Решение 4: Настройка интерфейса РМК

В новых версиях УНФ настройки РМК вынесены в отдельный блок. Проанализируем возможности настройки интерфейса:

  1. Перейдем в Продажи — Настройки РМК.
  2. Откроем текущую настройку рабочего места.
  3. Проверим вкладку «Интерфейс» или «Подбор». В некоторых подрелизах 3.0.11/3.0.12 появилась возможность управлять видимостью колонок и фильтров.
  4. Если там присутствует флаг, связанный с отображением остатков по ячейкам, попробуйте его отключить.

Рекомендация по обновлению

Выясним важный момент: релиз 3.0.11.119 признан многими специалистами «переходным» и содержащим ряд ошибок в логике нового РМК. Одной из рекомендаций является обновление до версии 3.0.12 или 3.0.13. В этих версиях разработчики исправили поведение системы, когда справочное использование ячеек ошибочно подменялось адресным контролем остатков в интерфейсе кассира.

Резюмируем: если вам не нужен строгий учет по ячейкам, лучшее решение — отключить опцию в карточке склада. Если же ячейки нужны как справочник — используйте расширение для очистки поля в чеке или обновите конфигурацию до более стабильного релиза, где эта ошибка исправлена на уровне платформенной логики 1С:УНФ.

← На главную