При работе в Рабочем месте кассира (РМК) или документе Чек ККМ в решениях нового поколения (1С:Комплексная автоматизация 2, 1C:ERP, 1С:Управление торговлей 11) пользователи часто сталкиваются с невозможностью скорректировать цену товара вручную. В отличие от конфигураций предыдущих поколений (таких как Управление торговлей 10.3 или Комплексная автоматизация 1.1), где существовал регистр Значения дополнительных прав доступа и настройка дополнительных прав пользователей, в новых версиях архитектура работы с розничными продажами изменена.
Выясним причину такого поведения системы: в типовых релизах конфигурации 1С:Комплексная автоматизация 2 разработчики программного продукта жестко активировали свойство ТолькоПросмотр у элемента формы и реквизита табличной части Товары.Цена документа Чек ККМ. Из-за этого добавление стандартных ролей или полных прав пользователю не снимает блокировку с поля ввода цены.
Перед тем как вносить технические изменения в систему, проанализируем предусмотренные разработчиками 1С типовые механизмы:
Ручные скидки в продажах. В настройках правил продаж задаются предельные проценты скидки и наценки для кассиров, что позволяет менять итоговую сумму в разрешенном диапазоне.Установка цен номенклатуры для обновления розничных цен, привязанных к кассе или розничному складу.Если бизнес-процесс компании требует именно прямого ввода цен кассиром непосредственно в табличную часть РМК, оптимальным решением будет использование механизмов расширения платформы 1С:Предприятие 8.3. Это позволяет сохранить конфигурацию на полной поддержке поставщика без необходимости изменения структуры основной конфигурации.
Рассмотрим по шагам алгоритм решения задачи с помощью расширения:
ЧекККМ и соответствующую форму РМК / форму документа.ТоварыЦена сбросим флаг ТолькоПросмотр.ПравоРедактированияЦенВРМК) и пропишем программную проверку при открытии формы:
&НаСервере
Процедура ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
Если ПравоДоступа("Использование", Метаданные.Роли.ПравоРедактированияЦенВРМК) Тогда
Элементы.ТоварыЦена.ТолькоПросмотр = Ложь;
Иначе
Элементы.ТоварыЦена.ТолькоПросмотр = Истина;
КонецЕсли;
КонецПроцедуры
Благодаря использованию расширения типовая конфигурация остаётся необновляемой вручную, а кассиры с соответствующими правами получают возможность произвольного ввода цен при оформлении чеков.