Имя: Пароль:
1C
1С v8
СКД: разрыв в отчете
,
0 zebra999
 
01.09.11
15:32
Имеется отчет на СКД и вложенная схема к нему (подотчет). Задала макеты для обоих отчетов так, чтобы при выводе результирующего отчета получалась неразрывная таблица. Но после вывода каждого вложенного подотчета появляется пустая строка, которая все портит. Как избавиться от лишней строки?
PS. Эту же тему начинал(а) FoxFox 10.05.11 - 11:58, но безответно =(
1 IronDemon
 
01.09.11
15:56
2 zebra999
 
01.09.11
16:10
(1) Что вы хотели сказать этой ссылкой? Гугл не может ответить на мой вопрос =(
3 Hostess_
of_Love
 
01.09.11
16:13
в макете в область подотчета входит пустая строка
4 IronDemon
 
01.09.11
16:17
Не вчитался. Тебе нужно удалить пустую строку после вывода вложенной схемы?
5 zebra999
 
01.09.11
16:19
(4) Да. Пустая строка мешает.
6 Hostess_
of_Love
 
01.09.11
16:20
блин, ну вот и как объяснить чтобы из области убрали эту самую пустую строку?
7 zebra999
 
01.09.11
16:22
(6) В макете пустой строки нет - она добавляется "автоматически". И это грустно
8 IronDemon
 
01.09.11
16:22
Только искать в табличном документе нужные строки и удалять.
9 zebra999
 
01.09.11
16:24
(8) Видимо, так и придется делать. Блин, вот так дискредитируется сама идея СКД =(((
10 alex-pro
 
01.09.11
16:41
(9)
Неправда, довольно часто макет доводится "до ума" после вывода из СКД.
Уверена, что "объединением" нельзя задачу реализовать? И будет одно под другим с общей шапкой...
11 zebra999
 
01.09.11
18:28
(10) Не, там "классическая" вложенная схема: основной отчет - обороты по нескольким регистрам накопления (с итогами по группировкам), а вложенный отчет - расшифровка оборотов ОДНОГО из регистров (в общем, движения).
В общем, удалила ручками. Мб кому пригодится код:

Процедура ДействияФормыДействие1(Кнопка)

 Таб = ЭлементыФормы.Результат;
 Таб.Очистить();
 ЭтотОбъект.СкомпоноватьРезультат(Таб);

 мсвПустыеСтроки = Новый Массив;
 Для Стр=1 По Таб.ВысотаТаблицы Цикл
 ЭтоПустаяСтрока = Истина;
   Для Кол=1 По Таб.ШиринаТаблицы Цикл
     Обл = Таб.Область(Стр,Кол);
     Если ЗначениеЗаполнено(Обл.Текст) Тогда
   ЭтоПустаяСтрока = Ложь;
   Прервать;
     КонецЕсли;
   КонецЦикла;
   Если ЭтоПустаяСтрока Тогда
     мсвПустыеСтроки.Вставить(0,Стр);
   КонецЕсли;
 КонецЦикла;
     
 Для Каждого Эл Из мсвПустыеСтроки Цикл
   Таб.УдалитьОбласть(Таб.Область(Эл,,Эл),ТипСмещенияТабличногоДокумента.ПоВертикали);
 КонецЦикла;
   
КонецПроцедуры