Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在RDLC报告动态导航中显示BLOB字段(包含文本)_Blob_Rdlc_Dynamics Nav - Fatal编程技术网

在RDLC报告动态导航中显示BLOB字段(包含文本)

在RDLC报告动态导航中显示BLOB字段(包含文本),blob,rdlc,dynamics-nav,Blob,Rdlc,Dynamics Nav,我想在rdlc报告中显示表记录链接中的字段注释。如何将其包含在数据集中,以循环到BLOB字段以提取文本值?使用NAV90 谢谢注释存储为二进制文本。 您需要使用.NET将值读入字符串 从.NET方面看,您需要: BinaryReader来自“mscorlib,版本=2.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089”。System.IO.BinaryReader 编码来自“mscorlib,版本=2.0.0.0,区域性=中性,PublicKeyToke

我想在rdlc报告中显示表记录链接中的字段注释。如何将其包含在数据集中,以循环到BLOB字段以提取文本值?使用NAV90


谢谢

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

从.NET方面看,您需要:

  • BinaryReader来自“mscorlib,版本=2.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089”。System.IO.BinaryReader
  • 编码来自“mscorlib,版本=2.0.0.0,区域性=中性,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);

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

从.NET方面看,您需要:

  • BinaryReader来自“mscorlib,版本=2.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089”。System.IO.BinaryReader
  • 编码来自“mscorlib,版本=2.0.0.0,区域性=中性,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);

无需使用DotNet变量即可检索文本

CommentStream : InStream;
CommentText : Text;
好:

在我的例子中,像这样包含文本编码参数是行不通的。有一段时间,但停止了工作。不一致的原因我想不通,但尽管如此,删除文本编码参数还是解决了这个问题

坏的:


无需使用DotNet变量即可检索文本

CommentStream : InStream;
CommentText : Text;
好:

在我的例子中,像这样包含文本编码参数是行不通的。有一段时间,但停止了工作。不一致的原因我想不通,但尽管如此,删除文本编码参数还是解决了这个问题

坏的:

B

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

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

B

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


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

感谢您的工作,但是我如何才能将值传递给rdlc布局。如果我创建一个变量并将其存储在内存中,那么最大长度将是1024个无长度声明文本。请注意,您实际上无法在Notes中存储一堆数据——内存中的数据限制(变化)在700个字符左右。可能是二进制大小限制。我没有将其作为变量,而是直接从dataitem行调用函数BinaryReader.ReadString,它确实可以工作。谢谢感谢您的工作,但是我如何才能将值传递给rdlc布局。如果我创建一个变量并将其存储在内存中,那么最大长度将是1024个无长度声明文本。请注意,您实际上无法在Notes中存储一堆数据——内存中的数据限制(变化)在700个字符左右。可能是二进制大小限制。我没有将其作为变量,而是直接从dataitem行调用函数BinaryReader.ReadString,它确实可以工作。谢谢
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))