Имя: Пароль:
1C
1С v8
Расчет суммы в строках табличной части
0 Technolight
 
25.02.14
13:04
Здравствуйте, нужен совет знающих.
конфигурация 10,3 управление торговлей. Дорабатываю документ "Реализации товаров и услуг" точнее скидки. В форме добавил новое поле "Сумма скидки" табличной части добавил колонку "%скидки" и "ручная скидка" где указывается процент и сумма скидки. в поле "сумма скидки" вводится общая скидка на документ, а колоки скидок заполняются автоматически пропорционально итоговой сумме на каждую позицию товара.
Колонка "сумма" высчитывается по формуле кол-во*цена-ручная скидка, но почему то одна строчка не производит это вычисление.
1 Wobland
 
25.02.14
13:06
ну делаа...
2 shuhard
 
25.02.14
13:06
(0) используй отладчик,  Люк (с)
3 Maxus43
 
25.02.14
13:06
>>но почему то одна строчка не производит это вычисление
что-то не так, либо в коде, либо в данных в строке
4 Technolight
 
25.02.14
13:12
Для каждого эл из Товары Цикл
        Если эл.Скидка>0 Тогда Продолжить; КонецЕсли;
ОбСумма = эл.Количество*Эл.Цена+обСумма;
        КОнецЦикла;
        
обСуммаСкидки = ?(ВидСкидки =Перечисления.ТипСкидок.Процент, ОбСумма*СуммаСкидки/100,СуммаСкидки);
    Для каждого эл из Товары Цикл
    Если эл.Скидка>0 Тогда продолжить; КОнецЕсли;
эл.РучнаяСкидка = обСуммаСкидки*эл.Цена*эл.Количество/ОбСумма;
эл.прСкидки = эл.РучнаяСкидка*100/(эл.Цена*эл.Количество);
Эл.Сумма = Эл.Количество*Эл.Цена-Эл.РучнаяСкидка;        
        ТоварыЦенаПриИзменении(Элемент);
        
        
    КОнецЦикла;
5 Wobland
 
25.02.14
13:12
(4) что дальше?
6 Technolight
 
25.02.14
13:17
Эл.Сумма = Эл.Количество*Эл.Цена-Эл.РучнаяСкидка;
проводит действие не совсеми строчками
7 Wobland
 
25.02.14
13:18
(6) почему?
8 Ненавижу 1С
 
гуру
25.02.14
13:18
(0) что меашло использовать типовые механизмы УТ 10.3?
9 Technolight
 
25.02.14
13:19
Я вот и не знаю)
10 Technolight
 
25.02.14
13:20
а так, на ваш взгляд все правильно?
11 Maxus43
 
25.02.14
13:21
если не со всеми строчками - значит либо Продолжить срабатывает, либо... на какое событие ты повесил этот код?
12 Wobland
 
25.02.14
13:21
мне не нравится
13 George Wheels
 
25.02.14
13:25
ПриВыводеСтроки пробовал?
14 Technolight
 
25.02.14
13:29
в форму добавил поле ввода "сумма скидки" туда вводится сумма скидки на документ. код стоит на событии "СуммаСкидкиПриИзменении"
15 Technolight
 
25.02.14
13:40
Стандартные Скидки не совсем удобны для нас изза нашей системы выдачи скидок, округление большое
16 Technolight
 
25.02.14
13:41
И тд
17 Maxus43
 
25.02.14
13:50
(15) ну дак и считай по текущей строке, зачем пересчитывать всё, если изменяешь конкретную?
18 Шапокляк
 
25.02.14
13:52
(6) почему не со всеми строчками? Да потому что впереди есть вот такое     Если эл.Скидка>0 Тогда продолжить;
19 kosts
 
25.02.14
14:00
Предположу, что вызов процедуры ТоварыЦенаПриИзменении(Элемент) не так работает как предположено...
20 Technolight
 
25.02.14
14:06
21 Technolight
 
25.02.14
14:07
Шапокляк, строчку уже убирал, все равно произходит тоже самое
22 Technolight
 
25.02.14
14:10
Kosts, эту процедуру я не трогал
23 kosts
 
25.02.14
14:11
(22) А зря
24 hhhh
 
25.02.14
14:11
(23) ну, тут копал?

    Если эл.Скидка>0 Тогда продолжить; КОнецЕсли;
25 Шапокляк
 
25.02.14
14:14
(22) Видать, ты стоишь на последней строке - погляди в отладчике, чему равен Элемент. Вот программа и пересчитывает сумму этой строки при проходе по циклу. Ну и при попадании на последнюю строку программа делает как заложено - Сумма=Цена*Количество. Попробуй вообще закомментировать строку ТоварыЦенаПриИзменении и увидишь что получится.
26 13_Mult
 
25.02.14
14:23
Я сначала подумал что этот сабж шутка! :-) ан нет.
27 Technolight
 
25.02.14
14:27
Согласен, что это так выглядит
28 Technolight
 
25.02.14
14:35
Действительно, закоментировал и все вроде заработало, спасибо товарищи!!!
29 kosts
 
25.02.14
14:41
(28) А теперь измени цену товара.
30 Technolight
 
25.02.14
14:48
При изменении цены сумма нарушается. перебить сумму скидки и нормально
31 kosts
 
25.02.14
14:49
(30) Супер.
32 Шапокляк
 
25.02.14
14:56
Триллер "Подземный ход на чердаке".
33 Technolight
 
25.02.14
15:30
Ну что поделаешь. Родной механизм ручной скидки пользователей не устроил. На Редактирование Цены и Кнопку "Изменить" с возможностью редактировать всю табличную часть нужно будет запретить. Как иначе? Может я и не пошел по самому правильному пути. Но все же поставленная цель с вашей помощью выполненна.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn