Имя: Пароль:
1C
1С v8
свернуть таблицу значений
0 13Дима13
 
15.06.14
12:18
Есть таблица значений вида:

Физ.Лицо Вид1 Вид2 ... ВидN Колво1 Колво2 ... КолвоN
иванов    А    Б               5      1
иванов    А    В               4      2

Нужно свернуть эту таблицу и получить :  

Физ.Лицо Вид1 Вид2 Вид3 ... ВидN Колво1 Колво2 Колво3 ... КолвоN
иванов    А    Б    В              9      1       2

Подскажите, как проще это сделать
1 zak555
 
15.06.14
12:20
тз.Свернуть("Физ.Лицо, Вид1, Вид2, ... ,ВидN" , "Колво1, Колво2, ... ,КолвоN");
2 13Дима13
 
15.06.14
12:21
(1) и останется то же самое что и было
3 Zhuravlik
 
15.06.14
12:22
В смысле с произвольным количеством полей? Обойти колонки в цикле, собрать две строчки. В первую - через запятую имена полей по которым сворачивать, во вторую - имена числовых полей.
типа :
стр1 = "Физ.Лицо, Вид1, Вид2, ... ,ВидN";
стр2 = "Колво1, Колво2, ... ,КолвоN";
Вот.
А потом тз.Свернуть(стр1, стр2);
4 shuhard
 
15.06.14
12:22
(1) садись - кол
(0) форум должен догадаться, чем В лучше Б ?
5 13Дима13
 
15.06.14
12:27
(4) ничем, просто разные значения поэтому нельзя по ним складывать колво. Нужно В  перенести в вид3
6 shuhard
 
15.06.14
12:29
(5) ничем,
тогда засунь ТЗ в запрос, сгруппируй по физ.лицу и возьми максимум по видам и сумму по чиселкам
7 13Дима13
 
15.06.14
12:29
(3) просто тз.свернуть не пройдет, в колонке вид2 разные значения, в этом и проблема
8 13Дима13
 
15.06.14
12:30
(6) тогда минимальный вид потеряется, его нужно сохранить и перенести в вид3
9 Zhuravlik
 
15.06.14
12:31
(7) Значит сама таблица неверно формируется. Пересмотри поход к решению и наведи порядок в голове.
10 shuhard
 
15.06.14
12:32
(8) ни о чем
либо В лучше Б, либо ничем

сядь на один стул или седалище порвётся (с)
11 dj_serega
 
15.06.14
19:55
тут только перебирать строки нужно и заполнять новую ТЧ.
12 ДенисЧ
 
15.06.14
20:00
Говорят, что тут бг-мерзкая СКД может помочь...