My conclusion on this issue is no standard configuration to select check format per bank. I extended another Print Check button on Payment Journal using Check Print ID on Bank Account Card by AL. This is comparatively common requirement at mid-small size companies. I wish this would be handled in standard.
pageextension 60101 ExtPaymentJournal extends "Payment Journal"
{
actions
{
addafter(PrintCheck)
{
action(PrintCheckB)
{
AccessByPermission = TableData "Check Ledger Entry" = R;
ApplicationArea = Basic, Suite;
Caption = 'Print Check';
Ellipsis = true;
Image = PrintCheck;
ToolTip = 'Prepare to print the check. Only one Bank Account is available per Batch';
trigger OnAction()
var
GenJournalLine: Record "Gen. Journal Line";
DocumentPrint: Codeunit "Document-Print";
ReportID: integer;
BankAccount: record "Bank Account";
begin
GenJournalLine.Reset();
GenJournalLine.Copy(Rec);
GenJournalLine.SetRange("Journal Template Name", Rec."Journal Template Name");
GenJournalLine.SetRange("Journal Batch Name", Rec."Journal Batch Name");
if (GenJournalLine.FindFirst()) then begin
if (GenJournalLine."Bal. Account Type" <> GenJournalLine."Bal. Account Type"::"Bank Account") then begin
Error('Bal. Account Type has to be Bank Account for this option');
end;
BankAccount.Reset();
BankAccount.SetRange("No.", GenJournalLine."Bal. Account No.");
if (BankAccount.FindFirst()) then begin
ReportID := BankAccount."Check Report ID"
end;
if (ReportID = 0) Then begin
Error('Bank Account %1 has no value on Print Check ID', GenJournalLine."Bal. Account No.");
end;
end;
Report.Run(ReportID, true, false, GenJournalLine);
CODEUNIT.Run(CODEUNIT::"Adjust Gen. Journal Balance", Rec);
end;
}
}
addafter(PrintCheck_Promoted)
{
actionref(PrintCheckB_Promoted; PrintCheckB)
{
}
}
}
}