1с предварительный просмотр программно

Что такое «превью» документа

В 1С: «Документообороте» под «превью» понимается HTML-поле для предварительного просмотра информации о документе. Поле содержит в себе идентификационные данные (например, наименование и регистрационные данные) и основные реквизиты документа.

  • в области просмотра списков документов,
  • на закладке «Обзор» карточек документов.

В списках документов область просмотра выводится с помощью одноименной команды в подменю Еще – Настройки . Отображение этой области настраивается для каждого списка и для каждого пользователя индивидуально. Область просмотра отображает сокращенное превью документа, которое содержит основные данные документа, список файлов документа, задачи, созданные на его основании, и таблицу связанных с ним объектов.

При открытии карточки пользователь видит закладку «Обзор» первой. Отображение закладки «Обзор» регулируется персональной настройкой ( Настройка и администрирование – Сервис – Персональные настройки – Документы – Использовать обзор документов ) и по умолчанию включено. Для каждого типа документа закладка обзор содержит таблицу файлов и превью с реквизитами данного документа.

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

Для форм списков документа созданы отдельные общие модули ОбзорСпискаДокументов и ОбзорСпискаДокументовКлиент . Первый содержит процедуры и функции, которые подготавливают данные и формируют превью документа. Второй – общие процедуры, которые выводят данные на формы списков.

Практически все реквизиты, представленные в превью, являются ссылками, причем клик на разные данные порождает различные действия. Например, клик по электронной почте открывает форму создания письма на указанный адрес. Обработчик нажатия на реквизиты превью находится в общем модуле ДелопроизводствоКлиент ОбработатьНажатиеНаПолеОбзор . В настоящий момент процедура умеет отправлять письма, открывать сайты, переходить в формы различных справочников, а также открывать документ на нужной вкладке (например, может открыть закладку «Этапы» документа).

Переопределяемые модули для подмены превью документа

Сформировать собственное превью карточки или списка документов можно с помощью одноименных функций в переопределяемых модулях. Для карточки документа это общий модуль ОбзорДокументаПереопределяемый , для списка документов – ОбзорСпискаДокументовПереопределяемый .

Рассмотрим, например, процедуру ОбзорДокументаПереопределяемый . ПолучитьОбзорИсходящегоДокумента(Форма) :

Данная процедура вызывается в начале построения стандартного превью документа ОбзорДокумента.ПолучитьОбзорИсходящегоДокумента . Если она возвращает не пустую строку, то программа считает, что превью документа переопределено, и показывает его. При этом стандартное отображение превью игнорируется.

Пример переопределения превью в карточке документа

Рассмотрим такой пример: заказчик просит, чтобы у документов на сумму более 100 000 рублей в превью сумма выделялась красным цветом. Это удобно для быстрой идентификации таких документов сотрудниками.
Для реализации просьбы необходимо сделать следующее:

  1. Разрешить редактирование объекта метаданных общий модуль ОбзорДокументаПереопределяемый .
  2. Из модуля ОбзорДокумента скопировать процедуры ПолучитьОбзорВнутреннегоДокументаСКорреспондентом , ПолучитьКонтактнуюИнформацияОбъекта , ДобавитьДопРеквизит , ДобавитьРеквизит , ДобавитьЗначение , ДобавитьПодпись , СостояниеДела .
  3. В начале процедуры ПолучитьОбзорВнутреннегоДокументаСКорреспондентом сделать проверку включения учета суммы у данного вида документа и проверить сумму (что она больше 100 000 рублей). Если условия не выполняются, то вернуть пустую строку, которая будет означать отображение стандартного превью.
  4. Далее в код, который выводит сумму документа, добавить указание цвета реквизита.

Тогда превью документа будет выглядеть так:

Рассмотрим другой пример: заказчик попросил вывести в превью документа информацию о визах согласования, чтобы ее можно было увидеть сразу, без перехода по закладкам.

Для реализации просьбы в процедуру ПолучитьОбзорВнутреннегоДокументаСКорреспондентом необходимо добавить следующий код:

Тогда превью будет выглядеть следующим образом:

Пример переопределения превью в списке документов

Рассмотрим пример переопределения превью в списке внутренних документов: заказчик просит добавить в превью списка информацию о состоянии документа.

Для реализации просьбы необходимо выполнить следующее:

  1. Разрешить редактирование объекта метаданных общий модуль ОбзорСпискаДокументовПереопределяемый .
  2. Из модуля ОбзорСпискаДокументов скопировать в него процедуры ПолучитьОбзорВнутреннегоДокументаСКорреспондентом , ДобавитьДопРеквизит , ДобавитьРеквизит , ДобавитьЗначение , ДобавитьПодпись .
  3. В процедуру ПолучитьОбзорДокумента скопировать часть кода из процедуры ОбзорСпискаДокументов .ПолучитьДанныеОбзора и доработать его.
  4. Вывести в превью Состояние документа .

Результат работы процедуры изображен на рисунке:

Таким образом, переопределяя работу указанных модулей, разработчик может довольно быстро изменить работу стандартного превью документа. Он может как добавлять/убирать нужные или ненужные реквизиты, так и полностью менять содержимое и назначение превью того или иного документа.

Предварительный просмотр — специальный диалог — позволяющий проверить корректность отображения табличного документа перед печатью.

В управляемой форме

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

  • активизировать поле табличного документа
  • перейти на вкладку «Команды«
  • выбрать подвкладку «Стандартные команды«
  • добавить команду «Предварительный просмотр» на форму в командную панель, контекстное меню или просто в виде отдельной кнопки
  • настроить представление (в виде картинки, текста или картинки текста) в зависимости от задачи

Что еще можно добавить

В стандартных командах есть другие команды, такие как:

  • Печать
  • Зафиксировать таблицу
  • Печать с текущими настройками
  • Параметры страницы
  • Найти
  • Копировать/Вставить
  • Сохранить
  • Редактирование
  • Объединить
  • Вернуть/Отменить
  • Команды управления шрифтом (размер, жирность, курсив, подчеркивание)
  • Команды установки-снятия границ рамок
  • Команды управления горизонтальным положением текста в ячейке

Никогда не пишите рекламное объявление, которое вы не хотели бы предложить прочесть собственной семье. Вы не стали бы лгать собственной жене. Не лгите и моей.

Получить 200 видеоуроков по 1С бесплатно:

t-zlobina 12.11.2013
Здравствуйте. Подскажите, пожалуйста, есть ли где-то предварительный просмотр документа перед тем, как отправить на печать. В 1С 8.3 при нажатии кнопки «печать» сразу печатается документ, иногда он не входит на одну страницу, а выходит на двух, причем, на вторую может перенестись только подпись и дата (при печати ТОРГ-12,например). Как можно исправить, чтобы было всё на одной странице. И когда распечатываю ТТН, хочу, чтобы можно было распечатать одну страницу, потом перевернуть лист и распечатать вторую, но не могу найти, где задается область печати.

Роман Мартыненко 12.11.2013
Когда у вас сформирована печатная форма, в верхней части окна (вверху справа) у вас появится панель с сервисными функциями – там для предварительного просмотра выбираете кнопку, на которой изображен листок с лупой.

Оцените статью