Skip to content

BC14 Installation

This page describes the extra steps that are necessary for installing Clever Containers into a Business Central '14 system. The Business Central 14 versions of the Clever Config and Clever Containers apps should be installed as usual in addition to the below.

These steps are necessary because not all of the events that are required by Clever Containers - and which are present in later version of Business Central - are available in BC14.

C/AL Changes

Whse.-Source - Create Document (Report 7305)

Add a new IntegrationEvent to the report:

[IntegrationEvent(false, false)]
local procedure OnAfterFilterWkshLine(var WhseWorksheetLineToFilter: Record "Whse. Worksheet Line"; WhseWorksheetLine: Record "Whse. Worksheet Line")
begin
end;

Add a call to this event at the end of the FilterWkshLine method

local procedure FilterWkshLine(var WhseWorksheetLineToFilter: Record "Whse. Worksheet Line"; WhseWorksheetLine: Record "Whse. Worksheet Line")
begin
    with WhseWorksheetLineToFilter do begin
        SetRange("Worksheet Template Name", WhseWorksheetLine."Worksheet Template Name");
        SetRange(Name, WhseWorksheetLine.Name);
        SetRange("Location Code", WhseWorksheetLine."Location Code");
        SetRange("Item No.", WhseWorksheetLine."Item No.");
        SetRange("Variant Code", WhseWorksheetLine."Variant Code");
        SetRange("From Bin Code", WhseWorksheetLine."From Bin Code");
        SetRange("To Bin Code", WhseWorksheetLine."To Bin Code");
        SetRange("From Zone Code", WhseWorksheetLine."From Zone Code");
        SetRange("To Zone Code", WhseWorksheetLine."To Zone Code");
        SetRange("Unit of Measure Code", WhseWorksheetLine."Unit of Measure Code");
        SetRange("From Unit of Measure Code", WhseWorksheetLine."From Unit of Measure Code");
    end;
    OnAfterFilterWkshLine(WhseWorksheetLineToFilter, WhseWorksheetLine);
end;

Publish and Install Clever Containers Hybrid

Download the Clever Containers Hybrid app from the Business Central 14 folder from drive.cleverdynamics.com. This app contains only the functionality that relies on base application changes (a.k.a. hybrid development). These changes are rolled into the main Clever Containers app for later versions of Business Central.

C/AL Changes In Early Cumulative Updates of BC14

Depending on the cumulative update of BC14 that you are installing Clever Containers into it may be necessary to make additional C/AL changes.

Codeunit 5704 TransferOrder-Post Shipment

OnCheckTransLine event (and the call to it) should have the following parameters.

[Integration]
LOCAL PROCEDURE OnCheckTransLine@32(TransferLine@1000 : Record 5741;TransferHeader@1001 : Record 5740;Location@1002 : Record 14;WhseShip@1003 : Boolean);
BEGIN
END;

Codeunit 5760 (Whse.-Post Receipt)

Add OnAfterPostedWhseRcptLineInsert event and call to it

PROCEDURE CreatePostedRcptLine@4(VAR WhseRcptLine@1001 : Record 7317;VAR PostedWhseRcptHeader@1000 : Record 7318;VAR PostedWhseRcptLine@1002 : Record 7319;VAR TempHandlingSpecification@1003 : Record 336);
BEGIN
    UpdateWhseRcptLineBuf(WhseRcptLine);

    [...]

    INSERT;
    OnAfterPostedWhseRcptLineInsert(PostedWhseRcptLine,WhseRcptLine);
    END;
[Integration]
LOCAL PROCEDURE OnAfterPostedWhseRcptLineInsert@55(VAR PostedWhseReceiptLine@1000 : Record 7319;WarehouseReceiptLine@1001 : Record 7317);
BEGIN
END;

Codeunut 7301 (Whse. Jnl.-Register Line)

The OnInitWhseEntryCopyFromWhseJnlLine event and its call should include the Sign variable.

[Integration]
LOCAL PROCEDURE OnInitWhseEntryCopyFromWhseJnlLine@11(VAR WarehouseEntry@1000 : Record 7312;WarehouseJournalLine@1001 : Record 7311;OnMovement@1002 : Boolean;Sign@1003 : Integer);
BEGIN
END;

Codeunit 23 (Item Jnl.-Post Batch)

Include the OnBeforeWhseJnlPostLineRun event and calls to it immediately before the call to WhseJnlPostLine.RUN in the PostWhseJnlLine method.

IsHandled := FALSE;
OnBeforeWhseJnlPostLineRun(ItemJnlLine,TempWhseJnlLine2,IsHandled);
IF NOT IsHandled THEN
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
[Integration]
LOCAL PROCEDURE OnBeforeWhseJnlPostLineRun@43(ItemJournalLine@1000 : Record 83;VAR TempWarehouseJournalLine@1001 : TEMPORARY Record 7311;VAR IsHandled@1002 : Boolean);
BEGIN
END;