|
как скрыть пустые строки в макете? | ☑ | ||
---|---|---|---|---|
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 и тд
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |