ВидПоляФормы.ПолеPDFДокумента

Свойства · PDFDocumentField

Поле PDF-документа.

Полное описание, параметры и ограничения

ВидПоляФормы.ПолеPDFДокумента (FormFieldType.PDFDocumentField)

ВидПоляФормы (FormFieldType)

ПолеPDFДокумента (PDFDocumentField)

Доступен, начиная с версии 8.3.21.

Описание:
Поле PDF-документа.
Использование в версии:

Доступен, начиная с версии 8.3.21.

Методическая информация

Практические примеры

Встроить свою одностраничную PDF-памятку в управляемую форму

Настоящий реквизит ДокументPDF связывается с полем вида ПолеPDFДокумента и заполняется собственным документом из двоичного макета.

Где и как запускать

Серверный обработчик собственной управляемой формы; тонкий / толстый клиент.

Подготовка

  1. В своей учебной конфигурации создайте обработку УчебныйПросмотрPDF и её управляемую форму. На форме добавьте обычную группу ГруппаПросмотра. Реквизит ДокументКниги и поле ПолеКнигиPDF заранее НЕ создавайте: их добавляет основной обработчик.

  2. В обработке создайте макет УчебныйPDF типа ДвоичныеДанные. Вручную загрузите в него свой настоящий одностраничный PDF, например собственную памятку «Книга — 3 шт.». Текстовый файл, переименованный в .pdf, не подходит. Пароль / подписи для этого опыта не нужны.

  3. Основной блок — ПриСозданииНаСервере именно своей формы; назначьте его этому событию. Откройте форму в тонком / толстом клиенте. Это встроенное поле формы, а не отдельное окно ДокументPDF.Показать().

  4. Схема связи РеквизитФормы с типом ДокументPDF → ПолеФормы.Вид=ПолеPDFДокумента → ПутьКДанным подтверждается реализацией интеграции с 1С:Документооборот в исходниках УНФ. Здесь нет вызовов библиотечных модулей УНФ: пример самодостаточен на платформе.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Реквизиты = Новый Массив;
    Реквизиты.Добавить(Новый РеквизитФормы("ДокументКниги", Новый ОписаниеТипов("ДокументPDF")));
    ИзменитьРеквизиты(Реквизиты);
    Поле = Элементы.Добавить("ПолеКнигиPDF", Тип("ПолеФормы"), Элементы.ГруппаПросмотра);
    Поле.Вид = ВидПоляФормы.ПолеPDFДокумента;
    Поле.ПутьКДанным = "ДокументКниги";
    Данные = Обработки.УчебныйПросмотрPDF.ПолучитьМакет("УчебныйPDF");
    Поток = Данные.ОткрытьПотокДляЧтения();
    Попытка
        ДокументКниги = Новый ДокументPDF;
        ДокументКниги.Прочитать(Поток);
    Исключение
        Поток.Закрыть();
        ВызватьИсключение;
    КонецПопытки;
    Поток.Закрыть();
    Сообщить("Страниц собственного PDF: " + Строка(ДокументКниги.КоличествоСтраниц()));
КонецПроцедуры

Разбор по шагам

  1. Подготовьте свой настоящий двоичный PDF-макет и пустую группу.

  2. Добавьте реквизит и связанное поле на сервере.

  3. Прочитайте PDF из потока и проверьте встроенное отображение собственной страницы.

Как проверить результат

  1. ПутьКДанным указывает на ДокументPDF, не на строку пути, URL или ХранилищеЗначения. Вид назначается настоящему ПолеФормы до заполнения документа.

  2. Поток закрывается и после чтения, и при исключении. Документ остаётся в реквизите формы; отдельного сохранения, печати и проверки подписей нет.

  3. Макет содержит только собственные данные. BSL, открытие PDF, запись файлов и печать при сборке HTML не исполнялись.

Ожидаемый результат

Есть непустой собственный PDF и действительная типизированная связь с управляемым полем.

На что обратить внимание

  1. Не создавайте каждый раз второй реквизит с тем же именем и не подменяйте встроенный просмотр открытием внешнего приложения.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.