Имя: Пароль:
1C
1С v8
Вывод строк в скд.
, ,
0 goleaff2006
 
06.08.13
11:36
Как в скд когда уже сформирован документ но на экран еще не показан программно вывести только те строки в колонках которых стоит определенное значение.Хочу удалить пустые строки в табличном документе сформированном скд, запрос трогать ни в коем случае нельза, необхадимо как то обработать документ.И где это делать в процедуре прикомпановке результата()?
1 Cube
 
06.08.13
11:38
Отбор наложи...
2 СвинТуз
 
06.08.13
11:39
отбор наложи в режиме пользователя
3 DarKySiK
 
06.08.13
11:39
Отбор, условное форматирование?
4 zladenuw
 
06.08.13
11:42
модуль объекта , процедура ПриКомпоновкеРезультата
5 goleaff2006
 
06.08.13
11:48
Отбор нельзя, нужно когда уже получили результат, со всеми отборами которые пользователь установил.Удалить пустые строки.
6 goleaff2006
 
06.08.13
11:50
т.е как то надо как то во время процессоравывода обработать.
7 Cube
 
06.08.13
11:56
(5) Почему пользователь не может добавить строчку отбора, чтобы не выводить пустые строки? Что за бред...
8 Defender aka LINN
 
06.08.13
12:01
(7) Батюшка кадилом по голове опнет
9 goleaff2006
 
06.08.13
12:02
Такие требования,нужно ничего не менять отчет должен работать как работал, только пользователь не должен видеть этих пустых строк.В этих строках в одной колонке есть определенное значение, и если установить отбор, то в итоги будут не правильно считаться.Т.е эти значения не будут учитываться.Такое вот требование.
10 Defender aka LINN
 
06.08.13
12:04
(9) Жаропонижающее может выпьешь?
11 Cube
 
06.08.13
12:05
(9) Ага, ясно.

Товар1 - 5 шт.
Товар2 - 3 шт.
ИТОГО - 146 шт.

Нормально, чё...
12 goleaff2006
 
06.08.13
12:05
Ну да , что типо того тока столбцов гораздо больше.
13 goleaff2006
 
06.08.13
12:06
мне бы понять как построчно выводить в скд.Чтобы обрабатывать строку.
14 Cube
 
06.08.13
12:07
(12) Я тебе в этом бреде помогать не буду (хотя знаю, что надо сделать), пока ты не докажешь, что это не быдлокод.
15 Defender aka LINN
 
06.08.13
12:07
(13) Нет. Тебе надо выпить чего-нибудь жаропонижающего и не нести всякий бред.
16 goleaff2006
 
06.08.13
12:09
(14)Да я вкурсе,что это быдло код,но вот такой костыль в отчет надо вставить.
17 zladenuw
 
06.08.13
12:10
еще раз читаешь (4) и гуглишь
18 Defender aka LINN
 
06.08.13
12:11
(16) В отчет надо вставить отбор. Твои мысли об устройстве Вселенной вообще и СКД в частности мало кого интересуют
19 Fragster
 
модератор
06.08.13
12:14
можно отбор не на весь отчет, а только на нужный уровень группировки "накласть"
20 goleaff2006
 
06.08.13
12:14
я ж писал если ставить отбор. то потеряются эти строки и итоги будут не верно считаться.
21 goleaff2006
 
06.08.13
12:15
в (11) посту все правильно понял.
22 Defender aka LINN
 
06.08.13
12:16
(20) Я ж писал: твои мысли о том, как работает СКД никому тут не интересны по причине их безграмотности и бредовости.
23 goleaff2006
 
06.08.13
12:22
(22) хочешь сказать что этот отбор будет после того как посчитаются итоги и получен будет результат?Т.е на итоги он никак не влияет?
24 Cube
 
06.08.13
12:26
(23) АМЕРИКА!!!
25 Cube
 
06.08.13
12:28
(23) Только после использования конструктора настроек или удаления и добавления этой группировки отбор пропадет...

Короче ты быдлокодишь не по детски... Давай-давай.
26 cw014
 
06.08.13
12:29
До пятницы еще 3 с половиной дня
27 zladenuw
 
06.08.13
12:30
так чего править запрос нельзя ? как то тупо. лучше там исправить. оплошность
28 Cube
 
06.08.13
12:32
(27) Ты что! Итоги-то тогда будут считаться правильно, а надо как в (11)!!!адинадин
29 goleaff2006
 
06.08.13
12:33
имеем
нач.ост  кол-во дней коэф
20           1        1/5
0            1        1/5
0            1        1/5
5            1        1/5
10           1        1/5
итог 20      5    
Удаляем строки отбором как предложили с нач.остатком 0
получаем
нач.ост  кол-во дней коэф
20           1        1/3
5            1        1/3
10           1        1/3
итог 20      3
а надо
нач.ост  кол-во дней коэф
20           1        1/5
5            1        1/5
10           1        1/5
итог 20      5
30 Cube
 
06.08.13
12:35
(29) Тебе это тайное шаманство не осилить, а помогать я тебе не буду.
31 goleaff2006
 
06.08.13
12:36
(30)Хотя б направил в какое направление рыть =)
32 zladenuw
 
06.08.13
12:38
(30) промолчу. надо смайлов добавить сюда. где смайлик с табличкой ЧМД
33 goleaff2006
 
06.08.13
12:41
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.НачатьВывод();
    Пока истина Цикл
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();
        
        Если ЭлементРезультата = Неопределено Тогда
            прервать;
        КонецЕсли;    
        
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();

Вот в этой всей хрени, как то надо отловить строки как я аонимаю.
34 Cube
 
06.08.13
12:44
(32) ЧМД [чеэмдэ?], нескл., м. (сокр.: частотно-модулированный домен)
http://slovari.yandex.ru/~книги/Орфографический%20словарь/ЧМД/
35 zladenuw
 
06.08.13
12:44
(30) о блин не знал. там есть волшебное поле :) прикольно
36 zladenuw
 
06.08.13
12:50
(33) все просто. нужно просто внимательней смотреть на отбор в пользовательском интерфейсе
http://pixs.ru/showimage/sTebya100B_3069591_8665974.png
37 goleaff2006
 
06.08.13
12:59
(36)
[url=http://pixs.ru/?r=8666082][img=http://i5.pixs.ru/storage/0/8/2/Bezimyanni_6694524_8666082.png][/url]
и как я здесь это должен сделать не факт что будет номенклатура в отборе.Пользователь сам задает это.
38 goleaff2006
 
06.08.13
13:00
39 Cube
 
06.08.13
13:10
(37) Рукалицо...
40 goleaff2006
 
06.08.13
13:14
(39)я попробывал так сделать  не помогло. Либо в колонке нач.остаток не 0, а Null т.к у меня связываются два набора данных.
41 Cube
 
06.08.13
13:17
(40) Мда... Не, ребята, вы как хотите, а я пошел...)))
42 goleaff2006
 
07.08.13
07:43
Кому интересно сделал во так ,
    Пока Истина Цикл
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();
        Если ЭлементРезультата = Неопределено тогда
            Прервать;
        Иначе
        Если ЭлементРезультата.ЗначенияПараметров.Количество()=0 Тогда
            ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        иначе  //не выводим пустые строки.
            СтрокаНеПустая=Ложь;
            Для каждого Показатель Из ЭлементРезультата.ЗначенияПараметров Цикл
                если    ТипЗнч(Показатель.Значение) <> Тип("Число")  тогда
                    продолжить;
                иначе
                    Если Показатель.Значение<>0 Тогда
                        СтрокаНеПустая=Истина;
                        Прервать;
                    КонецЕсли;
                    
                КонецЕсли;    
                
            КонецЦикла;
            Если СтрокаНеПустая Тогда
            ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
    
            КонецЕсли;
        КонецЕсли;
            
        Конецесли;
    Конеццикла;
    ПроцессорВывода.ЗакончитьВывод();
43 Defender aka LINN
 
07.08.13
07:57
Рукалицо...