Имя: Пароль:
1C
1С v8
Свертка ТЗ
0 SergeyGr
 
20.06.14
16:06
Как можно свернуть таблицу значений для произвольного количества колонок и имена колонок формируются программно ?

спасибо
1 Fragster
 
гуру
20.06.14
16:07
ТаблицаЗначений.Свернуть (ValueTable.GroupBy)
ТаблицаЗначений (ValueTable)
Свернуть (GroupBy)
Синтаксис:

Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
Параметры:

<КолонкиГруппировок> (обязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо группировать строки таблицы значений.
<КолонкиСуммирования> (необязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо суммировать значения в строках таблицы значений.
Описание:

Осуществляет свертку таблицы значений по указанным колонкам группировки. Строки, у которых совпадают значения в колонках, указанных в первом параметре, сворачиваются в одну строку. Значения этих строк, хранящиеся в колонках, указанных во втором параметре, накапливаются.
Важно! Списки колонок не должны пересекаться. Колонки, не вошедшие ни в один из списков колонок, после выполнения метода удаляются из таблицы значений.

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

Сервер, толстый клиент, внешнее соединение.
Примечание:

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

ТаблицаЦен.Свернуть("Товар, Валюта", "Цена");
2 SergeyGr
 
20.06.14
16:10
Колонки, по которым происходит суммирование нужно указывать в явном виде.

А их имена формируются программно и заранее неизвестны
3 arccos6pi
 
20.06.14
16:10
(2) по индексам,не?
4 SergeyGr
 
20.06.14
16:12
(2) Подскажи !
5 rendez-vous
 
20.06.14
16:13
(2) А в чем проблема-то?

имяколонки=получитьимяколонки();
ТаблицаЦен.Свернуть("Товар, Валюта", имяколонки);
6 rendez-vous
 
20.06.14
16:13
(4) Нету в 8 индексов для ТЗ.
7 Wobland
 
20.06.14
16:16
(2) на момент свёртки все имена уже известны
8 arccos6pi
 
20.06.14
16:17
(6) есть
9 arccos6pi
 
20.06.14
16:17
(4) ТЗ.Колонки[Индекс].Имя
10 13_Mult
 
20.06.14
16:18
(6) Да ладно?!
11 SergeyGr
 
20.06.14
16:18
Сделал так

ввел переменную "МояПеременная" и заполняю программно ее именами колонок через запятую.
А потом ТаблицаЦен.Свернуть("Товар", МояПеременная);
12 SergeyGr
 
20.06.14
16:20
Спасибо за науку !
13 rendez-vous
 
20.06.14
16:26
(8) (10) В контексте темы - нет.