...
1/// <summary>
2/// Manage Loyalty Benefits
3/// </summary>
4codeunit 50100 "Loyalty Benefits Management"
5{
6 var
7 Vendor: record Vendor;
8
9 trigger OnRun()
10 begin
11 end;
12
13 /// <summary>
14 /// Adjust a Sales Order with loyalty level
15 /// </summary>
16 /// <param name="SalesHeader">Sales Header to adjust based on Customer Loyalty</param>
17 procedure AdjustForLoyalty(var SalesHeader: record "Sales Header"): Integer;
18 var
19 Customer: record Customer;
20 LoyaltyBenefits: interface ILoyaltyBenefits;
21 Discount: Decimal;
22 begin
23 Customer.Get(SalesHeader."Sell-to Customer No.");
24
25 LoyaltyBenefits := Customer.Loyalty;
26 Discount := 1;
27 Discount := LoyaltyBenefits.GetDiscount();
28 ApplyDiscount(SalesHeader, Discount);
29 end;
30
31 /// <summary>
32 /// Applies the Discount to the Sales Order
33 /// </summary>
34 /// <param name="SalesHeader">Sales Order</param>
35 /// <param name="Discount">Discount to apply</param>
36 local procedure "Apply Discount"(SalesHeader: record "Sales Header"; Discount: Decimal)
37 begin
38 // TODO: Implement
39 end;
40}
41
42
43enum 50140 SomeEnum
44{
45 value(0; None) { }
46}
47
48#region interface stuff
49
50interface ISuperGreat
51{
52 procedure YesSir("c in c": codeunit FooBar);
53}
54
55#endregion
56
57table 50100 Customer
58{
59 Access = Internal;
60 TableType = Normal;
61
62 fields
63 {
64 field(1; "P K"; Integer)
65 {
66 }
67 }
68}
69
70/// <summary>
71/// Add the Loyalty fields to the Customer table.
72/// </summary>
73tableextension 50100 LoyaltyCustomerExt extends Customer
74{
75 fields
76 {
77 /// <summary>
78 /// Customer loyalty.
79 /// </summary>
80 field(50100; Loyalty; enum LoyaltyLevel)
81 {
82 }
83 }
84}
85
86/// <summary>
87/// Adds the Loyalty field to the General group on the "Customer Card"
88/// </summary>
89pageextension 50100 LoyaltyCustCardExt extends "Customer Card"
90{
91 layout
92 {
93 addlast(General)
94 {
95 field(Loyalty; Rec.Loyalty) { }
96 }
97 }
98}
View as plain text