在RDLC报告动态NAV

时间:2016-05-24 05:05:47

标签: blob rdlc dynamics-nav

我有来自表Record Link的字段注释我想在rdlc报告中显示。如何将其包含在数据集中以循环到BLOB字段以提取文本值?使用NAV90

由于

3 个答案:

答案 0 :(得分:3)

备注存储为二进制文本。 您需要使用.NET将值读出为字符串。

从.NET方面你需要的东西:

    来自' mscorlib的
  • BinaryReader ,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089' .System.IO.BinaryReader
  • 编码来自' mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089' .System.Text.Encoding

至于将实际的BLOB读成字符串:

RecordLink.Note.CREATEINSTREAM(InStream);
BinaryReader := BinaryReader.BinaryReader(InStream,Encoding.UTF8,FALSE);
MESSAGE('Your note text is %1',BinaryReader.ReadString);

答案 1 :(得分:1)

可以在不使用DotNet变量的情况下检索文本。

CommentStream : InStream;
CommentText : Text;

好:

tbl.CALCFIELDS(Comments);
tbl.Comments.CREATEINSTREAM(CommentStream);
CommentStream.READTEXT(CommentText);

在我的情况下包括像这样的文本编码参数不起作用。这是一段时间,但停止了工作。不一致的原因包括我,但仍然删除文本编码参数修复它。

坏:

tbl.CALCFIELDS(Comments);
tbl.Comments.CREATEINSTREAM(CommentStream, TEXTENCODING::UTF8);
CommentStream.READTEXT(CommentText);

答案 2 :(得分:0)

B

igTextVar.ADDTEXT('Text which has lenghth grater than 1024...');

StringHelper: System.String.'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' (DotNet Var)

DataItem.Column.SourceExpression = StringHelper.Copy(FORMAT(BigTextVar))

这是在不使用更多列的情况下将BigText传递到Report RDLC布局中的技巧

我在Dynamics NAV 2017中尝试过,效果很好!