Печатная форма в pdf без полей

1. arshanskiyav 29 09.10.17 23:10 Сейчас в теме
Добрый день.

Имеем:
Комплексная автоматизация, редакция 1.1 (1.1.90.1)
1С:Предприятие 8.3 (8.3.8.2322)
Обычные формы.

Делаю печатную форму, на первой странице втыкается картинка (программно), она должна быть размером с лист А4.
Вроде как размеры указал (210*297), но при выводе на предпросмотр выясняется, что даже при нулевых полях - какие то поля есть. Как результат картинка разбивается на несколько страниц и так и сохраняется в pdf.

Вывод осуществляется в ПолеТабличногоДокумента.
Так как страниц на выходе несколько, не могу использовать ФоноваяКартинка.

Собственно вопрос, кто-нибудь уже накрывал страницу картинкой?

Спасибо.
+
По теме из базы знаний
Найденные решения
6. madonov 201 13.10.17 16:02 Сейчас в теме
(4). Платформы под рукой сейчас не имею, да и сам я в легком подпитии (В Хабаровске уже глубокий вечер пятницы).
Но я бы рекомедовал попробовать вот так:

ТабДокумент=ЭлементыФормы.ПолеТабличногоДокумента;
    ТабДокумент.Очистить();
    
    ТабДокумент.ВерхнийКолонтитул.Выводить=Ложь;
    ТабДокумент.НижнийКолонтитул.Выводить=Ложь;
    ТабДокумент.ОтображатьСетку=Истина;
    ТабДокумент.ОтображатьЗаголовки = Истина;
    ТабДокумент.ПолеСверху=0;
    ТабДокумент.ПолеСнизу=0;
    ТабДокумент.ПолеСлева=0;
    ТабДокумент.ПолеСправа=0;
    ТабДокумент.ОтображатьГруппировки=Ложь;
    ТабДокумент.АвтоМасштаб=Ложь;
    ТабДокумент.МасштабПечати=100;
    ПутьДоКартинки=Строка(""+PSМодуль.ПолучитьПутьДоБазы()+"\Обработчики\КП\first_page.jpg");

    Строка = ТабДокумент.Область(1,,1,); //Выделяем первую строку целиком
    Строка.СоздатьФорматСтрок(); //создаем для первой строки отдельный формат, чтобы изменение ширины ячейки не влияло на последующие строки

    Ячейка=ТабДокумент.Область(1,1,1,1);    
    Ячейка.ВысотаСтроки=842;
    Ячейка.ШиринаКолонки=114;
    Ячейка.Картинка=Новый Картинка(ПутьДоКартинки,Ложь);
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
Показать



Создание формата строк

Для того чтобы создать новый формат строк (сделать у некоторых строк собственную ширину колонок), достаточно выделить строки, у которых необходимо изменить ширину колонки, и при помощи мыши изменить размер любой колонки. После изменения размера будет выдан запрос на создание нового формата строк. В случае подтверждения создания нового формата строк, для выделенных строк будет создан новый формат, и в дальнейшем, при изменении размеров колонок в данных строках, будут изменяться размеры колонок только в данных строках, остальные строки при этом затрагиваться не будут.

Для программной установки формата строк для определенной области табличного документа, следует воспользоваться методом СоздатьФорматСтрок(). После вызова метода строки, которые входили в область, для которой вызывался метод, будут иметь новый формат строк.
ilya4; arshanskiyav; +2
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. madonov 201 10.10.17 04:26 Сейчас в теме
Как вариант:
1.Сделать область из одной ячейки (Ширина 114, Высота 842)
2. Установить картинку в качестве фона этой ячейки
3. Вывести область картинки
4. Вывести последующие области

Минус такого решения в том, что весь документ в итоге будет без полей, но конечно можно решить на уровне макета.
Прикрепленные файлы:
+
3. arshanskiyav 29 10.10.17 20:59 Сейчас в теме
(2) Спасибо.
Несколько дезинформировал, я пытаюсь с макетом это сделать.
Ваше решение подошло.
Код
+
4. arshanskiyav 29 12.10.17 18:46 Сейчас в теме
(2)А есть еще варианты?
До сих пор бьюсь, в этом варианте ячейка 2,1,2,1 получает такую же ширину, соответственно табличный макет ниже улетает в тар-тар-ра-ры.
Если мы объединяем 12 колонок (грубо ширина макета 12 колонок), то проблема возвращается.

Я пока вижу один вариант - разными табличными документами выводить первую и остальные страницы, создать документ WORD и его сохранить в PDF.
Но мне кажется, что это уже извращение.

Можно как-нибудь два табличных документа сохранить в 1 PDF документ?
+
5. Guyer 20 12.10.17 22:02 Сейчас в теме
Если выводится в 2 разных табличных документа то в один pdf нельзя сохранить. Если же это 2 разных макета выводятся в один табличный документ то можно
+
6. madonov 201 13.10.17 16:02 Сейчас в теме
(4). Платформы под рукой сейчас не имею, да и сам я в легком подпитии (В Хабаровске уже глубокий вечер пятницы).
Но я бы рекомедовал попробовать вот так:

ТабДокумент=ЭлементыФормы.ПолеТабличногоДокумента;
    ТабДокумент.Очистить();
    
    ТабДокумент.ВерхнийКолонтитул.Выводить=Ложь;
    ТабДокумент.НижнийКолонтитул.Выводить=Ложь;
    ТабДокумент.ОтображатьСетку=Истина;
    ТабДокумент.ОтображатьЗаголовки = Истина;
    ТабДокумент.ПолеСверху=0;
    ТабДокумент.ПолеСнизу=0;
    ТабДокумент.ПолеСлева=0;
    ТабДокумент.ПолеСправа=0;
    ТабДокумент.ОтображатьГруппировки=Ложь;
    ТабДокумент.АвтоМасштаб=Ложь;
    ТабДокумент.МасштабПечати=100;
    ПутьДоКартинки=Строка(""+PSМодуль.ПолучитьПутьДоБазы()+"\Обработчики\КП\first_page.jpg");

    Строка = ТабДокумент.Область(1,,1,); //Выделяем первую строку целиком
    Строка.СоздатьФорматСтрок(); //создаем для первой строки отдельный формат, чтобы изменение ширины ячейки не влияло на последующие строки

    Ячейка=ТабДокумент.Область(1,1,1,1);    
    Ячейка.ВысотаСтроки=842;
    Ячейка.ШиринаКолонки=114;
    Ячейка.Картинка=Новый Картинка(ПутьДоКартинки,Ложь);
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
Показать



Создание формата строк

Для того чтобы создать новый формат строк (сделать у некоторых строк собственную ширину колонок), достаточно выделить строки, у которых необходимо изменить ширину колонки, и при помощи мыши изменить размер любой колонки. После изменения размера будет выдан запрос на создание нового формата строк. В случае подтверждения создания нового формата строк, для выделенных строк будет создан новый формат, и в дальнейшем, при изменении размеров колонок в данных строках, будут изменяться размеры колонок только в данных строках, остальные строки при этом затрагиваться не будут.

Для программной установки формата строк для определенной области табличного документа, следует воспользоваться методом СоздатьФорматСтрок(). После вызова метода строки, которые входили в область, для которой вызывался метод, будут иметь новый формат строк.
ilya4; arshanskiyav; +2
7. arshanskiyav 29 22.10.17 21:50 Сейчас в теме
(6) , спасибо, это реально решило проблему.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот