|   |   | 
| 
 | как скрыть пустые строки в макете? | ☑ | ||
|---|---|---|---|---|
| 0
    
        CODA 16.09.20✎ 21:36 | 
        добрый вечер !
 как скрыть пустые строки в макете? | |||
| 1
    
        Мимохожий Однако 16.09.20✎ 21:37 | 
        не выводи     | |||
| 2
    
        CODA 16.09.20✎ 21:49 | 
        (1) если строка содержит несколько областей?     | |||
| 3
    
        Сергиус 16.09.20✎ 22:01 | 
        (2)Покажи пример, что хочешь сделать.     | |||
| 4
    
        CODA 16.09.20✎ 22:03 | 
        (3) скрыть пустые строки в макете  где значение одной из колонки больше 0   а их несколько  -колонок  ( областей)     | |||
| 5
    
        CODA 16.09.20✎ 22:04 | 
        допустим  5 колонок    с разными значениями  но есть пустые строки     | |||
| 6
    
        Сергиус 16.09.20✎ 22:07 | 
        (5)Делай вывод каждой области где колонка отдельно. Если по условию пусто, то не выводи.     | |||
| 7
    
        CODA 16.09.20✎ 22:10 | 
        (6) тойсть условие проверки на каждую область?     | |||
| 8
    
        Сергиус 16.09.20✎ 22:12 | 
        (7)Ну конечно. У тебя как я понимаю области обозначены что-то навроде такого "Строка|Колонка1", "Строка|Колонка2" и тд.?     | |||
| 9
    
        CODA 16.09.20✎ 22:12 | 
        обл1  обл2  обл3  обл4  
 _1_____2______3____4_____ _____________________ _____________________ _2_____3______4_____5__ | |||
| 10
    
        CODA 16.09.20✎ 22:13 | 
        обл1  обл2  обл3  обл4  
 строкатабл _1_____2______3____4_____ _____________________ _____________________ _2_____3______4_____5__ | |||
| 11
    
        Сергиус 16.09.20✎ 22:14 | 
        (10)Покажи код, как делаешь вывод.     | |||
| 12
    
        CODA 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 | 
        А параметры никакие не задаются?     | |||
| 14
    
        CODA 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 | 
        По каким из этих параметров можно определить, пустая будет строка или нет?     | |||
| 16
    
        CODA 16.09.20✎ 22:25 | 
        если дней от 30  тогда  выводим   
 Дней30 всего обл заполнено по ней определить можно выводить или нет строку | |||
| 17
    
        CODA 16.09.20✎ 22:28 | 
        думаю так  если Сумма30 >0  тогда выводим     | |||
| 18
    
        CODA 16.09.20✎ 22:28 | 
        если всего <>0  тогда выводим     | |||
| 19
    
        Сергиус 16.09.20✎ 22:43 | 
        (18)Ну так и поставь данное условие на вывод, там где идет ДокументРезультат.Присоединить     | |||
| 20
    
        CODA 16.09.20✎ 22:50 | 
        (19)ок на все обл     | |||
| 21
    
        Сергиус 16.09.20✎ 23:00 | 
        (20) СтрокаТабл|Обл1,  СтрокаТабл|Обл2 и тд     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |