Имя: Пароль:
1C
1C 7.7
v7: метод свернуть у ТЗ
,
0 lucifer
 
09.11.11
12:57
есть ТЗ с колонками
счет,СФ,МП,Фирмы,Товары,покупатели,Валюта,сумма,суммае,суммар

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

табл.Свернуть("счет","сумма,суммае,суммар");

то получается только один столбец счет.
если так:

табл.Свернуть("счет,сф,Мпродажи,Фирмы,Товары,покупатели,Валюта","сумма,суммае,суммар");

то как код себя ведет в этом случаи? он свернет строки в который все столбцы (счет,сф,Мпродажи,Фирмы,Товары,покупатели,Валюта) совпадают?
1 povar
 
09.11.11
12:59
СП украли ?
2 ДенисЧ
 
09.11.11
12:59
ага
3 PuhUfa
 
09.11.11
13:00
Знаю кто продаст новый -)
4 povar
 
09.11.11
13:01
"Если я делаю так:

табл.Свернуть("счет","сумма,суммае,суммар");

то получается только один столбец счет. "

С чего бы ?
5 lucifer
 
09.11.11
13:03
(4) ну так 1с решила ((
я после вызова метода свернуть вывожу ТЗ посмотреть
табл.ВыбратьСтроку();

и там столбец счет и столбцы по каким складываю (сумма,суммае,суммар)
6 PuhUfa
 
09.11.11
13:03
(4) автор наверное хотел этим сказать что пропадут "СФ,МП,Фирмы,Товары,покупатели,Валюта". Хотя что в них должно получиться он наверное и сам не особо представляет
7 lucifer
 
09.11.11
13:05
(6) да пропадают
8 lucifer
 
09.11.11
13:05
(4) + ошибочка, там нет (сумма,суммае,суммар) там только столбец счет
9 miki
 
09.11.11
13:05
(5)
>>там столбец счет и столбцы по каким складываю (сумма,суммае,суммар)

арифметика считает, что это четыре столбца, а не один.
10 lucifer
 
09.11.11
13:08
короч, нужно что бы во всей ТЗ счет встречался только один раз. остальные его "дубли" пропадали, но значение суммировалось и было оно в этой оставщийся "уникальной" позиции
11 ДенисЧ
 
09.11.11
13:09
(10) А на остальные несуммовые колонки - пофиг? ТОгда в (0) первый вариант правильный...
12 BuHu
 
09.11.11
13:10
(10)табл.Свернуть("счет","сумма,суммае,суммар"); - должно сработать
13 vicof
 
09.11.11
13:10
(11), (12) - смотрите (8)
14 ЧеловекДуши
 
09.11.11
13:11
Тип присвой у суммовых колонок :)
15 BuHu
 
09.11.11
13:11
(13) не верю
16 ДенисЧ
 
09.11.11
13:11
(13) а он там неправду говорит, что туда смотреть-то...
17 vicof
 
09.11.11
13:13
(0) автор, скажи правду
18 PuhUfa
 
09.11.11
13:18
(14) от этого колонки не пропадают
19 Godofsin
 
09.11.11
13:19
ни х.. непонятно, что в итоге получить то надо.
Если на все колонки, кроме сумм и счета похер, то:
табл.Свернуть("счет","сумма,суммае,суммар");
20 lucifer
 
09.11.11
13:19
я говорю как есть
21 lucifer
 
09.11.11
13:19
(19) -> (10)
куда уж понятнее
22 Rovan
 
гуру
09.11.11
13:19
(19) дык вот видимо не похер !
23 lucifer
 
09.11.11
13:20
нужно что бы строки лишние пропали а не колонки
24 PuhUfa
 
09.11.11
13:20
(20) тогда: "сумма,суммае,суммар" таких колонок просто нет в ТЗ.
25 Rovan
 
гуру
09.11.11
13:21
(10) делай Сортировать() - потом беги по ТЗ и заменяй счета или удаляй строки,

метод Свернуть в такой хитронавороченной задаче - тебе не помощник !
26 Godofsin
 
09.11.11
13:28
(21)Вот какого вида строку ты, к примеру, хочешь получить из этого:

счет   Фирмы   сумма    суммае    суммар
40.1    ХЗ       4         5         6
40.2    ПОХ      2         3         8
27 Godofsin
 
09.11.11
13:29
(26) Пардон
счет   Фирмы   сумма    суммае    суммар
40.1    ХЗ       4         5         6
40.1    ПОХ      2         3         8
28 lucifer
 
09.11.11
13:51
(27) нет, я хочу так
до:
счет  сф  Мпродажи  Фирмы    Товары  покупатели  Валюта  сумма  суммае  суммар
0001  пох Пупкин    Фирмапох  ручка  ПокПох      руб      6       5       5
0002  пох Иванов    Фирмапох  ножка  ПокПох      евро     7       5       3
0001  пох Козлов    Фирмапох  ухо    ПокПох      руб      3       3       3
0004  пох Похухов   Фирмапох  глаз   ПокПох      бакс     33      3       3
0003  пох Иванова   Фирмапох  пох    ПокПох      руб      33      3       3

после:
до:
счет  сф  Мпродажи  Фирмы    Товары  покупатели  Валюта  сумма  суммае  суммар
0001  пох Пупкин    Фирмапох  ручка  ПокПох      руб      9       8       8
0002  пох Иванов    Фирмапох  ножка  ПокПох      евро     7       5       3
0004  пох Похухов   Фирмапох  глаз   ПокПох      бакс     33      3       3
0003  пох Иванова   Фирмапох  пох    ПокПох      руб      33      3       3

т.е. строки со счетом 0001 нет, но значение второго счета прибавилось к первому
29 lucifer
 
09.11.11
13:51
(28) + второе до: лишнее
30 FN
 
09.11.11
13:52
(28) А по какому критерию Пупкин+Козлов=Пупкин?
А ручка+ухо=ручка?
31 Rovan
 
гуру
09.11.11
13:53
(30) видимо кто первый встал - того и тапки !
32 FN
 
09.11.11
13:54
(30)+ и будут ли фичи типа
мужчина+женщина=дети?
ежик+змея=колючая проволка?

огласите весь список пожлста (с)
:)
33 Mikeware
 
09.11.11
13:57
В принципе, такое, как (28), получить весьма просто. :-)))
только смысла в этом чуть менее нуля...
34 Нева
 
09.11.11
13:59
(32) )))))
35 lucifer
 
09.11.11
14:07
(30) не понял, мне надо просто убрать позицию
36 vicof
 
09.11.11
14:08
(35) главный вопрос - накуа?
37 lucifer
 
09.11.11
14:09
мне не надо сложить только
сумма  суммае  суммар
38 lucifer
 
09.11.11
14:10
а товар, ПМ не столь важно
39 lucifer
 
09.11.11
14:10
темболее если счет один и тот же то и товар и МП будуо одинаковы (я просто в примере разные написал )) )
40 ParaWiz
 
09.11.11
14:10
(38) ну удали лишние колонки в тз значит, а потом сворачивай
41 lucifer
 
09.11.11
14:11
лишних колонок нет, есть лишние строки
42 AntiBuh
 
09.11.11
14:14
(41) блин, ну перечисли тогда все колонки
43 __Se24
 
09.11.11
14:27
ТС , за те полтора часа , уже давно бы поигрался бы с методом "Свернуть" и разобрался бы как он работает , чем людям на форуме ерундой голову забивать !
44 1Сергей
 
09.11.11
14:31
метод свернуть работает так:

Иванов  пох 5
Иванов  пох 3
Петров  нех 8
Петров  нех 3
Петров  пох 2
Сидоров нах 1

=>

Иванов  пох 8
Петров  нех 11
Петров  пох 2
Сидоров нах 1

А то, что тебе надо. Это совсем другая задача
45 lucifer
 
09.11.11
14:51
(43) так я параллельно и разбираюсь
46 BlackSeaCat
 
09.11.11
15:00
(45) Когда разберешься, что твоя задачка одной строчкой типа ТЗ.Свернуть() НЕ РЕШАЕТСЯ - тогда и наступит счастье. Не раньше.

Решается она 10-15 строчками: если попроще, то с использованием двух ТЗ, посложнее - с одной исходной, но для их написания надо быть ПРОГРАММИСТОМ.
47 PuhUfa
 
09.11.11
15:27
(46) все у него решается 1 строкой свернуть...
48 Shandor777
 
09.11.11
15:27
(0) Чтобы при свертывании ТЗ сохранить колонки в которых значения не важны, наверное нужно предварительно применить метод УстановитьЗначение для этих колонок установив в них одинаковое значение нули или пробелы. А в методе свернуть перечислить все колонки, которые должны сохраниться.
табл.Свернуть("счет,сф,фирмы ","сумма,суммае,суммар"); не?
49 Shandor777
 
09.11.11
15:36
+(48) Поправка: Не УстановитьЗначение, конечно, а Заполнить( )