Senden externer Dokumente
Möchten Sie die App zum Senden externer Belege über Business Central nutzen, da Sie bspw. auf die Kontaktdaten aus Business Central zugreifen möchten. Können Sie dies mit einem einfachen Funktionsaufruf selbst implementieren.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
codeunit 50200 EPostApiExt
{
trigger OnRun()
var
Contact: Record Contact;
DocumentAttachment: Record "Document Attachment";
EPostAPI: Codeunit "BEL365 E-POST Api";
LetterFileTempBlob: Codeunit "Temp Blob";
ContactDataJson: JsonObject;
DocNo: Code[20];
DocumentTypes: Enum "BEL365 Document Types";
OStream: OutStream;
begin
// Fill document no and document type if letter document is linked to an existing document within Business Central, otherwise leave this empty
DocNo := '10000';
DocumentTypes := DocumentTypes::"Posted Sales Invoice";
// Fill TempBlob Codeunit with a document that was previsouly imported to Business Central
DocumentAttachment.SetRange("Table ID", Database::"Sales Invoice Header");
DocumentAttachment.SetRange("No.", DocNo);
if DocumentAttachment.FindFirst() then begin
LetterFileTempBlob.CreateOutStream(OStream);
DocumentAttachment."Document Reference ID".ExportStream(OStream);
end;
// If no contact exists in Business Central fill json object with contact data, otherwise leave this empty
ContactDataJson.Add('CompanyName', 'Testfirma');
ContactDataJson.Add('ContactName', 'Testperson');
ContactDataJson.Add('Address', 'Teststraße');
ContactDataJson.Add('PostCode', '12345');
ContactDataJson.Add('City', 'Teststadt');
ContactDataJson.Add('Country', 'ÖSTERREICH'); // Not neccessary if recipient residents within Germany
// Call the function to start the sending process of the document with previously filled parameters
EPostAPI.SendLetter(Contact, '10000', Enum::"BEL365 Document Types"::"Posted Purchase Invoice", LetterFileTempBlob, ContactDataJson);
end;
}
|