Как разрешить редактирование цен в чеке ККМ в 1С:Управление торговлей 10.3?

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

В процессе работы розничного магазина часто возникает ситуация, когда кассиру необходимо изменить цену товара непосредственно в момент оформления продажи. Это может быть связано с индивидуальными скидками, округлением суммы или исправлением ошибок в прайс-листе. Однако в типовой конфигурации 1С:Управление торговлей 10.3 (УТ 10.3) пользователи часто сталкиваются с тем, что поле цены в документе Чек ККМ или в интерфейсе РМК (Рабочее место кассира) заблокировано для редактирования. Разберем подробно, почему это происходит и как настроить систему для свободного ввода цен.

Настройка дополнительных прав пользователя

Первым делом проанализируем настройки прав доступа. В 1С 8.3 (Обычные формы) существует разделение на общие роли (в Конфигураторе) и дополнительные права (в режиме Предприятие). Часто полных прав в конфигураторе недостаточно для управления логикой документов.

Рассмотрим по шагам, как включить право на редактирование цен:

  1. Откроем меню Сервис -> Пользователи -> Настройка дополнительных прав пользователей.
  2. В открывшемся окне выберем конкретного пользователя или группу пользователей (например, «Кассиры»).
  3. Перейдем в дерево настроек к разделу Документы.
  4. Найдем и установим флажок напротив пункта Редактирование цен и скидок в документах.
  5. Нажмем кнопку Записать, чтобы изменения вступили в силу.

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

Проверка настроек склада и типа цен розничной точки

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

Проанализируем ситуацию: когда в настройках склада указан тип цен, система при подборе товара в чек автоматически перезаписывает цену, подтягивая её из регистра сведений ЦеныНоменклатуры. В некоторых случаях программные модули формы РМК могут блокировать изменение, чтобы обеспечить соответствие установленному прайс-листу.

Если вам требуется произвольная цена, убедитесь, что в настройках учетной политики не стоит запрет на продажу ниже себестоимости, а также проверьте, не используются ли Автоматические скидки. Иногда включенный механизм автоматических скидок пересчитывает строку при любом изменении, возвращая цену к исходному значению.

Особенности интерфейса РМК (Обработка «Чек ККМ»)

Рассмотрим различие между обычным документом Чек ККМ и специализированным интерфейсом кассира. Интерфейс РМК — это отдельная обработка, которая призвана упростить работу пользователя. В ней часто скрыты лишние колонки и заблокированы поля, чтобы минимизировать риск случайной ошибки кассира.

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

Проблема маркировки товаров (ФЗ-54 и Честный ЗНАК)

Проанализируем современные реалии работы с УТ 10.3. После введения обязательной маркировки (табак, обувь, одежда) разработчики внесли существенные изменения в код типовых конфигураций. Это критически важный момент, о котором часто забывают.

Если в чеке выбрана маркированная продукция, типовая конфигурация программно блокирует редактирование строки. Это сделано для того, чтобы цена продажи соответствовала требованиям законодательства (например, МРЦ для сигарет) и корректно передавалась в ОФД. В коде формы документа часто встречается проверка: если товар подлежит маркировке, свойство ТолькоЧтение для всей строки устанавливается в значение Истина.

Программная доработка для опытных пользователей и разработчиков

Если стандартные настройки не помогают, разберем, как внести минимальные изменения в конфигурацию. Нам необходимо найти процедуру, отвечающую за обновление цен при выборе товара.

Как правило, это процедура ОбработкаПодбора или ТоварыНоменклатураПриИзменении в модуле формы документа ЧекККМ (или в модуле обработки РМК). Чтобы разрешить ввод своей цены, нужно найти фрагмент кода, который принудительно устанавливает цену из справочника, и добавить условие.

Пример логики, которую можно внедрить (псевдокод):


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

Также обратите внимание на сообщение одного из участников форума относительно маркировки. Чтобы разблокировать цену для маркированных товаров, нужно в коде формы найти место, где устанавливается запрет на редактирование строки, и добавить исключения для колонок Цена и Сумма.

Альтернативные способы изменения цены без программирования

Если вы не хотите вносить изменения в код конфигурации, рассмотрим другие варианты решения задачи:

  1. Использование ручных скидок. Как уже упоминалось, если в дополнительных правах разрешено «Редактирование цен и скидок», кассир может вводить процент скидки или сумму скидки. Если нужно увеличить цену, в некоторых релизах УТ 10.3 можно попробовать ввести отрицательную скидку (надбавку), если это не запрещено настройками.
  2. Дисконтные карты. Создайте специальную дисконтную карту (например, «Скидка менеджера»), которая дает право на произвольный процент скидки. Кассир считывает карту и получает возможность регулировать цену легально с точки зрения логики системы.
  3. Документ «Установка цен номенклатуры». Это самый правильный с точки зрения методологии 1С путь. Если цены меняются часто, можно дать кассиру права только на создание этого документа. Перед пробитием чека кассир создает документ, проводит новые цены, и они тут же подтягиваются в Чек ККМ. Однако, как отмечают пользователи, это может быть неудобно при большом потоке покупателей.

Подводя итог, можно сказать: в типовой 1С:Управление торговлей 10.3 возможность изменения цены в чеке ККМ существует «из коробки», но она часто ограничена либо правами пользователя, либо защитными механизмами для маркированного товара. Проверьте настройки дополнительных прав и вид товара в строке — в 90% случаев решение кроется именно здесь.

← На главную