Имя: Пароль:
1C
 
Подсчет повторяющихся значений в ТЗ
Ø
0 alexb
 
16.03.05
21:47
Есть ТЗ.
В ней ТЗ.КоличествоСтрок().
Нужно подсчитать сколько раз повторяются в этой ТЗ, значения.
Например: Номенклатура Гвозди - 32 строки
          Номенклатура Шурупы - 56 строк
1 Матрейя
 
16.03.05
21:48
Дополнительная колонка счетчик и свернуть. Или ВК от vtools, позволяющая делать запросы к таблице значений (аналогично обычному зпросу 1с)
2 alexb
 
16.03.05
21:51
А как тут нужно свернуть ?-)
3 Ginzburg
 
16.03.05
21:52
сортируй+, находи, отрезай до, сортируй-,отрезай до, количество гвоздей=количествострок, но так ежли раз, а для всего быстрее сортируй, и считай перебором i[1]->количествогвоздей.......
4 alexb
 
16.03.05
21:53
ТЗ из одной колонки состоит...
5 Матрейя
 
16.03.05
21:53
Тз.НоваяСтрока();
Тз.Значение=Зн;
Тз.Счетчик=1;
...........
Тз.Свернуть("значение","счетчик");
6 leshik
 
16.03.05
21:53
самым оптимальным будет добавление колонки с 1 и сворачивание по ней :-)
7 КонецЦикла
 
16.03.05
21:53
Табл.НоваяКолонка("Счетчик"."Число");
Табл.Заполнить(1,,,"Счетчик");
Табл.Свернуть("Номенклатура","Счетчик");
8 zgr
 
16.03.05
21:54
весна, витамины - нехватка или тараканы ?
(1)сейчас еще скажи - что д.б в дополн. колонке ))
9 Матрейя
 
16.03.05
21:55
4. НоваяКолонка() или второй предложенный метод.
10 alexb
 
16.03.05
21:57
(3)находить наверное не получится, потому что значения для поиска заранее не известны.
А можно пример с подсчетом методом перебора -)
11 Ginzburg
 
16.03.05
21:58
(5) да иногда выход, ежли знамо где счетчик по ходу заполнения ставить, а то так бывает закручено, фих угадаешь, при заполнении таблицы и выгр и загр и перебор и сверн и т.п. в Рарус залезь там все в этом духе, и раскинано (правда это оправдано, сложный алгоритм в производстве некоторых весчей, не приводите как альтернативу ПУБ)
12 alexb
 
16.03.05
22:06
Млин.Так и не понял...
13 КонецЦикла
 
16.03.05
22:10
Че не понял?
Перем Стр
Табл.НоваяКолонка("Счетчик","Число");
Табл.Заполнить(1,,,"Счетчик");
Табл.Свернуть("Номенклатура","Счетчик");
Табл.НайтиЗначение(НужнаяНоменклатура,Стр,"Номенклатура");
КолвоПовторов = Табл.ПолучитьЗначение(Стр,"Счетчик");
14 alexb
 
16.03.05
22:15
все дошло, спасибо -)
15 Ginzburg
 
16.03.05
22:16
тз.сортировать("номенклатура");стр1=0;
тз.НайтиЗначение(Гвозди,стр1,"Номенклатура");
тз.Выгрузить(тз1,стр1);
тз1.сортировать("номенклатура-");стр1=0;
тз1.НайтиЗначение(Гвозди,стр1,"Номенклатура");
тз1.Выгрузить(тз1,стр1);КоличествоГвоздей=тз1.КоличествоСтрок();
Основная теорема систематики: Новые системы плодят новые проблемы.