Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

как скрыть пустые строки в макете?

как скрыть пустые строки в макете?
Я
   CODA
 
16.09.20 - 21:36
добрый вечер !

как скрыть пустые строки в макете?
   МимохожийОднако
 
1 - 16.09.20 - 21:37
не выводи
   CODA
 
2 - 16.09.20 - 21:49
(1) если строка содержит несколько областей?
   Сергиус
 
3 - 16.09.20 - 22:01
(2)Покажи пример, что хочешь сделать.
   CODA
 
4 - 16.09.20 - 22:03
(3) скрыть пустые строки в макете  где значение одной из колонки больше 0   а их несколько  -колонок  ( областей)
   CODA
 
5 - 16.09.20 - 22:04
допустим  5 колонок    с разными значениями  но есть пустые строки
   Сергиус
 
6 - 16.09.20 - 22:07
(5)Делай вывод каждой области где колонка отдельно. Если по условию пусто, то не выводи.
   CODA
 
7 - 16.09.20 - 22:10
(6) тойсть условие проверки на каждую область?
   Сергиус
 
8 - 16.09.20 - 22:12
(7)Ну конечно. У тебя как я понимаю области обозначены что-то навроде такого "Строка|Колонка1", "Строка|Колонка2" и тд.?
   CODA
 
9 - 16.09.20 - 22:12
обл1  обл2  обл3  обл4  

_1_____2______3____4_____
_____________________
_____________________

_2_____3______4_____5__
   CODA
 
10 - 16.09.20 - 22:13
обл1  обл2  обл3  обл4  

строкатабл _1_____2______3____4_____
           _____________________
           _____________________

           _2_____3______4_____5__
   Сергиус
 
11 - 16.09.20 - 22:14
(10)Покажи код, как делаешь вывод.
   CODA
 
12 - 16.09.20 - 22:15
шапка



    
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы|Основной2");
    ДокументРезультат.Присоединить(ОбластьШапкаТаблицы);  
    
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы|Основной3");
    ДокументРезультат.Присоединить(ОбластьШапкаТаблицы);
    
    //Если ПараметрыОтчета.СЗадолженностью Тогда

        //ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы|Дополнительно");

        //ДокументРезультат.Присоединить(ОбластьШапкаТаблицы);

    //Иначе

        //ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы|КонецЛиния");

        //ДокументРезультат.Присоединить(ОбластьШапкаТаблицы);

    //КонецЕсли;    

    
    ОбластьСтрокаОсновной = Макет.ПолучитьОбласть("СтрокаТаблицы|Основной");
    ОбластьСтрокаОсновной1 = Макет.ПолучитьОбласть("СтрокаТаблицы|Основной1");
     
    
    ОбластьСтрокаОС = Макет.ПолучитьОбласть("СтрокаТаблицы|ОС");
    ОбластьСтрокаОтчет1 = Макет.ПолучитьОбласть("СтрокаТаблицы|Отчет1");
    //ОбластьСтрокаОтчет2 = Макет.ПолучитьОбласть("СтрокаТаблицы|Отчет2");

    ОбластьСтрокаОсновной2 = Макет.ПолучитьОбласть("СтрокаТаблицы|Основной2");
    ОбластьСтрокаОсновной3 = Макет.ПолучитьОбласть("СтрокаТаблицы|Основной3");

    //ОбластьСтрокаДополнительно = Макет.ПолучитьОбласть("СтрокаТаблицы|Дополнительно");

    //ОбластьСтрокаКонецЛиния = Макет.ПолучитьОбласть("СтрокаТаблицы|КонецЛиния");

    
    ОбластьСтрокаОсновнойОС = Макет.ПолучитьОбласть("СтрокаТаблицыОС|Основной");
    ОбластьСтрокаОсновнойОС1 = Макет.ПолучитьОбласть("СтрокаТаблицыОС|Основной1");
 
    ОбластьСтрокаОтчет1ОС = Макет.ПолучитьОбласть("СтрокаТаблицыОС|Отчет1");
    //ОбластьСтрокаОтчет2ОС = Макет.ПолучитьОбласть("СтрокаТаблицыОС|Отчет2");

    ОбластьСтрокаОсновной2ОС = Макет.ПолучитьОбласть("СтрокаТаблицыОС|Основной2");
        ОбластьСтрокаОсновной2ОС = Макет.ПолучитьОбласть("СтрокаТаблицыОС|Основной3");
   Сергиус
 
13 - 16.09.20 - 22:16
А параметры никакие не задаются?
   CODA
 
14 - 16.09.20 - 22:16
ВыборкаКонтр = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаКонтр.Следующий() Цикл
        ТекКСуммаГрафика = 0;
        ТекКОстаток = 0;
        ТекКВсего = 0;
        ТекКТекущая = 0;
        ТекКДней30 = 0;
        ТекКДнейБольше60 = 0;
        ТекКПениВыставлено = 0;
        ТекКПениОплачено = 0;
        ТекКВсегоЗадолженность = 0;
        ТекКАванс = 0;
        ТекИтогоСтоимостьИмущества = 0;
        
        ВывестиПромежуточныйИтог = ложь;
        НомерГрафика = 0;
        ВыборкаДок = ВыборкаКонтр.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        Пока ВыборкаДок.Следующий() Цикл
            НомерГрафика  =  НомерГрафика + 1;
            
            Если ПараметрыОтчета.ОтборВыбратьПервые Тогда
                Если НомерГрафика > ПараметрыОтчета.ВыбратьПервые Тогда
                    Прервать;
                КонецЕсли;
            КонецЕсли;    

            //Если ВыборкаДок.Остаток <= 0 Тогда

            //    Продолжить;    

            //КонецЕсли;    

            
            Если ПараметрыОтчета.ОтборОстаток И (ВыборкаДок.Остаток <= ПараметрыОтчета.МинОстаток) Тогда
                Продолжить;    
            КонецЕсли;    

            Если ПараметрыОтчета.ОтборВсего И (ВыборкаДок.Всего <= ПараметрыОтчета.МинВсего) Тогда
                Продолжить;    
            КонецЕсли;    
            
            НомерТек = НомерТек+1;
            ОбластьСтрокаОсновной.Параметры.Номер = НомерТек;
            ОбластьСтрокаОсновной.Параметры.Документ = ВыборкаДок.Регистратор;
            ОбластьСтрокаОсновной.Параметры.Контрагент = ВыборкаДок.Регистратор.Контрагент;
            ОбластьСтрокаОсновной1.Параметры.НомерДоговора = ВыборкаДок.Регистратор.Договор.Номер;
            ОбластьСтрокаОсновной1.Параметры.СтоимостьИмущества = ВыборкаДок.Регистратор.СтоимостьИмущества;
            //ОбластьСтрокаОсновной1.Параметры.ДатаДоговора =  Формат(ВыборкаДок.Регистратор.Договор.Дата,"ДЛФ=Д");

            
            //ОбластьСтрокаОтчет1.Параметры.ДатаОкончанияДоговора = Формат(ВыборкаДок.ДатаЗавершенияГрафика,"ДЛФ=Д");

            //ОбластьСтрокаОтчет1.Параметры.СуммаГрафика = ВыборкаДок.ОбщаяСуммаПлатежей;

              
            Выб = ВыборкаДок.Выбрать();
            //

               Пока выб.Следующий() цикл 
                    ОбластьСтрокаОсновной1.Параметры.СуммаПост= Выб.ПолучЛизПл;
                      ОбластьСтрокаОсновной3.Параметры.Поручит = Выб.Поручитель ;
                      ОбластьСтрокаОсновной3.Параметры.Залог = Выб.Залогодатель ;

               
                КонецЦикла;
            //ОбластьСтрокаОтчет1.Параметры.СуммаПост= "111";


                         //ОбластьСтрокаОтчет1.Параметры.Остаток = ВыборкаДок.Остаток;

            
            ВсегоВсего = ?(ВыборкаДок.Всего > 0 , ВыборкаДок.Всего, 0);
            ОбластьСтрокаОсновной2.Параметры.Всего = ВсегоВсего;
            ОбластьСтрокаОсновной2.Параметры.Дней30 = 0;
            ОбластьСтрокаОсновной2.Параметры.ДнейБольше60 = 0;
            
            ДатаОткрытияДолга = Неопределено;
            
            Если ВсегоВсего > 0 Тогда
                МинДата = МинимальнаяДатаЗаПериод(ВыборкаДок.Регистратор, НачалоМесяца(ПараметрыОтчета.ДатаОтчета), ПараметрыОтчета.ДатаОтчета);
                
                Если МинДата <> Неопределено Тогда
                    СуммаТекущая = ПосчитатьСколькоСуммыПлатежаЗаПериод(ВыборкаДок.Регистратор, НачалоМесяца(ПараметрыОтчета.ДатаОтчета), ПараметрыОтчета.ДатаОтчета);
                    ПрошлыйМесяц = ПараметрыОтчета.ДатаОтчета;
                Иначе
                    ПрошлыйМесяц = ДобавитьМесяц(ПараметрыОтчета.ДатаОтчета,-1);
                    СуммаТекущая = ПосчитатьСколькоСуммыПлатежаЗаПериод(ВыборкаДок.Регистратор, НачалоМесяца(ПрошлыйМесяц), КонецМесяца(ПрошлыйМесяц));
                КонецЕсли;    
                //ДатаОткрытияДолга = ПрошлыйМесяц;

                
                СуммаТекущая = Мин(СуммаТекущая,ВсегоВсего);
                ИтогоТекущая = ИтогоТекущая + СуммаТекущая;
                ТекКТекущая = ТекКТекущая + СуммаТекущая;
                
                ОбластьСтрокаОсновной2.Параметры.Текущая = СуммаТекущая;
                
                //ВыборкаОС1 = ВыборкаДок.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

                //Пока ВыборкаОС1.Следующий() Цикл


                //

                //  Дог1=ВыборкаОС1.ОсновноеСредство; 

                  
                  //ОбластьСтрокаОсновной3.Параметры.Поручит = ВыбДок.Поручитель ;


                  
              //    

              //КонецЦикла;

              
              
               
 
                
                Если ВсегоВсего <> СуммаТекущая Тогда
                    ПрошлыйМесяц2 = ДобавитьМесяц(ПрошлыйМесяц,-1);
                    Сумма30 = ПосчитатьСколькоСуммыПлатежаЗаПериод(ВыборкаДок.Регистратор, НачалоМесяца(ПрошлыйМесяц2), КонецМесяца(ПрошлыйМесяц2));
                    Сумма30 = Мин(Сумма30,ВсегоВсего - СуммаТекущая);
                    ИтогоДней30 = ИтогоДней30 + Сумма30;
                    ТекКДней30 = ТекКДней30 + Сумма30;
                    
                    ОбластьСтрокаОсновной2.Параметры.Дней30 = Сумма30;
                    ДатаОткрытияДолга = ПрошлыйМесяц2;
                    
                    Если ВсегоВсего <> (СуммаТекущая + Сумма30) Тогда
                        СуммаБолее60 = ВсегоВсего - СуммаТекущая - Сумма30;
                        ИтогоДнейБольше60 = ИтогоДнейБольше60 + СуммаБолее60;
                        ТекКДнейБольше60 = ТекКДнейБольше60 + СуммаБолее60;
                        
                        ОбластьСтрокаОсновной2.Параметры.ДнейБольше60 = СуммаБолее60;
                        //ДатаОткрытияДолга = ПолучитьДатуОткрытияДолгаПоДокументу(ВыборкаДок.Регистратор, СуммаБолее60, ДатаОткрытияДолга-24*60*60);

                        //ДатаОткрытияДолга = ПолучитьДатуОткрытияДолгаПоДокументу(ПараметрыОтчета);


                    КонецЕсли;    
                КонецЕсли;
                
            Иначе
                ОбластьСтрокаОсновной2.Параметры.Текущая = 0;
                ОбластьСтрокаОсновной2.Параметры.Дней30 = 0;
                ОбластьСтрокаОсновной2.Параметры.ДнейБольше60 = 0;
            КонецЕсли;    
            
            
            ДокументРезультат.Вывести(ОбластьСтрокаОсновной);
            
            Если ПараметрыОтчета.ВывестиОСОтдельнойКолонкой Тогда
                ТекОС = "";
                ВыборкаОС = ВыборкаДок.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                Пока ВыборкаОС.Следующий() Цикл
                    ТекОС = ТекОС + ВыборкаОС.ОсновноеСредство+"; ";
                КонецЦикла;
                ОбластьСтрокаОС.Параметры.ОС = ТекОС;
                ДокументРезультат.Присоединить(ОбластьСтрокаОС);  
            КонецЕсли;    
            
            ДокументРезультат.Присоединить(ОбластьСтрокаОсновной1);
   Сергиус
 
15 - 16.09.20 - 22:21
По каким из этих параметров можно определить, пустая будет строка или нет?
   CODA
 
16 - 16.09.20 - 22:25
если дней от 30  тогда  выводим   

Дней30  


всего обл заполнено по ней определить можно  выводить или нет строку
   CODA
 
17 - 16.09.20 - 22:28
думаю так  если Сумма30 >0  тогда выводим
   CODA
 
18 - 16.09.20 - 22:28
если всего <>0  тогда выводим
   Сергиус
 
19 - 16.09.20 - 22:43
(18)Ну так и поставь данное условие на вывод, там где идет ДокументРезультат.Присоединить
   CODA
 
20 - 16.09.20 - 22:50
(19)ок на все обл
   Сергиус
 
21 - 16.09.20 - 23:00
(20) СтрокаТабл|Обл1,  СтрокаТабл|Обл2 и тд


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.