Как встраивать изображения в гиперссылки Acumatica Report? - PullRequest
0 голосов
/ 18 марта 2019

Мы пытаемся включить изображение в ссылку в отчете Acumatica. Мы очень близки к тому, чтобы получить нужный нам результат с версией 2018R2, и у нас есть стратегия обхода этой проблемы в версии 2018R1.

Элемент управления TextBox - это единственный найденный нами способ, который позволит установить гиперссылку в определении отчета по счету. Мы можем установить фоновое изображение в свойстве Appearance / Style / BackImage. Единственный способ, которым мы можем сделать кликабельным все изображение, состоит в том, чтобы текст охватывал весь элемент управления, что хорошо, если мы можем установить шрифт текста для использования прозрачного цвета. Настройка внешнего вида / стиля / цвета, по-видимому, является свойством сделать это, однако при предварительном просмотре отчета шрифт переопределяется и отображается в виде стандартного цвета гиперссылки. Поведение, когда отчет отображается в формате PDF с помощью системы доставки электронной почты Acumatica, шрифт выглядит белым. См. Изображения для визуального.

Прозрачный текст в предварительном просмотре отчета

Transparent Text in Report Preview

Прозрачный текст в отрендеренном PDF

Transparent Text in Rendered PDF

Похоже, есть свойство Appearance / StyleName для элемента управления TextBox. Существует ли базовый файл CSS, которым можно дополнительно управлять, чтобы также управлять свойствами LinkText для отображения LinkText прозрачным шрифтом? Если да, есть ли какая-либо документация, которая поможет в этом. Версии 2018R1 и более ранние версии не отображают кликабельную ссылку в PDF, если используется вышеуказанная стратегия. Согласно заявке, которую я открыл на прошлой неделе по этой теме, единственный способ получить эту ссылку - разместить весь URL-адрес в одной строке. PDF-файлы, созданные по определению счета-фактуры с гиперссылкой, не создадут интерактивную ссылку Это усложняет управление размещением изображения, которое будет отцентрировано, а также наличием только места в первой строке, чтобы быть кликабельным. Мы решили эту проблему в другой системе ERP, создав несколько ссылок, перекрывающих фоновое изображение, также с использованием прозрачного шрифта. Это потребовало от нас установить Z-порядок, чтобы элементы управления ссылками отображались поверх фонового изображения. Однако в Acumatica Report Designer нет возможности управлять Z-порядком. Любая попытка разместить ссылку поверх изображения не дает желаемого результата. Если мы сможем заставить эту стратегию работать, мы, вероятно, также будем использовать ее для версий 2018R2 +, чтобы сохранить согласованность.

На этом скриншоте изображена попытка стратегии. Placing Transparent Text over top of image

Существуют ли другие стратегии для удовлетворения этого требования?

Заранее спасибо.

1 Ответ

0 голосов
/ 18 марта 2019

Для версии 2018 R2:

Вы можете использовать свойство TextBox->Style->BackImage для отображения изображения и свойство NavigateUrl для установки URL-ссылки. В режиме HTML не отображается заднее изображение, но в режиме PDF оно отображается нормально, и ссылка на изображение работает:

enter image description here

Для версии 2018 R1:

К сожалению, я не нашел способа добиться этого, потому что не могу сделать текст прозрачным, если он расположен над изображением.

На панели инструментов дизайнера отчетов есть управление z-порядком (перенести на передний план / отправить на задний план) и щелкнуть контекстное меню правой кнопкой мыши. Проблема здесь в том, что, хотя дизайнер отчетов поддерживает перекрывающийся контроль, средство визуализации отчетов не поддерживает. Если элементы управления перекрываются, при печати отчета перекрывающиеся элементы управления не будут отображаться поверх другого, как в конструкторе.

Наличие перекрывающихся элементов управления здесь на самом деле не требуется, поскольку мы можем отображать изображение с помощью свойства Textbox Style-> BackImage или с помощью Report-> Style-> BackImage.

Также возможно увеличить размер шрифта текста, чтобы вам не требовалось многократное текстовое поле или установить multiline = true с textwrap = false и повторять ссылку в каждой строке.

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

enter image description here

...