Вход | Регистрация


1С:Предприятие ::

Метки: 

Итог колонки ДереваЗначений

Я
   Razzle Kay
 
17.01.18 - 13:46
Как получить итог по колонке ДЗ ? не мгу найти в СП
ток функцию с рекурсией
 
 
   mehfk
 
1 - 17.01.18 - 13:48
Вручную.
   Razzle Kay
 
2 - 17.01.18 - 13:48
(1) конкретнее можно ?
   chelentano
 
3 - 17.01.18 - 13:55
(0)
КоллекцияСтрокДереваЗначений (ValueTreeRowCollection)
Итог (Total)
Синтаксис:

Итог(<Колонка>, <ВключатьПодчиненные>)
Параметры:

<Колонка> (обязательный)

Тип: Число; Строка; КолонкаДереваЗначений. 
Колонка, по которой подсчитывается итог.
В качестве значения параметра может быть передан индекс колонки, имя колонки, либо колонка дерева значений.
<ВключатьПодчиненные> (необязательный)

Тип: Булево. 
Определяет, будут ли включены в сумму итоги по подчиненным строкам (если таковые имеются). Истина - итоги будут включены.
Значение по умолчанию: Ложь.
Возвращаемое значение:

Тип: Число; Неопределено.

Описание:

Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
   Razzle Kay
 
4 - 17.01.18 - 13:59
(3) я не вижу свойства итог (
   chelentano
 
5 - 17.01.18 - 14:02
(4) ДеревоЗначений.Строки.Итог
   Razzle Kay
 
6 - 17.01.18 - 14:10
(5) чет ен считает, хотя 2ой параметр истина
   Razzle Kay
 
7 - 17.01.18 - 14:18
невнимательно прочитал, 2ой параметр мне не нужен, но не суть, всё равно не считает
   1Сергей
 
8 - 17.01.18 - 14:24
(7) он считает только ветки уровнем ниже. Если там стопицот уровней, то надо считать каждую ветку
   Razzle Kay
 
9 - 17.01.18 - 14:25
(8) у меня примерно так

   -
--
---
--
---
--
---
   -
--
---
--
---
   1Сергей
 
10 - 17.01.18 - 14:26
(9) рекурсией считай
 
 Рекламное место пустует
   Sasha_H
 
11 - 17.01.18 - 14:27
да и следует конечно учесть когда ты итог подсичита и если у тебя дерево значений для интарактивного изменения то итог должен пересчитаться.
   DrZombi
 
12 - 17.01.18 - 14:31
(0) Увы, никак. Забудь, если древо большое.
Или считай руками "по Циклу"
   Sasha_H
 
13 - 17.01.18 - 14:34
Я в этом случае итог считал более хитро.
Чтобы работало максимально оптимально.
1. добавляю реквизит "ВсегоСуммаПродажПодвал"
2.В дереве (конфигураторе) устанавливаю ПутьКДаннымПодвала = ВсегоСуммаПродажПодвал
3.при изменении значения ты берешь ВсегоСуммаПродажПодвал расчитываешь от изменения текущей ячейки.
   Razzle Kay
 
14 - 17.01.18 - 14:35
(13) мне не надо считать при изменении
   Razzle Kay
 
15 - 17.01.18 - 14:38
(13) у меня колонки тем более динамически создаются
   Sasha_H
 
16 - 17.01.18 - 14:39
(15) динамически создать реквизит не является проблемой тоже для подвязки к итогу
   Sasha_H
 
17 - 17.01.18 - 14:40
когда наполняешь дерево считай итог помещая в этот реквизит
   hhhh
 
18 - 17.01.18 - 14:40
(15) наверно вы не тип число создаете. Там ведь видите должны быть колонки типа число.
   Razzle Kay
 
19 - 17.01.18 - 14:40
(18) число
   Sasha_H
 
20 - 17.01.18 - 14:41
более того работает гораздо шустрее чем ты будешь присваивать Заголовок подвалу
   Razzle Kay
 
21 - 17.01.18 - 14:43
(20) я не совсем ппонял, как итог то считать ))
   1Сергей
 
22 - 17.01.18 - 14:51
У меня всё считает

ДЗ = Новый ДеревоЗначений;
ДЗ.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(20, 2)));

Для Идн1 = 1 по 3 Цикл
    
    Строка1 = ДЗ.Строки.Добавить();
    Строка1.Сумма = Идн1 * 1000;
    
    Для Идн2 = 1 по 3 Цикл
        
        Строка2 = Строка1.Строки.Добавить();
        Строка2.Сумма = Идн2 * 100;
        
        Для Идн3 = 1 по 3 Цикл
            
            Строка3 = Строка2.Строки.Добавить();
            Строка3.Сумма = Идн3 * 10;
            
            Для Идн4 = 1 по 3 Цикл
                
                Строка4 = Строка3.Строки.Добавить();
                Строка4.Сумма = Идн4;
                
            КонецЦикла;
            
        КонецЦикла;
    
    КонецЦикла;
    
КонецЦикла;

Сообщить("Итог1 = " + ДЗ.Строки.Итог("Сумма", Ложь));
Сообщить("Итог2 = " + ДЗ.Строки.Итог("Сумма", Истина));




Итог1 = 6 000
Итог2 = 8 502
   hhhh
 
23 - 17.01.18 - 14:53
(21) ну то есть проверьте, при создании дерева
ДЗ.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(20, 2)));

было у вас описание типов?
   Razzle Kay
 
24 - 17.01.18 - 15:00
(23) Добавить("КоличествоПродаж", Новый ОписаниеТипов("Число"));
   1Сергей
 
25 - 17.01.18 - 15:37
(24)  Как понял что не считает?
   Razzle Kay
 
26 - 18.01.18 - 05:48
(25) даёт 0, колонки заполнены



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует