Почему автоматическая скидка рассчитывается в отчетах 1С:УТ 11, но не выводится в документе продажи и ТОРГ-12?

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

При первичной настройке ценообразования в программе «1С:Управление торговлей» (редакция 11) пользователи часто сталкиваются с парадоксальной ситуацией. Вроде бы все условия предоставления скидки настроены правильно, в специальном окне «Информация о скидках» система показывает рассчитанную сумму, и даже специализированный отчет «Примененные скидки» фиксирует успешный расчет. Однако в самой табличной части документа Реализация товаров и услуг цены и суммы остаются базовыми, а печатная форма ТОРГ-12 формируется без учета скидки. Скидка просто не переносится в итоговые показатели документа.

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

Главная причина: незаполненный реквизит «Способ применения»

Основная причина, по которой скидка может рассчитываться «виртуально» (в отчетах и окнах информации), но не влиять на конечные взаиморасчеты и печатные формы — это незаполненный или некорректно заполненный реквизит СпособПримененияСкидки в карточке настройки скидки/наценки (в пользовательском интерфейсе этот реквизит называется «Способ применения»).

Давайте разберем по шагам, как этот реквизит влияет на логику работы программы. Данное поле определяет целевое действие, которое система должна совершить при выполнении всех условий. Оно ссылается на системное перечисление СпособыПримененияСкидокНаценок, основными значениями которого являются:

  1. Скидка (наценка) — указывает системе, что рассчитанную сумму необходимо напрямую распределить по строкам табличной части «Товары» документа продажи, уменьшив конечную цену и сумму для клиента.
  2. Начисление бонусных баллов — дает команду системе рассчитать баллы по программе лояльности и зафиксировать их на карте клиента. При этом сама сумма документа и цены товаров в ТЧ «Товары» остаются неизменными.

Если реквизит СпособПримененияСкидки остается пустым, программа отрабатывает следующий сценарий:

  1. При расчете скидок в документе система обращается к условиям предоставления. Если условия выполнены (например, сумма покупки превысила пороговое значение), алгоритм делает предварительный расчет.
  2. Этот расчет записывается во временные таблицы и регистры сведений, благодаря чему отчет «Примененные скидки» и диалоговое окно «Информация о скидках» показывают успешный результат.
  3. Однако при окончательном проведении документа алгоритм распределения скидки в табличную часть «Товары» прерывается, так как у программы нет четкой инструкции (способа применения) — уменьшать ли стоимость товара на месте или начислить бонусы. В результате колонка автоматической скидки в документе остается пустой, а печатная форма ТОРГ-12, которая формируется строго по данным табличной части «Товары», печатается по полной стоимости.

Ниже представлен концептуальный пример кода, иллюстрирующий, как внутренние механизмы платформы обрабатывают данную настройку:


Если СкидкаНаценка.СпособПрименения = Перечисления.СпособыПримененияСкидокНаценок.СкидкаИлиНаценка Тогда
    // Система успешно уменьшает конечную стоимость товаров в документе
    СтрокаТовара.СуммаАвтоматическойСкидки = РассчитаннаяСуммаСкидки;
    СтрокаТовара.Сумма = СтрокаТовара.Сумма - РассчитаннаяСуммаСкидки;
ИначеЕсли СкидкаНаценка.СпособПрименения = Перечисления.СпособыПримененияСкидокНаценок.НачислениеБонусныхБаллов Тогда
    // Сумма товаров не меняется, скидка фиксируется только в бонусном регистре
    ЗарегистрироватьБонусныеБаллы(ДокументСсылка, РассчитаннаяСуммаСкидки);
Иначе
    // Реквизит пуст: расчет произведен, но данные в табличную часть не переносятся
    ЗаписатьИнформациюОСкидкеВЛог(ДокументСсылка, СкидкаНаценка, "Способ применения не определен");
КонецЕсли;

Другие распространенные причины расхождения расчетов скидок

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

1. Проверка функциональной опции в настройках системы

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

  1. Откройте раздел НСИ и администрирование -> Настройка НСИ и разделов -> CRM и маркетинг.
  2. Найдите подраздел Маркетинг.
  3. Убедитесь, что установлен флаг напротив опции «Автоматические скидки в продажах». Если этот флаг снят, автоматический расчет в документах производиться не будет, даже если сами скидки заведены в справочнике.

2. Ограничения в Соглашении с клиентом

Продажи в 1С:УТ 11 жестко привязаны к соглашениям (типовым или индивидуальным). Даже если скидка действует глобально, настройки конкретного соглашения могут блокировать ее применение. Проверим параметры соглашения:

  1. Откроем карточку соглашения, по которому оформляется документ реализации.
  2. Перейдем на вкладку «Условия продаж».
  3. Убедимся, что включен флаг «Разрешить автоматические скидки».
  4. Проверим поле «Максимальный процент автоматической скидки». Если в данном поле по ошибке установлен 0, то система заблокирует применение любых рассчитанных скидок в табличной части товаров.

3. Конфликты в дереве совместного применения скидок

Все скидки в системе упорядочены в специальном дереве совместного применения. Правила их взаимодействия настраиваются через группы совместного применения. Возможны следующие варианты наложения:

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

4. Исключения по сегментам номенклатуры и ценовым группам

Иногда общее условие скидки (например, общая сумма закупки по документу) выполняется, и система рапортует об успешном срабатывании правила. Однако на вкладке настроек скидки «Предоставляется на» могут стоять жесткие ограничения по номенклатуре. Если в документе реализации присутствуют только те товары, которые входят в список исключений или не соответствуют указанному сегменту, скидка физически не сможет распределиться по строкам табличной части. Сумма скидки в строках документа останется равной нулю.

5. Особенности цепочки «Заказ клиента -> Реализация товаров и услуг»

Если вы создаете документ Реализация товаров и услуг на основании предварительно оформленного Заказа клиента, обратите внимание на следующий важный регламент работы системы:

  1. Расчет автоматических скидок по умолчанию должен производиться еще на этапе создания Заказа клиента.
  2. При создании реализации на основании заказа скидки копируются из документа-основания.
  3. Если в самом заказе скидки не были рассчитаны (или их расчет был заблокирован), то при автоматическом заполнении реализации они также не появятся.
  4. Если в настройках CRM и маркетинга отключен флаг «Автоматически рассчитывать скидки при проведении документов», вам потребуется запустить расчет вручную в реализации через меню Цены и скидки -> Рассчитать скидки (наценки).

Резюме и пошаговый чек-лист для проверки

Для оперативного устранения проблемы рекомендуется следовать простому чек-листу:

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