Поделиться через


Пересчет чистых сумм по строкам при импорте заказов на продажу и предложений

В этой статье описывается, каким образом система пересчитывает (и пересчитывает ли вообще) чистые суммы по строкам при импорте заказов на продажу и предложений. Здесь также объясняется, как можно управлять этими действиями в других версиях Microsoft Dynamics 365 Supply Chain Management.

Порядок расчета чистой суммы по строкам при импорте

Добавлено в Supply Chain Management версии 10.0.23 исправление 604418. Это исправление изменило условия, при которых поле Чистая сумма в строке может обновляться или пересчитываться при импорте обновлений существующих заказов на продажу и предложений. В версии 10.0.29 это исправление можно заменить, включив функцию Рассчитать чистую сумму по строке для импорта. Эта функция оказывает похожее воздействие, но она предоставляет глобальный параметр, который позволяет вернуться к старому поведению, если это необходимо. Хотя новое поведение делает работу системы более интуитивно понятной, оно может привести к непредсказуемым результатам в тех случаях, когда выполняются все перечисленные ниже условия.

  • Данные, которые обновляют существующие записи, импортируются с помощью объекта Строки заказа на продажу V2, Строки предложения по продаже V2 или Строки заказа на возврат и с использованием протокола Open Data Protocol (OData), включая ситуации, когда используется двойная запись, импорт/экспорт в Excel и некоторые сторонние средства интеграции.
  • Используемые политики оценки коммерческих соглашений определяют политику изменения, которая ограничивает обновления поля Чистая сумма строк заказов на продажу, строк предложений по продажам и/или строк заказов на возврат. Обратите внимание, что для строк заказа на возврат поле Чистая сумма всегда рассчитывается и не может быть установлено вручную.
  • Импортированные данные включают изменения в поле Чистая сумма в строках или изменения (такие как цена за единицу, количество или скидка), которые приведут к пересчету значения поля Чистая сумма в строках для одной или нескольких существующих записей строк.

В этих сценариях влияние политики оценки коммерческих соглашений состоит в том, чтобы установить ограничение на обновления поля Чистая сумма в строке. Это ограничение называется политикой изменения. Из-за этой политики при использовании интерфейса пользователя для редактирования или пересчета поля система предложит подтвердить внесение этого изменения. Однако при импорте записи системе приходится делать выбор самостоятельно. До версии 10.0.23 система всегда оставляла чистую сумму в строке без изменений, если входящая чистая сумма в строке не равнялась нулю (0). Однако в новых версиях система всегда обновляет или пересчитывает чистую сумму необходимым образом, за исключением случаев, когда это явным образом запрещено. Хотя новое поведение является более логичным, оно может привести к проблемам, если вы уже используете процессы или интеграции, которые предполагают старое поведение системы. В этой статье описывается, как вернуться к старому поведению, если это необходимо.

Контроль расчетов чистых сумм по строкам в версии 10.0.29 и более поздних

В Supply Chain Management версии 10.0.29 появилась функция с именем Рассчитать чистую сумму по строке для импорта. Эта функция добавляет параметр с именем Рассчитать чистую сумму по строке на страницу Параметры модуля расчетов с клиентами. Этот параметр позволяет выбрать между новым и старым поведением при расчете чистых сумм по строкам при импорте.

Включение и отключение расчета чистой суммы по строке для импорта

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

В Supply Chain Management версии 10.0.36 эта функция обязательна и не может быть отключена. При запуске версии, более старой, чем 10.0.36, администраторы могут включать или выключать эту функцию путем поиска функции Рассчитать чистую сумму по строке для импорта в рабочей области Управление функциями.

Настройка параметра "Рассчитать чистую сумму по строке"

Когда включена функция Рассчитать чистую сумму по строке для импорта, можно настроить параметр Рассчитать чистую сумму по строке, выполнив следующие действия.

  1. Перейдите в раздел Расчеты с клиентами > Настройка > Параметры модуля расчетов с клиентами.

  2. На вкладке Цены на экспресс-вкладке Расчет чистой суммы строки посредством интеграции установите для параметра Рассчитать чистую сумму по строке одно из следующих значений:

    • Да — система всегда будет пересчитывать и обновлять суммы по строкам, если это необходимо. (Таким образом, она будет игнорировать политику оценки коммерческих соглашений.)
    • Нет — если существующая или входящая чистая сумма для любой строки равна нулю (0), значение для этой строки пересчитывается на основе других значений (таких как цена за единицу, количество и скидка). Если существующая или входящая чистая сумма отлична от нуля (0), а политика изменения устанавливается в поле Чистая сумма в строке, это поле не пересчитывается и не обновляется, даже если входящие изменения цены, количества и скидки по строке предполагают необходимость пересчета итогового значения. Это поведение соответствует версии 10.0.22.

Влияние функции "Рассчитать чистую сумму по строке для импорта" на параметр CalculateLineAmount

Когда функция Рассчитать чистую сумму по строке для импорта включена, значение параметра CalculateLineAmount для таблиц SalesLine и SalesQuotationLine не действует. Вместо этого поведение управляется глобально с помощью параметра Рассчитать чистую сумму по строке, который описывается в предыдущем разделе. Таким образом, когда эта функция включена, не следует рассчитывать на использованием значения CalculateLineAmount.

Когда функция Рассчитать чистую сумму по строке для импорта выключена, параметр CalculateLineAmount для таблиц SalesLine и SalesQuotationLine будет работать так же, как он работает в Supply Chain Management с версии 10.0.23 до версии 10.0.28 (см. описание в следующем разделе).

Контроль расчетов чистых сумм по строкам в версии 10.0.28 и более ранних

После выпуска исправления 604418 в версии 10.0.23 появилась возможность выбрать способ поведения каждого подходящего объекта данных, когда чистая сумма по строке была изменена или должна быть пересчитана из-за других изменений (например, обновленной цены номенклатуры). Это поведение можно контролировать, установив в импортируемом файле одно из перечисленных ниже значений для нового параметра CalculateLineAmount для каждой строки.

  • CalculateLineAmount = 1 — поле Чистая сумма в строке всегда пересчитывается и обновляется, независимо от того, задана ли политика изменения для поля, и вне зависимости от значения поступающей или существующей чистой суммы по строке.
  • CalculateLineAmount = 0 — если существующая или входящая чистая сумма для любой строки равна нулю (0), значение для этой строки пересчитывается на основе других значений (таких как цена за единицу, количество и скидка). Если существующая или входящая чистая сумма отличается от нуля (0), а политика изменения устанавливается в поле Чистая сумма в строке, это поле не пересчитывается и не обновляется.  

Поведение системы зависит от используемой версии Supply Chain Management.

  • В версии 10.0.22 и более ранних система всегда ведет себя так, будто параметр CalculateLineAmount имеет значение 0, и нельзя сделать так, чтобы она работало так, будто параметр CalculateLineAmount имеет значение 1.
  • В версиях с 10.0.23 до 10.0.28 система ведет себя так, будто параметр CalculateLineAmount имеет значение 1 для всех строк, где он не был явно установлен в значение 0 в файле импорта.