Имя: Пароль:
1C
 
Таблица значений. Подсчет непустых строк.
0 twilight5023
 
06.04.06
18:18
Может у кого-то возникала аналогичная задача... Есть таблица значений, как проще всего подсчитать количество непустых строк в каждой колонке?
2 Токс
 
06.04.06
18:28
Свернуть и вычесть...
ЗЫ Крута Стерва...
3 Стрелок
 
06.04.06
18:29
Сортировка
4 VadBad
 
06.04.06
18:32
Добавить колонку "Счетчик"
Заполнить 1
Свернуть по колонке квкоторой надо считать.
Нати пустое значение.
Вычесть "Счетчик" из Кол. строк.
5 Рупор абсурда
 
06.04.06
18:33
Самое быстрое будет - это посчитать перебором ...
6 mszsuz
 
06.04.06
18:36
Ещё быстрее - посчитать пустышки в момент формирования ТЗ.
7 Рупор абсурда
 
06.04.06
18:40
(6) Забавно было бы взглянуть, как ты будешь это делать вот на таком, например, фрагменте:
Запрос.Выгрузить(ТЗ);
8 twilight5023
 
06.04.06
18:42
(5) Т.е. так что-ли?

Непустых = 0;
Для j=1 По ТаблицаИтогов.КоличествоСтрок() Цикл
   Если ПустоеЗначение(ТаблицаИтогов.ПолучитьЗначение(j,i)) = 0 Тогда
       Непустых = Непустых + 1;
   КонецЕсли;    
КонецЦикла;
Сообщить("Колонка: " + i + " - Непустых строк: " + Непустых);
10 Токс
 
06.04.06
18:43
...
Пока ТаблицаИтогов.ПолучитьСтроку()=1 Цикл
...
11 mszsuz
 
06.04.06
18:45
(7) А в самом запросе?
12 insider
 
06.04.06
18:52
может все-таки отсортировать в обратном порядке по этой колонке, потом найти пустое значение в ней же и вычесть единицу?
13 twilight5023
 
06.04.06
18:54
(10) А если у меня колонки добавляются в цикле, как ТаблицаИтогов.НоваяКолонка(,"Число"), то как потом к ним по имени обратиться (в смысле если цикл через ПолучитьСтроку() делать?)
14 insider
 
06.04.06
18:57
(13) колонки в цикле? в любом случае названия им давай - обратишься (имхо проще так). а вообще код бы увидеть, интересный наверное...
15 mszsuz
 
06.04.06
18:59
Первая колонка: ТаблицаИтогов._1, вторая: ТаблицаИтогов._2, ...
16 twilight5023
 
06.04.06
19:01
(15) Уже увидел, поместив ТЗ на форму ;) Спасибо... только вот в цикле, имхо, ты потом не сможешь считать количество непустых по колонкам. Как ты обратишься к ним по имени вида ТаблицаИтогов._i, где i номер колонки?
17 twilight5023
 
06.04.06
19:05
(14) А код - что-то наподобие динамики продаж в табличном виде с этого же сайта, только гораздо проще в плане различных группировок. Вот динамика продаж, имхо, интересно сделана. Так до конца и не хватает времени с ней разобраться.
18 insider
 
06.04.06
19:06
(17) для чего считаешь пустые? почему не хочешь давать колонкам внятные названия?
не понимаю...
19 twilight5023
 
06.04.06
19:10
(18) Каждая колонка в таблице - период. Количество периодов задается пользователем на форме, соответственно их может быть как один, так и N ... а непустые нужно считаю чтобы узнать количество сработавших клиентов за данный период. Т.е. если клиент брал что-то в периоде 1, то в колонке будет сумма реализации, если этот же клиент не брал ничего в периоде 2, то значение будет пустым. Вообщем нужно получать помимо этих показателей количество сработавших клиентов в N-ом периоде.
20 Буль
 
06.04.06
19:12
Хм... Чудесатенько...
1С: "Учет пустых колонок."
21 КонецЦикла
 
06.04.06
19:13
зачем ТЗ? разбей в запросе группировкой по периоду
22 insider
 
06.04.06
19:13
(19) ну и называй колонки типа "К0106" (январь 2006) и т.п., типа так: .НоваяКолонка("К"+ТекПериод,<бла-бла, неважно>)
ну а непустые считай при заполнении и кидай в служебную ТЗ (т.е. еще одну создай, только не в цикле ессно)
(20) :)
23 insider
 
06.04.06
19:14
(21) о, телепат, респект :)
24 Стрелок
 
06.04.06
19:15
(19) А ты не хочешь сделать наоборот - колонки - клиенты а периоды - строки. Заполнишь "1" там где клиент обращался и dxc` срастётся на ура
25 insider
 
06.04.06
19:16
(24) че у тя срастается? :)
имхо так отчет и должен выглядеть, ну не в колонках же клиенты?
26 Стрелок
 
06.04.06
19:19
(25) Как будет выглядеть итоговая печатная форма - без разницы. А вот как формировать данные так чтобы было удобнее - нужно подумать. Я просто как вариант предложил
27 Буль
 
06.04.06
19:19
Звыняюсь за ОФФ.
(25) Я тебе вроди ;-) когда-то обещался поделиться впечатлениями про ОС ReactOS, но поймать не мог.
Так вот, Реактос этот - г..но полное. С какого фонаря на сайт скриншотов налепили я так и не понял.
28 twilight5023
 
06.04.06
19:22
Да все просто на самом деле... отчет был так написан еще до меня... там по запросу как-то хитро формируется ТЗ, честно говоря мне лениво разбираться как именно. Поэтому уже посчитал сработавших как количество непустых колонок (8), вообщем-то получил то, что хотел. Всем спасибо ;) Согласитесь, что так быстрее, чем копать весь отчет целиком... можно было бы конечно сделать новый запрос, считать выводить по нему, но если уже все через ТЗ сделано, зачем переделывать-то?
29 insider
 
06.04.06
19:23
(28) ну... не знаю, дело хозяйское :)
<офф> (27) ага, помню, хорошо, что не качал, там хоть и трафика мало, но если г..., то и незачем время тратить :)
Программист всегда исправляет последнюю ошибку.