Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Скидка во внешней обработке (http://forums.kuban.ru/f1040/skidka_vo_vneshnej_obrabotke-8414488.html)

USSR 30.07.2017 11:36

Скидка во внешней обработке
 
Потихоньку осваиваю УТ 11.3, но временами дается весьма тяжеловато ) Понадобилось округлить процентную скидку до N руб. Я по глупости полагал, что сама скидка может с этим справиться (ведь в этом справочнике есть нужные реквизиты - точность, способ округления), но не тут то было, видимо это для светлого будущего. Ну да ладно. Создал новую скидку с помощью внешней подключаемой обработки, сделал в обработке нужную форму настройки, параметры скидки успешно сохраняются и восстанавливаются. Включил процентную и обсуждаемую скидку в новую группу с вариантом совместного применения - умножение, чтобы скидки вызывались последовательно,задал требуемый порядок. И почти все получилось, но не все. Скидки обе обрабатываются, вызываются в нужном порядке, но вот не могу решить одну и по видимому весьма тривиальную задачу, как мне в функции Расчет() внешней обработки узнать результаты расчета предыдущей (а если будет несколько, то и предыдущих) скидок, чтобы правильно применить реализуемую.
Функция Рассчитать(СкидкаНаценка, Настройки, Товары, ПараметрыРасчета) Экспорт

Все в ней пересмотрел, кучу всего перепробовал, но нифига не понял. Добирался и до объекта (документ реализации). но в нем хранятся ранее сформированные скидки, еще до начала их нового расчета. Единственный вариант вижу в том, чтобы по строке дерева - параметр функции "СкидкаНаценка" обойти все дерево и выловить ранее рассчитанные скидки. Кто сталкивался ? На инфостарте есть аналогичная обработка для округления автоматических и ручных скидок, но увы у меня нет возможностей ее скачать, а покупать абонемент ради одной обработки (вопрос, окажется ли она еще полезной)тоже не хочется. Весь интернет заполнен инфостартом. В пору еще его бесплатности скачал довольно много обработок и если не изменяет память, ничем не воспользовался ) Да и удача где-то рядом, мне нужно просто правильно посчитать сумму скидки )))

USSR 30.07.2017 13:50

Ну короче вчерновую вроде получилось путем обхода дерева скидок и анализа флага "Рассчитана". Ручные скидки достал из обхода табличной части объекта "Товары". Не знаю насколько все это коряво, но вроде работает


Текущее время: 02:52. Часовой пояс GMT +3.