830 документов
← К списку

Переопределение описания задач

страница

Документооборот ПРОФ, КОРП, ДГУ
30.03.2016

Переопределение описания задач

Общее описание

При внедрении "1С:Документооборота" часто требуется упростить работу пользователей путем уменьшения количества кликов и открываемых окон.

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

Как заполняется описание

В карточках задач предусмотрена специальная область, в которой выводится описание задачи (информация, необходимая для выполнения задачи).

Точно такая же область есть в списке Задачи мне:

Эта область представляет собой поле HTML. За формирование HTML-описания задач в конфигурации отвечают четыре общих модуля:

  • ОбзорЗадачВызовСервера
  • ОбзорЗадачВызовСервераПереопределяемый
  • ОбзорЗадачКлиент
  • ОбзорЗадачКлиентПереопределяемый

В серверных модулях содержатся функции возвращающие текст HTML.

В клиентских – процедуры обработки событий нажатия в поле HTML. Вызов процедур происходит при открытии карточки задачи или при перемещении по задачам в списке Задачи мне.

Как переопределить описание

Для переопределения описания задач, а также стандартного поведения нажатия по области описания в программе используются два модуля с процедурами:

  • ОбзорЗадачВызовСервераПереопределяемый
    • ПолучитьОбзорЗадачи
    • ПолучитьОбзорЗадачиДляСпискаЗадачиМне
  • ОбзорЗадачКлиентПереопределяемый
    • ПредставлениеHTMLПриНажатии
    • ЗадачиМнеПредставлениеHTMLПриНажатии

Рассмотрим простой пример вывода суммы документа в область описания.
Для этого необходимо:

  1. Снять с поддержки два описанных выше общих модуля.
  2. Скопировать код из одноименных процедур/функций модулей ОбзорЗадачВызовСервер и ОбзорЗадачКлиент.
  3. Добавить вывод суммы документа в процедуру формирования HTML-описания задачи.

Рекомендации по переопределению описания

  • Формируемое описание задач не должно быть перегружено информацией. Если информации много, то ее никто читать не будет.
  • При написании кода необходимо следить за скоростью его выполнения. Нельзя заставлять людей ждать формирования описания несколько десятков секунд.
  • При выводе дополнительных текстовых полей следует использовать процедуры общего модуля ОбзорОбъектовКлиентСервер.
  • Если возможностей процедур общего модуля ОбзорОбъектовКлиентСервер недостаточно, то при выводе полей с текстовой информацией текст следует предварительно обработать при помощи функции РаботаС_HTML.ЗаменитьСпецСимволыHTML. Эта функция поможет избежать выполнения вредоносного кода, сохраненного в текстовом поле.