Имя: Пароль:
1C
1С v8
Вывод итога в табличной части документа
0 IT_PROGRAMMIST
 
24.03.11
14:36
Привет,Всем!!!Подскажите. Такая ситуация: необходимо вывести итог в табличной части документа по определённой колонке.Сразу говорю, что не работает:Отображать итог в подвале(он не является риквизитом табличной части,поэтому нельзя использовать конструкции типа:Товары.Итог("Нетто") и просто поставить галочку Отображать итог в подвале).1с:конфигурация 8.2.13,УПП 1.3.6
1 Ёпрст
 
гуру
24.03.11
14:42
и что с того ?
Текст в подвале можно установить какой угодно, хоть запросом получай свой Итог...
2 IT_PROGRAMMIST
 
24.03.11
14:46
я так понимаю,что если запросом, то данные оно будет брать с  записанного документа. А у меня док не записан.При изменении строк табличной части итог должен меняться.
3 Ёпрст
 
гуру
24.03.11
14:51
(2) ну и меняй, и получай выборкой
4 IT_PROGRAMMIST
 
24.03.11
14:54
как получить выборкой,если док не записан?
5 Wobland
 
24.03.11
14:56
(4) Для Каждого ТекСтрока Из ТЧ Цикл
       Сумма=Сумма+ТекСтрока.Сумма;
6 Mitriy
 
24.03.11
14:57
(0) добавь реквизит в табчасть и не мучай мозг...
7 IT_PROGRAMMIST
 
24.03.11
15:01
так не получится, так как данный элемент,не является реквизитом табличной части.
Напишет ошибку:
Поле объекта не обнаружено (Нетто)
Код:
   Сумма=0;    
   Для каждого Элемент Из Товары Цикл
         Сумма=сумма+Элемент.Нетто;
   КонецЦикла;
8 IT_PROGRAMMIST
 
24.03.11
15:02
в том то и дело,что без реквизита надо итог вывести.
9 Wobland
 
24.03.11
15:03
>необходимо вывести итог в табличной части документа по определённой колонке
...
ничего не понимаю
10 IT_PROGRAMMIST
 
24.03.11
15:07
что непонятного?Колонка в табличной части не является реквизитом для этой табличной части.
11 Волесвет
 
24.03.11
15:07
по какому алгоритму заполняется колонка "Нетто" по такому и формируем по ней итог
12 Mitriy
 
24.03.11
15:11
Сумма=0;    
   Для каждого Элемент Из Товары Цикл
         Сумма=сумма+Элемент.Количество * Элемент.Цена;
   КонецЦикла;
13 IT_PROGRAMMIST
 
24.03.11
15:14
она заполняется обработчикрм события "ПриВыводеСтроки".Я так пробовал,но появилась проблема:если добавлется новая строка,то сумма пересчитывается с учетом старого итога.
14 Mitriy
 
24.03.11
15:19
(13) значит криво пробовал...
15 kosts
 
24.03.11
15:21
(0) Пересчитать итог при открытии документа, поместить в переменную. При изменениях в табличной части снова пересчитывать и выводить итог.
16 kosts
 
24.03.11
15:22
+ к (15) Если строк не много, то даже не обязательно в переменную записывать, посчитал - вывел...
17 Mitriy
 
24.03.11
15:24
(15) а зачем в переменную? при изменении влияющих на итог полей пересчитывать и отправлять в подвал псевдоколонки...
18 hhhh
 
24.03.11
15:26
ну это, ребята. Только редкой души люди могли назвать переменную словом Элемент.
19 kosts
 
24.03.11
15:27
(17) Если строк много, что бы не пересчитывать все, и в подвале может быть форматированное число.
20 IT_PROGRAMMIST
 
24.03.11
15:28
у меня будут пересчитываться при событие "ПриВыводеСтроки",только те строки,которые видны,т.е если данные табличной части не влазят, появляется вртикальная полоса прокрутки
21 Mitriy
 
24.03.11
15:32
(20) не надо там пересчитывать, пересчитывай при изменении полей, которые формируют эту колонку, весь итог заново...
22 Mitriy
 
24.03.11
15:33
блин, уже за двадцать постов перевалило, а автор так и не вкурил...
23 IT_PROGRAMMIST
 
24.03.11
15:34
спасибо   Mitriy. Я не додумался сделать так,как ты сказал:
     сумма=0;                                        
   Для каждого Элемент Из Товары Цикл
         Сумма=сумма+((Элемент.Количество *(100-Элемент.ПроцентВлаги)/100)*(Элемент.ПроцентСвинца/100));
   КонецЦикла;
Просто исользую другие колонки..
ВСЕМ БОЛЬШОЕ СПАСИБО!!!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.