Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
Visual studio code 将Blob读取为业务中心报告扩展中的文本_Visual Studio Code_Nav_Al - Fatal编程技术网

Visual studio code 将Blob读取为业务中心报告扩展中的文本

Visual studio code 将Blob读取为业务中心报告扩展中的文本,visual-studio-code,nav,al,Visual Studio Code,Nav,Al,我正在为Business Central创建一个报告,一个采购订单报告。采购订单页面被扩展以添加工作描述,这是一种blob数据类型。我已经将blob字段添加到我的报告扩展中,现在我将blob转换为文本,就像在我的页面中看到的一样。示例:“这是一个测试工作描述”。我相信我必须先使用InStream,然后再阅读。是否有人可以提供示例代码来帮助我将其作为文本添加到报告中?您可以在Microsoft文档中找到好的示例: 但我认为这是你需要的: procedure GetWorkDescription

我正在为Business Central创建一个报告,一个采购订单报告。采购订单页面被扩展以添加工作描述,这是一种blob数据类型。我已经将blob字段添加到我的报告扩展中,现在我将blob转换为文本,就像在我的页面中看到的一样。示例:“这是一个测试工作描述”。我相信我必须先使用InStream,然后再阅读。是否有人可以提供示例代码来帮助我将其作为文本添加到报告中?

您可以在Microsoft文档中找到好的示例:

但我认为这是你需要的:

procedure GetWorkDescription (PurchHeader: Record "Purchase Header")WorkDescription: Text
var
    MyInStream: InStream;

begin
    Clear(WorkDescription);
    PurchHeader.Calcfields("Work Description");
    If PurchHeader."Work Description".HasValue() then begin
        PurchHeader."Work Description".CreateInStream(MyInStream);
        MyInStream.Read(WorkDescription);
    end;
end;

这个例子做得很好!我只是想补充一下。在我的购买标题中,我添加了以下代码:

column(WorkDescription; GetWorkDescription())
            {
            }
然后在最后添加的OnPreReport()中:

        WorkDescription: Text;
然后在最后添加了程序:

    procedure GetWorkDescription(): Text
    var
        TypeHelper: Codeunit "Type Helper";
        InStream: InStream;
    begin
        "Purchase Header".CalcFields("Purchase Header"."Work Description");
        "Purchase Header".Work Description".CreateInStream(InStream, TEXTENCODING::UTF8);
        exit(TypeHelper.ReadAsTextWithSeparator(InStream, TypeHelper.LFSeparator));
    end;

在您的示例代码的帮助下,我能够生成实际的文本

我第一次在StackOverflow上发现与NAV/BC相关的东西,第一次尝试就成功了。谢谢!:)