diff --git a/BaseApp/COD50018.TXT b/BaseApp/COD50018.TXT new file mode 100644 index 0000000..9d721fe --- /dev/null +++ b/BaseApp/COD50018.TXT @@ -0,0 +1,84 @@ +OBJECT Codeunit 50018 DotNet_WordprocessingDocument +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetWordprocessingDocument@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.WordprocessingDocument"; + DotNetMemoryStream@1001 : DotNet "'mscorlib'.System.IO.MemoryStream"; + + [External] + PROCEDURE Create@1(DocumentType@1001 : Codeunit 50077;AutoSave@1002 : Boolean); + VAR + DotNetWordprocessingDocumentType@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.WordprocessingDocumentType"; + BEGIN + DotNetMemoryStream := DotNetMemoryStream.MemoryStream; + DocumentType.GetWordProcessingDocumentType(DotNetWordprocessingDocumentType); + DotNetWordprocessingDocument := DotNetWordprocessingDocument.Create(DotNetMemoryStream, DotNetWordprocessingDocumentType, AutoSave); + END; + + [External] + PROCEDURE Open@2(DocumentStream@1000 : InStream;Editable@1001 : Boolean); + BEGIN + DotNetMemoryStream := DotNetMemoryStream.MemoryStream; + COPYSTREAM(DotNetMemoryStream, DocumentStream); + DotNetMemoryStream.Position := 0; + DotNetWordprocessingDocument := DotNetWordprocessingDocument.Open(DotNetMemoryStream, Editable); + END; + + [External] + PROCEDURE Close@3(); + BEGIN + DotNetWordprocessingDocument.Close; + END; + + [External] + PROCEDURE Save@4(ResultStream@1000 : OutStream); + BEGIN + COPYSTREAM(ResultStream, DotNetMemoryStream); + END; + + [External] + PROCEDURE AddMainDocumentPart@5(VAR MainDocumentPart@1000 : Codeunit 50019); + VAR + DotNetMainDocumentPart@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.MainDocumentPart"; + BEGIN + DotNetMainDocumentPart := DotNetWordprocessingDocument.AddMainDocumentPart; + MainDocumentPart.SetMainDocumentPart(DotNetMainDocumentPart); + END; + + [External] + PROCEDURE MainDocumentPart@6(VAR MainDocumentPart@1000 : Codeunit 50019); + VAR + DotNetMainDocumentPart@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.MainDocumentPart"; + BEGIN + DotNetMainDocumentPart := DotNetWordprocessingDocument.MainDocumentPart; + MainDocumentPart.SetMainDocumentPart(DotNetMainDocumentPart); + END; + + PROCEDURE SetWordProcessingDocument@7(VAR NewWordprocessingDocument@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.WordprocessingDocument"); + BEGIN + DotNetWordprocessingDocument := NewWordprocessingDocument; + END; + + PROCEDURE GetWordProcessingDocument@8(VAR CurrentWordprocessingDocument@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.WordprocessingDocument"); + BEGIN + CurrentWordprocessingDocument := DotNetWordprocessingDocument; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50019.TXT b/BaseApp/COD50019.TXT new file mode 100644 index 0000000..ed6f76c --- /dev/null +++ b/BaseApp/COD50019.TXT @@ -0,0 +1,122 @@ +OBJECT Codeunit 50019 DotNet_Word.MainDocumentPart +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetMainDocumentPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.MainDocumentPart"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + PROCEDURE SetMainDocumentPart@1(VAR NewMainDocumentPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.MainDocumentPart"); + BEGIN + DotNetMainDocumentPart := NewMainDocumentPart; + END; + + PROCEDURE GetMainDocumentPart@2(VAR CurrentMainDocumentPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.MainDocumentPart"); + BEGIN + CurrentMainDocumentPart := DotNetMainDocumentPart; + END; + + [External] + PROCEDURE AddHyperlinkRelationship@3(VAR Uri@1000 : Codeunit 3024;IsExternal@1001 : Boolean;VAR CreatedHyperlinkRelationship@1002 : Codeunit 50034); + VAR + DotNetUri@1003 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Uri"; + DotNetHyperlinkRelationship@1004 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.HyperlinkRelationship"; + BEGIN + Uri.GetUri(DotNetUri); + DotNetHyperlinkRelationship := DotNetMainDocumentPart.AddHyperlinkRelationship(DotNetUri, IsExternal); + CreatedHyperlinkRelationship.SetHyperlinkRelationship(DotNetHyperlinkRelationship); + END; + + [External] + PROCEDURE AddNumberingDefinitionsPart@4(VAR CreatedNumberingDefinitionsPart@1000 : Codeunit 50070); + VAR + DotNetNumberingDefinitionsPart@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.NumberingDefinitionsPart"; + DotNetObject@1002 : DotNet "'mscorlib'.System.Object"; + BEGIN + //Normally is should have been something as simple as: + //DotNetNumberingDefinitionsPart := DotNetMainDocumentPart.AddNewPart(); + //But since NAV have no such thing as generics support, I need to fallback to reflection calls: + OpenXmlDotNetHelper.AddPartGeneric(DotNetMainDocumentPart, GETDOTNETTYPE(DotNetNumberingDefinitionsPart), DotNetObject); + CreatedNumberingDefinitionsPart.SetNumberingDefinitionsPart(DotNetObject); + END; + + [External] + PROCEDURE NumberingDefinitionsPart@6(VAR WordNumberingDefinitionPart@1000 : Codeunit 50070); + BEGIN + WordNumberingDefinitionPart.SetNumberingDefinitionsPart(DotNetMainDocumentPart.NumberingDefinitionsPart); + END; + + [External] + PROCEDURE AddStyleDefinitionsPart@7(VAR CreatedStyleDefinitionsPart@1000 : Codeunit 50041); + VAR + DotNetStyleDefinitionsPart@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.StyleDefinitionsPart"; + DotNetObject@1002 : DotNet "'mscorlib'.System.Object"; + BEGIN + //Normally is should have been something as simple as: + //DotNetStyleDefinitionsPart := DotNetMainDocumentPart.AddNewPart(); + //But since NAV have no such thing as generics support, I need to fallback to reflection calls: + OpenXmlDotNetHelper.AddPartGeneric(DotNetMainDocumentPart, GETDOTNETTYPE(DotNetStyleDefinitionsPart), DotNetObject); + CreatedStyleDefinitionsPart.SetStyleDefinitionsPart(DotNetObject); + END; + + [External] + PROCEDURE StyleDefinitionsPart@9(VAR WordStyleDefinitionPart@1000 : Codeunit 50041); + BEGIN + WordStyleDefinitionPart.SetStyleDefinitionsPart(DotNetMainDocumentPart.StyleDefinitionsPart); + END; + + [External] + PROCEDURE AddImagePart@10(VAR ImagePartType@1000 : Codeunit 50078;VAR CreatedImagePart@1001 : Codeunit 50042); + VAR + DotNetImagePartType@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePartType"; + DotNetImagePart@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePart"; + BEGIN + ImagePartType.GetImagePartType(DotNetImagePartType); + DotNetImagePart := DotNetMainDocumentPart.AddImagePart(DotNetImagePartType); + CreatedImagePart.SetImagePart(DotNetImagePart); + END; + + [External] + PROCEDURE GetIdOfImagePart@11(VAR ImagePart@1000 : Codeunit 50042) : Text; + VAR + DotNetImagePart@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePart"; + BEGIN + ImagePart.GetImagePart(DotNetImagePart); + EXIT(DotNetMainDocumentPart.GetIdOfPart(DotNetImagePart)); + END; + + [External] + PROCEDURE SetDocument@12(VAR WordDocument@1000 : Codeunit 50020); + VAR + DotNetDocument@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Document"; + BEGIN + WordDocument.GetDocument(DotNetDocument); + DotNetMainDocumentPart.Document := DotNetDocument; + END; + + [External] + PROCEDURE Document@13(VAR DotNetWordDocument@1000 : Codeunit 50020); + VAR + DotNetDocument@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Document"; + BEGIN + DotNetDocument := DotNetMainDocumentPart.Document; + DotNetWordDocument.SetDocument(DotNetDocument); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50020.TXT b/BaseApp/COD50020.TXT new file mode 100644 index 0000000..7a214dd --- /dev/null +++ b/BaseApp/COD50020.TXT @@ -0,0 +1,76 @@ +OBJECT Codeunit 50020 DotNet_Word.Document +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetDocument@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Document"; + + [External] + PROCEDURE Document@1(); + BEGIN + DotNetDocument := DotNetDocument.Document; + END; + + [External] + PROCEDURE DocumentFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetDocument := DotNetDocument.Document(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetDocument.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetDocument.InnerText); + END; + + [External] + PROCEDURE SetBody@5(VAR WordBody@1000 : Codeunit 50021); + VAR + DotNetBody@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Body"; + BEGIN + WordBody.GetBody(DotNetBody); + DotNetDocument.Body := DotNetBody; + END; + + [External] + PROCEDURE Body@6(VAR WordBody@1000 : Codeunit 50021); + VAR + DotNetBody@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Body"; + BEGIN + DotNetBody := DotNetDocument.Body; + WordBody.SetBody(DotNetBody); + END; + + PROCEDURE SetDocument@7(VAR NewDocument@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Document"); + BEGIN + DotNetDocument := NewDocument; + END; + + PROCEDURE GetDocument@8(VAR CurrentDocument@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Document"); + BEGIN + CurrentDocument := DotNetDocument; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50021.TXT b/BaseApp/COD50021.TXT new file mode 100644 index 0000000..c8d2858 --- /dev/null +++ b/BaseApp/COD50021.TXT @@ -0,0 +1,103 @@ +OBJECT Codeunit 50021 DotNet_Word.Body +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetBody@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Body"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE Body@1(); + BEGIN + DotNetBody := DotNetBody.Body; + END; + + [External] + PROCEDURE BodyFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetBody := DotNetBody.Body(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetBody.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetBody.InnerText); + END; + + [External] + PROCEDURE AppendParagraph@5(VAR WordParagraph@1000 : Codeunit 50022); + VAR + DotNetParagraph@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"; + BEGIN + WordParagraph.GetParagraph(DotNetParagraph); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetBody, DotNetParagraph); + END; + + [External] + PROCEDURE AppendTable@6(VAR WordTable@1000 : Codeunit 50027); + VAR + DotNetTable@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Table"; + BEGIN + WordTable.GetTable(DotNetTable); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetBody, DotNetTable); + END; + + [External] + PROCEDURE GetTableEnumerator@7(VAR WordTableEnumerator@1000 : Codeunit 50064); + VAR + EnumeratorHelper@1001 : Codeunit 50067; + DotNetTable@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Table"; + DotNetEnumerator@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + BEGIN + //We need this to deal with .NET Generics: + EnumeratorHelper.GetEnumeratorOfTypeGeneric(DotNetBody.Elements, GETDOTNETTYPE(DotNetTable), DotNetEnumerator); + WordTableEnumerator.SetEnumerator(DotNetEnumerator); + END; + + [External] + PROCEDURE GetParagraphEnumerator@8(VAR WordParagraphEnumerator@1000 : Codeunit 50062); + VAR + EnumeratorHelper@1001 : Codeunit 50067; + DotNetParagraph@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"; + DotNetEnumerator@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + BEGIN + //We need this to deal with .NET Generics: + EnumeratorHelper.GetEnumeratorOfTypeGeneric(DotNetBody.Elements, GETDOTNETTYPE(DotNetParagraph), DotNetEnumerator); + WordParagraphEnumerator.SetEnumerator(DotNetEnumerator); + END; + + PROCEDURE SetBody@9(VAR NewDotNetBody@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Body"); + BEGIN + DotNetBody := NewDotNetBody; + END; + + PROCEDURE GetBody@10(VAR CurrentDotNetBody@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Body"); + BEGIN + CurrentDotNetBody := DotNetBody; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50022.TXT b/BaseApp/COD50022.TXT new file mode 100644 index 0000000..fdb0f36 --- /dev/null +++ b/BaseApp/COD50022.TXT @@ -0,0 +1,101 @@ +OBJECT Codeunit 50022 DotNet_Word.Paragraph +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetParagraph@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE Paragraph@1(); + BEGIN + DotNetParagraph := DotNetParagraph.Paragraph; + END; + + [External] + PROCEDURE ParagraphOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetParagraph := DotNetParagraph.Paragraph(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetParagraph.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetParagraph.InnerText); + END; + + [External] + PROCEDURE AppendRun@5(VAR WordRun@1000 : Codeunit 50023); + VAR + DotNetRun@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Run"; + BEGIN + WordRun.GetRun(DotNetRun); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetParagraph, DotNetRun); + END; + + [External] + PROCEDURE AppendHyperlink@6(VAR WordHyperlink@1000 : Codeunit 50035); + VAR + DotNetHyperlink@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Hyperlink"; + BEGIN + WordHyperlink.GetHyperlink(DotNetHyperlink); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetParagraph, DotNetHyperlink); + END; + + [External] + PROCEDURE AppendProperties@7(VAR WordParagraphProperties@1000 : Codeunit 50026); + VAR + DotNetParagraphProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ParagraphProperties"; + BEGIN + WordParagraphProperties.GetParagraphProperties(DotNetParagraphProperties); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetParagraph, DotNetParagraphProperties); + END; + + [External] + PROCEDURE GetRunEnumerator@8(VAR WordRunEnumerator@1000 : Codeunit 50063); + VAR + EnumeratorHelper@1001 : Codeunit 50067; + DotNetRun@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Run"; + DotNetEnumerator@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + BEGIN + //We need this to deal with .NET Generics: + EnumeratorHelper.GetEnumeratorOfTypeGeneric(DotNetParagraph.Elements, GETDOTNETTYPE(DotNetRun), DotNetEnumerator); + WordRunEnumerator.SetEnumerator(DotNetEnumerator); + END; + + PROCEDURE SetParagraph@9(VAR NewDotNetParagraph@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"); + BEGIN + DotNetParagraph := NewDotNetParagraph; + END; + + PROCEDURE GetParagraph@10(VAR CurrentDotNetParagraph@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"); + BEGIN + CurrentDotNetParagraph := DotNetParagraph; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50023.TXT b/BaseApp/COD50023.TXT new file mode 100644 index 0000000..045f993 --- /dev/null +++ b/BaseApp/COD50023.TXT @@ -0,0 +1,101 @@ +OBJECT Codeunit 50023 DotNet_Word.Run +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetRun@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Run"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE Run@1(); + BEGIN + DotNetRun := DotNetRun.Run; + END; + + [External] + PROCEDURE RunFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetRun := DotNetRun.Run(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetRun.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetRun.InnerText); + END; + + [External] + PROCEDURE AppendText@5(VAR WordText@1000 : Codeunit 50024); + VAR + DotNetText@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Text"; + BEGIN + WordText.GetTextObject(DotNetText); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetRun, DotNetText); + END; + + [External] + PROCEDURE AppendDrawing@6(VAR WordDrawing@1000 : Codeunit 50043); + VAR + DotNetDrawing@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Drawing"; + BEGIN + WordDrawing.GetDrawing(DotNetDrawing); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetRun, DotNetDrawing); + END; + + [External] + PROCEDURE AppendProperties@7(VAR WordRunProperties@1000 : Codeunit 50025); + VAR + DotNetRunProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.RunProperties"; + BEGIN + WordRunProperties.GetRunProperties(DotNetRunProperties); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetRun, DotNetRunProperties); + END; + + [External] + PROCEDURE GetTextEnumerator@8(VAR WordTextEnumerator@1000 : Codeunit 50076); + VAR + EnumeratorHelper@1001 : Codeunit 50067; + DotNetText@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Text"; + DotNetEnumerator@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + BEGIN + //We need this to deal with .NET Generics: + EnumeratorHelper.GetEnumeratorOfTypeGeneric(DotNetRun.Elements, GETDOTNETTYPE(DotNetText), DotNetEnumerator); + WordTextEnumerator.SetEnumerator(DotNetEnumerator); + END; + + PROCEDURE SetRun@9(VAR NewDotNetRun@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Run"); + BEGIN + DotNetRun := NewDotNetRun; + END; + + PROCEDURE GetRun@10(VAR CurrentDotNetRun@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Run"); + BEGIN + CurrentDotNetRun := DotNetRun; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50024.TXT b/BaseApp/COD50024.TXT new file mode 100644 index 0000000..05cda79 --- /dev/null +++ b/BaseApp/COD50024.TXT @@ -0,0 +1,88 @@ +OBJECT Codeunit 50024 DotNet_Word.Text +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetText@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Text"; + + [External] + PROCEDURE TextConstructor@1(); + VAR + DotNetType@1001 : DotNet "'mscorlib'.System.Type"; + DotNetObject@1004 : DotNet "'mscorlib'.System.Object"; + DotNetTypeArray@1002 : DotNet "'mscorlib'.System.Array"; + DotNetParamsArray@1003 : DotNet "'mscorlib'.System.Array"; + BEGIN + //So normally it should be a simple call like that: + //DotNetText := DotNetText.Text(); + //but constructor name equals to property name (both "Text") and in NAV we have no way to handle it + //so I need to use some tricks here + //basically I get constructor using reflection and then call it + DotNetType := GETDOTNETTYPE(DotNetText); + DotNetTypeArray := DotNetTypeArray.CreateInstance(GETDOTNETTYPE(DotNetType), 0); + DotNetParamsArray := DotNetParamsArray.CreateInstance(GETDOTNETTYPE(DotNetObject), 0); + DotNetText := DotNetType.GetConstructor(DotNetTypeArray).Invoke(DotNetParamsArray); + END; + + [External] + PROCEDURE OuterXml@2() : Text; + BEGIN + EXIT(DotNetText.OuterXml); + END; + + [External] + PROCEDURE InnerText@3() : Text; + BEGIN + EXIT(DotNetText.InnerText); + END; + + [External] + PROCEDURE SetText@4(NewText@1000 : Text); + BEGIN + DotNetText.Text := NewText; + END; + + [External] + PROCEDURE Text@5() : Text; + BEGIN + EXIT(DotNetText.Text); + END; + + [External] + PROCEDURE SetSpacePreserveOption@6(VAR PreserveSpace@1000 : Codeunit 50079); + VAR + DotNet_OpenXmlEnumValue@1001 : Codeunit 50080; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + BEGIN + PreserveSpace.ToOpenXmlEnumValue(DotNet_OpenXmlEnumValue); + DotNet_OpenXmlEnumValue.GetEnumValue(DotNetEnumValue); + DotNetText.Space := DotNetEnumValue; + END; + + PROCEDURE SetTextObject@7(VAR NewDotNetText@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Text"); + BEGIN + DotNetText := NewDotNetText; + END; + + PROCEDURE GetTextObject@8(VAR CurrentDotNetText@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Text"); + BEGIN + CurrentDotNetText := DotNetText; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50025.TXT b/BaseApp/COD50025.TXT new file mode 100644 index 0000000..311a73f --- /dev/null +++ b/BaseApp/COD50025.TXT @@ -0,0 +1,127 @@ +OBJECT Codeunit 50025 DotNet_Word.RunProperties +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetRunProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.RunProperties"; + + [External] + PROCEDURE RunProperties@1(); + BEGIN + DotNetRunProperties := DotNetRunProperties.RunProperties; + END; + + [External] + PROCEDURE RunPropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetRunProperties := DotNetRunProperties.RunProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetRunProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetRunProperties.InnerText); + END; + + [External] + PROCEDURE SetBold@5(Bold@1000 : Boolean); + VAR + DotNetBold@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Bold"; + DotNetBoldNull@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Bold"; + BEGIN + DotNetBold := DotNetBold.Bold; + IF Bold THEN + DotNetRunProperties.Bold := DotNetBold + ELSE + DotNetRunProperties.Bold := DotNetBoldNull; + END; + + [External] + PROCEDURE SetItalic@6(Italic@1000 : Boolean); + VAR + DotNetItalic@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Italic"; + DotNetItalicNull@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Italic"; + BEGIN + DotNetItalic := DotNetItalic.Italic; + IF Italic THEN + DotNetRunProperties.Italic := DotNetItalic + ELSE + DotNetRunProperties.Italic := DotNetItalicNull; + END; + + [External] + PROCEDURE SetUnderline@7(Underline@1000 : Boolean); + VAR + DotNetUnderline@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Underline"; + DotNetUnderlineNull@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Underline"; + BEGIN + DotNetUnderline := DotNetUnderline.Underline; + IF Underline THEN + DotNetRunProperties.Underline := DotNetUnderline + ELSE + DotNetRunProperties.Underline := DotNetUnderlineNull; + END; + + [External] + PROCEDURE SetFontSize@8(NewFontSize@1000 : Text); + VAR + DotNetFontSize@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.FontSize"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetFontSize := DotNetFontSize.FontSize; + DotNetFontSize.Val := DotNetStringValue.StringValue(NewFontSize); + END; + + [External] + PROCEDURE SetColor@9(VAR WordColor@1000 : Codeunit 50036); + VAR + DotNetColor@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Color"; + BEGIN + WordColor.GetColor(DotNetColor); + DotNetRunProperties.Color := DotNetColor; + END; + + [External] + PROCEDURE SetRunStyle@10(StyleName@1000 : Text); + VAR + DotNetRunStyle@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.RunStyle"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetRunStyle := DotNetRunStyle.RunStyle; + DotNetRunStyle.Val := DotNetStringValue.StringValue(StyleName); + DotNetRunProperties.RunStyle := DotNetRunStyle; + END; + + PROCEDURE SetRunProperties@11(VAR NewDotNetRunProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.RunProperties"); + BEGIN + DotNetRunProperties := NewDotNetRunProperties; + END; + + PROCEDURE GetRunProperties@12(VAR CurrentDotNetRunProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.RunProperties"); + BEGIN + CurrentDotNetRunProperties := DotNetRunProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50026.TXT b/BaseApp/COD50026.TXT new file mode 100644 index 0000000..82f7f3c --- /dev/null +++ b/BaseApp/COD50026.TXT @@ -0,0 +1,111 @@ +OBJECT Codeunit 50026 DotNet_Word.ParagraphProp +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetParagraphProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ParagraphProperties"; + + [External] + PROCEDURE ParagraphProperties@1(); + BEGIN + DotNetParagraphProperties := DotNetParagraphProperties.ParagraphProperties; + END; + + [External] + PROCEDURE ParagraphPropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetParagraphProperties := DotNetParagraphProperties.ParagraphProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetParagraphProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetParagraphProperties.InnerText); + END; + + [External] + PROCEDURE SetJustification@5(Justification@1000 : 'Left,Start,Center,Right,End,Both,MediumKashida,Distribute,NumTab,HighKashida,LowKashida,ThaiDistribute'); + VAR + DotNetJustification@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Justification"; + DotNetJustificationValues@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.JustificationValues"; + DotNetEnumValue@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1004 : Codeunit 50067; + BEGIN + DotNetJustification := DotNetJustification.Justification; + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetJustificationValues), Justification, DotNetEnumValue); + DotNetJustification.Val := DotNetEnumValue; + DotNetParagraphProperties.Justification := DotNetJustification; + END; + + [External] + PROCEDURE SetSpacingBetweenLines@6(VAR WordSpacingBetweenLines@1000 : Codeunit 50030); + VAR + DotNetSpacingBetweenLines@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.SpacingBetweenLines"; + BEGIN + WordSpacingBetweenLines.GetSpacingBetweenLines(DotNetSpacingBetweenLines); + DotNetParagraphProperties.SpacingBetweenLines := DotNetSpacingBetweenLines; + END; + + [External] + PROCEDURE SetIndentation@7(VAR WordIndentation@1000 : Codeunit 50031); + VAR + DotNetIndentation@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Indentation"; + BEGIN + WordIndentation.GetIndentation(DotNetIndentation); + DotNetParagraphProperties.Indentation := DotNetIndentation; + END; + + [External] + PROCEDURE SetNumberingProperties@8(VAR WordNumberingProperties@1000 : Codeunit 50032); + VAR + DotNetNumberingProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingProperties"; + BEGIN + WordNumberingProperties.GetNumberingProperties(DotNetNumberingProperties); + DotNetParagraphProperties.NumberingProperties := DotNetNumberingProperties; + END; + + [External] + PROCEDURE SetParagraphStyleId@9(NewParagraphStyleId@1000 : Text); + VAR + DotNetParagraphStyleId@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ParagraphStyleId"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetParagraphStyleId := DotNetParagraphStyleId.ParagraphStyleId; + DotNetParagraphStyleId.Val := DotNetStringValue.FromString(NewParagraphStyleId); + DotNetParagraphProperties.ParagraphStyleId := DotNetParagraphStyleId; + END; + + PROCEDURE SetParagraphProperties@10(VAR NewDotNetParagraphProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ParagraphProperties"); + BEGIN + DotNetParagraphProperties := NewDotNetParagraphProperties; + END; + + PROCEDURE GetParagraphProperties@11(VAR CurrentDotNetParagraphProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ParagraphProperties"); + BEGIN + CurrentDotNetParagraphProperties := DotNetParagraphProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50027.TXT b/BaseApp/COD50027.TXT new file mode 100644 index 0000000..d626bf3 --- /dev/null +++ b/BaseApp/COD50027.TXT @@ -0,0 +1,81 @@ +OBJECT Codeunit 50027 DotNet_Word.Table +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetTable@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Table"; + + [External] + PROCEDURE Table@1(); + BEGIN + DotNetTable := DotNetTable.Table; + END; + + [External] + PROCEDURE TableFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetTable := DotNetTable.Table(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetTable.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetTable.InnerText); + END; + + [External] + PROCEDURE AppendRow@5(WordTableRow@1000 : Codeunit 50028); + VAR + DotNetTableRow@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableRow"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordTableRow.GetTableRow(DotNetTableRow); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetTable, DotNetTableRow); + END; + + [External] + PROCEDURE GetTableRowEnumerator@6(VAR WordTableRowEnumerator@1000 : Codeunit 50065); + VAR + EnumeratorHelper@1001 : Codeunit 50067; + DotNetTableRow@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableRow"; + DotNetEnumerator@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + BEGIN + //We need this to deal with .NET Generics: + EnumeratorHelper.GetEnumeratorOfTypeGeneric(DotNetTable.Elements, GETDOTNETTYPE(DotNetTableRow), DotNetEnumerator); + WordTableRowEnumerator.SetEnumerator(DotNetEnumerator); + END; + + PROCEDURE SetTable@7(VAR NewDotNetTable@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Table"); + BEGIN + DotNetTable := NewDotNetTable; + END; + + PROCEDURE GetTable@8(VAR CurrentDotNetTable@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Table"); + BEGIN + CurrentDotNetTable := DotNetTable; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50028.TXT b/BaseApp/COD50028.TXT new file mode 100644 index 0000000..f460b4a --- /dev/null +++ b/BaseApp/COD50028.TXT @@ -0,0 +1,81 @@ +OBJECT Codeunit 50028 DotNet_Word.TableRow +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetTableRow@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableRow"; + + [External] + PROCEDURE TableRow@1(); + BEGIN + DotNetTableRow := DotNetTableRow.TableRow; + END; + + [External] + PROCEDURE TableRowFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetTableRow := DotNetTableRow.TableRow(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetTableRow.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetTableRow.InnerText); + END; + + [External] + PROCEDURE AppendCell@5(WordTableCell@1000 : Codeunit 50029); + VAR + DotNetTableCell@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableCell"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordTableCell.GetTableCell(DotNetTableCell); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetTableRow, DotNetTableCell); + END; + + [External] + PROCEDURE GetTableCellEnumerator@6(VAR WordTableCellEnumerator@1000 : Codeunit 50066); + VAR + EnumeratorHelper@1001 : Codeunit 50067; + DotNetTableCell@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableCell"; + DotNetEnumerator@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + BEGIN + //We need this to deal with .NET Generics: + EnumeratorHelper.GetEnumeratorOfTypeGeneric(DotNetTableRow.Elements, GETDOTNETTYPE(DotNetTableCell), DotNetEnumerator); + WordTableCellEnumerator.SetEnumerator(DotNetEnumerator); + END; + + PROCEDURE SetTableRow@7(VAR NewDotNetTableRow@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableRow"); + BEGIN + DotNetTableRow := NewDotNetTableRow; + END; + + PROCEDURE GetTableRow@8(VAR CurrentDotNetTableRow@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableRow"); + BEGIN + CurrentDotNetTableRow := DotNetTableRow; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50029.TXT b/BaseApp/COD50029.TXT new file mode 100644 index 0000000..87e500e --- /dev/null +++ b/BaseApp/COD50029.TXT @@ -0,0 +1,81 @@ +OBJECT Codeunit 50029 DotNet_Word.TableCell +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetTableCell@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableCell"; + + [External] + PROCEDURE TableCell@1(); + BEGIN + DotNetTableCell := DotNetTableCell.TableCell; + END; + + [External] + PROCEDURE TableCellFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetTableCell := DotNetTableCell.TableCell(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetTableCell.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetTableCell.InnerText); + END; + + [External] + PROCEDURE AppendParagraph@5(WordParagraph@1000 : Codeunit 50022); + VAR + DotNetParagraph@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordParagraph.GetParagraph(DotNetParagraph); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetTableCell, DotNetParagraph); + END; + + [External] + PROCEDURE GetParagraphEnumerator@6(VAR WordParagraphEnumerator@1000 : Codeunit 50062); + VAR + EnumeratorHelper@1001 : Codeunit 50067; + DotNetParagraph@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"; + DotNetEnumerator@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + BEGIN + //We need this to deal with .NET Generics: + EnumeratorHelper.GetEnumeratorOfTypeGeneric(DotNetTableCell.Elements, GETDOTNETTYPE(DotNetParagraph), DotNetEnumerator); + WordParagraphEnumerator.SetEnumerator(DotNetParagraph); + END; + + PROCEDURE SetTableCell@7(VAR NewDotNetTableCell@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableCell"); + BEGIN + DotNetTableCell := NewDotNetTableCell; + END; + + PROCEDURE GetTableCell@8(VAR CurrentDotNetTableCell@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableCell"); + BEGIN + CurrentDotNetTableCell := DotNetTableCell; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50030.TXT b/BaseApp/COD50030.TXT new file mode 100644 index 0000000..29a672c --- /dev/null +++ b/BaseApp/COD50030.TXT @@ -0,0 +1,62 @@ +OBJECT Codeunit 50030 DotNet_Word.SpacingBetweenLine +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetSpacingBetweenLines@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.SpacingBetweenLines"; + + [External] + PROCEDURE SpacingBetweenLines@1(); + BEGIN + DotNetSpacingBetweenLines := DotNetSpacingBetweenLines.SpacingBetweenLines; + END; + + [External] + PROCEDURE OuterXml@2() : Text; + BEGIN + EXIT(DotNetSpacingBetweenLines.OuterXml); + END; + + [External] + PROCEDURE InnerText@3() : Text; + BEGIN + EXIT(DotNetSpacingBetweenLines.InnerText); + END; + + [External] + PROCEDURE SetAfter@4(NewAfterValue@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetStringValue := DotNetStringValue.StringValue; + DotNetStringValue.Value := NewAfterValue; + DotNetSpacingBetweenLines.After := DotNetStringValue; + END; + + PROCEDURE SetSpacingBetweenLines@5(VAR NewDotNetSpacingBetweenLines@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.SpacingBetweenLines"); + BEGIN + DotNetSpacingBetweenLines := NewDotNetSpacingBetweenLines; + END; + + PROCEDURE GetSpacingBetweenLines@6(VAR CurrentDotNetSpacingBetweenLines@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.SpacingBetweenLines"); + BEGIN + CurrentDotNetSpacingBetweenLines := DotNetSpacingBetweenLines; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50031.TXT b/BaseApp/COD50031.TXT new file mode 100644 index 0000000..836b6b8 --- /dev/null +++ b/BaseApp/COD50031.TXT @@ -0,0 +1,72 @@ +OBJECT Codeunit 50031 DotNet_Word.Indentation +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetIndentation@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Indentation"; + + [External] + PROCEDURE Indentation@1(); + BEGIN + DotNetIndentation := DotNetIndentation.Indentation; + END; + + [External] + PROCEDURE OuterXml@2() : Text; + BEGIN + EXIT(DotNetIndentation.OuterXml); + END; + + [External] + PROCEDURE InnerText@3() : Text; + BEGIN + EXIT(DotNetIndentation.InnerText); + END; + + [External] + PROCEDURE SetLeft@4(NewLeftValue@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetStringValue := DotNetStringValue.StringValue; + DotNetStringValue.Value := NewLeftValue; + DotNetIndentation.Left := DotNetStringValue; + END; + + [External] + PROCEDURE SetHanging@5(NewHangingValue@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetStringValue := DotNetStringValue.StringValue; + DotNetStringValue.Value := NewHangingValue; + DotNetIndentation.Hanging := DotNetStringValue; + END; + + PROCEDURE SetIndentation@6(VAR NewDotNetIndentation@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Indentation"); + BEGIN + DotNetIndentation := NewDotNetIndentation; + END; + + PROCEDURE GetIndentation@7(VAR CurrentDotNetIndentation@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Indentation"); + BEGIN + CurrentDotNetIndentation := DotNetIndentation; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50032.TXT b/BaseApp/COD50032.TXT new file mode 100644 index 0000000..20c79d0 --- /dev/null +++ b/BaseApp/COD50032.TXT @@ -0,0 +1,80 @@ +OBJECT Codeunit 50032 DotNet_Word.NumberingPropertie +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetNumberingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingProperties"; + + [External] + PROCEDURE NumberingProperties@1(); + BEGIN + DotNetNumberingProperties := DotNetNumberingProperties.NumberingProperties; + END; + + [External] + PROCEDURE NumberingPropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetNumberingProperties := DotNetNumberingProperties.NumberingProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetNumberingProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetNumberingProperties.InnerText); + END; + + [External] + PROCEDURE SetNumberingLevelReference@5(NewNumberingLevelReference@1000 : Integer); + VAR + DotNetInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int32Value"; + DotNetNumberingLevelReference@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingLevelReference"; + BEGIN + DotNetNumberingLevelReference := DotNetNumberingLevelReference.NumberingLevelReference; + DotNetNumberingLevelReference.Val := DotNetInt32Value.FromInt32(NewNumberingLevelReference); + DotNetNumberingProperties.NumberingLevelReference := DotNetNumberingLevelReference; + END; + + [External] + PROCEDURE SetNumberingId@6(NewNumberingId@1000 : Integer); + VAR + DotNetInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int32Value"; + DotNetNumberingId@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingId"; + BEGIN + DotNetNumberingId := DotNetNumberingId.NumberingId; + DotNetNumberingId.Val := DotNetInt32Value.FromInt32(NewNumberingId); + DotNetNumberingProperties.NumberingId := DotNetNumberingId; + END; + + PROCEDURE SetNumberingProperties@7(VAR NewDotNetNumberingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingProperties"); + BEGIN + DotNetNumberingProperties := NewDotNetNumberingProperties; + END; + + PROCEDURE GetNumberingProperties@8(VAR CurrentDotNetNumberingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingProperties"); + BEGIN + CurrentDotNetNumberingProperties := DotNetNumberingProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50033.TXT b/BaseApp/COD50033.TXT new file mode 100644 index 0000000..c4b570f --- /dev/null +++ b/BaseApp/COD50033.TXT @@ -0,0 +1,63 @@ +OBJECT Codeunit 50033 DotNet_Word.ProofError +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetProofError@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ProofError"; + + [External] + PROCEDURE ProofError@1(); + BEGIN + DotNetProofError := DotNetProofError.ProofError; + END; + + [External] + PROCEDURE OuterXml@2() : Text; + BEGIN + EXIT(DotNetProofError.OuterXml); + END; + + [External] + PROCEDURE InnerText@3() : Text; + BEGIN + EXIT(DotNetProofError.InnerText); + END; + + [External] + PROCEDURE SetType@4(NewProofingErrorType@1000 : 'SpellStart,SpellEnd,GrammarStart,GrammarEnd'); + VAR + DotNetProofingErrorValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ProofingErrorValues"; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetProofingErrorValues), NewProofingErrorType, DotNetEnumValue); + DotNetProofError.Type := DotNetEnumValue; + END; + + PROCEDURE SetProofError@5(VAR NewDotNetProofError@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ProofError"); + BEGIN + DotNetProofError := NewDotNetProofError; + END; + + PROCEDURE GetProofError@6(VAR CurrentDotNetProofError@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ProofError"); + BEGIN + CurrentDotNetProofError := DotNetProofError; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50034.TXT b/BaseApp/COD50034.TXT new file mode 100644 index 0000000..fdd5c95 --- /dev/null +++ b/BaseApp/COD50034.TXT @@ -0,0 +1,40 @@ +OBJECT Codeunit 50034 DotNet_Word.HyperlinkRelations +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetHyperlinkRelationship@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.HyperlinkRelationship"; + + [External] + PROCEDURE Id@1() : Text; + BEGIN + EXIT(DotNetHyperlinkRelationship.Id); + END; + + PROCEDURE SetHyperlinkRelationship@2(VAR NewDotNetHyperlinkRelationship@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.HyperlinkRelationship"); + BEGIN + DotNetHyperlinkRelationship := NewDotNetHyperlinkRelationship; + END; + + PROCEDURE GetHyperlinkRelationship@3(VAR CurrentDotNetHyperlinkRelationship@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.HyperlinkRelationship"); + BEGIN + CurrentDotNetHyperlinkRelationship := DotNetHyperlinkRelationship; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50035.TXT b/BaseApp/COD50035.TXT new file mode 100644 index 0000000..242a1f1 --- /dev/null +++ b/BaseApp/COD50035.TXT @@ -0,0 +1,95 @@ +OBJECT Codeunit 50035 DotNet_Word.Hyperlink +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetHyperlink@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Hyperlink"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE Hyperlink@1(); + BEGIN + DotNetHyperlink := DotNetHyperlink.Hyperlink; + END; + + [External] + PROCEDURE HyperlinkFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetHyperlink := DotNetHyperlink.Hyperlink(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetHyperlink.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetHyperlink.InnerText); + END; + + [External] + PROCEDURE AppendRun@5(VAR WordRun@1000 : Codeunit 50023); + VAR + DotNetRun@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Run"; + BEGIN + WordRun.GetRun(DotNetRun); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetHyperlink, DotNetRun); + END; + + [External] + PROCEDURE AppendProofError@6(VAR WordProofError@1000 : Codeunit 50033); + VAR + DotNetProofError@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ProofError"; + BEGIN + WordProofError.GetProofError(DotNetProofError); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetHyperlink, DotNetProofError); + END; + + [External] + PROCEDURE SetId@7(NewId@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetHyperlink.Id := DotNetStringValue.StringValue(NewId); + END; + + [External] + PROCEDURE SetHistory@8(NewHistory@1000 : Boolean); + VAR + DotNetOnOffValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.OnOffValue"; + BEGIN + DotNetHyperlink.History := DotNetOnOffValue.FromBoolean(NewHistory); + END; + + PROCEDURE SetHyperlink@9(VAR NewDotNetHyperlink@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Hyperlink"); + BEGIN + DotNetHyperlink := NewDotNetHyperlink; + END; + + PROCEDURE GetHyperlink@10(VAR CurrentDotNetHyperlink@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Hyperlink"); + BEGIN + CurrentDotNetHyperlink := DotNetHyperlink; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50036.TXT b/BaseApp/COD50036.TXT new file mode 100644 index 0000000..1ff4f62 --- /dev/null +++ b/BaseApp/COD50036.TXT @@ -0,0 +1,72 @@ +OBJECT Codeunit 50036 DotNet_Word.Color +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetColor@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Color"; + + [External] + PROCEDURE Color@1(); + BEGIN + DotNetColor := DotNetColor.Color; + END; + + [External] + PROCEDURE OuterXml@2() : Text; + BEGIN + EXIT(DotNetColor.OuterXml); + END; + + [External] + PROCEDURE InnerText@3() : Text; + BEGIN + EXIT(DotNetColor.InnerText); + END; + + [External] + PROCEDURE SetColorValue@4(NewColorArgb@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetColor.Val := DotNetStringValue.StringValue(NewColorArgb); + END; + + [External] + PROCEDURE SetColorTheme@5(NewColorTheme@1000 : 'Dark1,Light1,Dark2,Light2,Accent1,Accent2,Accent3,Accent4,Accent5,Accent6,Hyperlink,FollowedHyperlink,None,Background1,Text1,Background2,Text2'); + VAR + DotNetThemeColorValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.ThemeColorValues"; + DotNetEnumValue@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetThemeColorValues), NewColorTheme, DotNetEnumValue); + DotNetColor.ThemeColor := DotNetEnumValue; + END; + + PROCEDURE SetColor@6(VAR NewDotNetColor@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Color"); + BEGIN + DotNetColor := NewDotNetColor; + END; + + PROCEDURE GetColor@7(VAR CurrentDotNetColor@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Color"); + BEGIN + CurrentDotNetColor := DotNetColor; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50037.TXT b/BaseApp/COD50037.TXT new file mode 100644 index 0000000..32016cb --- /dev/null +++ b/BaseApp/COD50037.TXT @@ -0,0 +1,117 @@ +OBJECT Codeunit 50037 DotNet_Word.StyleRunProperties +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetStyleRunProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.StyleRunProperties"; + + [External] + PROCEDURE StyleRunProperties@1(); + BEGIN + DotNetStyleRunProperties := DotNetStyleRunProperties.StyleRunProperties; + END; + + [External] + PROCEDURE StyleRunPropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetStyleRunProperties := DotNetStyleRunProperties.StyleRunProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetStyleRunProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetStyleRunProperties.InnerText); + END; + + [External] + PROCEDURE SetBold@5(Bold@1000 : Boolean); + VAR + DotNetBold@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Bold"; + DotNetBoldNull@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Bold"; + BEGIN + DotNetBold := DotNetBold.Bold; + IF Bold THEN + DotNetStyleRunProperties.Bold := DotNetBold + ELSE + DotNetStyleRunProperties.Bold := DotNetBoldNull; + END; + + [External] + PROCEDURE SetItalic@6(Italic@1000 : Boolean); + VAR + DotNetItalic@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Italic"; + DotNetItalicNull@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Italic"; + BEGIN + DotNetItalic := DotNetItalic.Italic; + IF Italic THEN + DotNetStyleRunProperties.Italic := DotNetItalic + ELSE + DotNetStyleRunProperties.Italic := DotNetItalicNull; + END; + + [External] + PROCEDURE SetUnderline@7(Underline@1000 : Boolean); + VAR + DotNetUnderline@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Underline"; + DotNetUnderlineNull@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Underline"; + BEGIN + DotNetUnderline := DotNetUnderline.Underline; + IF Underline THEN + DotNetStyleRunProperties.Underline := DotNetUnderline + ELSE + DotNetStyleRunProperties.Underline := DotNetUnderlineNull; + END; + + [External] + PROCEDURE SetFontSize@8(NewFontSize@1000 : Text); + VAR + DotNetFontSize@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.FontSize"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetFontSize := DotNetFontSize.FontSize; + DotNetFontSize.Val := DotNetStringValue.StringValue(NewFontSize); + DotNetStyleRunProperties.FontSize := DotNetFontSize; + END; + + [External] + PROCEDURE SetColor@9(VAR WordColor@1000 : Codeunit 50036); + VAR + DotNetColor@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Color"; + BEGIN + WordColor.GetColor(DotNetColor); + DotNetStyleRunProperties.Color := DotNetColor; + END; + + PROCEDURE SetStyleRunProperties@10(VAR NewDotNetStyleRunProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.StyleRunProperties"); + BEGIN + DotNetStyleRunProperties := NewDotNetStyleRunProperties; + END; + + PROCEDURE GetStyleRunProperties@11(VAR CurrentDotNetStyleRunProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.StyleRunProperties"); + BEGIN + CurrentDotNetStyleRunProperties := DotNetStyleRunProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50038.TXT b/BaseApp/COD50038.TXT new file mode 100644 index 0000000..f068a03 --- /dev/null +++ b/BaseApp/COD50038.TXT @@ -0,0 +1,164 @@ +OBJECT Codeunit 50038 DotNet_Word.Style +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetStyle@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Style"; + + [External] + PROCEDURE Style@1(); + BEGIN + DotNetStyle := DotNetStyle.Style; + END; + + [External] + PROCEDURE StyleFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetStyle := DotNetStyle.Style(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetStyle.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetStyle.InnerText); + END; + + [External] + PROCEDURE SetStyleName@5(NewStyleName@1000 : Text); + VAR + DotNetStyleName@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.StyleName"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetStyleName := DotNetStyleName.StyleName; + DotNetStyleName.Val := DotNetStringValue.StringValue(NewStyleName); + DotNetStyle.StyleName := DotNetStyleName; + END; + + [External] + PROCEDURE StyleName@6() : Text; + BEGIN + EXIT(DotNetStyle.StyleName.Val.Value); + END; + + [External] + PROCEDURE SetBasedOn@7(NewBasedOn@1000 : Text); + VAR + DotNetBasedOn@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.BasedOn"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetBasedOn := DotNetBasedOn.BasedOn; + DotNetBasedOn.Val := DotNetStringValue.StringValue(NewBasedOn); + DotNetStyle.BasedOn := DotNetBasedOn; + END; + + [External] + PROCEDURE SetNextParagraphStyle@8(NewNextParagraphStyle@1000 : Text); + VAR + DotNetNextParagraphStyle@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NextParagraphStyle"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetNextParagraphStyle := DotNetNextParagraphStyle.NextParagraphStyle; + DotNetNextParagraphStyle.Val := DotNetStringValue.StringValue(NewNextParagraphStyle); + DotNetStyle.NextParagraphStyle := DotNetNextParagraphStyle; + END; + + [External] + PROCEDURE SetUIPriority@9(NewUIPriority@1000 : Integer); + VAR + DotNetUIPriority@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.UIPriority"; + DotNetInt32Value@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int32Value"; + BEGIN + DotNetUIPriority := DotNetUIPriority.UIPriority; + DotNetUIPriority.Val := DotNetInt32Value.FromInt32(NewUIPriority); + DotNetStyle.UIPriority := DotNetUIPriority; + END; + + [External] + PROCEDURE SetStyleId@10(NewStyleId@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetStyle.StyleId := DotNetStringValue.StringValue(NewStyleId); + END; + + [External] + PROCEDURE StyleId@11() : Text; + BEGIN + EXIT(DotNetStyle.StyleId.Value); + END; + + [External] + PROCEDURE SetCustomStyle@12(CustomStyle@1000 : Boolean); + VAR + DotNetOnOffValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.OnOffValue"; + BEGIN + DotNetStyle.CustomStyle := DotNetOnOffValue.FromBoolean(CustomStyle); + END; + + [External] + PROCEDURE SetStyleType@13(NewStyleType@1000 : 'Paragraph,Character,Table,Numbering'); + VAR + DotNetStyleValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.StyleValues"; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetStyleValues), NewStyleType, DotNetEnumValue); + DotNetStyle.Type := DotNetEnumValue; + END; + + [External] + PROCEDURE StyleType@14() : Integer; + VAR + DotNetStyleValues@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.StyleValues"; + DotNetEnumValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + BEGIN + DotNetEnumValue := DotNetStyle.Type; + DotNetStyleValues := DotNetEnumValue.Value; + EXIT(DotNetStyleValues); + END; + + [External] + PROCEDURE AppendStyleRunProperties@15(VAR WordStyleRunProperties@1000 : Codeunit 50037); + VAR + DotNetStyleRunProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.StyleRunProperties"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordStyleRunProperties.GetStyleRunProperties(DotNetStyleRunProperties); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetStyle, DotNetStyleRunProperties); + END; + + PROCEDURE SetStyle@16(VAR NewDotNetStyle@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Style"); + BEGIN + DotNetStyle := NewDotNetStyle; + END; + + PROCEDURE GetStyle@17(VAR CurrentDotNetStyle@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Style"); + BEGIN + CurrentDotNetStyle := DotNetStyle; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50039.TXT b/BaseApp/COD50039.TXT new file mode 100644 index 0000000..e9511bb --- /dev/null +++ b/BaseApp/COD50039.TXT @@ -0,0 +1,90 @@ +OBJECT Codeunit 50039 DotNet_Word.Styles +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetStyles@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Styles"; + + [External] + PROCEDURE Styles@1(); + BEGIN + DotNetStyles := DotNetStyles.Styles; + END; + + [External] + PROCEDURE StylesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetStyles := DotNetStyles.Styles(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetStyles.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetStyles.InnerText); + END; + + [External] + PROCEDURE AppendStyle@5(VAR WordStyle@1000 : Codeunit 50038); + VAR + DotNetStyle@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Style"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordStyle.GetStyle(DotNetStyle); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetStyles, DotNetStyle); + END; + + [External] + PROCEDURE Save@6(VAR WordStyleDefinitionPart@1000 : Codeunit 50041); + VAR + DotNetStyleDefinitionsPart@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.StyleDefinitionsPart"; + BEGIN + WordStyleDefinitionPart.GetStyleDefinitionsPart(DotNetStyleDefinitionsPart); + DotNetStyles.Save(DotNetStyleDefinitionsPart); + END; + + [External] + PROCEDURE GetStyleEnumerator@7(VAR WordStylesEnumerator@1000 : Codeunit 50040); + VAR + DotNetStyle@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Style"; + DotNetEnumerator@1002 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.GetEnumeratorOfTypeGeneric(DotNetStyles.Elements, GETDOTNETTYPE(DotNetStyle), DotNetEnumerator); + WordStylesEnumerator.SetEnumerator(DotNetEnumerator); + END; + + PROCEDURE SetStyles@8(VAR NewDotNetStyles@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Styles"); + BEGIN + DotNetStyles := NewDotNetStyles; + END; + + PROCEDURE GetStyles@9(VAR CurrentDotNetStyles@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Styles"); + BEGIN + CurrentDotNetStyles := DotNetStyles; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50040.TXT b/BaseApp/COD50040.TXT new file mode 100644 index 0000000..a4f6243 --- /dev/null +++ b/BaseApp/COD50040.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50040 DotNet_Word.StylesEnumerator +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentStyle@1000 : Codeunit 50038); + VAR + DotNetStyle@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Style"; + BEGIN + DotNetStyle := DotNetEnumerator.Current; + CurrentStyle.SetStyle(DotNetStyle); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50041.TXT b/BaseApp/COD50041.TXT new file mode 100644 index 0000000..2c85883 --- /dev/null +++ b/BaseApp/COD50041.TXT @@ -0,0 +1,58 @@ +OBJECT Codeunit 50041 DotNet_Word.StyleDefinitionPar +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetStyleDefinitionsPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.StyleDefinitionsPart"; + + [External] + PROCEDURE SetStyles@1(VAR WordStyles@1000 : Codeunit 50039); + VAR + DotNetStyles@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Styles"; + BEGIN + WordStyles.GetStyles(DotNetStyles); + DotNetStyleDefinitionsPart.Styles := DotNetStyles; + END; + + [External] + PROCEDURE Styles@2(VAR WordStyles@1000 : Codeunit 50039); + VAR + DotNetStyles@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Styles"; + BEGIN + DotNetStyles := DotNetStyleDefinitionsPart.Styles; + WordStyles.SetStyles(DotNetStyles); + END; + + [External] + PROCEDURE IsDotNetNull@3() : Boolean; + BEGIN + EXIT(ISNULL(DotNetStyleDefinitionsPart)); + END; + + PROCEDURE SetStyleDefinitionsPart@4(NewDotNetStyleDefinitionsPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.StyleDefinitionsPart"); + BEGIN + DotNetStyleDefinitionsPart := NewDotNetStyleDefinitionsPart; + END; + + PROCEDURE GetStyleDefinitionsPart@5(VAR CurrentDotNetStyleDefinitionsPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.StyleDefinitionsPart"); + BEGIN + CurrentDotNetStyleDefinitionsPart := DotNetStyleDefinitionsPart; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50042.TXT b/BaseApp/COD50042.TXT new file mode 100644 index 0000000..1f23439 --- /dev/null +++ b/BaseApp/COD50042.TXT @@ -0,0 +1,40 @@ +OBJECT Codeunit 50042 DotNet_Word.ImagePart +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetImagePart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePart"; + + [External] + PROCEDURE FeedData@1(ImageStream@1000 : InStream); + BEGIN + DotNetImagePart.FeedData(ImageStream); + END; + + PROCEDURE SetImagePart@2(VAR NewDotNetImagePart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePart"); + BEGIN + DotNetImagePart := NewDotNetImagePart; + END; + + PROCEDURE GetImagePart@3(VAR CurrentDotNetImagePart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePart"); + BEGIN + CurrentDotNetImagePart := DotNetImagePart; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50043.TXT b/BaseApp/COD50043.TXT new file mode 100644 index 0000000..a09cf22 --- /dev/null +++ b/BaseApp/COD50043.TXT @@ -0,0 +1,69 @@ +OBJECT Codeunit 50043 DotNet_Word.Drawing +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetDrawing@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Drawing"; + + [External] + PROCEDURE Drawing@1(); + BEGIN + DotNetDrawing := DotNetDrawing.Drawing; + END; + + [External] + PROCEDURE DrawingFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetDrawing := DotNetDrawing.Drawing(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetDrawing.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetDrawing.InnerText); + END; + + [External] + PROCEDURE AppendAnchor@5(VAR WordAnchor@1000 : Codeunit 50044); + VAR + DotNetAnchor@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.Anchor"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordAnchor.GetAnchor(DotNetAnchor); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetDrawing, DotNetAnchor); + END; + + PROCEDURE SetDrawing@6(VAR NewDotNetDrawing@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Drawing"); + BEGIN + DotNetDrawing := NewDotNetDrawing; + END; + + PROCEDURE GetDrawing@7(VAR CurrentDotNetDrawing@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Drawing"); + BEGIN + CurrentDotNetDrawing := DotNetDrawing; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50044.TXT b/BaseApp/COD50044.TXT new file mode 100644 index 0000000..04ed240 --- /dev/null +++ b/BaseApp/COD50044.TXT @@ -0,0 +1,261 @@ +OBJECT Codeunit 50044 DotNet_Word.Anchor +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetAnchor@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.Anchor"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE Anchor@1(); + BEGIN + DotNetAnchor := DotNetAnchor.Anchor; + END; + + [External] + PROCEDURE AnchorFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetAnchor := DotNetAnchor.Anchor(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetAnchor.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetAnchor.InnerText); + END; + + [External] + PROCEDURE SetAllowOverlap@5(NewAllowOverlap@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetAnchor.AllowOverlap := DotNetBooleanValue.BooleanValue(NewAllowOverlap); + END; + + [External] + PROCEDURE SetLayoutInCell@6(NewLayoutInCell@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetAnchor.LayoutInCell := DotNetBooleanValue.BooleanValue(NewLayoutInCell); + END; + + [External] + PROCEDURE SetLocked@7(NewLocked@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetAnchor.Locked := DotNetBooleanValue.BooleanValue(NewLocked); + END; + + [External] + PROCEDURE SetBehindDoc@8(NewBehindDoc@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetAnchor.BehindDoc := DotNetBooleanValue.BooleanValue(NewBehindDoc); + END; + + [External] + PROCEDURE SetSimplePos@9(NewSimplePos@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetAnchor.SimplePos := DotNetBooleanValue.BooleanValue(NewSimplePos); + END; + + [External] + PROCEDURE SetRelativeHeight@10(NewRelativeHeight@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetAnchor.RelativeHeight := DotNetUInt32Value.FromUInt32(NewRelativeHeight); + END; + + [External] + PROCEDURE SetDistanceFromRight@11(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetAnchor.DistanceFromRight := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetDistanceFromLeft@12(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetAnchor.DistanceFromLeft := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetDistanceFromTop@13(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetAnchor.DistanceFromTop := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetDistanceFromBottom@14(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetAnchor.DistanceFromBottom := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE AppendSimplePosition@15(X@1000 : Integer;Y@1001 : Integer); + VAR + DotNetInt64Value@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int64Value"; + DotNetSimplePosition@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.SimplePosition"; + BEGIN + DotNetSimplePosition := DotNetSimplePosition.SimplePosition; + DotNetSimplePosition.X := DotNetInt64Value.FromInt64(X); + DotNetSimplePosition.Y := DotNetInt64Value.FromInt64(Y); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetSimplePosition); + END; + + [External] + PROCEDURE AppendExtent@16(Cx@1000 : Integer;Cy@1001 : Integer); + VAR + DotNetInt64Value@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int64Value"; + DotNetExtent@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.Extent"; + BEGIN + DotNetExtent := DotNetExtent.Extent; + DotNetExtent.Cx := DotNetInt64Value.FromInt64(Cx); + DotNetExtent.Cy := DotNetInt64Value.FromInt64(Cy); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetExtent); + END; + + [External] + PROCEDURE AppendEffectExtent@17(LeftEdge@1000 : Integer;TopEdge@1001 : Integer;RightEdge@1002 : Integer;BottomEdge@1003 : Integer); + VAR + DotNetInt64Value@1004 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int64Value"; + DotNetEffectExtent@1005 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.EffectExtent"; + BEGIN + DotNetEffectExtent := DotNetEffectExtent.EffectExtent; + DotNetEffectExtent.LeftEdge := DotNetInt64Value.FromInt64(LeftEdge); + DotNetEffectExtent.TopEdge := DotNetInt64Value.FromInt64(TopEdge); + DotNetEffectExtent.RightEdge := DotNetInt64Value.FromInt64(RightEdge); + DotNetEffectExtent.BottomEdge := DotNetInt64Value.FromInt64(BottomEdge); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetEffectExtent); + END; + + [External] + PROCEDURE AppendVerticalPosition@18(VAR WordVerticalPosition@1000 : Codeunit 50045); + VAR + DotNetVerticalPosition@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.VerticalPosition"; + BEGIN + WordVerticalPosition.GetVerticalPosition(DotNetVerticalPosition); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetVerticalPosition); + END; + + [External] + PROCEDURE AppendHorizontalPosition@19(VAR WordHorizontalPosition@1000 : Codeunit 50046); + VAR + DotNetHorizontalPosition@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalPosition"; + BEGIN + WordHorizontalPosition.GetHorizontalPosition(DotNetHorizontalPosition); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetHorizontalPosition); + END; + + [External] + PROCEDURE AppendWrapSquare@20(VAR WordWrapSquare@1000 : Codeunit 50047); + VAR + DotNetWrapSquare@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapSquare"; + BEGIN + WordWrapSquare.GetWrapSquare(DotNetWrapSquare); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetWrapSquare); + END; + + [External] + PROCEDURE AppendWrapTopBottom@21(VAR WordWrapTopBottom@1000 : Codeunit 50048); + VAR + DotNetWrapTopBottom@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapTopBottom"; + BEGIN + WordWrapTopBottom.GetWrapTopBottom(DotNetWrapTopBottom); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetWrapTopBottom); + END; + + [External] + PROCEDURE AppendDocProperties@22(VAR WordDocProperties@1000 : Codeunit 50049); + VAR + DotNetDocProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.DocProperties"; + BEGIN + WordDocProperties.GetDocProperties(DotNetDocProperties); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetDocProperties); + END; + + [External] + PROCEDURE AppendGraphicFrameLocks@23(VAR WordGraphicFrameLocks@1000 : Codeunit 50050); + VAR + DotNetGraphicFrameLocks@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.GraphicFrameLocks"; + DotNetNonVisualGraphicFrameDrawingProperties@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.NonVisualGraphicFrameDrawingProperties"; + BEGIN + WordGraphicFrameLocks.GetGraphicFrameLocks(DotNetGraphicFrameLocks); + DotNetNonVisualGraphicFrameDrawingProperties := DotNetNonVisualGraphicFrameDrawingProperties.NonVisualGraphicFrameDrawingProperties; + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetNonVisualGraphicFrameDrawingProperties, DotNetGraphicFrameLocks); + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetNonVisualGraphicFrameDrawingProperties); + END; + + [External] + PROCEDURE AppendPicture@24(VAR WordPicture@1000 : Codeunit 50051); + VAR + DotNetPicture@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.Picture"; + DotNetGraphicData@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.GraphicData"; + DotNetGraphic@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Graphic"; + DotNetStringValue@1004 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + WordPicture.GetPicture(DotNetPicture); + DotNetGraphic := DotNetGraphic.Graphic; + DotNetGraphicData := DotNetGraphicData.GraphicData; + DotNetGraphicData.Uri := DotNetStringValue.FromString('http://schemas.openxmlformats.org/drawingml/2006/picture'); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetGraphicData, DotNetPicture); + OpenXmlDotNetHelper.AppendGeneric(DotNetGraphic, DotNetGraphicData); + OpenXmlDotNetHelper.AppendGeneric(DotNetAnchor, DotNetGraphic); + END; + + PROCEDURE SetAnchor@25(VAR NewDotNetAnchor@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.Anchor"); + BEGIN + DotNetAnchor := NewDotNetAnchor; + END; + + PROCEDURE GetAnchor@26(VAR CurrentDotNetAnchor@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.Anchor"); + BEGIN + CurrentDotNetAnchor := DotNetAnchor; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50045.TXT b/BaseApp/COD50045.TXT new file mode 100644 index 0000000..a038b4b --- /dev/null +++ b/BaseApp/COD50045.TXT @@ -0,0 +1,93 @@ +OBJECT Codeunit 50045 DotNet_Word.VerticalPosition +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetVerticalPosition@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.VerticalPosition"; + + [External] + PROCEDURE VerticalPosition@1(); + BEGIN + DotNetVerticalPosition := DotNetVerticalPosition.VerticalPosition; + END; + + [External] + PROCEDURE VerticalPositionFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetVerticalPosition := DotNetVerticalPosition.VerticalPosition(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetVerticalPosition.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetVerticalPosition.InnerText); + END; + + [External] + PROCEDURE SetPositionOffset@5(NewPositionOffset@1000 : Text); + VAR + DotNetPositionOffset@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.PositionOffset"; + BEGIN + DotNetVerticalPosition.PositionOffset := DotNetPositionOffset.PositionOffset(NewPositionOffset); + END; + + [External] + PROCEDURE SetRelativeFrom@6(NewRelativeFrom@1000 : 'Margin,Page,Paragraph,Line,TopMargin,BottomMargin,InsideMargin,OutsideMargin'); + VAR + DotNetVerticalRelativePositionValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.VerticalRelativePositionValues"; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetVerticalRelativePositionValues), NewRelativeFrom, DotNetEnumValue); + DotNetVerticalPosition.RelativeFrom := DotNetEnumValue; + END; + + [External] + PROCEDURE SetVerticalAlignment@7(NewVerticalAlignment@1000 : Text); + VAR + DotNetVerticalAlignment@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.VerticalAlignment"; + BEGIN + DotNetVerticalPosition.VerticalAlignment := DotNetVerticalAlignment.VerticalAlignment(NewVerticalAlignment); + END; + + [External] + PROCEDURE SetPercentagePositionVerticalOffset@8(NewPercentagePositionVerticalOffset@1000 : Text); + VAR + DotNetPercentagePositionVerticalOffset@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Office2010.Word.Drawing.PercentagePositionVerticalOffset"; + BEGIN + DotNetVerticalPosition.PercentagePositionVerticalOffset := DotNetPercentagePositionVerticalOffset.PercentagePositionVerticalOffset(NewPercentagePositionVerticalOffset); + END; + + PROCEDURE SetVerticalPosition@9(VAR NewDotNetVerticalPosition@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.VerticalPosition"); + BEGIN + DotNetVerticalPosition := NewDotNetVerticalPosition; + END; + + PROCEDURE GetVerticalPosition@10(VAR CurrentDotNetVerticalPosition@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.VerticalPosition"); + BEGIN + CurrentDotNetVerticalPosition := DotNetVerticalPosition; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50046.TXT b/BaseApp/COD50046.TXT new file mode 100644 index 0000000..3f6e384 --- /dev/null +++ b/BaseApp/COD50046.TXT @@ -0,0 +1,93 @@ +OBJECT Codeunit 50046 DotNet_Word.HorizontalPosition +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetHorizontalPosition@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalPosition"; + + [External] + PROCEDURE HorizontalPosition@1(); + BEGIN + DotNetHorizontalPosition := DotNetHorizontalPosition.HorizontalPosition; + END; + + [External] + PROCEDURE HorizontalPositionFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetHorizontalPosition := DotNetHorizontalPosition.HorizontalPosition(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetHorizontalPosition.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetHorizontalPosition.InnerText); + END; + + [External] + PROCEDURE SetPositionOffset@5(NewPositionOffset@1000 : Text); + VAR + DotNetPositionOffset@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.PositionOffset"; + BEGIN + DotNetHorizontalPosition.PositionOffset := DotNetPositionOffset.PositionOffset(NewPositionOffset); + END; + + [External] + PROCEDURE SetRelativeFrom@6(NewRelativeFrom@1000 : 'Margin,Page,Column,Character,LeftMargin,RightMargin,InsideMargin,OutsideMargin'); + VAR + DotNetHorizontalRelativePositionValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalRelativePositionValues"; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetHorizontalRelativePositionValues), NewRelativeFrom, DotNetEnumValue); + DotNetHorizontalPosition.RelativeFrom := DotNetEnumValue; + END; + + [External] + PROCEDURE SetHorizontalAlignment@7(NewHorizontalAlignment@1000 : Text); + VAR + DotNetHorizontalAlignment@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalAlignment"; + BEGIN + DotNetHorizontalPosition.HorizontalAlignment := DotNetHorizontalAlignment.HorizontalAlignment(NewHorizontalAlignment); + END; + + [External] + PROCEDURE SetPercentagePositionHeightOffset@8(NewPercentagePositionHeightOffset@1000 : Text); + VAR + DotNetPercentagePositionHeigthOffset@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Office2010.Word.Drawing.PercentagePositionHeightOffset"; + BEGIN + DotNetHorizontalPosition.PercentagePositionHeightOffset := DotNetPercentagePositionHeigthOffset.PercentagePositionHeightOffset(NewPercentagePositionHeightOffset); + END; + + PROCEDURE SetHorizontalPosition@9(VAR NewDotNetHorizontalPosition@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalPosition"); + BEGIN + DotNetHorizontalPosition := NewDotNetHorizontalPosition; + END; + + PROCEDURE GetHorizontalPosition@10(VAR CurrentDotNetHorizontalPosition@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalPosition"); + BEGIN + CurrentDotNetHorizontalPosition := DotNetHorizontalPosition; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50047.TXT b/BaseApp/COD50047.TXT new file mode 100644 index 0000000..a252a8c --- /dev/null +++ b/BaseApp/COD50047.TXT @@ -0,0 +1,117 @@ +OBJECT Codeunit 50047 DotNet_Word.WrapSquare +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetWrapSquare@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapSquare"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE WrapSquare@1(); + BEGIN + DotNetWrapSquare := DotNetWrapSquare.WrapSquare; + END; + + [External] + PROCEDURE WrapSquareFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetWrapSquare := DotNetWrapSquare.WrapSquare(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetWrapSquare.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetWrapSquare.InnerText); + END; + + [External] + PROCEDURE SetDistanceFromRight@5(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetWrapSquare.DistanceFromRight := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetDistanceFromLeft@6(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetWrapSquare.DistanceFromLeft := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetDistanceFromTop@7(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetWrapSquare.DistanceFromTop := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetDistanceFromBottom@8(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetWrapSquare.DistanceFromBottom := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetWrapText@9(NewWrapText@1000 : 'BothSides,Left,Right,Largest'); + VAR + DotNetWrapTextValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapTextValues"; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetWrapTextValues), NewWrapText, DotNetEnumValue); + DotNetWrapSquare.WrapText := DotNetEnumValue; + END; + + [External] + PROCEDURE AppendEffectExtent@10(LeftEdge@1000 : Integer;TopEdge@1001 : Integer;RightEdge@1002 : Integer;BottomEdge@1003 : Integer); + VAR + DotNetInt64Value@1004 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int64Value"; + DotNetEffectExtent@1005 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.EffectExtent"; + BEGIN + DotNetEffectExtent := DotNetEffectExtent.EffectExtent; + DotNetEffectExtent.LeftEdge := DotNetInt64Value.FromInt64(LeftEdge); + DotNetEffectExtent.TopEdge := DotNetInt64Value.FromInt64(TopEdge); + DotNetEffectExtent.RightEdge := DotNetInt64Value.FromInt64(RightEdge); + DotNetEffectExtent.BottomEdge := DotNetInt64Value.FromInt64(BottomEdge); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetWrapSquare, DotNetEffectExtent); + END; + + PROCEDURE SetWrapSquare@11(VAR NewDotNetWrapSquare@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapSquare"); + BEGIN + DotNetWrapSquare := NewDotNetWrapSquare; + END; + + PROCEDURE GetWrapSquare@12(VAR CurrentDotNetWrapSquare@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapSquare"); + BEGIN + CurrentDotNetWrapSquare := DotNetWrapSquare; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50048.TXT b/BaseApp/COD50048.TXT new file mode 100644 index 0000000..e52d58f --- /dev/null +++ b/BaseApp/COD50048.TXT @@ -0,0 +1,90 @@ +OBJECT Codeunit 50048 DotNet_Word.WrapTopBottom +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetWrapTopBottom@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapTopBottom"; + + [External] + PROCEDURE WrapTopBottom@1(); + BEGIN + DotNetWrapTopBottom := DotNetWrapTopBottom.WrapTopBottom; + END; + + [External] + PROCEDURE WrapTopBottomFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetWrapTopBottom := DotNetWrapTopBottom.WrapTopBottom; + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetWrapTopBottom.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetWrapTopBottom.InnerText); + END; + + [External] + PROCEDURE SetDistanceFromTop@5(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetWrapTopBottom.DistanceFromTop := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE SetDistanceFromBottom@6(NewDistance@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetWrapTopBottom.DistanceFromBottom := DotNetUInt32Value.FromUInt32(NewDistance); + END; + + [External] + PROCEDURE AppendEffectExtent@7(LeftEdge@1000 : Integer;TopEdge@1001 : Integer;RightEdge@1002 : Integer;BottomEdge@1003 : Integer); + VAR + DotNetInt64Value@1004 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int64Value"; + DotNetEffectExtent@1005 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.EffectExtent"; + OpenXmlDotNetHelper@1006 : Codeunit 50067; + BEGIN + DotNetEffectExtent := DotNetEffectExtent.EffectExtent; + DotNetEffectExtent.LeftEdge := DotNetInt64Value.FromInt64(LeftEdge); + DotNetEffectExtent.TopEdge := DotNetInt64Value.FromInt64(TopEdge); + DotNetEffectExtent.RightEdge := DotNetInt64Value.FromInt64(RightEdge); + DotNetEffectExtent.BottomEdge := DotNetInt64Value.FromInt64(BottomEdge); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetWrapTopBottom, DotNetEffectExtent); + END; + + PROCEDURE SetWrapTopBottom@8(VAR NewDotNetWrapTopBottom@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapTopBottom"); + BEGIN + DotNetWrapTopBottom := NewDotNetWrapTopBottom; + END; + + PROCEDURE GetWrapTopBottom@9(VAR CurrentDotNetWrapTopBottom@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.WrapTopBottom"); + BEGIN + CurrentDotNetWrapTopBottom := DotNetWrapTopBottom; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50049.TXT b/BaseApp/COD50049.TXT new file mode 100644 index 0000000..7c3f32d --- /dev/null +++ b/BaseApp/COD50049.TXT @@ -0,0 +1,90 @@ +OBJECT Codeunit 50049 DotNet_Word.DocProperties +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetDocProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.DocProperties"; + + [External] + PROCEDURE DocProperties@1(); + BEGIN + DotNetDocProperties := DotNetDocProperties.DocProperties; + END; + + [External] + PROCEDURE DocPropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetDocProperties := DotNetDocProperties.DocProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetDocProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetDocProperties.InnerText); + END; + + [External] + PROCEDURE SetId@5(NewId@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetDocProperties.Id := DotNetUInt32Value.FromUInt32(NewId); + END; + + [External] + PROCEDURE SetName@6(NewName@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetDocProperties.Name := DotNetStringValue.FromString(NewName); + END; + + [External] + PROCEDURE SetDescription@7(NewDescription@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetDocProperties.Description := DotNetStringValue.FromString(NewDescription); + END; + + [External] + PROCEDURE SetTitle@8(NewTitle@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetDocProperties.Title := DotNetStringValue.FromString(NewTitle); + END; + + PROCEDURE SetDocProperties@9(VAR NewDotNetDocProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.DocProperties"); + BEGIN + DotNetDocProperties := NewDotNetDocProperties; + END; + + PROCEDURE GetDocProperties@10(VAR CurrentDotNetDocProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Wordprocessing.DocProperties"); + BEGIN + CurrentDotNetDocProperties := DotNetDocProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50050.TXT b/BaseApp/COD50050.TXT new file mode 100644 index 0000000..4d2b2ae --- /dev/null +++ b/BaseApp/COD50050.TXT @@ -0,0 +1,106 @@ +OBJECT Codeunit 50050 DotNet_Word.GraphicFrameLocks +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetGraphicFrameLocks@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.GraphicFrameLocks"; + + [External] + PROCEDURE GraphicFrameLocks@1(); + BEGIN + DotNetGraphicFrameLocks := DotNetGraphicFrameLocks.GraphicFrameLocks; + END; + + [External] + PROCEDURE GraphicFrameLocksFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetGraphicFrameLocks := DotNetGraphicFrameLocks.GraphicFrameLocks(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetGraphicFrameLocks.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetGraphicFrameLocks.InnerText); + END; + + [External] + PROCEDURE SetNoGrouping@5(NewNoGrouping@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetGraphicFrameLocks.NoGrouping := DotNetBooleanValue.FromBoolean(NewNoGrouping); + END; + + [External] + PROCEDURE SetNoDrilldown@6(NewNoDrillDown@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetGraphicFrameLocks.NoDrilldown := DotNetBooleanValue.FromBoolean(NewNoDrillDown); + END; + + [External] + PROCEDURE SetNoSelection@7(NewNoSelection@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetGraphicFrameLocks.NoSelection := DotNetBooleanValue.FromBoolean(NewNoSelection); + END; + + [External] + PROCEDURE SetNoChangeAspect@8(NewNoChangeAspect@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetGraphicFrameLocks.NoChangeAspect := DotNetBooleanValue.FromBoolean(NewNoChangeAspect); + END; + + [External] + PROCEDURE SetNoMove@9(NewNoMove@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetGraphicFrameLocks.NoMove := DotNetBooleanValue.FromBoolean(NewNoMove); + END; + + [External] + PROCEDURE SetNoResize@10(NewNoResize@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetGraphicFrameLocks.NoResize := DotNetBooleanValue.FromBoolean(NewNoResize); + END; + + PROCEDURE SetGraphicFrameLocks@11(VAR NewDotNetGraphicFrameLocks@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.GraphicFrameLocks"); + BEGIN + DotNetGraphicFrameLocks := NewDotNetGraphicFrameLocks; + END; + + PROCEDURE GetGraphicFrameLocks@12(VAR CurrentDotNetGraphicFrameLocks@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.GraphicFrameLocks"); + BEGIN + CurrentDotNetGraphicFrameLocks := DotNetGraphicFrameLocks; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50051.TXT b/BaseApp/COD50051.TXT new file mode 100644 index 0000000..be90edd --- /dev/null +++ b/BaseApp/COD50051.TXT @@ -0,0 +1,85 @@ +OBJECT Codeunit 50051 DotNet_Word.Picture +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetPicture@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.Picture"; + + [External] + PROCEDURE Picture@1(); + BEGIN + DotNetPicture := DotNetPicture.Picture; + END; + + [External] + PROCEDURE PictureFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetPicture := DotNetPicture.Picture(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetPicture.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetPicture.InnerText); + END; + + [External] + PROCEDURE SetNonVisualPictureProperties@5(VAR WordNonVisualPictureProperties@1000 : Codeunit 50052); + VAR + DotNetNonVisualPictureProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureProperties"; + BEGIN + WordNonVisualPictureProperties.GetNonVisualPictureProperties(DotNetNonVisualPictureProperties); + DotNetPicture.NonVisualPictureProperties := DotNetNonVisualPictureProperties; + END; + + [External] + PROCEDURE SetShapeProperties@6(VAR WordShapeProperties@1000 : Codeunit 50053); + VAR + DotNetShapeProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.ShapeProperties"; + BEGIN + WordShapeProperties.GetShapeProperties(DotNetShapeProperties); + DotNetPicture.ShapeProperties := DotNetShapeProperties; + END; + + [External] + PROCEDURE SetBlipFill@7(VAR WordBlipFill@1000 : Codeunit 50054); + VAR + DotNetBlipFill@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.BlipFill"; + BEGIN + WordBlipFill.GetBlipFill(DotNetBlipFill); + DotNetPicture.BlipFill := DotNetBlipFill; + END; + + PROCEDURE SetPicture@8(VAR NewDotNetPicture@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.Picture"); + BEGIN + DotNetPicture := NewDotNetPicture; + END; + + PROCEDURE GetPicture@9(VAR CurrentDotNetPicture@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.Picture"); + BEGIN + CurrentDotNetPicture := DotNetPicture; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50052.TXT b/BaseApp/COD50052.TXT new file mode 100644 index 0000000..99a92fd --- /dev/null +++ b/BaseApp/COD50052.TXT @@ -0,0 +1,76 @@ +OBJECT Codeunit 50052 DotNet_Word.NonVisualPicturePr +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetNonVisualPictureProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureProperties"; + + [External] + PROCEDURE NonVisualPictureProperties@1(); + BEGIN + DotNetNonVisualPictureProperties := DotNetNonVisualPictureProperties.NonVisualPictureProperties; + END; + + [External] + PROCEDURE NonVisualPicturePropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetNonVisualPictureProperties := DotNetNonVisualPictureProperties.NonVisualPictureProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetNonVisualPictureProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetNonVisualPictureProperties.InnerText); + END; + + [External] + PROCEDURE SetNonVisualDrawingProperties@5(VAR WordNonVisualDrawingProperties@1000 : Codeunit 50055); + VAR + DotNetNonVisualDrawingProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties"; + BEGIN + WordNonVisualDrawingProperties.GetNonVisualDrawingProperties(DotNetNonVisualDrawingProperties); + DotNetNonVisualPictureProperties.NonVisualDrawingProperties := DotNetNonVisualDrawingProperties; + END; + + [External] + PROCEDURE SetNonVisualPictureDrawingProperties@6(VAR WordNonVisualPictureDrawingProperties@1000 : Codeunit 50056); + VAR + DotNetNonVisualPictureDrawingProperties@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureDrawingProperties"; + BEGIN + WordNonVisualPictureDrawingProperties.GetNonVisualPictureDrawingProperties(DotNetNonVisualPictureDrawingProperties); + DotNetNonVisualPictureProperties.NonVisualPictureDrawingProperties := DotNetNonVisualPictureDrawingProperties; + END; + + PROCEDURE SetNonVisualPictureProperties@7(VAR NewDotNetNonVisualPictureProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureProperties"); + BEGIN + DotNetNonVisualPictureProperties := NewDotNetNonVisualPictureProperties; + END; + + PROCEDURE GetNonVisualPictureProperties@8(VAR CurrentDotNetNonVisualPictureProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureProperties"); + BEGIN + CurrentDotNetNonVisualPictureProperties := DotNetNonVisualPictureProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50053.TXT b/BaseApp/COD50053.TXT new file mode 100644 index 0000000..2b871cd --- /dev/null +++ b/BaseApp/COD50053.TXT @@ -0,0 +1,78 @@ +OBJECT Codeunit 50053 DotNet_Word.ShapeProperties +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetShapeProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.ShapeProperties"; + + [External] + PROCEDURE ShapeProperties@1(); + BEGIN + DotNetShapeProperties := DotNetShapeProperties.ShapeProperties; + END; + + [External] + PROCEDURE ShapePropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetShapeProperties := DotNetShapeProperties.ShapeProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetShapeProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetShapeProperties.InnerText); + END; + + [External] + PROCEDURE SetTransform2D@5(VAR WordTransform2D@1000 : Codeunit 50060); + VAR + DotNetTransform2D@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Transform2D"; + BEGIN + WordTransform2D.GetTransform2D(DotNetTransform2D); + DotNetShapeProperties.Transform2D := DotNetTransform2D; + END; + + [External] + PROCEDURE AppendPresetGeometry@6(VAR WordPresetGeometry@1000 : Codeunit 50061); + VAR + DotNetPresetGeometry@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.PresetGeometry"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordPresetGeometry.GetPresetGeometry(DotNetPresetGeometry); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetShapeProperties, DotNetPresetGeometry); + END; + + PROCEDURE SetShapeProperties@7(VAR NewDotNetShapeProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.ShapeProperties"); + BEGIN + DotNetShapeProperties := NewDotNetShapeProperties; + END; + + PROCEDURE GetShapeProperties@8(VAR CurrentDotNetShapeProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.ShapeProperties"); + BEGIN + CurrentDotNetShapeProperties := DotNetShapeProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50054.TXT b/BaseApp/COD50054.TXT new file mode 100644 index 0000000..ce90696 --- /dev/null +++ b/BaseApp/COD50054.TXT @@ -0,0 +1,78 @@ +OBJECT Codeunit 50054 DotNet_Word.BlipFill +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetBlipFill@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.BlipFill"; + + [External] + PROCEDURE BlipFill@1(); + BEGIN + DotNetBlipFill := DotNetBlipFill.BlipFill; + END; + + [External] + PROCEDURE BlipFillFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetBlipFill := DotNetBlipFill.BlipFill(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetBlipFill.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetBlipFill.InnerText); + END; + + [External] + PROCEDURE SetBlip@5(VAR WordBlip@1000 : Codeunit 50057); + VAR + DotNetBlip@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Blip"; + BEGIN + WordBlip.GetBlip(DotNetBlip); + DotNetBlipFill.Blip := DotNetBlip; + END; + + [External] + PROCEDURE AppendStretch@6(VAR WordStretch@1000 : Codeunit 50058); + VAR + DotNetStretch@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Stretch"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordStretch.GetStretch(DotNetStretch); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetBlipFill, DotNetStretch); + END; + + PROCEDURE SetBlipFill@7(VAR NewDotNetBlipFill@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.BlipFill"); + BEGIN + DotNetBlipFill := NewDotNetBlipFill; + END; + + PROCEDURE GetBlipFill@8(VAR CurrentDotNetBlipFill@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.BlipFill"); + BEGIN + CurrentDotNetBlipFill := DotNetBlipFill; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50055.TXT b/BaseApp/COD50055.TXT new file mode 100644 index 0000000..c853f13 --- /dev/null +++ b/BaseApp/COD50055.TXT @@ -0,0 +1,90 @@ +OBJECT Codeunit 50055 DotNet_Word.NonVisualDrawingPr +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetNonVisualDrawingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties"; + + [External] + PROCEDURE NonVisualDrawingProperties@1(); + BEGIN + DotNetNonVisualDrawingProperties := DotNetNonVisualDrawingProperties.NonVisualDrawingProperties; + END; + + [External] + PROCEDURE NonVisualDrawingPropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetNonVisualDrawingProperties := DotNetNonVisualDrawingProperties.NonVisualDrawingProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetNonVisualDrawingProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetNonVisualDrawingProperties.InnerText); + END; + + [External] + PROCEDURE SetName@5(NewName@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetNonVisualDrawingProperties.Name := DotNetStringValue.FromString(NewName); + END; + + [External] + PROCEDURE SetDescription@6(NewDescription@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetNonVisualDrawingProperties.Description := DotNetStringValue.FromString(NewDescription); + END; + + [External] + PROCEDURE SetTitle@7(NewTitle@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetNonVisualDrawingProperties.Title := DotNetStringValue.FromString(NewTitle); + END; + + [External] + PROCEDURE SetId@8(NewId@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetNonVisualDrawingProperties.Id := DotNetUInt32Value.FromUInt32(NewId); + END; + + PROCEDURE SetNonVisualDrawingProperties@9(VAR NewDotNetNonVisualDrawingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties"); + BEGIN + DotNetNonVisualDrawingProperties := NewDotNetNonVisualDrawingProperties; + END; + + PROCEDURE GetNonVisualDrawingProperties@10(VAR CurrentDotNetNonVisualDrawingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties"); + BEGIN + CurrentDotNetNonVisualDrawingProperties := DotNetNonVisualDrawingProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50056.TXT b/BaseApp/COD50056.TXT new file mode 100644 index 0000000..1d63520 --- /dev/null +++ b/BaseApp/COD50056.TXT @@ -0,0 +1,66 @@ +OBJECT Codeunit 50056 DotNet_Word.NonVisualPictureDr +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetNonVisualPictureDrawingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureDrawingProperties"; + + [External] + PROCEDURE NonVisualPictureDrawingProperties@1(); + BEGIN + DotNetNonVisualPictureDrawingProperties := DotNetNonVisualPictureDrawingProperties.NonVisualPictureDrawingProperties; + END; + + [External] + PROCEDURE NonVisualPictureDrawingPropertiesFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetNonVisualPictureDrawingProperties := DotNetNonVisualPictureDrawingProperties.NonVisualPictureDrawingProperties(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetNonVisualPictureDrawingProperties.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetNonVisualPictureDrawingProperties.InnerText); + END; + + [External] + PROCEDURE SetPreferRelativeResize@5(NewPreferRelativeResize@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetNonVisualPictureDrawingProperties.PreferRelativeResize := DotNetBooleanValue.FromBoolean(NewPreferRelativeResize); + END; + + PROCEDURE SetNonVisualPictureDrawingProperties@6(VAR NewDotNetNonVisualPictureDrawingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureDrawingProperties"); + BEGIN + DotNetNonVisualPictureDrawingProperties := NewDotNetNonVisualPictureDrawingProperties; + END; + + PROCEDURE GetNonVisualPictureDrawingProperties@7(VAR CurrentDotNetNonVisualPictureDrawingProperties@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureDrawingProperties"); + BEGIN + CurrentDotNetNonVisualPictureDrawingProperties := DotNetNonVisualPictureDrawingProperties; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50057.TXT b/BaseApp/COD50057.TXT new file mode 100644 index 0000000..90e846f --- /dev/null +++ b/BaseApp/COD50057.TXT @@ -0,0 +1,89 @@ +OBJECT Codeunit 50057 DotNet_Word.Blip +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetBlip@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Blip"; + + [External] + PROCEDURE Blip@1(); + BEGIN + DotNetBlip := DotNetBlip.Blip; + END; + + [External] + PROCEDURE BlipFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetBlip := DotNetBlip.Blip(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetBlip.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetBlip.InnerText); + END; + + [External] + PROCEDURE SetEmbed@5(NewEmbed@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetBlip.Embed := DotNetStringValue.FromString(NewEmbed); + END; + + [External] + PROCEDURE SetCompressionState@6(NewCompressionState@1000 : 'Email,Screen,Print,HighQualityPrint,None'); + VAR + DotNetBlipCompressionValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.BlipCompressionValues"; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetBlipCompressionValues), NewCompressionState, DotNetEnumValue); + DotNetBlip.CompressionState := DotNetEnumValue; + END; + + [External] + PROCEDURE AppendBlipExtensionList@7(VAR WordBlipExtensionList@1000 : Codeunit 50059); + VAR + DotNetBlipExtensionList@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.BlipExtensionList"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordBlipExtensionList.GetBlipExtensionList(DotNetBlipExtensionList); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetBlip, DotNetBlipExtensionList); + END; + + PROCEDURE SetBlip@8(VAR NewDotNetBlip@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Blip"); + BEGIN + DotNetBlip := NewDotNetBlip; + END; + + PROCEDURE GetBlip@9(VAR CurrentDotNetBlip@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Blip"); + BEGIN + CurrentDotNetBlip := DotNetBlip; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50058.TXT b/BaseApp/COD50058.TXT new file mode 100644 index 0000000..84e069a --- /dev/null +++ b/BaseApp/COD50058.TXT @@ -0,0 +1,68 @@ +OBJECT Codeunit 50058 DotNet_Word.Stretch +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetStretch@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Stretch"; + + [External] + PROCEDURE Stretch@1(); + BEGIN + DotNetStretch := DotNetStretch.Stretch; + END; + + [External] + PROCEDURE StretchFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetStretch := DotNetStretch.Stretch(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetStretch.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetStretch.InnerText); + END; + + [External] + PROCEDURE AppendFillRectangle@5(); + VAR + DotNetFillRectangle@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.FillRectangle"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetStretch, DotNetFillRectangle.FillRectangle); + END; + + PROCEDURE SetStretch@6(VAR NewDotNetStretch@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Stretch"); + BEGIN + DotNetStretch := NewDotNetStretch; + END; + + PROCEDURE GetStretch@7(VAR CurrentDotNetStretch@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Stretch"); + BEGIN + CurrentDotNetStretch := DotNetStretch; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50059.TXT b/BaseApp/COD50059.TXT new file mode 100644 index 0000000..bd31a88 --- /dev/null +++ b/BaseApp/COD50059.TXT @@ -0,0 +1,71 @@ +OBJECT Codeunit 50059 DotNet_Word.BlipExtensionList +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetBlipExtensionList@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.BlipExtensionList"; + + [External] + PROCEDURE BlipExtensionList@1(); + BEGIN + DotNetBlipExtensionList := DotNetBlipExtensionList.BlipExtensionList; + END; + + [External] + PROCEDURE BlipExtensionListFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetBlipExtensionList := DotNetBlipExtensionList.BlipExtensionList(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetBlipExtensionList.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetBlipExtensionList.InnerText); + END; + + [External] + PROCEDURE AppendBlipExtension@5(Uri@1000 : Text); + VAR + DotNetStringValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + DotNetBlipExtension@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.BlipExtension"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + DotNetBlipExtension := DotNetBlipExtension.BlipExtension; + DotNetBlipExtension.Uri := DotNetStringValue.FromString(Uri); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetBlipExtensionList, DotNetBlipExtension); + END; + + PROCEDURE SetBlipExtensionList@6(VAR NewDotNetBlipExtensionList@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.BlipExtensionList"); + BEGIN + DotNetBlipExtensionList := NewDotNetBlipExtensionList; + END; + + PROCEDURE GetBlipExtensionList@7(VAR CurrentDotNetBlipExtensionList@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.BlipExtensionList"); + BEGIN + CurrentDotNetBlipExtensionList := DotNetBlipExtensionList; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50060.TXT b/BaseApp/COD50060.TXT new file mode 100644 index 0000000..212046f --- /dev/null +++ b/BaseApp/COD50060.TXT @@ -0,0 +1,109 @@ +OBJECT Codeunit 50060 DotNet_Word.Transform2D +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetTransform2D@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Transform2D"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE Transform2D@1(); + BEGIN + DotNetTransform2D := DotNetTransform2D.Transform2D; + END; + + [External] + PROCEDURE Transform2DFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetTransform2D := DotNetTransform2D.Transform2D; + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetTransform2D.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetTransform2D.InnerText); + END; + + [External] + PROCEDURE SetHorizontalFlip@5(NewHorizontalFlip@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetTransform2D.HorizontalFlip := DotNetBooleanValue.FromBoolean(NewHorizontalFlip); + END; + + [External] + PROCEDURE SetVerticallFlip@6(NewVerticalFlip@1000 : Boolean); + VAR + DotNetBooleanValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.BooleanValue"; + BEGIN + DotNetTransform2D.VerticalFlip := DotNetBooleanValue.FromBoolean(NewVerticalFlip); + END; + + [External] + PROCEDURE SetRotation@7(NewRotation@1000 : Integer); + VAR + DotNetUInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.UInt32Value"; + BEGIN + DotNetTransform2D.Rotation := DotNetUInt32Value.FromUInt32(NewRotation); + END; + + [External] + PROCEDURE AppendExtent@8(Cx@1000 : Integer;Cy@1001 : Integer); + VAR + DotNetInt64Value@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int64Value"; + DotNetExtent@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Extents"; + BEGIN + DotNetExtent := DotNetExtent.Extents; + DotNetExtent.Cx := DotNetInt64Value.FromInt64(Cx); + DotNetExtent.Cy := DotNetInt64Value.FromInt64(Cy); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetTransform2D, DotNetExtent); + END; + + [External] + PROCEDURE AppendOffset@9(X@1000 : Integer;Y@1001 : Integer); + VAR + DotNetInt64Value@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int64Value"; + DotNetOffset@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Offset"; + BEGIN + DotNetOffset := DotNetOffset.Offset; + DotNetOffset.X := DotNetInt64Value.FromInt64(X); + DotNetOffset.Y := DotNetInt64Value.FromInt64(Y); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetTransform2D, DotNetOffset); + END; + + PROCEDURE SetTransform2D@101(VAR NewDotNetTransform2D@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Transform2D"); + BEGIN + DotNetTransform2D := NewDotNetTransform2D; + END; + + PROCEDURE GetTransform2D@11(VAR CurrentDotNetTransform2D@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.Transform2D"); + BEGIN + CurrentDotNetTransform2D := DotNetTransform2D; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50061.TXT b/BaseApp/COD50061.TXT new file mode 100644 index 0000000..a4fcaac --- /dev/null +++ b/BaseApp/COD50061.TXT @@ -0,0 +1,80 @@ +OBJECT Codeunit 50061 DotNet_Word.PresetGeometry +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetPresetGeometry@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.PresetGeometry"; + OpenXmlDotNetHelper@1001 : Codeunit 50067; + + [External] + PROCEDURE PresetGeometry@1(); + BEGIN + DotNetPresetGeometry := DotNetPresetGeometry.PresetGeometry; + END; + + [External] + PROCEDURE PresetGeometryFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetPresetGeometry := DotNetPresetGeometry.PresetGeometry(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetPresetGeometry.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetPresetGeometry.InnerText); + END; + + [External] + PROCEDURE SetPreset@5(NewPresetType@1000 : Integer); + VAR + DotNetShapeTypeValues@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.ShapeTypeValues"; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetShapeTypeValues), NewPresetType, DotNetEnumValue); + DotNetPresetGeometry.Preset := DotNetEnumValue; + END; + + [External] + PROCEDURE AppendAdjustValueList@6(); + VAR + DotNetAdjustValueList@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.AdjustValueList"; + BEGIN + DotNetAdjustValueList := DotNetAdjustValueList.AdjustValueList; + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetPresetGeometry, DotNetAdjustValueList); + END; + + PROCEDURE SetPresetGeometry@7(VAR NewDotNetPresetGeometry@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.PresetGeometry"); + BEGIN + DotNetPresetGeometry := NewDotNetPresetGeometry; + END; + + PROCEDURE GetPresetGeometry@8(VAR CurrentDotNetPresetGeometry@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Drawing.PresetGeometry"); + BEGIN + CurrentDotNetPresetGeometry := DotNetPresetGeometry; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50062.TXT b/BaseApp/COD50062.TXT new file mode 100644 index 0000000..2ef4b64 --- /dev/null +++ b/BaseApp/COD50062.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50062 DotNet_Word.ParagraphEnumerato +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentParagraph@1000 : Codeunit 50022); + VAR + DotNetParagraph@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Paragraph"; + BEGIN + DotNetParagraph := DotNetEnumerator.Current; + CurrentParagraph.SetParagraph(DotNetParagraph); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50063.TXT b/BaseApp/COD50063.TXT new file mode 100644 index 0000000..5a6e4ce --- /dev/null +++ b/BaseApp/COD50063.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50063 DotNet_Word.RunEnumerator +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentRun@1000 : Codeunit 50023); + VAR + DotNetRun@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Run"; + BEGIN + DotNetRun := DotNetEnumerator.Current; + CurrentRun.SetRun(DotNetRun); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50064.TXT b/BaseApp/COD50064.TXT new file mode 100644 index 0000000..0c8e49b --- /dev/null +++ b/BaseApp/COD50064.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50064 DotNet_Word.TableEnumerator +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentTable@1000 : Codeunit 50027); + VAR + DotNetTable@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Table"; + BEGIN + DotNetTable := DotNetEnumerator.Current; + CurrentTable.SetTable(DotNetTable); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50065.TXT b/BaseApp/COD50065.TXT new file mode 100644 index 0000000..2260dff --- /dev/null +++ b/BaseApp/COD50065.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50065 DotNet_Word.TableRowEnumerator +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentTableRow@1000 : Codeunit 50028); + VAR + DotNetTableRow@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableRow"; + BEGIN + DotNetTableRow := DotNetEnumerator.Current; + CurrentTableRow.SetTableRow(DotNetTableRow); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50066.TXT b/BaseApp/COD50066.TXT new file mode 100644 index 0000000..9cec67e --- /dev/null +++ b/BaseApp/COD50066.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50066 DotNet_Word.TableCellEnumerato +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentTableCell@1000 : Codeunit 50029); + VAR + DotNetTableCell@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.TableCell"; + BEGIN + DotNetTableCell := DotNetEnumerator.Current; + CurrentTableCell.SetTableCell(DotNetTableCell); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50067.TXT b/BaseApp/COD50067.TXT new file mode 100644 index 0000000..b052682 --- /dev/null +++ b/BaseApp/COD50067.TXT @@ -0,0 +1,111 @@ +OBJECT Codeunit 50067 OpenXml DotNet Helper +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + + PROCEDURE CreateEnumValueGeneric@1(DotNetEnumType@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Type";IntegerValue@1001 : Integer;VAR CreatedDotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"); + VAR + DotNetEnum@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Enum"; + DotNetType@1004 : DotNet "'mscorlib'.System.Type"; + DotNetObject@1005 : DotNet "'mscorlib'.System.Object"; + DotNetTypeArray@1006 : DotNet "'mscorlib'.System.Array"; + DotNetParamsArray@1007 : DotNet "'mscorlib'.System.Array"; + BEGIN + //Must never be made External. Used only internally + + //This ugly code below is in fact + //CreatedDotNetEnumValue = new OpenXmlEnum(IntegerValue) + //But since generics are not supported we get this: + DotNetType := GETDOTNETTYPE(CreatedDotNetEnumValue); + DotNetTypeArray := DotNetTypeArray.CreateInstance(GETDOTNETTYPE(DotNetType), 1); + DotNetTypeArray.SetValue(DotNetEnumType, 0); + DotNetType := DotNetType.MakeGenericType(DotNetTypeArray); + DotNetTypeArray := DotNetTypeArray.CreateInstance(GETDOTNETTYPE(DotNetType), 0); + DotNetParamsArray := DotNetParamsArray.CreateInstance(GETDOTNETTYPE(DotNetObject), 0); + CreatedDotNetEnumValue := DotNetType.GetConstructor(DotNetTypeArray).Invoke(DotNetParamsArray); + CreatedDotNetEnumValue.Value := DotNetEnum.GetValues(DotNetEnumType).GetValue(IntegerValue); + END; + + [Internal] + PROCEDURE GetEnumeratorOfTypeGeneric@2(OriginalOpenXmlElementList@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.OpenXmlElementList";FilterType@1001 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Type";VAR FilteredDotNetEnumerator@1002 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + VAR + FilteredDotNetEnumerable@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerable"; + BEGIN + //Must never be made External. Used only internally + //Helper for calling method: IEnumerator OpenXmlElement.OfType() + OfType(OriginalOpenXmlElementList, FilterType, FilteredDotNetEnumerable); + FilteredDotNetEnumerator := FilteredDotNetEnumerable.GetEnumerator; + END; + + PROCEDURE AppendGeneric@3(DotNetParent@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.OpenXmlElement";DotNetChild@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.OpenXmlElement"); + VAR + DotNetArray@1002 : DotNet "'mscorlib'.System.Array"; + BEGIN + //Must never be made External. Used only internally + //Helper for calling method: void OpenXmlElement.Append(params OpenXmlElement[] childs) + DotNetArray := DotNetArray.CreateInstance(GETDOTNETTYPE(DotNetChild), 1); + DotNetArray.SetValue(DotNetChild, 0); + DotNetParent.Append(DotNetArray); + END; + + PROCEDURE AddPartGeneric@4(VAR DotNetMainDocumentPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.MainDocumentPart";DotNetPartType@1001 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Type";VAR DotNetCreatedPart@1002 : DotNet "'mscorlib'.System.Object"); + VAR + DotNetNumberingDefinitionsPart@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.NumberingDefinitionsPart"; + DotNetType@1004 : DotNet "'mscorlib'.System.Type"; + DotNetObject@1005 : DotNet "'mscorlib'.System.Object"; + DotNetTypeArrayForGenericTypeResolution@1006 : DotNet "'mscorlib'.System.Array"; + DotNetTypeArrayForMethodLookup@1007 : DotNet "'mscorlib'.System.Array"; + DotNetParamsArray@1008 : DotNet "'mscorlib'.System.Array"; + BEGIN + //Must never be made External. Used only internally + //Normally is should have been something as simple as: + //DotNetCreatedPart := DotNetMainDocumentPart.AddNewPart(); + //But since NAV have no such thing as generics support, I need to fallback to reflection calls: + //C# view: Type[] DotNetTypeArray = new Type[] { typeof(DotNetPartType) }; + DotNetTypeArrayForGenericTypeResolution := DotNetTypeArrayForGenericTypeResolution.CreateInstance(GETDOTNETTYPE(DotNetType), 1); + DotNetTypeArrayForGenericTypeResolution.SetValue(DotNetPartType, 0); + DotNetTypeArrayForMethodLookup := DotNetTypeArrayForMethodLookup.CreateInstance(GETDOTNETTYPE(DotNetType), 0); + //C# view: Object[] DotNetParamsArray = new Object[] {}; + DotNetParamsArray := DotNetParamsArray.CreateInstance(GETDOTNETTYPE(DotNetObject), 0); + + DotNetType := GETDOTNETTYPE(DotNetMainDocumentPart); + DotNetCreatedPart := DotNetType.GetMethod('AddNewPart', DotNetTypeArrayForMethodLookup).MakeGenericMethod(DotNetTypeArrayForGenericTypeResolution).Invoke(DotNetMainDocumentPart, DotNetParamsArray); + END; + + LOCAL PROCEDURE OfType@5(OriginalOpenXmlElementList@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.OpenXmlElementList";FilterType@1001 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Type";VAR FilteredDotNetEnumerable@1002 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerable"); + VAR + EnumerableType@1003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Type"; + DotNetObject@1004 : DotNet "'mscorlib'.System.Object"; + DotNetTypeArray@1005 : DotNet "'mscorlib'.System.Array"; + DotNetParamsArray@1006 : DotNet "'mscorlib'.System.Array"; + BEGIN + //Normally is should have been something as simple as: + //FilteredDotNetEnumerable = OriginalOpenXmlElementList.OfType(); + //But since NAV have no such thing as generics support, I need to fallback to reflection calls: + //C# view: Type[] DotNetTypeArray = new Type[] { typeof(DotNetStyleDefinitionsPart) }; + DotNetTypeArray := DotNetTypeArray.CreateInstance(GETDOTNETTYPE(FilterType), 1); + DotNetTypeArray.SetValue(FilterType, 0); + //C# view: Object[] DotNetParamsArray = new Object[] {}; + DotNetParamsArray := DotNetParamsArray.CreateInstance(GETDOTNETTYPE(DotNetObject), 0); + EnumerableType := GETDOTNETTYPE(OriginalOpenXmlElementList); + //C# view: FilteredDotNetEnumerable = OriginalOpenXmlElementList.OfType() + FilteredDotNetEnumerable := EnumerableType.GetMethod('OfType').MakeGenericMethod(DotNetTypeArray).Invoke(OriginalOpenXmlElementList, DotNetParamsArray); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50068.TXT b/BaseApp/COD50068.TXT new file mode 100644 index 0000000..64a6a37 --- /dev/null +++ b/BaseApp/COD50068.TXT @@ -0,0 +1,417 @@ +OBJECT Codeunit 50068 OpenXml WordProcessing Helper +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + + [External] + PROCEDURE CloneStyleRunProperties@1(VAR OriginalWordStyleRunProperties@1000 : Codeunit 50037;VAR ClonedWordStyleRunProperties@1001 : Codeunit 50037); + BEGIN + ClonedWordStyleRunProperties.StyleRunPropertiesFromOuterXml(OriginalWordStyleRunProperties.OuterXml); + END; + + [External] + PROCEDURE CloneParagraphProperties@2(VAR OriginalWordParagraphProperties@1000 : Codeunit 50026;VAR ClonedWordParagraphProperties@1001 : Codeunit 50026); + BEGIN + ClonedWordParagraphProperties.ParagraphPropertiesFromOuterXml(OriginalWordParagraphProperties.OuterXml); + END; + + [External] + PROCEDURE CreateEmptyDocument@3(DocumentType@1000 : 'Document,Template,MacroEnabledDocument,MacroEnabledTemplate';VAR CreatedWordprocessingDocument@1001 : Codeunit 50018;VAR MainDocumentPart@1002 : Codeunit 50019;VAR WordBody@1003 : Codeunit 50021); + VAR + WordDocument@1004 : Codeunit 50020; + WordProcessingDocumentType@1005 : Codeunit 50077; + BEGIN + //Helper for creating an empty document and initiating required parts + WordProcessingDocumentType.WordprocessingDocumentType(DocumentType); + CreatedWordprocessingDocument.Create(WordProcessingDocumentType, TRUE); + CreatedWordprocessingDocument.AddMainDocumentPart(MainDocumentPart); + WordDocument.Document; + MainDocumentPart.SetDocument(WordDocument); + WordBody.Body; + WordDocument.SetBody(WordBody); + END; + + [External] + PROCEDURE CreateHyperLink@4(Url@1000 : Text;TextValue@1001 : Text;VAR MainDocumentPart@1002 : Codeunit 50019;VAR CreatedWordHyperlink@1003 : Codeunit 50035) : Text; + VAR + HyperlinkRelationship@1004 : Codeunit 50034; + HrContactId@1005 : Text; + WordProofError@1006 : Codeunit 50033; + WordRunProperties@1007 : Codeunit 50025; + WordColor@1008 : Codeunit 50036; + WordText@1009 : Codeunit 50024; + WordRun@1010 : Codeunit 50023; + DotNet_Uri@1011 : Codeunit 3024; + DotNet_OpenXmlSpaceProcessing@1012 : Codeunit 50079; + BEGIN + //Helper for creating new hyperlink element + DotNet_Uri.Init(Url); + MainDocumentPart.AddHyperlinkRelationship(DotNet_Uri, TRUE, HyperlinkRelationship); + HrContactId := HyperlinkRelationship.Id; + WordProofError.ProofError; + WordProofError.SetType(2); //Type = GrammarStart + WordRunProperties.RunProperties; + WordRunProperties.SetRunStyle('Hyperlink'); + WordColor.Color; + WordColor.SetColorTheme(10); //Theme = Hyperlink + WordRunProperties.SetColor(WordColor); + WordText.TextConstructor; + WordText.SetText(TextValue); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.Run; + WordRun.AppendProperties(WordRunProperties); + WordRun.AppendText(WordText); + CreatedWordHyperlink.Hyperlink; + CreatedWordHyperlink.SetId(HrContactId); + CreatedWordHyperlink.SetHistory(TRUE); + CreatedWordHyperlink.AppendProofError(WordProofError); + CreatedWordHyperlink.AppendRun(WordRun); + EXIT(HrContactId); + END; + + [External] + PROCEDURE AddParagraphStyleToDocument@5(VAR MainDocumentPart@1000 : Codeunit 50019;StyleId@1001 : Text;StyleName@1002 : Text;VAR WordStyleRunProperties@1003 : Codeunit 50037) ActualStyleId : Text; + VAR + WordStyleDefinitionPart@1004 : Codeunit 50041; + StyleIdFromName@1005 : Text; + WordStyles@1006 : Codeunit 50039; + BEGIN + //Helper for adding new paragraph style + //Based on: https://msdn.microsoft.com/en-us/library/cc850838.aspx + IF NOT MainDocumentPartHasStyleDefinitionsPart(MainDocumentPart) THEN + BEGIN + MainDocumentPart.AddStyleDefinitionsPart(WordStyleDefinitionPart); + WordStyles.Styles; + WordStyleDefinitionPart.SetStyles(WordStyles); + END + ELSE + MainDocumentPart.StyleDefinitionsPart(WordStyleDefinitionPart); + + IF NOT IsParagraphStyleIdInDocument(WordStyleDefinitionPart, StyleId) THEN + BEGIN + StyleIdFromName := GetParagraphStyleIdFromStyleName(WordStyleDefinitionPart, StyleName); + IF StyleIdFromName = '' THEN + AddNewParagraphStyle(WordStyleDefinitionPart, StyleId, StyleName, WordStyleRunProperties) + ELSE + StyleId := StyleIdFromName; + END; + + EXIT(StyleId); + END; + + [External] + PROCEDURE AddNumberingTypeToDocument@6(VAR MainDocumentPart@1000 : Codeunit 50019;NumberingId@1001 : Integer;FormatType@1002 : Integer;FormatText@1003 : Text); + VAR + WordNumberingDefinitionsPart@1004 : Codeunit 50070; + WordNumbering@1005 : Codeunit 50071; + BEGIN + //Helper for adding new numbering type + IF NOT MainDocumentPartHasNumberingDefinitionsPart(MainDocumentPart) THEN + BEGIN + MainDocumentPart.AddNumberingDefinitionsPart(WordNumberingDefinitionsPart); + WordNumbering.Numbering; + WordNumberingDefinitionsPart.SetNumbering(WordNumbering); + END + ELSE + MainDocumentPart.NumberingDefinitionsPart(WordNumberingDefinitionsPart); + + + IF NOT IsNumberingTypeIdInDocument(WordNumberingDefinitionsPart, NumberingId) THEN + AddNewNumberingType(WordNumberingDefinitionsPart, NumberingId, FormatType, FormatText); + END; + + [External] + PROCEDURE CreateBulletListProperties@7(VAR MainDocumentPart@1000 : Codeunit 50019;VAR WordParagraphProperties@1001 : Codeunit 50026;LeftIndentation@1002 : Text); + BEGIN + //Helper for creating bullet list paragraph properties + AddNumberingTypeToDocument(MainDocumentPart, 0, 23, 'o'); + CreateParagraphPropertiesForList(WordParagraphProperties, LeftIndentation, 0, 1); + END; + + [External] + PROCEDURE CreateOrderedListProperties@8(VAR MainDocumentPart@1000 : Codeunit 50019;VAR WordParagraphProperties@1001 : Codeunit 50026;LeftIndentation@1002 : Text); + BEGIN + //Helper for creating ordered list paragraph properties + AddNumberingTypeToDocument(MainDocumentPart, 1, 0, '%1.'); + CreateParagraphPropertiesForList(WordParagraphProperties, LeftIndentation, 0, 2); + END; + + [External] + PROCEDURE CreateDrawingFromStream@9(VAR MainDocumentPart@1000 : Codeunit 50019;ImagePartType@1001 : 'Bmp,Gif,Png,Tiff,Icon,Pcx,Jpeg,Emf,Wmf';ImageStream@1002 : InStream;Name@1003 : Text;Width@1004 : Integer;Height@1005 : Integer;VAR CreatedWordDrawing@1006 : Codeunit 50043) : Text; + VAR + WordImagePart@1007 : Codeunit 50042; + RelationshipId@1008 : Text; + DotNet_ImagePartType@1009 : Codeunit 50078; + BEGIN + //Helper for adding picture from stream to document + //Based on: https://msdn.microsoft.com/en-us/library/office/bb497430.aspx + DotNet_ImagePartType.ImagePartType(ImagePartType); + MainDocumentPart.AddImagePart(DotNet_ImagePartType, WordImagePart); + WordImagePart.FeedData(ImageStream); + RelationshipId := MainDocumentPart.GetIdOfImagePart(WordImagePart); + CreateDrawing(RelationshipId, Name + '.' + FORMAT(ImagePartType), Width, Height, '', CreatedWordDrawing); + EXIT(RelationshipId); + END; + + LOCAL PROCEDURE CreateDrawing@10(RelationshipId@1000 : Text;Name@1001 : Text;Cx@1002 : Integer;Cy@1003 : Integer;Position@1004 : Text;VAR CreatedWordDrawing@1005 : Codeunit 50043); + VAR + WordAnchor@1006 : Codeunit 50044; + ActualPosition@1007 : Text; + WordHorizontalPosition@1008 : Codeunit 50046; + WordVerticalPosition@1009 : Codeunit 50045; + WordWrapSquare@1010 : Codeunit 50047; + WordWrapTopBottom@1011 : Codeunit 50048; + WordDocProperties@1012 : Codeunit 50049; + WordGraphicFrameLocks@1013 : Codeunit 50050; + WordPicture@1014 : Codeunit 50051; + BEGIN + ActualPosition := Position; + IF ActualPosition = '' THEN + ActualPosition := 'left'; + + WordAnchor.Anchor; + WordAnchor.AppendSimplePosition(0, 0); + WordHorizontalPosition.HorizontalPosition; + WordHorizontalPosition.SetRelativeFrom(0); //Type = Margin + WordHorizontalPosition.SetHorizontalAlignment(ActualPosition); + WordAnchor.AppendHorizontalPosition(WordHorizontalPosition); + WordVerticalPosition.VerticalPosition; + WordVerticalPosition.SetPositionOffset('0'); + WordVerticalPosition.SetRelativeFrom(2); // Type = Paragraph + WordAnchor.AppendVerticalPosition(WordVerticalPosition); + WordAnchor.AppendExtent(Cx, Cy); + WordAnchor.AppendEffectExtent(0, 0, 0, 0); + IF Position <> '' THEN + BEGIN + WordWrapSquare.WrapSquare; + WordWrapSquare.SetWrapText(0); // Type = BothSides + WordAnchor.AppendWrapSquare(WordWrapSquare); + END + ELSE + BEGIN + WordWrapTopBottom.WrapTopBottom; + WordAnchor.AppendWrapTopBottom(WordWrapTopBottom); + END; + + WordDocProperties.DocProperties; + WordDocProperties.SetId(1); + WordDocProperties.SetName(Name); + WordAnchor.AppendDocProperties(WordDocProperties); + WordGraphicFrameLocks.GraphicFrameLocks; + WordGraphicFrameLocks.SetNoChangeAspect(TRUE); + WordAnchor.AppendGraphicFrameLocks(WordGraphicFrameLocks); + CreatePicture(RelationshipId, Name, Cx, Cy, WordPicture); + WordAnchor.AppendPicture(WordPicture); + WordAnchor.SetDistanceFromTop(0); + WordAnchor.SetDistanceFromBottom(0); + WordAnchor.SetDistanceFromLeft(114300); + WordAnchor.SetDistanceFromRight(114300); + WordAnchor.SetSimplePos(FALSE); + WordAnchor.SetRelativeHeight(251658240); + WordAnchor.SetBehindDoc(TRUE); + WordAnchor.SetLocked(FALSE); + WordAnchor.SetLayoutInCell(TRUE); + WordAnchor.SetAllowOverlap(TRUE); + CreatedWordDrawing.Drawing; + CreatedWordDrawing.AppendAnchor(WordAnchor); + END; + + LOCAL PROCEDURE CreatePicture@11(RelationshipId@1000 : Text;Name@1001 : Text;Cx@1002 : Integer;Cy@1003 : Integer;VAR WordPicture@1004 : Codeunit 50051); + VAR + WordBlipFill@1005 : Codeunit 50054; + WordShapeProperties@1006 : Codeunit 50053; + WordNonVisualPictureProperties@1007 : Codeunit 50052; + WordPresetGeometry@1008 : Codeunit 50061; + WordTransform2D@1009 : Codeunit 50060; + WordNonVisualDrawingProperties@1010 : Codeunit 50055; + WordNonVisualPictureDrawingProperties@1011 : Codeunit 50056; + WordBlip@1012 : Codeunit 50057; + WordStretch@1013 : Codeunit 50058; + WordBlipExtensionList@1014 : Codeunit 50059; + BEGIN + WordPicture.Picture; + WordBlipFill.BlipFill; + WordBlip.Blip; + WordBlip.SetEmbed(RelationshipId); + WordBlip.SetCompressionState(2); //Type = Print + WordBlipExtensionList.BlipExtensionList; + WordBlipExtensionList.AppendBlipExtension('{28A0092B-C50C-407E-A947-70E740481C1C}'); + WordBlip.AppendBlipExtensionList(WordBlipExtensionList); + WordBlipFill.SetBlip(WordBlip); + WordStretch.Stretch; + WordStretch.AppendFillRectangle; + WordBlipFill.AppendStretch(WordStretch); + WordPicture.SetBlipFill(WordBlipFill); + WordNonVisualPictureProperties.NonVisualPictureProperties; + WordNonVisualDrawingProperties.NonVisualDrawingProperties; + WordNonVisualDrawingProperties.SetId(0); + WordNonVisualDrawingProperties.SetName(Name); + WordNonVisualPictureProperties.SetNonVisualDrawingProperties(WordNonVisualDrawingProperties); + WordNonVisualPictureDrawingProperties.NonVisualPictureDrawingProperties; + WordNonVisualPictureProperties.SetNonVisualPictureDrawingProperties(WordNonVisualPictureDrawingProperties); + WordPicture.SetNonVisualPictureProperties(WordNonVisualPictureProperties); + WordShapeProperties.ShapeProperties; + WordPresetGeometry.PresetGeometry; + WordPresetGeometry.AppendAdjustValueList; + WordPresetGeometry.SetPreset(4); //Type = Rectangle + WordShapeProperties.AppendPresetGeometry(WordPresetGeometry); + WordTransform2D.Transform2D; + WordTransform2D.AppendOffset(0, 0); + WordTransform2D.AppendExtent(Cx, Cy); + WordShapeProperties.SetTransform2D(WordTransform2D); + WordPicture.SetShapeProperties(WordShapeProperties); + END; + + LOCAL PROCEDURE AddNewParagraphStyle@12(VAR WordStyleDefinitionPart@1000 : Codeunit 50041;StyleId@1001 : Text;StyleName@1002 : Text;VAR WordStyleRunProperties@1003 : Codeunit 50037); + VAR + WordStyles@1004 : Codeunit 50039; + WordStyle@1005 : Codeunit 50038; + ClonedWordStyleRunProperties@1006 : Codeunit 50037; + BEGIN + WordStyleDefinitionPart.Styles(WordStyles); + WordStyle.Style; + WordStyle.SetStyleType(0); //Type = Paragraph + WordStyle.SetStyleId(StyleId); + WordStyle.SetCustomStyle(TRUE); + WordStyle.SetStyleName(StyleName); + WordStyle.SetBasedOn('Normal'); + WordStyle.SetNextParagraphStyle('Normal'); + WordStyle.SetUIPriority(900); + CloneStyleRunProperties(WordStyleRunProperties, ClonedWordStyleRunProperties); + WordStyle.AppendStyleRunProperties(ClonedWordStyleRunProperties); + WordStyles.AppendStyle(WordStyle); + END; + + LOCAL PROCEDURE AddNewNumberingType@13(VAR WordNumberingDefinitionPart@1000 : Codeunit 50070;Id@1001 : Integer;Type@1002 : Integer;Text@1003 : Text); + VAR + WordNumbering@1004 : Codeunit 50071; + WordAbstractNum@1005 : Codeunit 50072; + WordNumberingLevel@1006 : Codeunit 50073; + WordNumberingInstance@1007 : Codeunit 50074; + BEGIN + WordNumberingDefinitionPart.Numbering(WordNumbering); + WordAbstractNum.AbstractNum; + WordAbstractNum.SetAbstractNumberId(Id); + WordNumberingLevel.Level; + WordNumberingLevel.SetLevelIndex(0); + WordNumberingLevel.SetNumberingFormatType(Type); + WordNumberingLevel.SetLevelText(Text); + WordAbstractNum.AppendLevel(WordNumberingLevel); + WordNumbering.AppendAbstractNum(WordAbstractNum); + WordNumberingInstance.NumberingInstance; + WordNumberingInstance.SetAbstractNumId(Id); + WordNumberingInstance.SetNumberID(Id + 1); + WordNumbering.AppendNumberingInstance(WordNumberingInstance); + END; + + LOCAL PROCEDURE CreateParagraphPropertiesForList@14(VAR WordParagraphProperties@1000 : Codeunit 50026;LeftIndentation@1001 : Text;NumberingLevelReference@1002 : Integer;NumberingId@1003 : Integer); + VAR + WordSpacingBetweenLines@1004 : Codeunit 50030; + WordIndentation@1005 : Codeunit 50031; + WordNumberingProperties@1006 : Codeunit 50032; + BEGIN + WordParagraphProperties.ParagraphProperties; + WordSpacingBetweenLines.SpacingBetweenLines; + WordSpacingBetweenLines.SetAfter('0'); + WordParagraphProperties.SetSpacingBetweenLines(WordSpacingBetweenLines); + WordIndentation.Indentation; + WordIndentation.SetLeft(LeftIndentation); + WordIndentation.SetHanging('360'); + WordParagraphProperties.SetIndentation(WordIndentation); + WordNumberingProperties.NumberingProperties; + WordNumberingProperties.SetNumberingId(NumberingId); + WordNumberingProperties.SetNumberingLevelReference(NumberingLevelReference); + WordParagraphProperties.SetNumberingProperties(WordNumberingProperties); + WordParagraphProperties.SetParagraphStyleId('ListParagraph'); + END; + + LOCAL PROCEDURE IsParagraphStyleIdInDocument@15(VAR WordStyleDefinitionPart@1000 : Codeunit 50041;StyleId@1001 : Text) : Boolean; + VAR + WordStyles@1002 : Codeunit 50039; + WordStyle@1003 : Codeunit 50038; + WordStylesEnumerator@1004 : Codeunit 50040; + BEGIN + WordStyleDefinitionPart.Styles(WordStyles); + WordStyles.GetStyleEnumerator(WordStylesEnumerator); + WHILE WordStylesEnumerator.MoveNext DO + BEGIN + WordStylesEnumerator.Current(WordStyle); + IF (WordStyle.StyleId = StyleId) AND (WordStyle.StyleType = 0) THEN //Type = Paragraph + EXIT(TRUE); + END; + + EXIT(FALSE); + END; + + LOCAL PROCEDURE GetParagraphStyleIdFromStyleName@16(VAR WordStyleDefinitionPart@1000 : Codeunit 50041;StyleName@1001 : Text) : Text; + VAR + WordStyles@1002 : Codeunit 50039; + WordStyle@1003 : Codeunit 50038; + WordStylesEnumerator@1004 : Codeunit 50040; + BEGIN + WordStyleDefinitionPart.Styles(WordStyles); + WordStyles.GetStyleEnumerator(WordStylesEnumerator); + WHILE WordStylesEnumerator.MoveNext DO + BEGIN + WordStylesEnumerator.Current(WordStyle); + IF (WordStyle.StyleName = StyleName) AND (WordStyle.StyleType = 0) THEN //Type = Paragraph + EXIT(WordStyle.StyleId); + END; + + EXIT(''); + END; + + LOCAL PROCEDURE IsNumberingTypeIdInDocument@17(VAR WordNumberingDefinitionPart@1000 : Codeunit 50070;Id@1001 : Integer) : Boolean; + VAR + WordNumbering@1002 : Codeunit 50071; + WordAbstractNum@1003 : Codeunit 50072; + WordAbstractNumEnumerator@1004 : Codeunit 50075; + BEGIN + WordNumberingDefinitionPart.Numbering(WordNumbering); + WordNumbering.GetAbstractNumEnumerator(WordAbstractNumEnumerator); + WHILE WordAbstractNumEnumerator.MoveNext DO + BEGIN + WordAbstractNumEnumerator.Current(WordAbstractNum); + IF WordAbstractNum.AbstractNumberId = Id THEN + EXIT(TRUE); + END; + + EXIT(FALSE); + END; + + [External] + PROCEDURE MainDocumentPartHasNumberingDefinitionsPart@18(VAR DotNet_WordMainDocumentPart@1000 : Codeunit 50019) : Boolean; + VAR + DotNet_WordNumberingDefinitionPart@1001 : Codeunit 50070; + BEGIN + DotNet_WordMainDocumentPart.NumberingDefinitionsPart(DotNet_WordNumberingDefinitionPart); + EXIT(NOT DotNet_WordNumberingDefinitionPart.IsDotNetNull); + END; + + [External] + PROCEDURE MainDocumentPartHasStyleDefinitionsPart@19(VAR DotNet_WordMainDocumentPart@1000 : Codeunit 50019) : Boolean; + VAR + DotNet_WordStyleDefinitionPart@1001 : Codeunit 50041; + BEGIN + DotNet_WordMainDocumentPart.StyleDefinitionsPart(DotNet_WordStyleDefinitionPart); + EXIT(NOT DotNet_WordStyleDefinitionPart.IsDotNetNull); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50070.TXT b/BaseApp/COD50070.TXT new file mode 100644 index 0000000..4cb2fb1 --- /dev/null +++ b/BaseApp/COD50070.TXT @@ -0,0 +1,58 @@ +OBJECT Codeunit 50070 DotNet_Word.NumberingDefinitio +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetNumberingDefinitionsPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.NumberingDefinitionsPart"; + + [External] + PROCEDURE SetNumbering@1(VAR WordNumbering@1000 : Codeunit 50071); + VAR + DotNetNumbering@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Numbering"; + BEGIN + WordNumbering.GetNumbering(DotNetNumbering); + DotNetNumberingDefinitionsPart.Numbering := DotNetNumbering; + END; + + [External] + PROCEDURE Numbering@2(VAR WordNumbering@1000 : Codeunit 50071); + VAR + DotNetNumbering@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Numbering"; + BEGIN + DotNetNumbering := DotNetNumberingDefinitionsPart.Numbering; + WordNumbering.SetNumbering(DotNetNumbering); + END; + + [External] + PROCEDURE IsDotNetNull@3() : Boolean; + BEGIN + EXIT(ISNULL(DotNetNumberingDefinitionsPart)); + END; + + PROCEDURE SetNumberingDefinitionsPart@4(NewDotNetNumberingDefinitionsPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.NumberingDefinitionsPart"); + BEGIN + DotNetNumberingDefinitionsPart := NewDotNetNumberingDefinitionsPart; + END; + + PROCEDURE GetNumberingDefinitionsPart@5(VAR CurrentDotNetNumberingDefinitionsPart@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.NumberingDefinitionsPart"); + BEGIN + CurrentDotNetNumberingDefinitionsPart := DotNetNumberingDefinitionsPart; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50071.TXT b/BaseApp/COD50071.TXT new file mode 100644 index 0000000..9d664af --- /dev/null +++ b/BaseApp/COD50071.TXT @@ -0,0 +1,101 @@ +OBJECT Codeunit 50071 DotNet_Word.Numbering +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetNumbering@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Numbering"; + + [External] + PROCEDURE Numbering@1(); + BEGIN + DotNetNumbering := DotNetNumbering.Numbering; + END; + + [External] + PROCEDURE NumberingFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetNumbering := DotNetNumbering.Numbering(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetNumbering.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetNumbering.InnerText); + END; + + [External] + PROCEDURE AppendAbstractNum@5(VAR WordAbstractNum@1000 : Codeunit 50072); + VAR + DotNetAbstractNum@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.AbstractNum"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordAbstractNum.GetAbstractNum(DotNetAbstractNum); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetNumbering, DotNetAbstractNum); + END; + + [External] + PROCEDURE AppendNumberingInstance@6(VAR WordNumberingInstance@1000 : Codeunit 50074); + VAR + DotNetNumberingInstance@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingInstance"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordNumberingInstance.GetNumberingInstance(DotNetNumberingInstance); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetNumbering, DotNetNumberingInstance); + END; + + [External] + PROCEDURE Save@7(VAR WordNumberingDefinitionPart@1000 : Codeunit 50070); + VAR + DotNetNumberingDefinitionsPart@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.NumberingDefinitionsPart"; + BEGIN + WordNumberingDefinitionPart.GetNumberingDefinitionsPart(DotNetNumberingDefinitionsPart); + DotNetNumbering.Save(DotNetNumberingDefinitionsPart); + END; + + [External] + PROCEDURE GetAbstractNumEnumerator@8(VAR WordAbstractNumEnumerator@1000 : Codeunit 50075); + VAR + DotNetAbstractNum@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.AbstractNum"; + DotNetEnumerator@1002 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + OpenXmlDotNetHelper@1003 : Codeunit 50067; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.GetEnumeratorOfTypeGeneric(DotNetNumbering.Elements, GETDOTNETTYPE(DotNetAbstractNum), DotNetEnumerator); + WordAbstractNumEnumerator.SetEnumerator(DotNetEnumerator); + END; + + PROCEDURE SetNumbering@9(VAR NewDotNetNumbering@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Numbering"); + BEGIN + DotNetNumbering := NewDotNetNumbering; + END; + + PROCEDURE GetNumbering@10(VAR CurrentDotNetNumbering@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Numbering"); + BEGIN + CurrentDotNetNumbering := DotNetNumbering; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50072.TXT b/BaseApp/COD50072.TXT new file mode 100644 index 0000000..e6862cf --- /dev/null +++ b/BaseApp/COD50072.TXT @@ -0,0 +1,83 @@ +OBJECT Codeunit 50072 DotNet_Word.AbstractNum +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetAbstractNum@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.AbstractNum"; + + [External] + PROCEDURE AbstractNum@1(); + BEGIN + DotNetAbstractNum := DotNetAbstractNum.AbstractNum; + END; + + [External] + PROCEDURE AbstractNumFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetAbstractNum := DotNetAbstractNum.AbstractNum(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetAbstractNum.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetAbstractNum.InnerText); + END; + + [External] + PROCEDURE SetAbstractNumberId@5(NewNumId@1000 : Integer); + VAR + DotNetInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int32Value"; + BEGIN + DotNetAbstractNum.AbstractNumberId := DotNetInt32Value.FromInt32(NewNumId); + END; + + [External] + PROCEDURE AbstractNumberId@6() : Integer; + BEGIN + EXIT(DotNetAbstractNum.AbstractNumberId.Value); + END; + + [External] + PROCEDURE AppendLevel@7(VAR WordNumberingLevel@1000 : Codeunit 50073); + VAR + DotNetLevel@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Level"; + OpenXmlDotNetHelper@1002 : Codeunit 50067; + BEGIN + WordNumberingLevel.GetLevel(DotNetLevel); + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.AppendGeneric(DotNetAbstractNum, DotNetLevel); + END; + + PROCEDURE SetAbstractNum@8(VAR NewDotNetAbstractNum@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.AbstractNum"); + BEGIN + DotNetAbstractNum := NewDotNetAbstractNum; + END; + + PROCEDURE GetAbstractNum@9(VAR CurrentDotNetAbstractNum@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.AbstractNum"); + BEGIN + CurrentDotNetAbstractNum := DotNetAbstractNum; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50073.TXT b/BaseApp/COD50073.TXT new file mode 100644 index 0000000..cc7c5e5 --- /dev/null +++ b/BaseApp/COD50073.TXT @@ -0,0 +1,103 @@ +OBJECT Codeunit 50073 DotNet_Word.NumberingLevel +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetLevel@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Level"; + + [External] + PROCEDURE Level@1(); + BEGIN + DotNetLevel := DotNetLevel.Level; + END; + + [External] + PROCEDURE LevelFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetLevel := DotNetLevel.Level(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetLevel.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetLevel.InnerText); + END; + + [External] + PROCEDURE SetLevelText@5(NewLevelText@1000 : Text); + VAR + DotNetLevelText@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.LevelText"; + DotNetStringValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.StringValue"; + BEGIN + DotNetLevelText := DotNetLevelText.LevelText; + DotNetLevelText.Val := DotNetStringValue.FromString(NewLevelText); + DotNetLevel.LevelText := DotNetLevelText; + END; + + [External] + PROCEDURE SetLevelIndex@6(NewLevelIndex@1000 : Integer); + VAR + DotNetInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int32Value"; + BEGIN + DotNetLevel.LevelIndex := DotNetInt32Value.FromInt32(NewLevelIndex); + END; + + [External] + PROCEDURE SetNumberingFormatType@7(NewNumberingFormatType@1000 : Integer); + VAR + DotNetNumberFormat@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingFormat"; + DotNetNumberFormatValues@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberFormatValues"; + DotNetEnumValue@1003 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + OpenXmlDotNetHelper@1004 : Codeunit 50067; + BEGIN + //We need this to deal with .NET Generics: + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetNumberFormatValues), NewNumberingFormatType, DotNetEnumValue); + DotNetNumberFormat := DotNetNumberFormat.NumberingFormat; + DotNetNumberFormat.Val := DotNetEnumValue; + DotNetLevel.NumberingFormat := DotNetNumberFormat; + END; + + [External] + PROCEDURE NumberingFormatType@8() : Integer; + VAR + DotNetNumberFormatValues@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberFormatValues"; + DotNetEnumValue@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + BEGIN + DotNetEnumValue := DotNetLevel.NumberingFormat.Val; + DotNetNumberFormatValues := DotNetEnumValue.Value; + EXIT(DotNetNumberFormatValues); + END; + + PROCEDURE SetLevel@9(VAR NewDotNetLevel@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Level"); + BEGIN + DotNetLevel := NewDotNetLevel; + END; + + PROCEDURE GetLevel@10(VAR CurrentDotNetLevel@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Level"); + BEGIN + CurrentDotNetLevel := DotNetLevel; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50074.TXT b/BaseApp/COD50074.TXT new file mode 100644 index 0000000..729845a --- /dev/null +++ b/BaseApp/COD50074.TXT @@ -0,0 +1,77 @@ +OBJECT Codeunit 50074 DotNet_Word.NumberingInstance +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetNumberingInstance@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingInstance"; + + [External] + PROCEDURE NumberingInstance@1(); + BEGIN + DotNetNumberingInstance := DotNetNumberingInstance.NumberingInstance; + END; + + [External] + PROCEDURE NumberingInstanceFromOuterXml@2(OuterXml@1000 : Text); + BEGIN + DotNetNumberingInstance := DotNetNumberingInstance.NumberingInstance(OuterXml); + END; + + [External] + PROCEDURE OuterXml@3() : Text; + BEGIN + EXIT(DotNetNumberingInstance.OuterXml); + END; + + [External] + PROCEDURE InnerText@4() : Text; + BEGIN + EXIT(DotNetNumberingInstance.InnerText); + END; + + [External] + PROCEDURE SetNumberID@5(NewNumberID@1000 : Integer); + VAR + DotNetInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int32Value"; + BEGIN + DotNetNumberingInstance.NumberID := DotNetInt32Value.FromInt32(NewNumberID); + END; + + [External] + PROCEDURE SetAbstractNumId@6(NewAbstractNumId@1000 : Integer); + VAR + DotNetInt32Value@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Int32Value"; + DotNetAbstractNumId@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.AbstractNumId"; + BEGIN + DotNetAbstractNumId := DotNetAbstractNumId.AbstractNumId; + DotNetAbstractNumId.Val := DotNetInt32Value.FromInt32(NewAbstractNumId); + DotNetNumberingInstance.AbstractNumId := DotNetAbstractNumId; + END; + + PROCEDURE SetNumberingInstance@7(VAR NewDotNetNumberingInstance@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingInstance"); + BEGIN + DotNetNumberingInstance := NewDotNetNumberingInstance; + END; + + PROCEDURE GetNumberingInstance@8(VAR CurrentDotNetNumberingInstance@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.NumberingInstance"); + BEGIN + CurrentDotNetNumberingInstance := DotNetNumberingInstance; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50075.TXT b/BaseApp/COD50075.TXT new file mode 100644 index 0000000..45b7409 --- /dev/null +++ b/BaseApp/COD50075.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50075 DotNet_Word.AbstractNumEnumera +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentAbstractNum@1000 : Codeunit 50072); + VAR + DotNetAbstractNum@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.AbstractNum"; + BEGIN + DotNetAbstractNum := DotNetEnumerator.Current; + CurrentAbstractNum.SetAbstractNum(DotNetAbstractNum); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50076.TXT b/BaseApp/COD50076.TXT new file mode 100644 index 0000000..20f82df --- /dev/null +++ b/BaseApp/COD50076.TXT @@ -0,0 +1,55 @@ +OBJECT Codeunit 50076 DotNet_Word.TextEnumerator +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"; + + PROCEDURE SetEnumerator@1(VAR NewEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + DotNetEnumerator := NewEnumerator; + END; + + PROCEDURE GetEnumerator@2(VAR CurrentEnumerator@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Collections.IEnumerator"); + BEGIN + CurrentEnumerator := DotNetEnumerator; + END; + + [External] + PROCEDURE Reset@3(); + BEGIN + DotNetEnumerator.Reset; + END; + + [External] + PROCEDURE MoveNext@4() : Boolean; + BEGIN + EXIT(DotNetEnumerator.MoveNext); + END; + + [External] + PROCEDURE Current@5(VAR CurrentText@1000 : Codeunit 50024); + VAR + DotNetText@1001 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Wordprocessing.Text"; + BEGIN + DotNetText := DotNetEnumerator.Current; + CurrentText.SetTextObject(DotNetText); + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50077.TXT b/BaseApp/COD50077.TXT new file mode 100644 index 0000000..e459f06 --- /dev/null +++ b/BaseApp/COD50077.TXT @@ -0,0 +1,45 @@ +OBJECT Codeunit 50077 DotNet_WordProcDocumentType +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetWordprocessingDocumentType@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.WordprocessingDocumentType"; + + [External] + PROCEDURE WordprocessingDocumentType@1(DocumentType@1000 : 'Document,Template,MacroEnabledDocument,MacroEnabledTemplate'); + BEGIN + CASE DocumentType OF + DocumentType::Document: DotNetWordprocessingDocumentType := DotNetWordprocessingDocumentType.Document; + DocumentType::MacroEnabledDocument: DotNetWordprocessingDocumentType := DotNetWordprocessingDocumentType.MacroEnabledDocument; + DocumentType::MacroEnabledTemplate: DotNetWordprocessingDocumentType := DotNetWordprocessingDocumentType.MacroEnabledTemplate; + DocumentType::Template: DotNetWordprocessingDocumentType := DotNetWordprocessingDocumentType.Template; + END; + END; + + PROCEDURE SetWordProcessingDocumentType@2(VAR NewDotNetWordprocessingDocumentType@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.WordprocessingDocumentType"); + BEGIN + DotNetWordprocessingDocumentType := NewDotNetWordprocessingDocumentType; + END; + + PROCEDURE GetWordProcessingDocumentType@3(VAR CurrentDotNetWordprocessingDocumentType@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.WordprocessingDocumentType"); + BEGIN + CurrentDotNetWordprocessingDocumentType := DotNetWordprocessingDocumentType; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50078.TXT b/BaseApp/COD50078.TXT new file mode 100644 index 0000000..4be44cd --- /dev/null +++ b/BaseApp/COD50078.TXT @@ -0,0 +1,50 @@ +OBJECT Codeunit 50078 DotNet_OpenXml.ImagePartType +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetImagePartType@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePartType"; + + [External] + PROCEDURE ImagePartType@1(ImagePartType@1000 : 'Bmp,Gif,Png,Tiff,Icon,Pcx,Jpeg,Emf,Wmf'); + BEGIN + CASE ImagePartType OF + ImagePartType::Bmp: DotNetImagePartType := DotNetImagePartType.Bmp; + ImagePartType::Gif: DotNetImagePartType := DotNetImagePartType.Gif; + ImagePartType::Png: DotNetImagePartType := DotNetImagePartType.Png; + ImagePartType::Tiff: DotNetImagePartType := DotNetImagePartType.Tiff; + ImagePartType::Icon: DotNetImagePartType := DotNetImagePartType.Icon; + ImagePartType::Pcx: DotNetImagePartType := DotNetImagePartType.Pcx; + ImagePartType::Jpeg: DotNetImagePartType := DotNetImagePartType.Jpeg; + ImagePartType::Emf: DotNetImagePartType := DotNetImagePartType.Emf; + ImagePartType::Wmf: DotNetImagePartType := DotNetImagePartType.Wmf; + END; + END; + + PROCEDURE SetImagePartType@2(VAR NewDotNetImagePartType@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePartType"); + BEGIN + DotNetImagePartType := NewDotNetImagePartType; + END; + + PROCEDURE GetImagePartType@3(VAR CurrentDotNetImagePartType@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.Packaging.ImagePartType"); + BEGIN + CurrentDotNetImagePartType := DotNetImagePartType; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50079.TXT b/BaseApp/COD50079.TXT new file mode 100644 index 0000000..7dbe827 --- /dev/null +++ b/BaseApp/COD50079.TXT @@ -0,0 +1,53 @@ +OBJECT Codeunit 50079 DotNet_OpenXml.SpaceProcessing +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetSpaceProcessingModeValues@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.SpaceProcessingModeValues"; + + [External] + PROCEDURE SpaceProcessingModeValues@1(SpaceProcessingMode@1000 : 'Default,Preserve'); + BEGIN + CASE SpaceProcessingMode OF + SpaceProcessingMode::Default: DotNetSpaceProcessingModeValues := DotNetSpaceProcessingModeValues.Default; + SpaceProcessingMode::Preserve: DotNetSpaceProcessingModeValues := DotNetSpaceProcessingModeValues.Preserve; + END; + END; + + [External] + PROCEDURE ToOpenXmlEnumValue@2(VAR DotNet_OpenXmlEnumValue@1000 : Codeunit 50080); + VAR + OpenXmlDotNetHelper@1001 : Codeunit 50067; + DotNetEnumValue@1002 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + BEGIN + OpenXmlDotNetHelper.CreateEnumValueGeneric(GETDOTNETTYPE(DotNetSpaceProcessingModeValues), DotNetSpaceProcessingModeValues, DotNetEnumValue); + DotNet_OpenXmlEnumValue.SetEnumValue(DotNetEnumValue); + END; + + PROCEDURE SetSpaceProcessingModeValues@3(VAR NewDotNetSpaceProcessingModeValues@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.SpaceProcessingModeValues"); + BEGIN + DotNetSpaceProcessingModeValues := NewDotNetSpaceProcessingModeValues; + END; + + PROCEDURE GetSpaceProcessingModeValues@4(VAR CurrentDotNetSpaceProcessingModeValues@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.SpaceProcessingModeValues"); + BEGIN + CurrentDotNetSpaceProcessingModeValues := DotNetSpaceProcessingModeValues; + END; + + BEGIN + END. + } +} + diff --git a/BaseApp/COD50080.TXT b/BaseApp/COD50080.TXT new file mode 100644 index 0000000..e8a7055 --- /dev/null +++ b/BaseApp/COD50080.TXT @@ -0,0 +1,34 @@ +OBJECT Codeunit 50080 DotNet_OpenXml.EnumValue +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + OnRun=BEGIN + END; + + } + CODE + { + VAR + DotNetEnumValue@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"; + + PROCEDURE SetEnumValue@1(VAR NewDotNetEnumValue@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"); + BEGIN + DotNetEnumValue := NewDotNetEnumValue; + END; + + PROCEDURE GetEnumValue@2(VAR CurrentDotNetEnumValue@1000 : DotNet "'DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.DocumentFormat.OpenXml.EnumValue`1"); + BEGIN + CurrentDotNetEnumValue := DotNetEnumValue; + END; + + BEGIN + END. + } +} + diff --git a/Test/COD50069.TXT b/Test/COD50069.TXT new file mode 100644 index 0000000..9b5328f --- /dev/null +++ b/Test/COD50069.TXT @@ -0,0 +1,1028 @@ +OBJECT Codeunit 50069 Text_OpenXml.WordProcessing +{ + OBJECT-PROPERTIES + { + Date=; + Time=; + Version List=; + } + PROPERTIES + { + Subtype=Test; + OnRun=BEGIN + END; + + } + CODE + { + VAR + Assert@1001 : Codeunit 130000; + LibraryLowerPermissions@1000 : Codeunit 132217; + OpenXmlWordProcessingHelper@1002 : Codeunit 50068; + WordprocessingDocument@1003 : Codeunit 50018; + MainDocumentPart@1004 : Codeunit 50019; + WordDocument@1005 : Codeunit 50020; + WordBody@1006 : Codeunit 50021; + WordParagraph@1007 : Codeunit 50022; + WordRun@1008 : Codeunit 50023; + WordText@1009 : Codeunit 50024; + WordRunProperties@1010 : Codeunit 50025; + WordColor@1011 : Codeunit 50036; + WordParagraphProperties@1012 : Codeunit 50026; + WordStyleRunProperties@1013 : Codeunit 50037; + WordSpacingBetweenLines@1014 : Codeunit 50030; + WordTable@1015 : Codeunit 50027; + WordTableRow@1016 : Codeunit 50028; + WordTableCell@1017 : Codeunit 50029; + WordHyperlink@1018 : Codeunit 50035; + WordStyleDefinitionPart@1019 : Codeunit 50041; + WordStyles@1020 : Codeunit 50039; + WordDrawing@1021 : Codeunit 50043; + WordParagraphEnumerator@1022 : Codeunit 50062; + WordRunEnumerator@1023 : Codeunit 50063; + WordTextEnumerator@1024 : Codeunit 50076; + TestFile@1025 : File; + FileOutStream@1026 : OutStream; + + [Test] + PROCEDURE TestCreateSimpleDocument@1(); + VAR + Expected@1000 : Text; + Actual@1001 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] Empty Word document is created + CreateSampleDocument; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + ''; + Assert.AreEqual(Expected, Actual, 'Simple document creation failed'); + END; + + [Test] + PROCEDURE TestCreateParagraph@2(); + VAR + Expected@1000 : Text; + Actual@1001 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] One paragraph is added to an empty document + CreateSampleDocument; + CreateSampleParagraph; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent quam augue, tempus id metu' + + 's in, laoreet viverra quam. Sed vulputate risus lacus, et dapibus orci porttitor non.'; + Assert.AreEqual(Expected, Actual, 'Paragraph creation failed'); + END; + + [Test] + PROCEDURE TestCreateParagraphWithStyles@3(); + VAR + Expected@1000 : Text; + Actual@1001 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] One paragraph with formating styles is added to an empty document + CreateSampleDocument; + CreateSampleParagraphWithFormating; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + 'Pellentesque commodo rhoncus mauris, sit ' + + 'amet faucibus arcu porttitor pharetra. Maecenas quis erat qu' + + 'is eros iaculis placerat ut at mauris.'; + Assert.AreEqual(Expected, Actual, 'Paragraph with styles creation failed'); + END; + + [Test] + PROCEDURE TestCreateParagraphJustification@4(); + VAR + Expected@1000 : Text; + Actual@1001 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] One paragraph with justified text is added to an empty document + CreateSampleDocument; + CreateSampleParagraphJustified; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + 'Nam eu tortor ut mi euismod eleif' + + 'end in ut ante. Donec a ligula ante. Sed rutrum ex quam. Nunc id mi ultricies, vestibulum sapien ve' + + 'l, posuere dui.'; + Assert.AreEqual(Expected, Actual, 'Paragraph with justification creation failed'); + END; + + [Test] + PROCEDURE TestCreateHeadings@5(); + VAR + Expected@1000 : Text; + Actual@1001 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] Heading1 and Heading2 styles are added to an empty document + CreateSampleDocument; + CreateSampleHeadings; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + 'Fi' + + 'rst HeadingSecond Heading'; + Assert.AreEqual(Expected, Actual, 'Headings creation failed'); + //[THEN] Styles definition part must be not empty + Assert.AreEqual(TRUE, OpenXmlWordProcessingHelper.MainDocumentPartHasStyleDefinitionsPart(MainDocumentPart), 'Style definitions check failed'); + MainDocumentPart.StyleDefinitionsPart(WordStyleDefinitionPart); + WordStyleDefinitionPart.Styles(WordStyles); + Actual := WordStyles.OuterXml; + //[THEN] and expected styles outer xml is: + Expected := + ''; + Assert.AreEqual(Expected, Actual, 'Styles check failed'); + END; + + [Test] + PROCEDURE TestCreateTable@6(); + VAR + Expected@1000 : Text; + Actual@1001 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] Table is added to an empty document + CreateSampleDocument; + CreateSampleTable; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + '<' + + 'w:tr>ANice' + + 'LittleTable'; + Assert.AreEqual(Expected, Actual, 'Table creation failed'); + END; + + [Test] + PROCEDURE TestCreateLists@7(); + VAR + Expected@1000 : Text; + Actual@1001 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] Sample lists are added to an empty document + CreateSampleDocument; + CreateSampleLists; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + 'AUnordered<' + + '/w:pPr>ListAOrdered' + + 'List'; + Assert.AreEqual(Expected, Actual, 'Lists creation failed'); + END; + + [Test] + PROCEDURE TestCreatePicture@8(); + VAR + Expected@1000 : Text; + PartId@1001 : Text; + Actual@1002 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] Picture is added to an empty document + CreateSampleDocument; + PartId := CreateSamplePicture; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + 'left0' + + ''; + Assert.AreEqual(Expected, Actual, 'Paragraph creation failed'); + END; + + [Test] + PROCEDURE TestCreateHyperlink@9(); + VAR + Expected@1000 : Text; + PartId@1001 : Text; + Actual@1002 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] Hyperlink is added to an empty document + CreateSampleDocument; + PartId := CreateSampleHyperlink; + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected document outer XML is: + Expected := + 'My awesome link<' + + '/w:r>'; + Assert.AreEqual(Expected, Actual, 'Paragraph creation failed'); + END; + + [Test] + PROCEDURE TestCreateFullDocumentNonEmpty@10(); + VAR + Expected@1000 : Text; + PictureBase64@1001 : Text; + TempBlob@1002 : TEMPORARY Record 99008535; + ImageStream@1003 : InStream; + ExistingFileStream@1004 : InStream; + SaveStream@1005 : OutStream; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] All elements from previous tests are added to an empty document + CreateSampleDocument; + CreateSampleParagraph; + CreateSampleParagraphWithFormating; + CreateSampleParagraphJustified; + CreateSampleHeadings; + CreateSampleTable; + CreateSampleLists; + CreateSamplePicture; + CreateSampleHyperlink; + FinalizeAndGetDocumentOuterXml; + //[WHEN] document is saved to TempBlob stream + TempBlob.Blob.CREATEOUTSTREAM(SaveStream); + WordprocessingDocument.Save(SaveStream); + //[WHEN] and then reopened again + TempBlob.Blob.CREATEINSTREAM(ExistingFileStream); + WordprocessingDocument.Open(ExistingFileStream, FALSE); + WordprocessingDocument.MainDocumentPart(MainDocumentPart); + MainDocumentPart.Document(WordDocument); + //[THEN] document outer XML must not be empty + Assert.AreNotEqual('', WordDocument.OuterXml, 'Reopen check failed'); + END; + + [Test] + PROCEDURE TestFullDocumentIsSameOnReopen@11(); + VAR + Expected@1000 : Text; + ExistingFileStream@1001 : InStream; + SaveStream@1002 : OutStream; + TempBlob@1003 : TEMPORARY Record 99008535; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[WHEN] All elements from previous tests are added to an empty document + CreateSampleDocument; + CreateSampleParagraph; + CreateSampleParagraphWithFormating; + CreateSampleParagraphJustified; + CreateSampleHeadings; + CreateSampleTable; + CreateSampleLists; + Expected := FinalizeAndGetDocumentOuterXml; + //[WHEN] document is saved to TempBlob stream and reopened + TempBlob.Blob.CREATEOUTSTREAM(SaveStream); + WordprocessingDocument.Save(SaveStream); + TempBlob.Blob.CREATEINSTREAM(ExistingFileStream); + WordprocessingDocument.Open(ExistingFileStream, FALSE); + WordprocessingDocument.MainDocumentPart(MainDocumentPart); + MainDocumentPart.Document(WordDocument); + //[THEN] reopened stream document outer XML must be the same as original + Assert.AreEqual(Expected, WordDocument.OuterXml, 'Reopen check failed'); + END; + + [Test] + PROCEDURE TestExistingDocumentOpen@12(); + VAR + DocumentBase64@1000 : Text; + Expected@1001 : Text; + ExistingFileStream@1002 : InStream; + SaveStream@1003 : OutStream; + TempBlob@1004 : TEMPORARY Record 99008535; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[GIVEN] Sample document stream as base64 text + DocumentBase64 := GetExampleDocxFileContentAsBase64; + //[WHEN] Sample document is opened + TempBlob.FromBase64String(DocumentBase64); + TempBlob.Blob.CREATEINSTREAM(ExistingFileStream); + WordprocessingDocument.Open(ExistingFileStream, FALSE); + WordprocessingDocument.MainDocumentPart(MainDocumentPart); + MainDocumentPart.Document(WordDocument); + //[THEN] Expected document outer XML is: + Expected := + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent quam augue, tempus id metus in' + + ', laoreet viverra quam. Sed vulputate risus lacus, et dapibus orci porttitor non.' + + 'Pellentesque commodo rhoncus <' + + 'w:i />mauris, sit amet faucibus arcu porttitor pharetra. Maecenas quis' + + ' erat quis eros iaculis placerat ut at mauris.' + + 'Nam eu tortor ut mi euismod eleifend in ut ante. Donec a lig' + + 'ula ante. Sed rutrum ex quam. Nunc id mi ultricies, vestibulum sapien vel, posuere dui.' + + 'First HeadingSecond HeadingANiceLittle<' + + 'w:jc w:val="center" />TableAUnordered<' + + 'w:numId w:val="1" />ListA<' + + 'w:spacing w:after="0" />Ordered' + + 'List<' + + 'w:drawing>left' + + '0' + + 'My awesome link'; + Assert.AreEqual(Expected, WordDocument.OuterXml, 'Existing file open check failed'); + END; + + [Test] + PROCEDURE TestExistingDocumentInspection@13(); + VAR + DocumentBase64@1000 : Text; + Expected@1001 : Text; + ExistingFileStream@1002 : InStream; + SaveStream@1003 : OutStream; + TempBlob@1004 : TEMPORARY Record 99008535; + ParagraphCount@1005 : Integer; + RunCount@1006 : Integer; + TextCount@1007 : Integer; + FullText@1008 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[GIVEN] Sample document stream as base64 text + DocumentBase64 := GetExampleDocxFileContentAsBase64; + //[WHEN] Sample document is opened + TempBlob.FromBase64String(DocumentBase64); + TempBlob.Blob.CREATEINSTREAM(ExistingFileStream); + WordprocessingDocument.Open(ExistingFileStream, FALSE); + WordprocessingDocument.MainDocumentPart(MainDocumentPart); + MainDocumentPart.Document(WordDocument); + WordDocument.Body(WordBody); + //[WHEN] and iteration through all elements is performed + WordBody.GetParagraphEnumerator(WordParagraphEnumerator); + WHILE WordParagraphEnumerator.MoveNext DO + BEGIN + ParagraphCount += 1; + WordParagraphEnumerator.Current(WordParagraph); + WordParagraph.GetRunEnumerator(WordRunEnumerator); + WHILE WordRunEnumerator.MoveNext DO + BEGIN + RunCount += 1; + WordRunEnumerator.Current(WordRun); + WordRun.GetTextEnumerator(WordTextEnumerator); + WHILE WordTextEnumerator.MoveNext DO + BEGIN + TextCount += 1; + WordTextEnumerator.Current(WordText); + FullText += WordText.InnerText; + END; + END; + END; + + //[THEN] Expected paragraph element count is 14 + Assert.AreEqual(14, ParagraphCount, 'Paragraph count check failed'); + //[THEN] Expected run element count is 20 + Assert.AreEqual(20, RunCount, 'Run count check failed'); + //[THEN] Expected text element count is 19 + Assert.AreEqual(19, TextCount, 'Text count check failed'); + //[THEN] Expected concatenation of whole document text is: + Expected := + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent quam augue, tempus id metus in, l' + + 'aoreet viverra quam. Sed vulputate risus lacus, et dapibus orci porttitor non.Pellentesque commodo ' + + 'rhoncus mauris, sit amet faucibus arcu porttitor pharetra. Maecenas quis erat quis eros iaculis pla' + + 'cerat ut at mauris.Nam eu tortor ut mi euismod eleifend in ut ante. Donec a ligula ante. Sed rutrum' + + ' ex quam. Nunc id mi ultricies, vestibulum sapien vel, posuere dui.First HeadingSecond HeadingAUnor' + + 'deredListAOrderedList'; + Assert.AreEqual(Expected, FullText, 'Full document text check failed'); + END; + + [Test] + PROCEDURE TestExistingDocumentModification@14(); + VAR + DocumentBase64@1000 : Text; + Expected@1001 : Text; + ExistingFileStream@1002 : InStream; + SaveStream@1003 : OutStream; + TempBlob@1004 : TEMPORARY Record 99008535; + Actual@1005 : Text; + BEGIN + LibraryLowerPermissions.SetO365Basic; + //[GIVEN] Sample document stream as base64 text + DocumentBase64 := GetExampleDocxFileContentAsBase64; + //[WHEN] Sample document is opened + TempBlob.FromBase64String(DocumentBase64); + TempBlob.Blob.CREATEINSTREAM(ExistingFileStream); + WordprocessingDocument.Open(ExistingFileStream, TRUE); + WordprocessingDocument.MainDocumentPart(MainDocumentPart); + MainDocumentPart.Document(WordDocument); + WordDocument.Body(WordBody); + //[WHEN] and '|>><<|' is added to every text element value + WordBody.GetParagraphEnumerator(WordParagraphEnumerator); + WHILE WordParagraphEnumerator.MoveNext DO + BEGIN + WordParagraphEnumerator.Current(WordParagraph); + WordParagraph.GetRunEnumerator(WordRunEnumerator); + WHILE WordRunEnumerator.MoveNext DO + BEGIN + WordRunEnumerator.Current(WordRun); + WordRun.GetTextEnumerator(WordTextEnumerator); + WHILE WordTextEnumerator.MoveNext DO + BEGIN + WordTextEnumerator.Current(WordText); + WordText.SetText(WordText.Text + '|>><<|'); + END; + END; + END; + + Actual := FinalizeAndGetDocumentOuterXml; + //[THEN] Expected modified document outer xml is: + Expected := + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent quam augue, tempus id metus in' + + ', laoreet viverra quam. Sed vulputate risus lacus, et dapibus orci porttitor non.|>><<|' + + 'Pellentesque |>><<|commodo |>><<|rhoncus |>><<|mauris|>><<|, sit |>><' + + '<|amet |>>&' + + 'lt;<|faucibus arcu |>><<|porttitor |>><<|pharetra. Maecenas quis erat quis eros iaculis placerat ut ' + + 'at mauris.|>><<|Nam eu tortor ut mi euismod eleifend in ut ante. Donec a ligula ante. Sed rutr' + + 'um ex quam. Nunc id mi ultricies, vestibulum sapien vel, posuere dui.|>><<|' + + 'First Heading|>><<|Second Heading|>><<|' + + 'ANiceLittleTable' + + 'A|>><<' + + '|Unordered|>><' + + ';<|List|>><' + + ';<|' + + 'A|>&g' + + 't;<<|Ordered|&g' + + 't;><<|List|&' + + 'gt;><<|left0' + + '' + + 'My aweso' + + 'me link'; + + Assert.AreEqual(Expected, Actual, 'Full document text check failed'); + END; + + LOCAL PROCEDURE CreateSampleDocument@15(); + BEGIN + OpenXmlWordProcessingHelper.CreateEmptyDocument(0, WordprocessingDocument, MainDocumentPart, WordBody); + MainDocumentPart.Document(WordDocument); + END; + + LOCAL PROCEDURE CreateSampleParagraph@16(); + BEGIN + WordText.TextConstructor; + WordText.SetText('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent quam augue, tempus id metus in, laoreet viverra quam. Sed vulputate risus lacus, et dapibus orci porttitor non.'); + WordRun.Run; + WordRun.AppendText(WordText); + WordParagraph.Paragraph; + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + END; + + LOCAL PROCEDURE CreateSampleParagraphWithFormating@17(); + VAR + DotNet_OpenXmlSpaceProcessing@1000 : Codeunit 50079; + BEGIN + WordParagraph.Paragraph; + + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('Pellentesque '); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordRunProperties.RunProperties; + WordRunProperties.SetBold(TRUE); + WordRun.AppendProperties(WordRunProperties); + WordText.TextConstructor; + WordText.SetText('commodo '); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('rhoncus '); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordRunProperties.RunProperties; + WordRunProperties.SetItalic(TRUE); + WordRun.AppendProperties(WordRunProperties); + WordText.TextConstructor; + WordText.SetText('mauris'); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordText.TextConstructor; + WordText.SetText(', sit '); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordRunProperties.RunProperties; + WordRunProperties.SetBold(TRUE); + WordRunProperties.SetItalic(TRUE); + WordRunProperties.SetUnderline(TRUE); + WordRun.AppendProperties(WordRunProperties); + WordText.TextConstructor; + WordText.SetText('amet '); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('faucibus arcu '); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordRunProperties.RunProperties; + WordColor.Color; + WordColor.SetColorValue('FF0000'); + WordRunProperties.SetColor(WordColor); + WordRun.AppendProperties(WordRunProperties); + WordText.TextConstructor; + WordText.SetText('porttitor '); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('pharetra. Maecenas quis erat quis eros iaculis placerat ut at mauris.'); + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + + WordBody.AppendParagraph(WordParagraph); + END; + + LOCAL PROCEDURE CreateSampleParagraphJustified@18(); + VAR + DotNet_OpenXmlSpaceProcessing@1000 : Codeunit 50079; + BEGIN + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphProperties; + WordParagraphProperties.SetJustification(2); //Type = Center + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordText.SetText('Nam eu tortor ut mi euismod eleifend in ut ante. Donec a ligula ante. Sed rutrum ex quam. Nunc id mi ultricies, vestibulum sapien vel, posuere dui.'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + END; + + LOCAL PROCEDURE CreateSampleHeadings@19(); + VAR + DotNet_OpenXmlSpaceProcessing@1000 : Codeunit 50079; + BEGIN + WordStyleRunProperties.StyleRunProperties; + WordColor.Color; + WordColor.SetColorValue('2F5496'); + WordStyleRunProperties.SetColor(WordColor); + WordStyleRunProperties.SetFontSize('32'); + OpenXmlWordProcessingHelper.AddParagraphStyleToDocument(MainDocumentPart, 'heading1', 'heading 1', WordStyleRunProperties); + + WordStyleRunProperties.StyleRunProperties; + WordColor.Color; + WordColor.SetColorValue('2F5496'); + WordStyleRunProperties.SetColor(WordColor); + WordStyleRunProperties.SetFontSize('26'); + OpenXmlWordProcessingHelper.AddParagraphStyleToDocument(MainDocumentPart, 'heading2', 'heading 2', WordStyleRunProperties); + + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphProperties; + WordParagraphProperties.SetParagraphStyleId('heading1'); + WordSpacingBetweenLines.SpacingBetweenLines; + WordSpacingBetweenLines.SetAfter('0'); + WordParagraphProperties.SetSpacingBetweenLines(WordSpacingBetweenLines); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordText.SetText('First Heading'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphProperties; + WordParagraphProperties.SetParagraphStyleId('heading2'); + WordSpacingBetweenLines.SpacingBetweenLines; + WordSpacingBetweenLines.SetAfter('0'); + WordParagraphProperties.SetSpacingBetweenLines(WordSpacingBetweenLines); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + DotNet_OpenXmlSpaceProcessing.SpaceProcessingModeValues(1); //Preserve + WordText.SetSpacePreserveOption(DotNet_OpenXmlSpaceProcessing); + WordText.SetText('Second Heading'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + END; + + LOCAL PROCEDURE CreateSampleTable@20(); + BEGIN + WordTable.Table; + WordTableRow.TableRow; + WordTableCell.TableCell; + WordParagraph.Paragraph; + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('A'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordTableCell.AppendParagraph(WordParagraph); + WordTableRow.AppendCell(WordTableCell); + + WordTableCell.TableCell; + WordParagraph.Paragraph; + WordRun.Run; + WordRunProperties.RunProperties; + WordRunProperties.SetBold(TRUE); + WordRun.AppendProperties(WordRunProperties); + WordText.TextConstructor; + WordText.SetText('Nice'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordTableCell.AppendParagraph(WordParagraph); + WordTableRow.AppendCell(WordTableCell); + + WordTable.AppendRow(WordTableRow); + + WordTableRow.TableRow; + WordTableCell.TableCell; + WordParagraph.Paragraph; + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('Little'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordTableCell.AppendParagraph(WordParagraph); + WordTableRow.AppendCell(WordTableCell); + + WordTableCell.TableCell; + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphProperties; + WordParagraphProperties.SetJustification(2); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('Table'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordTableCell.AppendParagraph(WordParagraph); + WordTableRow.AppendCell(WordTableCell); + + WordTable.AppendRow(WordTableRow); + WordBody.AppendTable(WordTable); + END; + + LOCAL PROCEDURE CreateSampleLists@21(); + BEGIN + OpenXmlWordProcessingHelper.CreateBulletListProperties(MainDocumentPart, WordParagraphProperties, '5'); + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphPropertiesFromOuterXml(WordParagraphProperties.OuterXml); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('A'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphPropertiesFromOuterXml(WordParagraphProperties.OuterXml); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('Unordered'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphPropertiesFromOuterXml(WordParagraphProperties.OuterXml); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('List'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + WordParagraph.Paragraph; + WordBody.AppendParagraph(WordParagraph); + OpenXmlWordProcessingHelper.CreateOrderedListProperties(MainDocumentPart, WordParagraphProperties, '10'); + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphPropertiesFromOuterXml(WordParagraphProperties.OuterXml); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('A'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphPropertiesFromOuterXml(WordParagraphProperties.OuterXml); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('Ordered'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + WordParagraph.Paragraph; + WordParagraphProperties.ParagraphPropertiesFromOuterXml(WordParagraphProperties.OuterXml); + WordParagraph.AppendProperties(WordParagraphProperties); + WordRun.Run; + WordText.TextConstructor; + WordText.SetText('List'); + WordRun.AppendText(WordText); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + END; + + LOCAL PROCEDURE CreateSamplePicture@22() : Text; + VAR + PictureBase64@1000 : Text; + TempBlob@1001 : TEMPORARY Record 99008535; + ImageStream@1002 : InStream; + PartId@1003 : Text; + BEGIN + PictureBase64 := + '/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMF' + + 'BwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYD' + + 'AwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM' + + 'DAwMDAz/wAARCAAVABYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF' + + 'BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEI' + + 'I0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNk' + + 'ZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLD' + + 'xMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEB' + + 'AQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJB' + + 'UQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZH' + + 'SElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaan' + + 'qKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oA' + + 'DAMBAAIRAxEAPwD6B/bw/wCClPxO/bC/actPhV8Bb3X9P07T9VksLK48O6j5V54nuk3o' + + '9x9phcKtkqh2T5xGUBmlb7qw8X45/wCCSn7SP7EPgnWPH/hrxVpcX9l2Mz6rN4R8R3Nj' + + 'e29hHG1xNI7SJb74l8lSURmctswhxkYPwS8ceIP+CK//AAUH1a38U6BdaxpJgm0ieUwi' + + 'CfVNHluEePULP94Y95NujbGdhlZYWZHBdPvb4/f8F1Pgn4J+F+p3XgjX7rxf4qkgli0y' + + 'zj0S7igiuDFIYpbgziAfZxIqBxG5kw/yqeSPzmjHDYpVa2ZVnGqm9L25fRdfl/wT+681' + + 'r59w7LL8q4CyyGIy6rCLdTkc1Wbd26s18G905aau2i5Yn/BGj/gofrH7ZHw+8QeHvHeq' + + 'Wt/4+8Lzi5E6wQWj6np8p+WQRxkBnik3I7JEiKsltnc7sSV88/8ABuf8ANTm8beOPinL' + + 'J5Oj29ifCtqm1G+2XEkkF1Mc79yeUscHVMP9p4bMbCivrOHq9atgITr766vdq+j/AK9T' + + '+bfG/KMqyzjLF4TKEo01ytxirRhJxTlFW0snrZaRvy6WsfoD+1N+wz8Mf2xtEaDxv4at' + + 'bvUUgMFprNt/o+qWICyhNk6/Myo0zuIpN8RcgtG2K+efBX/Bv18CfC3ia2v7678e+JLW' + + 'Ddv03UtWhjtrnKFRvNtBDKNpIYbZF5UZyMglFddfK8JWn7SrTTfp/Vz5jKPEPibK8I8D' + + 'l+Oq06X8qk7K/wDL/L/27bXXc+zfBXgbRfht4ZttF8O6PpegaPZbvs9hptpHa20G5y7b' + + 'I0AVcuzMcDksT1NFFFdySSsj5CpUnUm6lRtybu29W29233P/2Q=='; + TempBlob.FromBase64String(PictureBase64); + TempBlob.Blob.CREATEINSTREAM(ImageStream); + PartId := OpenXmlWordProcessingHelper.CreateDrawingFromStream(MainDocumentPart, 6, ImageStream, 'someimage', 209550, 209550, WordDrawing); + WordParagraph.Paragraph; + WordRun.Run; + WordRun.AppendDrawing(WordDrawing); + WordParagraph.AppendRun(WordRun); + WordBody.AppendParagraph(WordParagraph); + EXIT(PartId); + END; + + LOCAL PROCEDURE CreateSampleHyperlink@23() : Text; + VAR + PartId@1000 : Text; + BEGIN + PartId := OpenXmlWordProcessingHelper.CreateHyperLink('http://microsoft.com', 'My awesome link', MainDocumentPart, WordHyperlink); + WordParagraph.Paragraph; + WordParagraph.AppendHyperlink(WordHyperlink); + WordBody.AppendParagraph(WordParagraph); + EXIT(PartId); + END; + + LOCAL PROCEDURE FinalizeAndGetDocumentOuterXml@24() : Text; + BEGIN + MainDocumentPart.Document(WordDocument); + WordprocessingDocument.Close; + EXIT(WordDocument.OuterXml); + END; + + LOCAL PROCEDURE GetExampleDocxFileContentAsBase64@25() : Text; + BEGIN + EXIT( + 'UEsDBBQAAAAIAPtV8kwiRWpBhQUAAB8VAAARABwAd29yZC9kb2N1bWVudC54bWwgohgAKKAUAAAAAAAAAAAAAAAAAAAAAAAAAAA' + + 'A7Vjbcho5EP0V1TzbzIDBF8qQcrAdZ8txKDubd6HpAW00kiJpwNTWftk+7CftL2xLcwEcG1/iVO2Nh0EatVqnu09L0/rz9z+O39' + + 'zmgszBWK7kIGq3koiAZCrlcjqICpftHkZvhseLfqpYkYN0BOWl7S8G0cw53Y9jy2aQU9tSGiSOZcrk1GHXTOOFMqk2ioG1qC4Xc' + + 'SdJ9uOcchl5lROVLv2/9g/jH254qQzkhGtb5CRVQhliuSM0B7dDmJIWmANXGEJTrrllqJaA4K5FxoaC9fi+FjQntJgWsEMc5Lqw' + + 'hKcEFfiG3CGC4hLgyJyj1YYG+Ra5gZTMC6ELRx0Qwy1KC8oKu0NQNqWaT/CNMowTrYxz3CE0qWTrOPaw/dOEp75jkfdX32rKYBB' + + 'pgxDNHKLhGIRAsGC/FkA2VNSPcfibkLgcGG/TxlSeq1Tdq+iBKWamJFq3bW3+pLVzWqC3nrHyTojoYzZXyy/6xZNQeII8x/yMFi' + + 'xElBpWbAPDAgcX/TkVg+j8PMFf9CREK5Y8A5aeUQPO0Bb5QIGBpBbpyS0BQ13dUkhjJKbAjkaGhqECU8SRMhRbGKlLxL+w2iDmO' + + 'Whqg6rhbQCvMLegIGiWtwyXzTn2uUX6YR4Cz0CmmGUBEKpukVMlgRFKBJ8WglYvfbKZwhnMcbitEvCqkCwkKieFcIYzDph7c7AO' + + '4yRQ0mIOgsQ3YgdT0BZggKQFf9xcfeOWAmqTZ0D93taOSnp5C/0msujTDF0xiJJneOOcG+vIRanxZTg6r4HjBnBrTLcCcRMR/ko' + + '17O62e3LPpLgWvCv+wN40vOIMHtYTN6s/gOGSOye2KNiY8xwqDz/RyTbFFbK48VK9wiuedZvBv+TWjamhU0P1rGKALPJq3xVzUQ' + + 'smq8H3af2yXVvZTHmAPahL+lnWUeMGUS/C9ozKaTjb9/bvp9i9XPiv++RniabgjpP+75tvfOPB3e+WUuff3DudF3qnnfyL0+lHO' + + '+XjPzebfrRrHk6nRig1dIFKsKn7VLIZfoqlOOtTWNm33jatS1y43d1Lqu71qmt5rgWMlQ2yBgR1WBFdAJ/OEG2n197vHXa6ODSB' + + 'GRpyqljYSYRiXyANcwRdqsK9lyMsZsIYFUItPmJZJagOL6oI6qeEsDKqjt1mRE/LwSiY3CAntwHHsvG47uOXIXdYyl40Fp0blQ+' + + 'inJppSQZ0GX6MyqGAzPu57oZmM3tD1+c7unTDnVrsY5ZZcMOkVlL1N3R+DsJw63yRyhB5Jznq9RA4W67apRGQZVjnnpWiJQ9dGa' + + 'XwnKzZu0Acn5Q+kelb5ZzKq9dYrWMC8TREQWJ1NIisyoHndAqtnzRM6/nsav7Om8LZuUExz0Tan669ucR4W6x0R565cGI1IluLL' + + 'X1BaENaltzfDuB711hTdUodJVgevUCV5swVBj+zj7HV1w0sbH23Njkfc+Zt9h10RRW0ZEvQakk/LzjxGz0TwfU5F8Kb79vE9CGf' + + '+KS9PtzrHk6Sg72sy3rdZI8h+6y/8fDVBJeujqp5imEqy/CD/7S6FyqtKxNFSTvj2gb/I+EvrataZQR+7RyeJMlR5+3uqJeMdrv' + + 'JwdnuyVH3YPcgOTvoJt3D9qg9+q1kyEpBXBrjNVmHVTKb+WaGdl4jJSvhZiTedITvWV2S6zYzuf9H/Hc3kBLkluSMV9M11n7vAD' + + 'PONwaRQRDBYDpHuJVsLVPhKRHEFY2CxBo91/tlbpR7ezgBmi3/njNhttS45XL5xZ8vuMkrg6CxugbcMPqeTte0M0lpu82O0oOsC' + + '/u9V48zIjFKZWfG35U4xDOI0JL8xh991WG4XjqajfP4osZfSdZ3Lg4hwch3EOaGzKO3Lx+WhC7AZw/xk+6ep422tUqwvI2MVzed' + + 'w78AUEsDBAoAAAAAAPtV8kzdvdDvKgEAACoBAAALABwAX3JlbHMvLnJlbHMgohgAKKAUAAAAAAAAAAAAAAAAAAAAAAAAAAAA77u' + + '/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48UmVsYXRpb25zaGlwcyB4bWxucz0iaHR0cDovL3NjaGVtYX' + + 'Mub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzIj48UmVsYXRpb25zaGlwIFR5cGU9Imh0dHA6L' + + 'y9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1l' + + 'bnQiIFRhcmdldD0iL3dvcmQvZG9jdW1lbnQueG1sIiBJZD0iUjE3Njg2MDlhYTI1YTQzZDIiIC8+PC9SZWxhdGlvbnNoaXBzPlB' + + 'LAwQUAAAACAD7VfJMpS2y0QABAAAFAwAADwAcAHdvcmQvc3R5bGVzLnhtbCCiGAAooBQAAAAAAAAAAAAAAAAAAAAAAAAAAADdkE' + + '1OwzAQha9ieU+dGohoVLc7JDZQiROYxE0s+U8zTtNwNRYciStgR0lXsKjEipXH7xu9N3pfH5/b/dkaclKA2jtB16uCEuVq32jXC' + + 'trH480D3e+2Q4VxNApJ2nZYDYJ2MYaKMaw7ZSWufFAusaMHK2P6QssGD00AXyvEZGYN40VRMiu1oxdDMlRxDErQIEG2IENHyYye' + + 'mhSiZD5kncW6x+jta0aCRujV5OKkzSYnaS7bJK2zzN4kqubFLfg532Zm5tQ5/gh6fQDtQcdxwZuimBkc4A8LqL3xsITwx/u7TTn' + + 'n4Psi3/JJYlP29E7dXNkfv64//n/64+Uv/S0T7r4BUEsDBBQAAAAIAPtV8kzPbDdeIwEAAPsCAAAcABwAd29yZC9fcmVscy9kb2' + + 'N1bWVudC54bWwucmVscyCiGAAooBQAAAAAAAAAAAAAAAAAAAAAAAAAAAC1krFSAyEQhl/lht7jCCSXOLmk0cLCJpMXIMtyhzngB' + + 'ogmz2bhI/kKMppo4ljYpGR/9uObZd9f3+bLve2LZwzReNcQVlakQAdeGdc2ZJf0zZQsF/MV9jLlG7EzQyxyi4sN6VIabimN0KGV' + + 'sfQDupxoH6xM+RhaOkjYyhbpqKomNJwzyCWzWB8G/A/Ra20A7zzsLLr0B5jGdOgxkmItQ4upIfTFB3WslplGigfVkFUNrAYNHBS' + + 'vBR9NSEGvpuR2doMhT/S31XdwJqaFqhnjgLxiAmbymmLG5t85k7KojPyqlk9DezSacjHdVDXXAsai4nBNoy6TQm/c9sfqiLUGgo' + + '9epxK8PaWPXuWH7/cJg5OnCcrRRknGYKZqLXAy/vSlFyu8+ABQSwMEFAAAAAgA+1XyTNORs9DlAAAA/AEAABIAHAB3b3JkL251b' + + 'WJlcmluZy54bWwgohgAKKAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAlZHBbgIhEIZfhZB47AIemmbj6s3ES0++AAuoJAxsgN313Tz0' + + 'kfoKHanbaKNNvTCZ/5/550v4PH0sVkdwZDAx2eAbKipOifEqaOv3De3z7uWNrpaLsfY9tCaiSnDBp3ps6CHnrmYsqYMBmarQGY/' + + 'eLkSQGdu4Z2OIuotBmZRwExybc/7KQFpPz5myTTlKld97IDfdRjeUlxE3OLQslklBkDVkFAeJWts7ZzIl7DK8NccfLxSZFb3Uqw' + + 'uXJFLe8znxm2ijpxw+5fjvvT+xxb+wtVEWpLvPPRPVM+Tzx+Tihpxd/eLyC1BLAwQUAAAACAD7VfJM33A5ZD4EAADtBAAADwAcA' + + 'G1lZGlhL2ltYWdlLmpwZyCiGAAooBQAAAAAAAAAAAAAAAAAAAAAAAAAAAD7f+P/AwYBLzdPNwZGRkaGBCBk+H+bwZmBiZERhKCA' + + 'mZUZBNhYWJhZ2dnY2UGYg5Obk4ODi4OdnYuXi4ubBwjYOfn4eXn4QGyQISDtIF1AxMPBzsFDMvh/gEGQg0GUQYyZUYmBSZCRWZD' + + 'x/xEGeQYGRlZGMGCAAkYmZhZWNqCTuLiBCrYKAJ3PzMwEdCwrCwtQthYoz8AiyCqkaOjIJhyYyK5UKGLUOHEhh7LTxoOiQRc/qB' + + 'gnFTVxcomJS0hKqaqpa2hqmZiamVtYWjm7uLq5e3h6BYeEhoVHREYlp6SmpWdkZhWXlJaVV1RWNbe0trV3dHZNmjxl6rTpM2bOW' + + 'rR4ydJly1esXLVp85at27bv2Lnr0OEjR48dP3Hy1KXLV65eu37j5q2Hjx4/efrs+YuXrz5++vzl67fvP37+AvmLkYGZEQaw+ksQ' + + '6C8mYBywsIP8xchUDlIgyMKqaMgm5BjInlgorGTUyCHiNHHhxoOcysZBH0STii5yiamYPFT9CPIa2GfEeayJLJ/BPYbw1y0GHmZ' + + 'GYOQxCzLYM/xi//bhP0PTlD9+fzfszzzt3xrPmF/6197v8tdIHZ11NtYrfobPU9/l++K7fGbrobWTVpT5z3ELkFyav2vDxzpLoE' + + 'avukv2G/mbSvvlf2QfjYqJv1lmbLfavKXGvTi5Oj9RJrfQpO+S6r4f008GBUrO2XZG8Zgb/0F9mYrmfxzr/zOwsl9d+yd4QWy2l' + + 'GdTrlKljxLnV1+56JaKr9z29yS+T87r3Ti3LSwicuLBkt+3H3//Ix78YH5Tnfir8jiO6+/2xD9aqTBN1+icrdA7DaUdhh5J0x6c' + + 'U5BPF9JiF9w5mf/Tyif95zKO83aFZqeFzsla9mXvzlrx+Ol/hH+vN10/v+DNpj+rGzadSDJ6taG71FLmatrd26tNP+SXPF227pZ' + + 'exPwPbv0/NOo2/k6psfvI3r6nfFXU/R+/D33unmh1kHXxq6qa5U8nuEsyztM0V97k0rFadVu59UbVms//Gdie/2G48uzj9j47zd' + + 'PqkxffvjGf69ayK/nbYjxVxINl3t+ZF3ScPeTw3+VtZ3I01q95+Orr6gRFq9+vV99d/eI/w/rgn9uP/VmsddritHjLKaFe01N3k' + + 'tZKeB61dI32Vl87beJ+vWkbfzH/Dq47bM9Tn5MruODj/ra1eV9FGg5mrrldv/jVNAWdhWZ++421TM490jQ/EtN0cZv28/ms9Qf3' + + 'xzPV6D7Kzv79er/cj0nXeG9/uesd1madPWdh4J7bjjyLMxXbbopPlTxxQlX0erz2obD5W1b7mr/8G/OzZ/ERO7VTH/qZpz9edXn' + + 'pn1V+p/4znP6z/9vbrdeL39xnrZB2/ZH7cHau+OFddtMXZHyL3nc+cdkt9+xctud6t5UdRIvenCmw1PEPdhUJL/LUVn6iFTLXc9' + + 'dU6aK8t3uj88vuF/+/CQBQSwMEFAAAAAgA+1XyTAV9750IAQAAlAIAABMAHABbQ29udGVudF9UeXBlc10ueG1sIKIYACigFAAAA' + + 'AAAAAAAAAAAAAAAAAAAAAAAAK2SPU7EMBCFr2K5RbEDBUIoyRZACxRcwDiTxLv+k8dZds9GwZG4ApMEpVgBEtKW9rz3vueRP98/' + + 'qs3BWbaHhCb4ml+KkjPwOrTG9zUfc1fc8E1TvRwjICOpx5oPOcdbKVEP4BSKEMHTpAvJqUzH1Muo9E71IK/K8lrq4DP4XOQpgzf' + + 'VPXRqtJk9HOh6wZKds7tFN6FqrmK0RqtMY7n37QmkCF1nNLRBj44s4i2kNqagAZF6OyvWiVPGX8zx8kdyAov/Q3+/TZBz1uBgIv' + + '6F2Mb+hGDctJxthH72PNH6k2mBPauUH5UjhZxeJDEfLaA4+3aW3LXzr3w/uldI5Dl/hTV6bSHnP9Z8AVBLAQItABQAAAAIAPtV8' + + 'kwiRWpBhQUAAB8VAAARAAAAAAAAAAAAAAAAAAAAAAB3b3JkL2RvY3VtZW50LnhtbFBLAQItAAoAAAAAAPtV8kzdvdDvKgEAACoB' + + 'AAALAAAAAAAAAAAAAAAAANAFAABfcmVscy8ucmVsc1BLAQItABQAAAAIAPtV8kylLbLRAAEAAAUDAAAPAAAAAAAAAAAAAAAAAD8' + + 'HAAB3b3JkL3N0eWxlcy54bWxQSwECLQAUAAAACAD7VfJMz2w3XiMBAAD7AgAAHAAAAAAAAAAAAAAAAACICAAAd29yZC9fcmVscy' + + '9kb2N1bWVudC54bWwucmVsc1BLAQItABQAAAAIAPtV8kzTkbPQ5QAAAPwBAAASAAAAAAAAAAAAAAAAAAEKAAB3b3JkL251bWJlc' + + 'mluZy54bWxQSwECLQAUAAAACAD7VfJM33A5ZD4EAADtBAAADwAAAAAAAAAAAAAAAAAyCwAAbWVkaWEvaW1hZ2UuanBnUEsBAi0A' + + 'FAAAAAgA+1XyTAV9750IAQAAlAIAABMAAAAAAAAAAAAAAAAAuQ8AAFtDb250ZW50X1R5cGVzXS54bWxQSwUGAAAAAAcABwC9AQA' + + 'ADhEAAAAA'); + END; + + BEGIN + END. + } +} +