Что такое «превью» документа
В 1С: «Документообороте» под «превью» понимается HTML-поле для предварительного просмотра информации о документе. Поле содержит в себе идентификационные данные (например, наименование и регистрационные данные) и основные реквизиты документа.
- в области просмотра списков документов,
- на закладке «Обзор» карточек документов.
В списках документов область просмотра выводится с помощью одноименной команды в подменю Еще – Настройки . Отображение этой области настраивается для каждого списка и для каждого пользователя индивидуально. Область просмотра отображает сокращенное превью документа, которое содержит основные данные документа, список файлов документа, задачи, созданные на его основании, и таблицу связанных с ним объектов.
При открытии карточки пользователь видит закладку «Обзор» первой. Отображение закладки «Обзор» регулируется персональной настройкой ( Настройка и администрирование – Сервис – Персональные настройки – Документы – Использовать обзор документов ) и по умолчанию включено. Для каждого типа документа закладка обзор содержит таблицу файлов и превью с реквизитами данного документа.
Тексты превью карточек документов формируются в функциях общего модуля ОбзорДокумента . Для внутреннего документа это ПолучитьОбзорВнутреннегоДокумента(Форма) , для входящего документа – ПолучитьОбзорВходящегоДокумента(Форма) , для исходящего – ПолучитьОбзорИсходящегоДокумента(Форма) . В качестве параметра в функции передаются соответствующие управляемые формы. Также данный модуль содержит и все сопутствующие процедуры и функции, которые помогают формировать превью карточки документа.
Для форм списков документа созданы отдельные общие модули ОбзорСпискаДокументов и ОбзорСпискаДокументовКлиент . Первый содержит процедуры и функции, которые подготавливают данные и формируют превью документа. Второй – общие процедуры, которые выводят данные на формы списков.
Практически все реквизиты, представленные в превью, являются ссылками, причем клик на разные данные порождает различные действия. Например, клик по электронной почте открывает форму создания письма на указанный адрес. Обработчик нажатия на реквизиты превью находится в общем модуле ДелопроизводствоКлиент ОбработатьНажатиеНаПолеОбзор . В настоящий момент процедура умеет отправлять письма, открывать сайты, переходить в формы различных справочников, а также открывать документ на нужной вкладке (например, может открыть закладку «Этапы» документа).
Переопределяемые модули для подмены превью документа
Сформировать собственное превью карточки или списка документов можно с помощью одноименных функций в переопределяемых модулях. Для карточки документа это общий модуль ОбзорДокументаПереопределяемый , для списка документов – ОбзорСпискаДокументовПереопределяемый .
Рассмотрим, например, процедуру ОбзорДокументаПереопределяемый . ПолучитьОбзорИсходящегоДокумента(Форма) :
Данная процедура вызывается в начале построения стандартного превью документа ОбзорДокумента.ПолучитьОбзорИсходящегоДокумента . Если она возвращает не пустую строку, то программа считает, что превью документа переопределено, и показывает его. При этом стандартное отображение превью игнорируется.
Пример переопределения превью в карточке документа
Рассмотрим такой пример: заказчик просит, чтобы у документов на сумму более 100 000 рублей в превью сумма выделялась красным цветом. Это удобно для быстрой идентификации таких документов сотрудниками.
Для реализации просьбы необходимо сделать следующее:
- Разрешить редактирование объекта метаданных общий модуль ОбзорДокументаПереопределяемый .
- Из модуля ОбзорДокумента скопировать процедуры ПолучитьОбзорВнутреннегоДокументаСКорреспондентом , ПолучитьКонтактнуюИнформацияОбъекта , ДобавитьДопРеквизит , ДобавитьРеквизит , ДобавитьЗначение , ДобавитьПодпись , СостояниеДела .
- В начале процедуры ПолучитьОбзорВнутреннегоДокументаСКорреспондентом сделать проверку включения учета суммы у данного вида документа и проверить сумму (что она больше 100 000 рублей). Если условия не выполняются, то вернуть пустую строку, которая будет означать отображение стандартного превью.
- Далее в код, который выводит сумму документа, добавить указание цвета реквизита.
Тогда превью документа будет выглядеть так:
Рассмотрим другой пример: заказчик попросил вывести в превью документа информацию о визах согласования, чтобы ее можно было увидеть сразу, без перехода по закладкам.
Для реализации просьбы в процедуру ПолучитьОбзорВнутреннегоДокументаСКорреспондентом необходимо добавить следующий код:
Тогда превью будет выглядеть следующим образом:
Пример переопределения превью в списке документов
Рассмотрим пример переопределения превью в списке внутренних документов: заказчик просит добавить в превью списка информацию о состоянии документа.
Для реализации просьбы необходимо выполнить следующее:
- Разрешить редактирование объекта метаданных общий модуль ОбзорСпискаДокументовПереопределяемый .
- Из модуля ОбзорСпискаДокументов скопировать в него процедуры ПолучитьОбзорВнутреннегоДокументаСКорреспондентом , ДобавитьДопРеквизит , ДобавитьРеквизит , ДобавитьЗначение , ДобавитьПодпись .
- В процедуру ПолучитьОбзорДокумента скопировать часть кода из процедуры ОбзорСпискаДокументов .ПолучитьДанныеОбзора и доработать его.
- Вывести в превью Состояние документа .
Результат работы процедуры изображен на рисунке:
Таким образом, переопределяя работу указанных модулей, разработчик может довольно быстро изменить работу стандартного превью документа. Он может как добавлять/убирать нужные или ненужные реквизиты, так и полностью менять содержимое и назначение превью того или иного документа.
Предварительный просмотр — специальный диалог — позволяющий проверить корректность отображения табличного документа перед печатью.
В управляемой форме
Для того, чтобы добавить стандартные команды табличного документа, одной из которой является кнопка предварительного просмотра, необходимо в редакторе формы:
- активизировать поле табличного документа
- перейти на вкладку «Команды«
- выбрать подвкладку «Стандартные команды«
- добавить команду «Предварительный просмотр» на форму в командную панель, контекстное меню или просто в виде отдельной кнопки
- настроить представление (в виде картинки, текста или картинки текста) в зависимости от задачи
Что еще можно добавить
В стандартных командах есть другие команды, такие как:
- Печать
- Зафиксировать таблицу
- Печать с текущими настройками
- Параметры страницы
- Найти
- Копировать/Вставить
- Сохранить
- Редактирование
- Объединить
- Вернуть/Отменить
- Команды управления шрифтом (размер, жирность, курсив, подчеркивание)
- Команды установки-снятия границ рамок
- Команды управления горизонтальным положением текста в ячейке
Никогда не пишите рекламное объявление, которое вы не хотели бы предложить прочесть собственной семье. Вы не стали бы лгать собственной жене. Не лгите и моей.
Получить 200 видеоуроков по 1С бесплатно:
t-zlobina 12.11.2013
Здравствуйте. Подскажите, пожалуйста, есть ли где-то предварительный просмотр документа перед тем, как отправить на печать. В 1С 8.3 при нажатии кнопки «печать» сразу печатается документ, иногда он не входит на одну страницу, а выходит на двух, причем, на вторую может перенестись только подпись и дата (при печати ТОРГ-12,например). Как можно исправить, чтобы было всё на одной странице. И когда распечатываю ТТН, хочу, чтобы можно было распечатать одну страницу, потом перевернуть лист и распечатать вторую, но не могу найти, где задается область печати.
Роман Мартыненко 12.11.2013
Когда у вас сформирована печатная форма, в верхней части окна (вверху справа) у вас появится панель с сервисными функциями – там для предварительного просмотра выбираете кнопку, на которой изображен листок с лупой.