Skip to content

Commit d5ebb15

Browse files
added flow support for documents
1 parent ab23706 commit d5ebb15

4 files changed

Lines changed: 86 additions & 5 deletions

File tree

.AL-Go/settings.json

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
{
22
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v7.2/settings.schema.json",
3-
"country": "us",
4-
"appFolders": [],
3+
"country": "de",
4+
"appFolders": [
5+
"app"
6+
],
57
"testFolders": [],
6-
"bcptTestFolders": []
7-
}
8+
"bcptTestFolders": [],
9+
"useCompilerFolder": false,
10+
"doNotPublishApps": true,
11+
"trustMicrosoftNuGetFeeds": true
12+
}

app/SignFlow.PermissionSet.al

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
permissionset 50241 "ABC Sign. Flow"
2+
{
3+
Caption = 'Beyond Signature Document Flow', Locked = true;
4+
Assignable = true;
5+
Permissions = codeunit "ABC Sales Flow" = X;
6+
}

app/src/PostedSalesInvoice.PageExt.al

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ pageextension 50241 "ABC Posted Sales Invoice" extends "Posted Sales Invoice"
44
{
55
addbefore("Print_Promoted")
66
{
7-
actionref("BYD SIG Signature ActionRef"; "ABC Signature") { }
7+
actionref("ABC Signature ActionRef"; "ABC Signature") { }
88
}
99

1010
addbefore(Print)
@@ -15,6 +15,7 @@ pageextension 50241 "ABC Posted Sales Invoice" extends "Posted Sales Invoice"
1515
Caption = 'Signature';
1616
ToolTip = 'Executes the Signature action.';
1717
Image = Signature;
18+
Visible = VisibleForMobile;
1819

1920
trigger OnAction()
2021
var

app/src/SalesFlow.Codeunit.al

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
codeunit 50241 "ABC Sales Flow"
2+
{
3+
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Quote to Order", 'OnBeforeDeletePurchQuote', '', false, false)]
4+
local procedure PurchQuoteToOrderOnBeforeDeletePurchQuote(var QuotePurchHeader: Record "Purchase Header"; var OrderPurchHeader: Record "Purchase Header")
5+
begin
6+
SignatureMgt.CopySignature(QuotePurchHeader.RecordId(), OrderPurchHeader.RecordId());
7+
end;
8+
9+
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnBeforeDeleteAfterPosting', '', false, false)]
10+
local procedure PurchPostOnAfterDeleteAfterPosting(var PurchaseHeader: Record "Purchase Header"; PurchInvHeader: Record "Purch. Inv. Header"; PurchCrMemoHdr: Record "Purch. Cr. Memo Hdr."; var SkipDelete: Boolean)
11+
begin
12+
if SkipDelete then
13+
exit;
14+
15+
case true of
16+
PurchInvHeader."No." <> '':
17+
SignatureMgt.CopySignature(PurchaseHeader.RecordId(), PurchInvHeader.RecordId());
18+
PurchCrMemoHdr."No." <> '':
19+
SignatureMgt.CopySignature(PurchaseHeader.RecordId(), PurchCrMemoHdr.RecordId());
20+
end;
21+
end;
22+
23+
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales-Quote to Order", 'OnBeforeDeleteSalesQuote', '', false, false)]
24+
local procedure SalesQuoteToOrderOnBeforeDeleteSalesQuote(var QuoteSalesHeader: Record "Sales Header"; var OrderSalesHeader: Record "Sales Header")
25+
begin
26+
SignatureMgt.CopySignature(QuoteSalesHeader.RecordId(), OrderSalesHeader.RecordId());
27+
end;
28+
29+
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales-Post", 'OnBeforeDeleteAfterPosting', '', false, false)]
30+
local procedure SalesPostOnAfterDeleteAfterPosting(var SalesHeader: Record "Sales Header"; var SalesInvoiceHeader: Record "Sales Invoice Header"; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var SkipDelete: Boolean)
31+
begin
32+
if SkipDelete then
33+
exit;
34+
35+
case true of
36+
SalesInvoiceHeader."No." <> '':
37+
SignatureMgt.CopySignature(SalesHeader.RecordId(), SalesInvoiceHeader.RecordId());
38+
SalesCrMemoHeader."No." <> '':
39+
SignatureMgt.CopySignature(SalesHeader.RecordId(), SalesCrMemoHeader.RecordId());
40+
end;
41+
end;
42+
43+
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Service-Quote to Order", 'OnBeforeServLineDeleteAll', '', false, false)]
44+
local procedure ServiceQuoteToOrderOnBeforeServLineDeleteAll(var ServiceHeader: Record "Service Header"; var NewServiceHeader: Record "Service Header")
45+
begin
46+
SignatureMgt.CopySignature(ServiceHeader.RecordId(), NewServiceHeader.RecordId());
47+
end;
48+
49+
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Service-Post", 'OnAfterPostServiceDoc', '', false, false)]
50+
local procedure ServicePostOnAfterPostServiceDoc(var ServiceHeader: Record "Service Header"; ServInvoiceNo: Code[20]; ServCrMemoNo: Code[20])
51+
var
52+
ServiceCrMemoHeader: Record "Service Cr.Memo Header";
53+
OriginalServiceHeader: Record "Service Header";
54+
ServiceInvoiceHeader: Record "Service Invoice Header";
55+
begin
56+
if OriginalServiceHeader.Get(ServiceHeader."Document Type", ServiceHeader."No.") then
57+
exit;
58+
59+
case true of
60+
ServiceInvoiceHeader.Get(ServInvoiceNo):
61+
SignatureMgt.CopySignature(ServiceHeader.RecordId(), ServiceInvoiceHeader.RecordId());
62+
ServiceCrMemoHeader.Get(ServCrMemoNo):
63+
SignatureMgt.CopySignature(ServiceHeader.RecordId(), ServiceCrMemoHeader.RecordId());
64+
end;
65+
end;
66+
67+
var
68+
SignatureMgt: Codeunit "BYD SIG Signature Mgt.";
69+
}

0 commit comments

Comments
 (0)