Как добавить поле «Примечание» (результат выполнения задачи) в отчет «На контроле»?

Программист 1С v8.3 (Управляемые формы) 1С:Документооборот Управленческий учет IT и автоматизация бизнеса
← На главную

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

Метод 1. Использование встроенных настроек компоновки данных

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

Рассмотрим порядок действий для проверки доступности поля:

  1. В форме отчета нажмем кнопку «Ещё» и выберем пункт «Изменить вариант...». Это откроет административный режим настройки структуры отчета.
  2. В появившемся окне перейдем на закладку «Поля».
  3. В левой части окна (список доступных полей) попробуем найти реквизиты, связанные с объектом контроля. Развернем узел Объект контроля или Задача, нажав на символ «+».
  4. Нам необходимо найти поле, которое отвечает за текст комментария исполнителя. В типовых решениях оно чаще всего называется Результат выполнения.

Если в списке доступных полей нужный реквизит отсутствует, это означает, что разработчик конфигурации не включил его в запрос набора данных СКД. В таком случае кнопка «Добавить» будет неактивна для конкретных элементов, и нам придется воспользоваться более продвинутыми методами.

Метод 2. Создание внешнего отчета (безопасный способ)

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

Шаг 1. Выгрузка отчета. Зайдем в Конфигуратор, найдем в дереве метаданных отчет «На контроле», нажмем на нем правой кнопкой мыши и выберем пункт «Сохранить как внешний отчет...». Сохраним файл с расширением .erf.

Шаг 2. Редактирование схемы компоновки данных. Откроем сохраненный файл в Конфигураторе. Перейдем на закладку «Основные настройки» и откроем «Основную схему компоновки данных». В конструкторе схемы нам нужно найти «Набор данных - запрос».

Шаг 3. Модификация запроса. Нам необходимо добавить в текст запроса обращение к таблице задач. Посмотрим на примерную структуру связи:


ВЫБРАТЬ
    ИсточникДанных.Ссылка КАК Ссылка,
    ИсточникДанных.ОбъектКонтроля КАК ОбъектКонтроля,
    ЕСТЬNULL(ЗадачиИсполнителя.РезультатВыполнения, "") КАК ПримечаниеИсполнителя
ИЗ
    РегистрСведений.НаКонтроле КАК ИсточникДанных
    ЛЕВОЕ СОЕДИНЕНИЕ Задача.ЗадачаИсполнителя КАК ЗадачиИсполнителя
    ПО ИсточникДанных.ОбъектКонтроля = ЗадачиИсполнителя.Ссылка

Шаг 4. Настройка полей. После изменения запроса перейдем на закладку «Настройки» в СКД и на вкладке «Выбранные поля» добавим наше новое поле ПримечаниеИсполнителя в список отображаемых.

Шаг 5. Подключение. Сохраним изменения и подключим отчет в пользовательском режиме через раздел «Администрирование» — «Печатные формы, отчеты и обработки» — «Дополнительные отчеты и обработки».

Метод 3. Доработка через расширение конфигурации

Если мы хотим, чтобы изменения коснулись именно типового отчета в интерфейсе, воспользуемся механизмом расширений. Это современный стандарт доработки систем на базе 1С.

Выясним последовательность действий:

  1. Создадим новое расширение (или используем существующее) через меню «Конфигурация» — «Расширения конфигурации».
  2. Найдем типовой отчет в основной конфигурации и выберем команду «Добавить в расширение».
  3. Важно: в расширение нужно заимствовать не только сам отчет, но и его Основную схему компоновки данных.
  4. В расширении откроем СКД и произведем те же манипуляции с запросом, что и в методе с внешним отчетом. Мы добавляем поле РезультатВыполнения из таблицы задач.
  5. Проверим права доступа. Убедимся, что у пользователей, которые будут строить отчет, есть права на чтение реквизита РезультатВыполнения в рамках расширения.

Важные технические нюансы при работе с примечаниями

Проанализируем особенности поля «Результат выполнения». В системе 1С:Документооборот это поле имеет тип Строка неограниченной длины. Это накладывает определенные ограничения на визуальное представление отчета:

1. Оформление текста. Поскольку комментарии могут быть очень длинными, они могут «раздувать» строки отчета по высоте. Чтобы отчет оставался читаемым, рекомендуется в настройках поля СКД (вкладка «Условное оформление» или «Наборы данных -> Оформление») установить параметр Максимальная ширина (например, значение 40 или 60).

2. Дублирование строк. Если у одного контролируемого объекта (например, документа или письма) было несколько исполнителей или задача возвращалась на доработку, в базе данных будет несколько записей о выполнении. При обычном ЛЕВОМ СОЕДИНЕНИИ это может привести к тому, что одна строка отчета превратится в несколько. Чтобы этого избежать, выясним, какой именно комментарий нам нужен:

Пример использования функции СоединитьСтроки в вычислимых полях для объединения нескольких примечаний:

СоединитьСтроки(Массив(РезультатВыполнения), "; ", "Пусто")

Таким образом, мы рассмотрели три различных подхода к решению задачи. Выбор метода зависит от ваших прав доступа к конфигуратору и необходимости сохранения типовых механизмов обновления программы.

← На главную