मैं बिजनेस सेंट्रल के लिए एक रिपोर्ट बना रहा हूं, एक खरीद आदेश रिपोर्ट। क्रय आदेश पृष्ठ को कार्य विवरण जोड़ने के लिए विस्तारित किया गया है जो एक ब्लॉब डेटा प्रकार है। मैंने अपने रिपोर्ट एक्सटेंशन में ब्लॉब फ़ील्ड जोड़ लिया है और अब मैं ब्लॉब को टेक्स्ट में बदलने के लिए गया जैसे यह मेरे पृष्ठ में देखा गया है। उदाहरण: "यह एक परीक्षण कार्य विवरण है"। मेरा मानना ​​है कि मुझे इनस्ट्रीम का उपयोग करना होगा और फिर पढ़ना होगा। क्या कोई इसे मेरी रिपोर्ट में टेक्स्ट के रूप में जोड़ने में मेरी सहायता करने के लिए उदाहरण कोड प्रदान कर सकता है?

1
Abby 5 नवम्बर 2020, 20:34

2 जवाब

सबसे बढ़िया उत्तर

आप 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;
2
Job 9 नवम्बर 2020, 16:09

इस उदाहरण ने पूरी तरह से काम किया अय्यूब! मैं बस इसमें जोड़ना चाहता था। मेरे खरीद शीर्षलेख में, मैंने निम्नलिखित कोड जोड़ा:

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;

आपके नमूना कोड की मदद से मैं वास्तविक पाठ उत्पन्न करने में सक्षम था!

0
Abby 11 नवम्बर 2020, 03:09