Page 1626 Office OCR Incoming Documents, source in 29
Source29
src/Layers/W1/BaseApp/CRM/Outlook/OfficeOCRIncomingDocuments.Page.al112 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.CRM.Outlook;
using Microsoft.EServices.EDocument;
page 1626 "Office OCR Incoming Documents"
{
Caption = 'Office Incoming Documents';
DataCaptionExpression = PageCaptionTxt;
DeleteAllowed = false;
InsertAllowed = false;
PageType = StandardDialog;
SourceTable = "Exchange Object";
SourceTableTemporary = true;
SourceTableView = sorting(Name)
order(ascending);
layout
{
area(content)
{
repeater(Group)
{
field(Selected; Rec.Selected)
{
ApplicationArea = Basic, Suite;
Caption = 'Send';
trigger OnValidate()
begin
if (IncomingDocumentAttachment."Document No. Filter" <> '') and (Rec.Count > 1) and Rec.Selected then begin
Rec.ModifyAll(Selected, false);
Rec.Selected := true;
end;
end;
}
field(Name; Rec.Name)
{
ApplicationArea = Basic, Suite;
Editable = false;
}
}
}
}
actions
{
}
trigger OnOpenPage()
begin
if Rec.Count = 1 then begin
Rec.Selected := true;
Rec.Modify();
end else
if IncomingDocumentAttachment."Document No. Filter" <> '' then
Rec.ModifyAll(Selected, false);
end;
trigger OnQueryClosePage(CloseAction: Action): Boolean
var
IncomingDocument: Record "Incoming Document";
begin
if CloseAction in [ACTION::OK, ACTION::LookupOK] then
onSave(IncomingDocument);
end;
local procedure onSave(IncomingDocument: Record "Incoming Document"): Boolean
begin
Rec.SetRange(Selected, true);
if Rec.FindSet() then begin
repeat
case Rec.InitiatedAction of
Rec.InitiatedAction::InitiateSendToIncomingDocuments:
OfficeMgt.SendToIncomingDocument(Rec, IncomingDocument, IncomingDocumentAttachment);
Rec.InitiatedAction::InitiateSendToOCR:
if OfficeMgt.SendToIncomingDocument(Rec, IncomingDocument, IncomingDocumentAttachment) then
OfficeMgt.SendToOCR(IncomingDocument);
Rec.InitiatedAction::InitiateSendToWorkFlow:
if OfficeMgt.SendToIncomingDocument(Rec, IncomingDocument, IncomingDocumentAttachment) then
OfficeMgt.SendApprovalRequest(IncomingDocument);
end;
until Rec.Next() = 0;
OfficeMgt.DisplaySuccessMessage(Rec);
end;
end;
var
IncomingDocumentAttachment: Record "Incoming Document Attachment";
OfficeMgt: Codeunit "Office Management";
PageCaptionTxt: Label 'Select Attachment to Send';
procedure InitializeIncomingDocumentAttachment(LinkedIncomingDocumentAttachment: Record "Incoming Document Attachment")
begin
IncomingDocumentAttachment := LinkedIncomingDocumentAttachment;
end;
procedure InitializeExchangeObject(var TempExchangeObject: Record "Exchange Object" temporary)
begin
if TempExchangeObject.FindSet() then
repeat
TempExchangeObject.CalcFields(Content);
Rec.TransferFields(TempExchangeObject);
Rec.Insert();
until TempExchangeObject.Next() = 0;
end;
}