|
Убрать разделитель страниц и готового ТабличногоДокумента | ☑ | ||
---|---|---|---|---|
0
GoKerze
13.04.16
✎
12:25
|
Делаю внешнюю печатную форму и что-то лень тащить в нее много кода. Некая функция возвращает мне ТабличныйДокумент и я его исправляю уже после формирования. Смотрите код:
ТабДокумент = ПечатьУниверсальногоПередаточногоДокумента(); ОбластьАдресПокупателя = ТабДокумент.Область("R12C7:R12C7"); Если НЕ ОбластьАдресПокупателя.СодержитЗначение Тогда ОбластьАдресПокупателя.Текст = "Планета Земля"; КонецЕсли; ОбластьОснование = ТабДокумент.Область("R35C6:R36C17"); Если НЕ ОбластьОснование.СодержитЗначение Тогда ОбластьОснование.Текст = "Основной договор"; КонецЕсли; Возврат ТабДокумент; Но вот не пойму как мне найти и убрать ГоризонтальныйРазделительСтраниц. Есть идеи? |
|||
1
singlych
13.04.16
✎
12:44
|
У области есть свойство КонецСтраницы.
|
|||
2
GoKerze
13.04.16
✎
13:35
|
С ОбластьОснование я погорячился. Область плавающая. Лучше так заменить:
ОбластьОснование = ТабДокумент.НайтиТекст(СсылкаНаОбъект.ДоговорКонтрагента.Наименование); Если НЕ ОбластьОснование = Неопределено Тогда Если НЕ ОбластьОснование.СодержитЗначение Тогда ОбластьОснование.Текст = "Основной договор"; КонецЕсли; КонецЕсли; |
|||
3
GoKerze
13.04.16
✎
14:17
|
singlych, спасибо за наводку.
Господи! Не хотел ведь фикалиекодить. Это код, которым я удаляю ГоризонтальныйРазделительСтраниц и ЗаголовокТаблицы вставленный на втором листе. Для й = 1 по 100 Цикл ИмяОбласти = "R" + Строка(й); Область = ТабДокумент.Область(ИмяОбласти); Если Область.КонецСтраницы Тогда Область.КонецСтраницы = Ложь; ИмяОбластьНенужнаяШапкаТаблицы = "R" + Строка(й+1) + "C1:" + "R" + Строка(й+3) + "C17"; ОбластьНенужнаяШапкаТаблицы = ТабДокумент.Область(ИмяОбластьНенужнаяШапкаТаблицы); ОбластьНенужнаяШапкаТаблицы.АвтоВысотаСтроки = Ложь; ОбластьНенужнаяШапкаТаблицы.ВысотаСтроки = 1; ТабДокумент.УдалитьОбласть(ОбластьНенужнаяШапкаТаблицы); Прервать; КонецЕсли; КонецЦикла; Рассказываю почему все так плохо: 1) Не нашел возможности получить Область от Области. Это бы сделало траву зеленее, вечность основательнее, код адекватнее. 2) Метод ПолучитьОбласть возвращает новый ТабличныйДокумент изменение которого не приводит к изменению исходного ТабличногоДокумента и который не впихнуть обратно через ВставитьОбласть(<ИсходнаяОбласть>, <ОбластьПриемник>, <Сдвиг>, <ЗаполнятьПараметры>), например, даже если взять от него Область. Зачем там "ПолучитьОбласть" я хз. 3) Метод УдалитьОбласть удаляет содержимое строк, но не строки. Остается пустая белая полоса вместо удаленной области. Указав "Смещать = ТипСмещенияТабличногоДокумента.ПоВертикали;" мы лишь переносим белую полосу ниже. Метод вроде "УдалитьСтрокиНиже" я не нашел. |
|||
4
singlych
13.04.16
✎
14:47
|
Вроде не должно быть белых полос, если область ненужной шапки получать как область строк (типа R(й+1):R(й+3)) и удалять со смещением по вертикали.
|
|||
5
singlych
13.04.16
✎
14:52
|
А еще можно сделать новый табдок, в который вывести из старого все области, кроме ненужных.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |