1 Lines on Invoice: send customized dimension and value:
[EventSubscriber(ObjectType::Table, database::"B2X BackboneDocHeaderTmp", 'OnGetSalesInvoiceOnBeforeInsertDimensions', '', true, true)]
local procedure AddCustomDimensions(SalesInvoiceLine: Record "Sales Invoice Line"; var TempDimensionValueBuffer: Record "B2X TempDimensionValueBuffer" temporary)
var
Item: Record Item;
begin
if SalesInvoiceLine.Type = SalesInvoiceLine.Type::Item then begin
Item.Get(SalesInvoiceLine."No.");
if (Item."Alcohol %" <> 0) or (Item."Volumen (Liter)" <> 0) then begin
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'dutyFactor';
TempDimensionValueBuffer.Value := format(Item."Alcohol %");
TempDimensionValueBuffer.Insert(true);
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'netContent';
TempDimensionValueBuffer.Value := format(Item."Volumen (Liter)");
TempDimensionValueBuffer.Insert(true);
end;
end;
end;
2 Lines on Credit note: send customized dimension and value:
[EventSubscriber(ObjectType::Table, Database::"B2X BackboneDocHeaderTmp", 'OnGetSalesCrNoteOnBeforeInsertDimensions', '', true, true)]
Local procedure AddCustomDimensions(SalesCrMemoLine: Record "Sales Cr.Memo Line"; var TempDimensionValueBuffer: Record "B2X TempDimensionValueBuffer" temporary)
begin
if SalesCrMemoLine.Type = SalesCrMemoLine.Type::Item then begin
if SalesCrMemoLine."No." = '1003' then begin
//1 - Insert value pairs
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'dutyFactor';
TempDimensionValueBuffer.Value := '13.5';
TempDimensionValueBuffer.Insert(true);
//2 - Optional: Add more lines
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'netContent';
TempDimensionValueBuffer.Value := '0.75';
TempDimensionValueBuffer.Insert(true);
end;
end;
end;
3 Lines on Inventory report: send calculated qty on stock:
[EventSubscriber(ObjectType::Table, Database::"B2X BackboneDocHeaderTmp", 'OnGetInventoryOnBeforeAddQtyOnStock', '', true, true)]
local procedure ChangeQtyOnStock(ItemNo: Code[20]; CustomerNo: Code[20]; var QtyOnStock: Decimal)
begin
//Calculate inventory for ItemNo
//Use CutomerNo for customer specific calculation
//QtyOnStock := Calculated value
end;
4 Lines on Inventory report: send customized dimension and value:
[EventSubscriber(ObjectType::Table, Database::"B2X BackboneDocHeaderTmp", 'OnGetInventoryOnBeforeAddPreOrderQtys', '', true, true)]
local procedure AddPreOrderQtys(Item: Record Item; CustomerNo: Code[20]; var TempPreOrderValues: Record "B2X TempInventoryValueBuffer" temporary)
begin
//1 - Get values from Item
//1.1 - Use CutomerNo for customer specific calculation
//2 - Insert value pairs
if Item."No." = '1003' then begin
TempPreOrderValues.Init();
TempPreOrderValues.Date := Today() + 7; // When is the Quantity available
TempPreOrderValues.Quantity := 10; // How many
TempPreOrderValues.Insert(true);
//3 - Optional: Add more lines
TempPreOrderValues.Init();
TempPreOrderValues.Date := Today() + 14; // When is the Quantity available
TempPreOrderValues.Quantity := 25; // How many
TempPreOrderValues.Insert(true);
end
end;
5 Lines on Inventory report: send customized dimension and value:
[EventSubscriber(ObjectType::Table, Database::"B2X BackboneDocHeaderTmp", 'OnGetInventoryOnBeforeAddBackOrderQtys', '', true, true)]
local procedure AddBackOrderQtys(Item: Record Item; CustomerNo: Code[20]; var TempBackOrderValues: Record "B2X TempInventoryValueBuffer" temporary)
begin
if Item."No." = '1003' then begin
//1 - Get values from Item
//1.1 - Use CutomerNo for customer specific calculation
//2 - Insert value pairs
TempBackOrderValues.Init();
TempBackOrderValues.Date := Today() + 8; // When is the Quantity available
TempBackOrderValues.Quantity := 11; // How many
TempBackOrderValues.Insert(true);
//3 - Optional: Add more lines
TempBackOrderValues.Init();
TempBackOrderValues.Date := Today() + 15; // When is the Quantity available
TempBackOrderValues.Quantity := 26; // How many
TempBackOrderValues.Insert(true);
end;
end;
6 Lines on Inventory report: send customized dimension and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetInventoryOnBeforeInsertDimensions', '', true, true)]
local procedure AddInventoryCustomDimensions(Item: Record Item; var TempDimensionValueBuffer: Record "B2X TempDimensionValueBuffer" temporary)
begin
if Item."No." = '1003' then begin
//1 - Insert value pairs
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'InvDimTest';
TempDimensionValueBuffer.Value := '12.5';
TempDimensionValueBuffer.Insert(true);
//2 - Optional: Add more lines
end;
end;
7 Header on Inventory report: send customized custom and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetInventoryOnBeforeInsertCustom', '', true, true)]
local procedure AddInventoryCustom(Customer: Record Customer; var B2XTempCustomBuffer: Record "B2X TempCustomBuffer" temporary)
begin
B2XTempCustomBuffer.Init();
B2XTempCustomBuffer.custID := 'InvCustomTest';
B2XTempCustomBuffer.custType := 'int';
B2XTempCustomBuffer.custValue := '7.5';
B2XTempCustomBuffer.custUnit := 'INT';
B2XTempCustomBuffer.Insert();
end;
8 Header on Invoice: send customized custom and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetSalesInvoiceOnBeforeInsertCustom', '', true, true)]
local procedure AddSalesInvoiceCustom(SalesInvoiceHeader: Record "Sales Invoice Header"; var B2XTempCustomBuffer: Record "B2X TempCustomBuffer" temporary)
begin
B2XTempCustomBuffer.Init();
B2XTempCustomBuffer.custID := 'SalInvCustomTest';
B2XTempCustomBuffer.custType := 'int';
B2XTempCustomBuffer.custValue := '5';
B2XTempCustomBuffer.custUnit := 'STK';
B2XTempCustomBuffer.Insert();
end;
9 Header on Credit note: send customized custom and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetSalesCrNoteOnBeforeInsertCustom', '', true, true)]
local procedure AddSalesCrNoteCustom(SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var B2XTempCustomBuffer: Record "B2X TempCustomBuffer" temporary)
begin
B2XTempCustomBuffer.Init();
B2XTempCustomBuffer.custID := 'SalCrNoteCustomTest';
B2XTempCustomBuffer.custType := 'real';
B2XTempCustomBuffer.custValue := '12.5';
B2XTempCustomBuffer.custUnit := 'REAL';
B2XTempCustomBuffer.Insert();
end;
10 Lines on Order confirmation: send customized dimension and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetSalesOrderConfOnBeforeInsertDimensions', '', true, true)]
local procedure AddSalesOrderConfCustomDimensions(SalesLine: Record "Sales Line"; var TempDimensionValueBuffer: Record "B2X TempDimensionValueBuffer" temporary)
begin
if SalesLine.Type = SalesLine.Type::Item then begin
if SalesLine."No." = '1026' then begin
//1 - Insert value pairs
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'SalOrderConfDimTest';
TempDimensionValueBuffer.Value := '15.5';
TempDimensionValueBuffer.Insert(true);
//2 - Optional: Add more lines
end;
end;
end;
11 Header on Order confirmation: send customized custom and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetSalesOrderConfOnBeforeInsertCustom', '', true, true)]
local procedure AddSalesOrderConfCustom(SalesHeader: Record "Sales Header"; var B2XTempCustomBuffer: Record "B2X TempCustomBuffer" temporary)
begin
B2XTempCustomBuffer.Init();
B2XTempCustomBuffer.custID := 'SalOrderConfCustTest';
B2XTempCustomBuffer.custType := 'int';
B2XTempCustomBuffer.custValue := '18';
B2XTempCustomBuffer.custUnit := 'INT';
B2XTempCustomBuffer.Insert();
end;
12 Lines on Delivery note: send customized dimension and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetSalesDelNoteOnBeforeInsertDimensions', '', true, true)]
local procedure AddSalesDelNoteCustomDimensions(SalesShipmentLine: Record "Sales Shipment Line"; var TempDimensionValueBuffer: Record "B2X TempDimensionValueBuffer" temporary)
begin
if SalesShipmentLine.Type = SalesShipmentLine.Type::Item then begin
if SalesShipmentLine."No." = '1027' then begin
//1 - Insert value pairs
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'SalDelNoteDimTest';
TempDimensionValueBuffer.Value := '19.5';
TempDimensionValueBuffer.Insert(true);
//2 - Optional: Add more lines
end;
end;
end;
13 Header on Delivery note: send customized custom and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetSalesDelNoteOnBeforeInsertCustom', '', true, true)]
local procedure AddSalesDelNoteCustom(SalesShipmentHeader: Record "Sales Shipment Header"; var B2XTempCustomBuffer: Record "B2X TempCustomBuffer" temporary)
begin
B2XTempCustomBuffer.Init();
B2XTempCustomBuffer.custID := 'SalDelNoteCustTest';
B2XTempCustomBuffer.custType := 'str';
B2XTempCustomBuffer.custValue := 'Test B2B';
B2XTempCustomBuffer.custUnit := 'STR';
B2XTempCustomBuffer.Insert();
end;
14 Header on Delivery note: send customized packSequence og packContent:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetSalesDelNoteOnBeforeInsertASN', '', true, true)]
local procedure AddASN(SalesShipmentHeader: Record "Sales Shipment Header"; var IncludeASN: Boolean; var B2XTempPackSequence: Record "B2X TempPackSequence" temporary; var B2XTempPackContent: Record "B2X TempPackContent" temporary)
begin
// Obtain data for ASN from Sales Shipment Header
//...
// Generate Pack Sequences:
//repeat
B2XTempPackSequence.Init();
B2XTempPackSequence.CpsNum := 2;
B2XTempPackSequence.FatherCpsNum := 1;
B2XTempPackSequence.PacCode := '201 1/1 EURO PLL';
B2XTempPackSequence.SSCC := '057091930000293736';
B2XTempPackSequence.TrackAndTraceID := '123456789';
B2XTempPackSequence.GrossWeight := 1000;
B2XTempPackSequence.Cbm := 123;
B2XTempPackSequence.Insert();
B2XTempPackSequence.Init();
B2XTempPackSequence.CpsNum := 3;
B2XTempPackSequence.FatherCpsNum := 2;
B2XTempPackSequence.PacCode := 'CT Carton';
B2XTempPackSequence.SSCC := '057091930000293521';
B2XTempPackSequence.TrackAndTraceID := '123456789';
B2XTempPackSequence.GrossWeight := 1000;
B2XTempPackSequence.Cbm := 123;
B2XTempPackSequence.Insert();
B2XTempPackSequence.Init();
B2XTempPackSequence.CpsNum := 4;
B2XTempPackSequence.FatherCpsNum := 2;
B2XTempPackSequence.PacCode := 'CT Carton';
B2XTempPackSequence.SSCC := '057091930000293538';
B2XTempPackSequence.TrackAndTraceID := '123456789';
B2XTempPackSequence.GrossWeight := 1000;
B2XTempPackSequence.Cbm := 123;
B2XTempPackSequence.Insert();
//until true; //
// Generate Pack Content:
//repeat
B2XTempPackContent.Init();
B2XTempPackContent.LineNo := 1;
B2XTempPackContent.CpsNum := 3;
B2XTempPackContent.SellersItemNo := '140014';
B2XTempPackContent.EanNumber := '4260547592857';
B2XTempPackContent.QtyTu := 3;
B2XTempPackContent.LocGLN := '5790000088645';
B2XTempPackContent.BatchSerialNo := '123';
B2XTempPackContent.ProdDate := CurrentDateTime();
B2XTempPackContent.PackingDate := CurrentDateTime();
B2XTempPackContent.BestBeforeDate := CurrentDateTime();
B2XTempPackContent.DueDate := CurrentDateTime();
B2XTempPackContent.GrossWeight := 125;
B2XTempPackContent.Insert();
B2XTempPackContent.Init();
B2XTempPackContent.LineNo := 2;
B2XTempPackContent.CpsNum := 4;
B2XTempPackContent.SellersItemNo := '140034';
B2XTempPackContent.EanNumber := '4260547592857';
B2XTempPackContent.QtyTu := 3;
B2XTempPackContent.LocGLN := '5790000088645';
B2XTempPackContent.BatchSerialNo := '123';
B2XTempPackContent.ProdDate := CurrentDateTime();
B2XTempPackContent.PackingDate := CurrentDateTime();
B2XTempPackContent.BestBeforeDate := CurrentDateTime();
B2XTempPackContent.DueDate := CurrentDateTime();
B2XTempPackContent.GrossWeight := 135;
B2XTempPackContent.Insert();
B2XTempPackContent.Init();
B2XTempPackContent.LineNo := 3;
B2XTempPackContent.CpsNum := 5;
B2XTempPackContent.SellersItemNo := '120146';
B2XTempPackContent.EanNumber := '5709193201465';
B2XTempPackContent.QtyTu := 3;
B2XTempPackContent.LocGLN := '5790000088645';
B2XTempPackContent.BatchSerialNo := '123';
B2XTempPackContent.ProdDate := CurrentDateTime();
B2XTempPackContent.PackingDate := CurrentDateTime();
B2XTempPackContent.BestBeforeDate := CurrentDateTime();
B2XTempPackContent.DueDate := CurrentDateTime();
B2XTempPackContent.GrossWeight := 145;
B2XTempPackContent.Insert();
//until true; //
IncludeASN := true; // Set true if ASN should be included
end;
15 Lines on Purchase order: send customized dimension and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetPurchaseOrderOnBeforeInsertDimensions', '', true, true)]
local procedure AddPurchaseOrderCustomDimensions(PurchaseLine: Record "Purchase Line"; var TempDimensionValueBuffer: Record "B2X TempDimensionValueBuffer" temporary)
begin
if PurchaseLine.Type = PurchaseLine.Type::Item then begin
if PurchaseLine."No." = '1026' then begin
//1 - Insert value pairs
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'PurchOrderDimTest';
TempDimensionValueBuffer.Value := '8.5';
TempDimensionValueBuffer.Insert(true);
//2 - Optional: Add more lines
end;
end;
end;
16 Header on Purchase order: send customized custom and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetPurchaseOrderOnBeforeInsertCustom', '', true, true)]
local procedure AddPurchaseOrderCustom(PurchaseHeader: Record "Purchase Header"; var B2XTempCustomBuffer: Record "B2X TempCustomBuffer" temporary)
begin
B2XTempCustomBuffer.Init();
B2XTempCustomBuffer.custID := 'PurchOrdCustomTest';
B2XTempCustomBuffer.custType := 'str';
B2XTempCustomBuffer.custValue := 'Test PO';
B2XTempCustomBuffer.custUnit := 'STK';
B2XTempCustomBuffer.Insert();
end;
17 Lines on Transfer delivery note: send customized dimension and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetTransferDelNoteOnBeforeInsertDimensions', '', true, true)]
local procedure AddTransferDelNoteCustomDimensions(TransferShipmentLine: Record "Transfer Shipment Line"; var TempDimensionValueBuffer: Record "B2X TempDimensionValueBuffer" temporary)
begin
if TransferShipmentLine."Item No." = '1968-S' then begin
//1 - Insert value pairs
TempDimensionValueBuffer.Init();
TempDimensionValueBuffer.Dimension := 'TraDelNoteDimTest';
TempDimensionValueBuffer.Value := '29.5';
TempDimensionValueBuffer.Insert(true);
end;
end;
18 Header on Transfer delivery note: send customized custom and value:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"B2X Customizations", 'OnGetTransferDelNoteOnBeforeInsertCustom', '', true, true)]
local procedure AddTansferDelNoteCustom(TransferShipmentHeader: Record "Transfer Shipment Header"; var B2XTempCustomBuffer: Record "B2X TempCustomBuffer" temporary)
begin
B2XTempCustomBuffer.Init();
B2XTempCustomBuffer.custID := 'TraDelNoteCustTest';
B2XTempCustomBuffer.custType := 'real';
B2XTempCustomBuffer.custValue := '6.8';
B2XTempCustomBuffer.custUnit := 'REAL';
B2XTempCustomBuffer.Insert();
end;