Как создать столбец гиперссылки Mailto в отчете Cognos? - PullRequest
1 голос
/ 02 марта 2011

Я создаю отчет, в котором показан список пользователей, не соблюдающих требования по причине несоблюдения крайнего срока обучения.

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

Теперь я хочу добавить некоторые «элементы действий» в сетку. Первый элемент, над которым я работаю, - это «Кнопка гиперссылки», которая отправит электронное письмо пользователю, не отвечающему требованиям. Электронное письмо должно быть адресовано этому пользователю, иметь жестко закодированную тему и содержать тело, в котором есть жестко закодированный текст с некоторыми точками данных из запроса.

Свойство «Тип источника» для «Тела столбца списка» для столбца кнопки установлено в «Выражение отчета»

Выражение:

'mailto:'+ [ExceptionsByOrgQuery].[Email]  + '?subject=Compliance%20Exception&body=Hello%20' + [ExceptionsByOrgQuery].[Full Name - First Last] + '%2C%0D%0A%0D%0AYou%20are%20overdue%20for%20training.%20%20Please%20complete%20the%20following%20training%20as%20soon%20as%20possible.%0D%0ATraining%20course%3A%20' + [ExceptionsByOrgQuery].[Activity Name] + '%0D%0ADue%20Date%3A%20' + [ExceptionsByOrgQuery].[Date]

Все переменные, которые используются для построения ссылки, находятся в запросе и должны соответствовать элементам этой строки, верно?

По какой-то причине я получаю сообщение об ошибке при попытке проверить этот отчет.

Я получаю ошибку:

RSV-VAL-0032 The following expression is not valid:...expression here... If the item exists in a query but is not referenced in the layout, add it to a property list. CRX-API-0005 An error ocurred at or near the position '11'. The variable named 'ExceptionsByOrgQuery].[Email]' is invalid.

Я больше не уверен, что означает первая часть ошибки. Переменная электронной почты не отображается в сетке, но она является частью запроса. Я могу добавить его в сетку и убедиться, что оно есть в запросе, но я не хочу, чтобы это значение отображалось в отчете (и при этом я не хочу, чтобы отображалась переменная [Полное имя - первая последняя]; это только для приветствие в письме).

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Список заполняется из запроса под названием [ReportQuery] Он содержит следующие элементы данных.

  • [Имя] <- [Соответствие]. [Сотрудник]. [Фамилия] + ',' + [Соответствие]. [Сотрудник]. [Имя] </li>
  • [Организация] <- set ([Размерный вид]. [Организация]. [Организации] ->? Org?)
  • [Статус регистрации] <- [Соответствие]. [Фактическая исключительная ситуация организации]. [Статус регистрации] </li>
  • [Название] <- [Соответствие]. [Сотрудник]. [Название] </li>
  • [Название деятельности] <- [Соответствие]. [Деятельность]. [Название деятельности] </li>
  • [Срок исполнения] <- [Соответствие]. [Время]. [Date_US] </li>
  • [Электронная почта] <- [Соответствие]. [Сотрудник]. [Электронная почта] </li>
  • [Имя - Фамилия] <- [Соответствие]. [Сотрудник]. [Имя] + '' + [Соответствие]. [Сотрудник]. [Фамилия] </li>

(первый элемент - это метка, а вторая часть - это выражение, которое используется для создания элемента данных)

РЕДАКТИРОВАТЬ 1 (из предложений ближнего боя): Я попытался описать метод, который вы описали, но теперь вижу эту ошибку: RSV-VAL-0032 Следующее выражение недопустимо: ''. Если элемент существует в запросе, но на него нет ссылок в макете, добавьте его в список свойств. CRX-API-0005 Произошла ошибка в позиции 21 или рядом с ней. Переменная с именем '[ReportQuery]. [Email]' недопустима.

Я сделал запрос относительно этой ошибки и увидел, что объект List должен иметь свойства, которые я использовал в mailto в свойстве «Properties». Определение этого свойства позволило мне выбрать элементы из запроса. Я сделал это с mailto, но, похоже, он не соответствует значениям в правильной строке; то есть. Я установил в качестве аргумента субъекта в mailto имя пользователя ([ReportQuery]. [Name]), и оно не совпадает с тем, что показано в строке в таблице.

1 Ответ

2 голосов
/ 02 марта 2011

Хорошо, так что вам нужно будет выполнить следующие шаги, чтобы заставить это работать должным образом - ваш синтаксис, объединение и все остальное выглядит великолепно - просто небольшая настройка процесса, и вы будете в порядке.

  1. Перетащите элемент HTML в отчет списка.
  2. Выберите его - на панели свойств измените «Тип источника» на «Выражение отчета» (по умолчанию используется текст, который имеетбесполезно для нас сейчас)
  3. Дважды щелкните элемент HTML и создайте привязку mailto. Вы можете использовать пример кода, но перед закрытием убедитесь, что он корректен.в простейшем случае он должен выглядеть примерно так: '<a href="mailto' + [Data Item] + '">' - важно;не закрывайте тег привязки в этом месте.
  4. Разблокируйте отчет (верхний замок вверху)
  5. Добавьте еще один элемент HTML в ячейку (это будет выглядеть так, как будто два элемента HTML в одномстолбец) и установите для него значение «Выражение отчета»
  6. Дважды щелкните элемент HTML и добавьте статический текст / закройте тег.Например: Email Me</a>

Запустите отчет, и у вас должны быть ссылки, по которым можно щелкнуть (проверено как работающее на 8.4.1)

...