If you have used our ISV solutions in the past, you might wonder why you can't change or view our base code in our Business Central apps/extensions. There's a very good reason for that: upgradability.
We've noticed that opening up our base code for changes lead to out-dated software at our end users. Partners didn't want to upgrade customer installations because they had modified the application. So instead of updating to newer versions, partners started demanding bug fixes and new features to be added in out-dated releases. This is unrealistic and unmanageable for an ISV. We maintain the software, fix bugs and add features. It is up to the partner to keep their customers up to date.
In order to customize our apps you can now use a list of events that are being called at important points in the base app. If an event publisher contains a 'Handled' parameter, you cant completely over-rule that part of the base application. Just set the parameter to 'true' to let the base app know that you've handled the call yourself and that it can exit without executing the base code.
Available event publishers:
Publisher Type | Publisher ID | Publisher Name |
---|---|---|
Table | 36 | Sales Header |
Event Name | Parameters | Available from version | Description |
---|---|---|---|
IDYSOnBeforeShippingAgentValidationOnAfterInsert| | var SalesHeader: Record "Sales Header"; var IsHandled: Boolean | 21.9.1975.0 | Raised before the Shipping Agent Code and Shipping Agent Service Code are validated in the OnAfterInsert event. |
IDYSOnAfterShippingAgentValidationOnAfterInsert | var SalesHeader: Record "Sales Header" | 21.9.1975.0 | Raised after the Shipping Agent Code and Shipping Agent Service Code are validated in the OnAfterInsert event. |
IDYSOnBeforeModifyOnAfterInsert | var SalesHeader: Record "Sales Header"; var DontModify: Boolean | 21.9.1975.0 | Raised before the OnModify trigger on the OnAfterInsert event. DontModify flag can be set to prevent that the Modify() is executed.| |
Publisher Type | Publisher ID | Publisher Name |
---|---|---|
Codeunit | 11147685 | IDYS Publisher |
Event Name | Parameters | Available from version | Description |
---|---|---|---|
OnBeforeCreateTransportOrder | | var TransportOrderHeader: Record "IDYS Transport Order Header" | Raised before a new Transport Order Header is created | |
OnAfterCreateTransportOrder | var TransportOrderHeader: Record "IDYS Transport Order Header" | Raised after a new Transport Order Header is created | |
OnBeforeCreateTransportOrderLine | var TransportOrderLine: Record "IDYS Transport Order Line" | Raised before a new Transport Order Line is created | | |
|OnAfterCreateTransportOrderLine | | var TransportOrderLine: Record "IDYS Transport Order Line" | |Raised after a new Transport Order Line is created | |
OnBeforeCreateTransportOrderDelNoteForSalesLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; SalesLine: Record "Sales Line" | Raised before a Transport Order Delivery Note is created with source document Sales Order | |
OnAfterCreateTransportOrderDelNoteForSalesLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; SalesLine: Record "Sales Line" | Raised after a Transport Order Delivery Note is created with source document Sales Order | | |
OnBeforeCreateTransportOrderDelNoteForPurchaseLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; PurchaseLine: Record "Purchase Line" | 18.5.10911.0 | Raised before a Transport Order Delivery Note is created with source document Purchase Return Order |
OnAfterCreateTransportOrderDelNoteForPurchaseLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; PurchaseLine: Record "Purchase Line" | 18.5.10911.0 | Raised after a Transport Order Delivery Note is created with source document Purchase Return Order |
OnBeforeCreateTransportOrderDelNoteForTransferLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; TransferLine: Record "Transfer Line" | 18.5.10911.0 | Raised before a Transport Order Delivery Note is created with source document Transfer Order |
OnAfterCreateTransportOrderDelNoteForTransferLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; TransferLine: Record "Transfer Line" | 18.5.10911.0 | Raised after a Transport Order Delivery Note is created with source document Transfer Order | |
OnBeforeCreateTransportOrderDelNoteForServiceLine | |var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ServiceLine: Record "Service Line" | 18.5.10911.0 | | Raised before a Transport Order Delivery Note is created with source document Service Order |
OnAfterCreateTransportOrderDelNoteForServiceLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ServiceLine: Record "Service Line" | 18.5.10911.0 | Raised after a Transport Order Delivery Note is created with source document Service Order |
OnBeforeCreateTransportOrderDelNoteForSalesShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; SalesShipmentLine: Record "Sales Shipment Line" | Raised before a Transport Order Delivery Note is created with source document Sales Shipment | |
OnAfterCreateTransportOrderDelNoteForSalesShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; SalesShipmentLine: Record "Sales Shipment Line" | Raised after a Transport Order Delivery Note is created with source document Sales Shipment | |
OnBeforeCreateTransportOrderDelNoteForReturnShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ReturnShipmentLine: Record "Return Shipment Line" | 18.5.10911.0 | Raised before a Transport Order Delivery Note is created with source document Return Shipment | |
OnAfterCreateTransportOrderDelNoteForReturnShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ReturnShipmentLine: Record "Return Shipment Line" | 18.5.10911.0 | Raised after a Transport Order Delivery Note is created with source document Return Shipment | |
OnBeforeCreateTransportOrderDelNoteForReturnReceiptLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ReturnReceiptLine: Record "Return Receipt Line" | 18.5.10911.0 | Raised before a Transport Order Delivery Note is created with source document Return Receipt |
OnAfterCreateTransportOrderDelNoteForReturnReceiptLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ReturnReceiptLine: Record "Return Receipt Line" | 18.5.10911.0 | Raised after a Transport Order Delivery Note is created with source document Return Receipt |
OnBeforeCreateTransportOrderDelNoteForTransferShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; TransferShipmentLine: Record "Transfer Shipment Line" | 18.5.10911.0 | Raised before a Transport Order Delivery Note is created with source document Transfer Shipment |
OnAfterCreateTransportOrderDelNoteForTransferShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; TransferShipmentLine: Record "Transfer Shipment Line" | 18.5.10911.0 | Raised after a Transport Order Delivery Note is created with source document Transfer Shipment |
OnBeforeCreateTransportOrderDelNoteForServiceShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ServiceShipmentLine: Record "Service Shipment Line" | 18.5.10911.0 | Raised before a Transport Order Delivery Note is created with source document Service Shipment | |
OnAfterCreateTransportOrderDelNoteForServiceShipmentLine | var TransportOrderDelNote: Record "IDYS Transport Order Del. Note"; ServiceShipmentLine: Record "Service Shipment Line" | 18.5.10911.0 | Raised after a Transport Order Delivery Note is created with source document Service Shipment |
OnBeforeFromSalesOrderLine | SalesLine: Record "Sales Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Sales Order | |
OnBeforeFinalizeFromSalesOrderLine | SalesLine: Record "Sales Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Sales Order |
OnBeforeFromSalesReturnOrderLine | SalesLine: Record "Sales Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Sales Return Order |
OnBeforeFinalizeFromSalesReturnOrderLine | SalesLine: Record "Sales Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Sales Return Order |
OnBeforeFromPurchaseReturnOrderLine | PurchaseLine: Record "Purchase Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Purchase Return Order |
OnBeforeFinalizeFromPurchaseReturnOrderLine | PurchaseLine: Record "Purchase Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Purchase Return Order |
|OnBeforeFromServiceOrderLine | ServiceLine: Record "Service Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Service Order |
|OnBeforeFinalizeFromServiceOrderLine | ServiceLine: Record "Service Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Service Order |
|OnBeforeFromTransferOrderLine | TransferLine: Record "Transfer Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Transfer Order |
OnBeforeFinalizeFromTransferOrderLine | TransferLine: Record "Transfer Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Transfer Order |
OnBeforeFromWarehouseShipmentLine | WarehouseShipmentLine: Record "Warehouse Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Warehouse Shipment |
|OnBeforeFinalizeFromWarehouseShipmentLine | |WarehouseShipmentLine: Record "Warehouse Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Warehouse Shipment |
OnBeforeFromPostedSalesShipmentLine | SalesShipmentLine: Record "Sales Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Sales Shipment |
OnBeforeFinalizeFromPostedSalesShipmentLine | SalesShipmentLine: Record "Sales Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Sales Shipment |
OnBeforeFromReturnShipmentLine | |ReturnShipmentLine: Record "Return Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Return Shipment |
OnBeforeFinalizeFromReturnShipmentLine | ReturnShipmentLine: Record "Return Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Return Shipment |
OnBeforeFromServiceShipmentLine | ServiceShipmentLine: Record "Service Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Service Shipment |
OnBeforeFinalizeFromServiceShipmentLine | ServiceShipmentLine: Record "Service Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | |aised after a Transport Worksheet Line is created from a Service Shipment |
|OnBeforeFromTransferShipmentLine | TransferShipmentLine: Record "Transfer Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Transfer Shipment |
OnBeforeFinalizeFromTransferShipmentLine | TransferShipmentLine: Record "Transfer Shipment Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Transfer Shipment |
OnBeforeFromPostedReturnReceiptLine | ReturnReceiptLine: Record "Return Receipt Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var IsHandled: Boolean | 18.5.10900.0 | Raised before a Transport Worksheet Line is created from a Return Receipt |
OnBeforeFinalizeFromPostedReturnReceiptLine | ReturnReceiptLine: Record "Return Receipt Line"; var TransportWorksheetLine: Record "IDYS Transport Worksheet Line" | 18.5.10900.0 | Raised after a Transport Worksheet Line is created from a Return Receipt |
OnBeforeTransportOrderBook | |var TransportOrderHeader: Record "IDYS Transport Order Header" | Raised before a Transport Order is booked and a request to the Transsmart API is sent | |
OnAfterTransportOrderBook | var TransportOrderHeader: Record "IDYS Transport Order Header" | Raised after a Transport Order is booked and the response from the Transsmart API is processed | ||
OnAfterUpdateTransportOrderFromTransSmart | IDYSTransportOrderHeader: Record "IDYS Transport Order Header" | 18.6.10925.0 | Raised after updating the Transport Order Header with status updates from Transsmart |
|. Publisher Type |. Publisher ID |_. Publisher Name |
| Codeunit | 11147647 | IDYS Combinability Mgt. |
|. Event Name |. Parameters |. Available From Version |. Description |
| OnBeforeGetHashForTransportWorkshtLine | TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; var Input: Text; var Handled: Boolean | | Raised before the Combinability Hash for the Transport Worksheet Line is created that is used to check if this line can be added to an existing Transport Order |
| OnAfterGetHashForTransportWorkshtLine | TransportWorksheetLine: Record "IDYS Transport Worksheet Line"; Input: Text; Hash: Code[ 40 ] | | Raised after the Combinability Hash for the Transport Worksheet Line is created that is used to check if this line can be added to an existing Transport Order |
| OnBeforeGetHashForTransportOrderHeader | TransportOrderHeader: Record "IDYS Transport Order Header"; var Input: Text; var Handled: Boolean | | Raised before the Combinability Hash for the Transport Order Header is created that is used to check if a Transport Worksheet Line can be added to this order |
| OnAfterGetHashForTransportOrderHeader | TransportOrderHeader: Record "IDYS Transport Order Header"; Input: Text; Hash: Code[ 40 ] | | Raised after the Combinability Hash for the Transport Order Header is created that is used to check if a Transport Worksheet Line can be added to this order |
|. Publisher Type |. Publisher ID |_. Publisher Name |
| Codeunit | 11147646 | IDYS Create Tpt. Ord. (Wrksh.) |
|. Event Name |. Parameters |. Available From Version |. Description |
| OnAfterCalculateTotalShipmentValue | var TransportOrderHeader: Record "IDYS Transport Order Header"; var TotalShipmentValue: Decimal | 18.5.10900.0 | Raised after the total shipment value for the Transport Order is calculated |
|. Publisher Type |. Publisher ID |_. Publisher Name |
| Codeunit | 11147679 | IDYS Transport Order Hdr. Mgt. |
|. Event Name |. Parameters |. Available From Version |. Description |
| OnAfterClearAddressFields | var IDYSTransportOrderHeader: Record "IDYS Transport Order Header"; IDYSAddressType: Enum "IDYS Address Type" | 18.5.10900.0 | Raised after the address information is cleared on the Transport Order |
| OnAfterTransferAddressFieldsFromCompanyInfo | var IDYSTransportOrderHeader: Record "IDYS Transport Order Header"; CompanyInformation: Record "Company Information"; IDYSAddressType: Enum "IDYS Address Type" | 18.5.10900.0 | Raised after the address information is filled on the Transport Order based on address type Company |
| OnAfterTransferAddressFieldsFromCustomer | var IDYSTransportOrderHeader: Record "IDYS Transport Order Header"; Customer: Record Customer; IDYSAddressType: Enum "IDYS Address Type" | 18.5.10900.0 | Raised after the address information is filled on the Transport Order based on address type Customer |
| OnAfterTransferAddressFieldsFromLocation | var IDYSTransportOrderHeader: Record "IDYS Transport Order Header"; Location: Record Location; IDYSAddressType: Enum "IDYS Address Type" | 18.5.10900.0 | Raised after the address information is filled on the Transport Order based on address type Location |
| OnAfterTransferAddressFieldsFromOrderAddress | var IDYSTransportOrderHeader: Record "IDYS Transport Order Header"; OrderAddress: Record "Order Address"; IDYSAddressType: Enum "IDYS Address Type" | 18.5.10900.0 | Raised after the address information is filled on the Transport Order based on address type Vendor when a Order Address is specified |
| OnAfterTransferAddressFieldsFromShipToAddress | var IDYSTransportOrderHeader: Record "IDYS Transport Order Header"; ShipToAddress: Record "Ship-to Address"; IDYSAddressType: Enum "IDYS Address Type" | 18.5.10900.0 | Raised after the address information is filled on the Transport Order based on address type Customer or Vendor when a Ship-To Address is specified |
| OnAfterTransferAddressFieldsFromVendor | var IDYSTransportOrderHeader: Record "IDYS Transport Order Header"; Vendor: Record Vendor; IDYSAddressType: Enum "IDYS Address Type" | 18.5.10900.0 | Raised after the address information is filled on the Transport Order based on address type Vendor |