Расчет суммы в строках табличной части #699941


#0 by Technolight
Здравствуйте, нужен совет знающих. конфигурация 10,3 управление торговлей. Дорабатываю документ "Реализации товаров и услуг" точнее скидки. В форме добавил новое поле "Сумма скидки" табличной части добавил колонку "%скидки" и "ручная скидка" где указывается процент и сумма скидки. в поле "сумма скидки" вводится общая скидка на документ, а колоки скидок заполняются автоматически пропорционально итоговой сумме на каждую позицию товара. Колонка "сумма" высчитывается по формуле кол-во*цена-ручная скидка, но почему то одна строчка не производит это вычисление.
#1 by Wobland
ну делаа...
#2 by shuhard
используй отладчик,  Люк (с)
#3 by Maxus43
>>но почему то одна строчка не производит это вычисление что-то не так, либо в коде, либо в данных в строке
#4 by Technolight
Для каждого эл из Товары Цикл         Если эл.Скидка>0 Тогда Продолжить; КонецЕсли;
#5 by Wobland
что дальше?
#6 by Technolight
Эл.Сумма = Эл.Количество*Эл.Цена-Эл.РучнаяСкидка; проводит действие не совсеми строчками
#7 by Wobland
почему?
#8 by Ненавижу 1С
что меашло использовать типовые механизмы УТ 10.3?
#9 by Technolight
Я вот и не знаю)
#10 by Technolight
а так, на ваш взгляд все правильно?
#11 by Maxus43
если не со всеми строчками - значит либо Продолжить срабатывает, либо... на какое событие ты повесил этот код?
#12 by Wobland
мне не нравится
#13 by George Wheels
ПриВыводеСтроки пробовал?
#14 by Technolight
в форму добавил поле ввода "сумма скидки" туда вводится сумма скидки на документ. код стоит на событии "СуммаСкидкиПриИзменении"
#15 by Technolight
Стандартные Скидки не совсем удобны для нас изза нашей системы выдачи скидок, округление большое
#16 by Technolight
И тд
#17 by Maxus43
ну дак и считай по текущей строке, зачем пересчитывать всё, если изменяешь конкретную?
#18 by Шапокляк
почему не со всеми строчками? Да потому что впереди есть вот такое     Если эл.Скидка>0 Тогда продолжить;
#19 by kosts
Предположу, что вызов процедуры ТоварыЦенаПриИзменении(Элемент) не так работает как предположено...
#20 by Technolight
Скриншот документа.
#21 by Technolight
Шапокляк, строчку уже убирал, все равно произходит тоже самое
#22 by Technolight
Kosts, эту процедуру я не трогал
#23 by kosts
А зря
#24 by hhhh
ну, тут копал?     Если эл.Скидка>0 Тогда продолжить; КОнецЕсли;
#25 by Шапокляк
Видать, ты стоишь на последней строке - погляди в отладчике, чему равен Элемент. Вот программа и пересчитывает сумму этой строки при проходе по циклу. Ну и при попадании на последнюю строку программа делает как заложено - Сумма=Цена*Количество. Попробуй вообще закомментировать строку ТоварыЦенаПриИзменении и увидишь что получится.
#26 by 13_Mult
Я сначала подумал что этот сабж шутка! :-) ан нет.
#27 by Technolight
Согласен, что это так выглядит
#28 by Technolight
Действительно, закоментировал и все вроде заработало, спасибо товарищи!!!
#29 by kosts
А теперь измени цену товара.
#30 by Technolight
При изменении цены сумма нарушается. перебить сумму скидки и нормально
#31 by kosts
Супер.
#32 by Шапокляк
Триллер "Подземный ход на чердаке".
#33 by Technolight
Ну что поделаешь. Родной механизм ручной скидки пользователей не устроил. На Редактирование Цены и Кнопку "Изменить" с возможностью редактировать всю табличную часть нужно будет запретить. Как иначе? Может я и не пошел по самому правильному пути. Но все же поставленная цель с вашей помощью выполненна.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям