Пересчет суммы со скидкой при создании документа "на основании" УПП

1. marat.coolls 12.11.20 12:59 Сейчас в теме +0.35 $m
Всем доброго дня. В настройках пользователя установил "при изменении суммы пересчитывать скидку, а не цену" .
В документе "Заказ покупателя" установил нужную сумму товара, 1С пересчитала ручную скидку.
Делаю Реализацию "на основании" Заказа покупателя.
В итоге сумма в реализации отличается от суммы с заказе покупателя.
Смотрю в код, вижу что сумма в реализацию не встает из Заказа, она пересчитывается на основании цены и скидки.

Что имею в итоге:
1С указывает процент скидки "Приближенно", после чего пихает это в реализацию и снова пересчитывает, получая другую сумму. И ЭТО ТИПОВОЙ МЕХАНИЗМ. Это что вообще за дичь? Как с этим бороться?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. marat.coolls 12.11.20 13:02 Сейчас в теме
Залез в модуль "на основании". Нашел код. Жесть там наворочено. В принципе, можно убрать кусочек кода с пересчетом суммы. И вставить установку суммы из уже существующего запроса со всеми корректировками заказа и т.п. Но, появилась новая проблема.

Если в документе будет 2 одинаковых товара, с разным размещением. То это чудо Инженерной мысли в запросе сворачивает суммы.
В итоге кол-во верно, цена, скидка - верно. А сумма = Сумма1 товара + Сумма 2 товара.

Это просто жесть.
3. ab_initio 95 12.11.20 13:23 Сейчас в теме
(2) Да, Вы правы. Жесть.
Эта же самая жесть не только в старинной УПП, которая исключена из прайса, а и в УТ-11, и в КА-2, и в УПП.
"Это не глюк, это фича".
4. marat.coolls 12.11.20 14:09 Сейчас в теме
(3)как то боролись с этим?
5. ab_initio 95 12.11.20 14:23 Сейчас в теме
(4) Да. Только так что параметр "при изменении суммы пересчитывать скидку, а не цену" не устанавливали.
Объяснили пользователям, что так не бывает, де "это не возможно".
Ну, в общем, плохое решение.
Другой вариант в коде исправить проц. "Обработка заполнения" в модуле реализации. Но мы так не стали делать. Юзеры побухтели немного и успокоились.
6. marat.coolls 12.11.20 14:29 Сейчас в теме
(5)хех. Ну ладно.
Да я тоже заглянул в модуль и что то совсем поник. Нафигачили там немало кода, разбираться несколько дней безвылазно.
7. ab_initio 95 12.11.20 14:47 Сейчас в теме
Курите общий модуль "ОбработкаТабличныхЧастей".
В нём есть маленькая процедурка РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено) Экспорт.

Всё зло в нём.
В нём можно свою отдельную веточку нарисовать.
Мне кажется, совсем несложно.
8. marat.coolls 12.11.20 14:56 Сейчас в теме
(7) Да там вся сложность в получении той самой нужной суммы из заказа. Особенно сложно, если в одинаковые позиции просто с разным размещением.
Функцию ОбработкаТабличныхЧастей видел. Но не могу понять, как вы сможете получить нужную сумму. Ведь по факту она не вычисляема из тех данных, которые есть, потому что округление хренова работает.
9. cherva 97 12.11.20 15:06 Сейчас в теме
В настройках пользователя есть пункт "При изменении суммы пересчитывать цену , а не скидку" Может это тебе поможет?
А так борьба с математическим округлением велась многими и всегда, но безуспешно
10. marat.coolls 12.11.20 15:48 Сейчас в теме
(9) Ну блин. В том то и суть, что мне нужно скидку ставить, а не цену корректировать. Цены у нас вообще заблокированы, контролируются руководством. А менеджеры устанавливают сумму, которая больше цены, получая отрицательную ручную скидку. Чем больше, тем больше коэффициент заработка манагера.
11. marat.coolls 12.11.20 15:51 Сейчас в теме
(9) Дак не было бы проблем, если сумма из таб части копировалась. А т.к. есть корректировки разные и т.п. ерунда, приходится лезть в регистра накопления "ЗаказыПокупателей.Остатки".
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот