【发布时间】:2020-05-07 16:29:16
【问题描述】:
我有一个自定义屏幕,其中包含一个“详细信息”富文本区域,该区域允许将文本显示为 HTML、纯文本等。
我还请求以某种方式在 Acumatica 报告中显示该数据。不幸的是,即使选择了“纯文本”选项,它仍然在数据库字段中具有格式标记。 Acumatica 报告编写器中是否有一种类型的字段可以解释来自该类型富文本字段的数据?
【问题讨论】:
标签: acumatica
我有一个自定义屏幕,其中包含一个“详细信息”富文本区域,该区域允许将文本显示为 HTML、纯文本等。
我还请求以某种方式在 Acumatica 报告中显示该数据。不幸的是,即使选择了“纯文本”选项,它仍然在数据库字段中具有格式标记。 Acumatica 报告编写器中是否有一种类型的字段可以解释来自该类型富文本字段的数据?
【问题讨论】:
标签: acumatica
不,在将富文本框控件添加到报表设计器之前,这实际上是不可能的。
Acumatica 网页中的富文本控件主要是 HTML。
如果您从VISUAL 更改为HTML,您可以获得HTML 代码。
如果你非常有动力,你可以尝试inject破解报告中的 HTML。这是一个非常糟糕的主意,但我设法欺骗了设计师,让他们接受 HTML 内容作为导航 URL 链接内容。
当报表以 HTML 模式呈现时,链接控件会继承链接样式之上的一些 HTML 样式。它既愚蠢又无用,但演示了在 Acumatica 报表设计器中实现富文本编辑器控件所需的底层机制。
另一种方法是创建一个提取纯文本的自定义字段:
#region DescriptionAsPlainText
public abstract class descriptionAsPlainText : PX.Data.BQL.BqlString.Field<descriptionAsPlainText> { }
private string _plainText;
[PXString(IsUnicode = true)]
[PXUIField(Visible = false)]
public virtual String DescriptionAsPlainText
{
get
{
return _plainText ?? (_plainText = PX.Data.Search.SearchService.Html2PlainText(this.Description));
}
}
#endregion
【讨论】: