В процессе работы с конфигурацией 1С:Управление торговлей 11 (а также 1С:ERP и 1С:КА) пользователи часто сталкиваются с проблемой: при использовании системы автоматических скидок итоговая цена товара видна только после того, как позиция перенесена в документ. В форме подбора отображается базовая цена без учета индивидуальных условий клиента. Это крайне неудобно для менеджеров по продажам, которым важно оперативно сообщать клиенту конечную стоимость еще на этапе выбора товаров.
Разберем, как решить эту задачу стандартными средствами системы, не прибегая к доработке кода. Основная идея заключается в переходе от использования механизма скидок к использованию механизма уточнения видов цен по ценовым группам в соглашениях.
Прежде чем приступать к настройкам, нам необходимо убедиться, что в системе включены все требуемые инструменты. Проанализируем раздел настроек. Перейдем в НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг.
Убедимся, что установлены флаги напротив следующих пунктов:
Система должна понимать, к какой категории относится тот или иной товар, чтобы применить к нему правильную цену. Для этого мы будем использовать справочник ЦеновыеГруппы. Рассмотрим ситуацию на примере: у нас есть электроинструмент, на который мы даем клиенту цену "Опт", и расходные материалы, на которые должна действовать цена "Спеццена -10%".
Выполним следующие действия:
ЦеновыеГруппы.ЦеноваяГруппа.Важный нюанс: если товар не будет отнесен ни к одной ценовой группе, для него будет действовать основной вид цены, указанный в шапке соглашения.
Чтобы видеть цену сразу в подборе, мы должны отказаться от автоматических скидок в пользу расчетных видов цен. Разберем, как создать вид цены, который автоматически будет на 10% ниже розничной.
В справочнике ВидыЦен создадим новый элемент:
Теперь система будет хранить или рассчитывать готовую цену, которую форма подбора сможет отобразить мгновенно.
Теперь перейдем к самому главному — связке клиента, товара и цены. Откроем ИндивидуальноеСоглашение с конкретным клиентом (или ТиповоеСоглашение, если условия общие для группы клиентов).
На вкладке Условия продаж мы видим поле Вид цены. Это "базовый" вид цены для этого соглашения. Но нас интересует вкладка Уточнение цен по ценовым группам. Разберем порядок действий на этой вкладке:
ЦеновуюГруппу (например, "Расходные материалы").Проанализируем ситуацию: теперь при выборе этого соглашения в документе продажи система будет знать, что для товаров из разных групп нужно брать цены из разных прайс-листов.
Выясним, почему цена иногда всё равно не видна. Когда менеджер открывает форму подбора из ЗаказаКлиента или РеализацииТоваровУслуг, в которой уже выбрано наше соглашение, происходят следующие процессы:
Если цена не отображается, проверим настройки самой формы подбора. Нажмем кнопку Настройка в окне подбора и убедимся, что включено отображение цен и остатков. Также помните, что если вы используете характеристики, цена может появиться только после выбора конкретной характеристики, если цены установлены в разрезе них.
Многие спрашивают: почему нельзя просто использовать скидки? Проанализируем архитектуру 1С. Расчет автоматических скидок — это тяжелая вычислительная операция. Она зависит от множества факторов: суммы документа, количества товара, наличия других товаров в корзине (комплекты), накопленных продаж клиента. Если бы система рассчитывала скидки для каждой строки прямо в списке подбора (где могут быть тысячи позиций), форма подбора работала бы крайне медленно.
Поэтому золотое правило 1С:УТ 11 гласит: если вы хотите видеть цену в подборе — используйте ВидыЦен. Если вы хотите видеть выгоду клиента в печатной форме (строка "Скидка") — используйте СкидкиНаценки. В нашем случае, назначение разных видов цен по ценовым группам — это идеальный баланс между скоростью работы и информативностью.
Рассмотрим проблему масштабируемости. Если у вас сотни индивидуальных соглашений, добавлять в каждое новую ценовую группу вручную — трудозатратно. Рекомендуем использовать Типовые соглашения. Вы можете создать одно типовое соглашение "Дилеры", настроить в нем все уточнения по группам, и просто указать это соглашение в карточках соответствующих клиентов. Тогда любое изменение в типовом соглашении моментально применится ко всем клиентам этой категории.
Если же вы вынуждены использовать именно индивидуальные соглашения, можно воспользоваться обработкой "Групповое изменение реквизитов" или написать несложный код для заполнения табличной части ЦеновыеГруппы в объектах типа Справочник.СоглашенияСКлиентами.
Пример программного обращения к уточнению цен (для разработчиков):
// Пример получения вида цены из соглашения для конкретной номенклатуры
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("Номенклатура", ВыбранныйТовар);
ПараметрыЗапроса.Вставить("Соглашение", ВыбранноеСоглашение);
// Система автоматически найдет нужное уточнение в ТЧ "ЦеновыеГруппы"
// или возьмет основной вид цены из шапки.
Таким образом, комбинируя ценовые группы и уточнения в соглашениях, мы получаем гибкий и быстрый инструмент, позволяющий менеджеру видеть актуальные цены сразу в момент подбора товара.