Имя: Пароль:
1C
1C 7.7
v7: Свертка таблицы значения
0 KrutoyDron
 
02.04.12
18:13
Есть тз вот такого вида
Код Артикул наименование приход расход
123 12      пальто       3      
123 12      пальто              2

как сделать вот так
Код Артикул наименование приход расход
123 12      пальто       3      2
1 Джинн
 
02.04.12
18:16
Вы не поверите, но методом Свернуть
2 Ёпрст
 
02.04.12
18:16
Свернуть
3 viktor_vv
 
02.04.12
18:16
Ты уже в названии темы на полпути к решению, осталось только в СП заглянуть, оно конечно на этот шаг трудно решиться, но будь уже мужиком наконец-то.
4 SnarkHunter
 
02.04.12
18:18
Метод Свернуть ещё не предлагали?
5 KrutoyDron
 
02.04.12
18:21
несворачивает
чо ему надо
6 KrutoyDron
 
02.04.12
18:22
ТабЗнач.Свернуть("1,2,3,4,5",);
делаю так
7 zavsom
 
02.04.12
18:23
ТабЗнач.Свернуть("1,2,3","4,5",);
8 Джинн
 
02.04.12
18:23
(5) Вероятно ему надо, чтобы применили метод в соответствии с СП.

(6) ТабЗнач.Свернуть("Код,Артикул,Наименование","Приход,Расход");
9 zavsom
 
02.04.12
18:24
ПОЧУСТВУЙТЕ РАЗНИЦУ :))
10 KrutoyDron
 
02.04.12
18:39
никует(никак
11 Джинн
 
02.04.12
18:42
(10) ryki.sys обновить не пробовали?

Кстати колонки типизированы? Иногда от этого бывают грабли.
12 МихаилМ
 
02.04.12
18:42
(10)
значит колонки не типизированны.
13 KRV
 
02.04.12
19:07
Фигню всякую наговорили... надо Свернуть() применить!
14 Попытка1С
 
02.04.12
19:08
(12) +1
15 KrutoyDron
 
02.04.12
19:17
никует капец(
16 viktor_vv
 
02.04.12
19:26
(15) Переведи .
17 Попытка1С
 
02.04.12
19:27
(15) Весь код покажи.
18 KrutoyDron
 
02.04.12
19:31
Неработает.
на самом таблица сложнее
но суть одна как в первом посте т.е
Код Артикул наименование приход1 приход2 приход3 расход1 расход2 расход3 расход4 расход5 расход6
19 Torquader
 
02.04.12
19:37
Сворачиваются числа, а не строки, состоящие из чисел.
Если уж совсем не спасает Свернуть, хотя должно помочь - отсортируй по первым трём колонкам и пробеги по строкам, суммируя одинаковые.
20 KrutoyDron
 
02.04.12
19:41
ТабЗнач = СоздатьОбъект("ТаблицаЗначений");

ТабЗнач.НоваяКолонка("Код");
ТабЗнач.НоваяКолонка("Артикул");
ТабЗнач.НоваяКолонка("Наименование");
ТабЗнач.НоваяКолонка("Приход1","Число");
ТабЗнач.НоваяКолонка("Расход1","Число");
ТабЗнач.НоваяКолонка("Приход2","Число");
ТабЗнач.НоваяКолонка("Расход2","Число");
ТабЗнач.НоваяКолонка("Приход3","Число");
ТабЗнач.НоваяКолонка("Расход3","Число");
ТабЗнач.НоваяКолонка("Расход4","Число");
ТабЗнач.НоваяКолонка("Расход5","Число");
ТабЗнач.НоваяКолонка("Расход6","Число");
(процесс заполнения стандартный- из группировки код вытаскиваю приход и наименование из группировки код1 расход и наименование)
ТабЗнач.Свернуть("1,2,3,4,5,6,7,8,9,10,11,12",);
ТабЗнач.Сортировать("Наименование+");
21 KrutoyDron
 
02.04.12
19:49
(19) Мне нужно приход и расход одного и тогоже наименования сжать в одну строку но не суммировать
было так 3
         2
стало так 32
22 catena
 
02.04.12
19:49
"ТабЗнач.Свернуть("1,2,3,4,5,6,7,8,9,10,11,12",); "

Ага, конечно не работает... Тебя в СП еще в (8) послали...
23 KrutoyDron
 
02.04.12
19:52
(22) делал и так ТабЗнач.Свернуть("Код,Артикул,Наименование","Приход,Расход");
и так ТабЗнач.Свернуть("1,2,3","4,5");
24 viktor_vv
 
02.04.12
19:54
Осталось еще так попробовать

ТабЗнач.НоваяКолонка("Приход1","Число",14,2);
25 KrutoyDron
 
02.04.12
20:00
ТабЗнач.Свернуть("1,2,3,4,5,6,7,8,9,10,11,12",).
Какая разница цифры или слова сколько использую цифры все ок(по крайней мере когда когда две строки полностью идентичны то они сворачиваются в одну). кроме этого случая
26 Torquader
 
02.04.12
20:37
Так что - нужно несколько приходов собрать в один ?
Или, всё-таки, нужно все приходы просуммировать.

ТабЗнач.Свернуть("1,2,3","4,5,6,7,8,9,10,11,12");
Не помогает ?
27 KRV
 
02.04.12
20:41
Не.. не помогает... Ему в (22) сказали как, но, видать, не дошло..
28 Torquader
 
02.04.12
20:42
(27) Видимо, чугунный наконечник на клюве мешает воспринимать действительность.
29 KRV
 
02.04.12
20:59
Наконечник - не знаю, но чугуний явно для веса куда-то вложили...
30 Mikeware
 
02.04.12
21:08
Что заметил, так то, что последнее время отжигают либо наши казахские-украинские-белорусские колеги, либо товаристчи из башкирии-татарии... не сочтите за нацизм....
31 Попытка1С
 
02.04.12
21:28
(30) У автора вроде ничего из того что ты перечислил в ЛК нету..
32 Mikeware
 
02.04.12
21:31
(31) зато в IP есть...
33 Torquader
 
02.04.12
21:31
(30) Просто, отжигают те, кто начинает учиться, а там, слава богу, ещё учатся.
34 Mikeware
 
02.04.12
21:35
(33) это не называется "учиться". Это называется "школота"...
вопрос ТС решается 5-минутным (беру поправку на плохое владение "великим и могучим") чтением ЖКК или СП. Если это не под силу...
35 Torquader
 
02.04.12
21:39
(34) Не, если у него русский - не родной, то тут можно понять.
Например, в английской инструкции, писанной китайцами, часто можно не понять, что хотел сказать автор.
36 GreyK
 
02.04.12
21:40
(25) Иди в менегеры, там надо просто лопошать.
37 KrutoyDron
 
02.04.12
21:41
(26) нужно вот так
было так
Код Наименование Приход Расход
1   Пальто       2      
1   Пальто              1
стало так
Код Наименование Приход Расход
1   Пальто       2      1


2) Нет не помогает
38 KrutoyDron
 
02.04.12
21:43
(36) Пока не хочу
39 Mikeware
 
02.04.12
21:45
(38) программировать ты так и не научишься, а манагером уже не станешь....
придется заканчивать жизнь акыном на восточном базарею...
40 ТакВотЖе
 
02.04.12
21:46
насколько мне помнится, был такой ньюанс, она тебе не свернет таблицу с пустыми значениями, т.е. если как у тебя в примере, нефига не выйдет, а должно быть:

1   Пальто       2      0
1   Пальто       0      1

вот так свернёт. попробуй.
41 Torquader
 
02.04.12
21:46
(37) Есть мнение, что в пустых колонках нужно было проставить нули (может быть там что-то другое).
Но, как-то не верится, что не помогает.
42 ТакВотЖе
 
02.04.12
21:46
(39)а ты такой умный наверное сразу родился)
43 viktor_vv
 
02.04.12
22:01
(41) Если колонки типизированы, хотя бы как у ТС в (20)

ТабЗнач.НоваяКолонка("Приход1","Число");


то не обязательно. Даже если явно не присваивать 0, в новой строке автоматом проставляется.

Чисто для себя сейчас проверил.

   лТЗ = СоздатьОбъект("ТаблицаЗначений") ;
   лТЗ.НоваяКолонка("Первая","Строка",10);
   лТЗ.НоваяКолонка("Приход","Число",);
   лТЗ.НоваяКолонка("Расход","Число",);
   
   лТЗ.НоваяСтрока();
   лТЗ.Первая = "абв";
   лТЗ.Приход = 10.2;
   
   лТЗ.НоваяСтрока();
   лТЗ.Первая = "абв";
   лТЗ.Расход = 12;    
   
   лТЗ.ВыбратьСтроку();
   лТЗ.Свернуть("Первая","Приход,Расход");
   
   лТЗ.ВыбратьСтроку();
44 KrutoyDron
 
02.04.12
22:31
(43) ваш пример у меня тоже работает.
капееееец.
45 KrutoyDron
 
02.04.12
22:33
кстати и с цифрами тоже
46 KrutoyDron
 
02.04.12
23:32
Все нашел ошибку
Дело было в поле артикул. ща буду думать как его привести в норму
47 KrutoyDron
 
02.04.12
23:33
небольшая заметка артикулы в номенклатуре вот такого формата 463-67-18142
может тире виновато?
48 KrutoyDron
 
02.04.12
23:37
и довольно таки много одинаковых артикулов
т.е код артикул
   1   1-1
   2   1-1
49 KrutoyDron
 
02.04.12
23:51
Всем спасибо прблему решил
ТабЗнач.Артикул=СокрЛП(Запрос.Артикул);
50 Torquader
 
03.04.12
00:29
(49) Если долго мучаться- всё у вас получится