From e32853d0ab76fbe761778d0b195238217b2d5a4c Mon Sep 17 00:00:00 2001 From: aholstrup1 Date: Wed, 13 Dec 2023 07:45:34 +0100 Subject: [PATCH 1/2] Uptake version 24 changes --- .../ContosoCoffeeDemoDatasetAT/app/app.json | 8 +- Apps/AT/HybridBCLast_AT/app/app.json | 10 +- .../app/src/codeunits/DataLoadAT.Codeunit.al | 22 - Apps/AT/IntrastatAT/app/app.json | 8 +- .../ContosoCoffeeDemoDatasetAU/app/app.json | 8 +- Apps/AU/HybridBCLast_AU/app/app.json | 10 +- Apps/AU/Onprem Permissions AU/app/app.json | 6 +- .../ContosoCoffeeDemoDatasetBE/app/app.json | 8 +- Apps/BE/HybridBCLast_BE/app/app.json | 10 +- Apps/BE/IntrastatBE/app/app.json | 8 +- .../ContosoCoffeeDemoDatasetCA/app/app.json | 8 +- ...INTELLIGENTCLOUDHBCLCA.PermissionSetExt.al | 6 - .../d365basicHBCLCA.permissionsetext.al | 6 - .../d365basicisvHBCLCA.permissionsetext.al | 6 - .../d365teammemberHBCLCA.permissionsetext.al | 6 - Apps/CA/HybridBCLast_CA/app/app.json | 10 +- .../upgrade/15x/UpgMXCFDICA.Codeunit.al | 50 - .../app/src/tables/StgDataExchDefCA.Table.al | 8 +- .../ContosoCoffeeDemoDatasetCH/app/app.json | 8 +- Apps/CH/HybridBCLast_CH/app/app.json | 10 +- Apps/CH/SwissQRBill/app/app.json | 6 +- ....al => SwissQRBillIncomingDoc.Codeunit.al} | 0 ...t.al => SwissQRBillIncomingDoc.PageExt.al} | 0 ....al => SwissQRBillIncomingDoc.TableExt.al} | 0 ....al => SwissQRBillIncomingDocs.PageExt.al} | 0 .../{Scan.Page.al => SwissQRBillScan.Page.al} | 0 ...nagementforswitzerland.permissionsetext.al | 1 - ...nagementforswitzerland.permissionsetext.al | 1 - ...nagementforswitzerland.permissionsetext.al | 1 - ...nagementforswitzerland.permissionsetext.al | 1 - ...nagementforswitzerland.permissionsetext.al | 1 - ...nagementforswitzerland.permissionsetext.al | 1 - ...nagementforswitzerland.permissionsetext.al | 1 - ...unit.al => SwissQRBillInstall.Codeunit.al} | 2 - ...Enum.al => SwissQRBillAddressType.Enum.al} | 0 ...er.Table.al => SwissQRBillBuffer.Table.al} | 0 ...eunit.al => SwissQRBillDecode.Codeunit.al} | 0 ...eunit.al => SwissQRBillEncode.Codeunit.al} | 0 ...pe.Enum.al => SwissQRBillIBANType.Enum.al} | 0 ...nit.al => SwissQRBillImageMgt.Codeunit.al} | 0 ...Codeunit.al => SwissQRBillMgt.Codeunit.al} | 0 ...> SwissQRBillPaymentReferenceType.Enum.al} | 0 ...m.al => SwissQRBillUmlautEncoding.Enum.al} | 0 ...e.al => SwissQRBillCreateVendBank.Page.al} | 0 ... => SwissQRBillGenJournalLine.TableExt.al} | 0 ... => SwissQRBillPurchaseHeader.TableExt.al} | 0 ... => SwissQRBillPurchaseInvoice.PageExt.al} | 0 ... => SwissQRBillPurchaseJournal.PageExt.al} | 0 ...al => SwissQRBillPurchaseOrder.PageExt.al} | 0 ...it.al => SwissQRBillPurchases.Codeunit.al} | 0 ...Page.al => SwissQRBillManualPrint.Page.al} | 0 ...t.Report.al => SwissQRBillPrint.Report.al} | 0 ...e.al => SwissQRBillPrintSelectDoc.Page.al} | 0 ....al => SwissQRBillBankAccount.TableExt.al} | 0 ...um.al => SwissQRBillBillingDetail.Enum.al} | 0 ...e.al => SwissQRBillBillingDetail.Table.al} | 0 ...e.al => SwissQRBillBillingDetails.Page.al} | 0 ....al => SwissQRBillBillingInfo.Codeunit.al} | 0 ...Page.al => SwissQRBillBillingInfo.Page.al} | 0 ...ble.al => SwissQRBillBillingInfo.Table.al} | 0 ...t.al => SwissQRBillCompanyInfo.PageExt.al} | 0 ....al => SwissQRBillCompanyInfo.TableExt.al} | 0 ...yout.Page.al => SwissQRBillLayout.Page.al} | 0 ...ut.Table.al => SwissQRBillLayout.Table.al} | 0 ...al => SwissQRBillPaymentMethod.PageExt.al} | 0 ...l => SwissQRBillPaymentMethod.TableExt.al} | 0 ...rts.Enum.al => SwissQRBillReports.Enum.al} | 0 ...rts.Page.al => SwissQRBillReports.Page.al} | 0 ...s.Table.al => SwissQRBillReports.Table.al} | 0 ...Setup.Page.al => SwissQRBillSetup.Page.al} | 0 ...tup.Table.al => SwissQRBillSetup.Table.al} | 0 ...Page.al => SwissQRBillSetupWizard.Page.al} | 0 ... => SwissQRBillVendBankAccCard.PageExt.al} | 0 Apps/CH/SwissQRBill/test/app.json | 12 +- ...=> SwissQRBillTestBillingInfo.Codeunit.al} | 0 ...=> SwissQRBillTestEncodeParse.Codeunit.al} | 0 ...=> SwissQRBillTestIncomingDoc.Codeunit.al} | 0 ....al => SwissQRBillTestLibrary.Codeunit.al} | 0 ...nit.al => SwissQRBillTestMisc.Codeunit.al} | 0 ...it.al => SwissQRBillTestPrint.Codeunit.al} | 0 ...l => SwissQRBillTestPurchases.Codeunit.al} | 0 ...t.al => AccSchedExtHandlerCZZ.Codeunit.al} | 0 .../Codeunits/AdjExchRatesHandler.Codeunit.al | 34 - ...al => AdvPaymentsApprovMgtCZZ.Codeunit.al} | 0 ... => AdvanceLetterDocTotalsCZZ.Codeunit.al} | 0 .../Codeunits/AdvancePaymentsMgt.Codeunit.al | 41 - ...l => CalcAndPostVATHandlerCZZ.Codeunit.al} | 0 ... => CalculateCustomerStatsCZZ.Codeunit.al} | 0 ...al => CalculateVendorStatsCZZ.Codeunit.al} | 0 ...=> CashDocumentLineHandlerCZZ.Codeunit.al} | 2 +- ...=> CashDocumentPostHandlerCZZ.Codeunit.al} | 2 +- ...unit.al => CashFlowHandlerCZZ.Codeunit.al} | 0 ...=> CrossApplicationHandlerCZZ.Codeunit.al} | 2 +- ...al => CustEntryEditHandlerCZZ.Codeunit.al} | 0 ... => CustLedgerEntryHandlerCZZ.Codeunit.al} | 0 ...al => DataClassEvalHandlerCZZ.Codeunit.al} | 2 +- ...al => DocAttachmentHandlerCZZ.Codeunit.al} | 0 ...al => EETManagementHandlerCZZ.Codeunit.al} | 2 +- .../FeatureAdvancePayments.Codeunit.al | 30 - ...l => GLAccWhereUsedHandlerCZZ.Codeunit.al} | 0 ...al => GenJnlCheckLnHandlerCZZ.Codeunit.al} | 0 ... => GenJnlPostBatchHandlerCZZ.Codeunit.al} | 0 ...l => GenJnlPostLineHandlerCZZ.Codeunit.al} | 0 ...l => GenLedgerSetupHandlerCZZ.Codeunit.al} | 0 ...nit.al => GetLastGLEntryNoCZZ.Codeunit.al} | 0 ...=> GuidedExperienceHandlerCZZ.Codeunit.al} | 0 ...=> IncomingDocumentHandlerCZZ.Codeunit.al} | 0 ...t.al => InstallApplicationCZZ.Codeunit.al} | 202 +- ...=> MatchBankPaymentHandlerCZZ.Codeunit.al} | 2 +- ...unit.al => NavigateHandlerCZZ.Codeunit.al} | 0 ....al => NotificationHandlerCZZ.Codeunit.al} | 0 ...al => PAdvLetDocManReleaseCZZ.Codeunit.al} | 0 ....al => PAdvLetDocManReopenCZZ.Codeunit.al} | 0 ... => PaymentOrderMgtHandlerCZZ.Codeunit.al} | 2 +- ...=> PostPreviewEventHandlerCZZ.Codeunit.al} | 0 ...t.al => PostPreviewHandlerCZZ.Codeunit.al} | 0 ...al => PrepaymentMgtHandlerCZZ.Codeunit.al} | 0 ...> PurchAdvLetterManagementCZZ.Codeunit.al} | 309 +- ...l => PurchAdvLetterPrintedCZZ.Codeunit.al} | 0 ... => PurchPostAdvanceLetterCZZ.Codeunit.al} | 0 ...nit.al => PurchPostHandlerCZZ.Codeunit.al} | 2 +- ...l => PurchaseHeaderHandlerCZZ.Codeunit.al} | 0 ...al => RelPurchAdvLetterDocCZZ.Codeunit.al} | 0 ...al => RelSalesAdvLetterDocCZZ.Codeunit.al} | 0 ... => ReportSelectionHandlerCZZ.Codeunit.al} | 0 ...al => SAdvLetDocManReleaseCZZ.Codeunit.al} | 0 ....al => SAdvLetDocManReopenCZZ.Codeunit.al} | 0 ...> SalesAdvLetterManagementCZZ.Codeunit.al} | 311 +- ...l => SalesAdvLetterPrintedCZZ.Codeunit.al} | 0 ...t.al => SalesHeaderHandlerCZZ.Codeunit.al} | 0 ... => SalesPostAdvanceLetterCZZ.Codeunit.al} | 0 ...nit.al => SalesPostHandlerCZZ.Codeunit.al} | 2 +- ...t.al => ShowPreviewHandlerCZZ.Codeunit.al} | 0 ...al => SuggWkshLinesHandlerCZZ.Codeunit.al} | 0 ...t.al => UpgradeApplicationCZZ.Codeunit.al} | 9 +- ...l => UpgradeTagDefinitionsCZZ.Codeunit.al} | 0 ...unit.al => VATEntryHandlerCZZ.Codeunit.al} | 0 ... => VATPostingSetupHandlerCZZ.Codeunit.al} | 0 ...al => VATRepDateMgtHandlerCZZ.Codeunit.al} | 0 ...al => VendEntryEditHandlerCZZ.Codeunit.al} | 0 ... => VendorLedgEntryHandlerCZZ.Codeunit.al} | 0 ...unit.al => WorkflowHandlerCZZ.Codeunit.al} | 0 ...xt.al => CashFlowSourceTypeCZZ.EnumExt.al} | 0 ....al => CustomReportSelSalesCZZ.EnumExt.al} | 0 ...l => EETAppliedDocumentTypeCZZ.EnumExt.al} | 0 ...EnumExt.al => EmailScenarioCZZ.EnumExt.al} | 0 .../EnumExtensions/FeatureToUpdate.EnumExt.al | 14 - ...l => IncomingRelatedDocTypeCZZ.EnumExt.al} | 0 ...t.al => ManualSetupCategoryCZZ.EnumExt.al} | 0 ...l => ReportSelUsagePurchaseCZZ.EnumExt.al} | 0 ...t.al => ReportSelUsageSalesCZZ.EnumExt.al} | 0 ....al => ReportSelectionUsageCZZ.EnumExt.al} | 0 ...e.EnumExt.al => SearchScopeCZZ.EnumExt.al} | 2 +- ...num.al => AdvDeductionExchRateCZZ.Enum.al} | 0 ...um.al => AdvLetterUsageDocTypeCZZ.Enum.al} | 0 ...m.al => AdvanceLetterDocStatusCZZ.Enum.al} | 2 +- ...m.al => AdvanceLetterEntryTypeCZZ.Enum.al} | 2 +- ...e.Enum.al => AdvanceLetterTypeCZZ.Enum.al} | 0 ...al => AccScheduleExtensionsCZZ.PageExt.al} | 1 - ...l => AccountantCZRoleCenterCZZ.PageExt.al} | 0 ....al => AccountantRoleCenterCZZ.PageExt.al} | 0 ...al => CFForecastStatFactBoxCZZ.PageExt.al} | 0 ...t.al => CashDocumentSubformCZZ.PageExt.al} | 2 +- ...xt.al => CashFlowAvailLinesCZZ.PageExt.al} | 0 ....al => CashFlowForecastStatCZZ.PageExt.al} | 0 ...PageExt.al => CashFlowSetupCZZ.PageExt.al} | 0 ...Ext.al => CashFlowWorksheetCZZ.PageExt.al} | 0 ....PageExt.al => CustomerCardCZZ.PageExt.al} | 0 ...al => CustomerLedgerEntriesCZZ.PageExt.al} | 0 ....PageExt.al => CustomerListCZZ.PageExt.al} | 0 ...t.al => CustomerStatFactBoxCZZ.PageExt.al} | 0 ...ageExt.al => GeneralJournalCZZ.PageExt.al} | 0 ...xt.al => GeneralLedgerSetupCZZ.PageExt.al} | 0 ...l => IssPaymentOrderSubformCZZ.PageExt.al} | 2 +- ...Card.PageExt.al => ItemCardCZZ.PageExt.al} | 0 ...List.PageExt.al => ItemListCZZ.PageExt.al} | 0 ...eExt.al => OrderProcessorRCCZZ.PageExt.al} | 0 ...ageExt.al => PaymentJournalCZZ.PageExt.al} | 0 ...t.al => PaymentOrderSubformCZZ.PageExt.al} | 2 +- ...l => PostedCashDocumentSubfCZZ.PageExt.al} | 2 +- ...al => PostedPurchaseInvoiceCZZ.PageExt.al} | 0 ...xt.al => PostedSalesInvoiceCZZ.PageExt.al} | 0 ...geExt.al => PurchaseInvoiceCZZ.PageExt.al} | 0 ...PageExt.al => PurchaseOrderCZZ.PageExt.al} | 0 ...Ext.al => PurchaseOrderListCZZ.PageExt.al} | 0 ... => PurchaseOrderStatisticsCZZ.PageExt.al} | 0 ....al => PurchaseOrderSubformCZZ.PageExt.al} | 0 ...l => PurchasesPayablesSetupCZZ.PageExt.al} | 0 ...l => SalesHistBilltoFactBoxCZZ.PageExt.al} | 0 ...l => SalesHistSelltoFactBoxCZZ.PageExt.al} | 0 ....PageExt.al => SalesInvoiceCZZ.PageExt.al} | 0 ...er.PageExt.al => SalesOrderCZZ.PageExt.al} | 0 ...ageExt.al => SalesOrderListCZZ.PageExt.al} | 0 ....al => SalesOrderStatisticsCZZ.PageExt.al} | 0 ...Ext.al => SalesOrderSubformCZZ.PageExt.al} | 0 ...al => SalesReceivablesSetupCZZ.PageExt.al} | 0 ...es.PageExt.al => VATEntriesCZZ.PageExt.al} | 0 ...geExt.al => VATPostingSetupCZZ.PageExt.al} | 0 ...t.al => VATPostingSetupCardCZZ.PageExt.al} | 0 ...l => VendHistBuyfromFactBoxCZZ.PageExt.al} | 0 ....al => VendHistPaytoFactBoxCZZ.PageExt.al} | 0 ...rd.PageExt.al => VendorCardCZZ.PageExt.al} | 0 ...t.al => VendorLedgerEntriesCZZ.PageExt.al} | 0 ...st.PageExt.al => VendorListCZZ.PageExt.al} | 0 ...Ext.al => VendorStatFactBoxCZZ.PageExt.al} | 0 ...ge.al => AdvPaymentCloseDialogCZZ.Page.al} | 0 ...ge.al => AdvanceLetterApplEditCZZ.Page.al} | 0 ...al => AdvanceLetterApplicationCZZ.Page.al} | 0 ...k.Page.al => AdvanceLetterLinkCZZ.Page.al} | 0 ...e.al => AdvanceLetterTemplatesCZZ.Page.al} | 0 ...Date.Page.al => GetPostingDateCZZ.Page.al} | 0 ...age.al => PreviewAdvVATEntriesCZZ.Page.al} | 0 ...Page.al => PurAdvLetterEntPrevCZZ.Page.al} | 0 ...ge.al => PurchAdvLetterEntriesCZZ.Page.al} | 0 ...ge.al => PurchAdvLetterFactBoxCZZ.Page.al} | 0 ...Page.al => PurchAdvLetterLinesCZZ.Page.al} | 0 ...age.al => PurchAdvUsageFactBoxCZZ.Page.al} | 0 ....Page.al => PurchAdvanceLetterCZZ.Page.al} | 0 ...e.al => PurchAdvanceLetterLineCZZ.Page.al} | 0 ...Page.al => PurchAdvanceLettersCZZ.Page.al} | 0 ...Page.al => SalAdvLetterEntPrevCZZ.Page.al} | 0 ...ge.al => SalesAdvLetterEntriesCZZ.Page.al} | 0 ...ge.al => SalesAdvLetterFactBoxCZZ.Page.al} | 0 ...Page.al => SalesAdvLetterLinesCZZ.Page.al} | 0 ...age.al => SalesAdvUsageFactBoxCZZ.Page.al} | 0 ....Page.al => SalesAdvanceLetterCZZ.Page.al} | 0 ...e.al => SalesAdvanceLetterLineCZZ.Page.al} | 0 ...Page.al => SalesAdvanceLettersCZZ.Page.al} | 0 ...sage.Page.al => SuggestedUsageCZZ.Page.al} | 0 ...ocument.Page.al => VATDocumentCZZ.Page.al} | 14 +- ...ine.Page.al => VATDocumentLineCZZ.Page.al} | 43 +- ...CZAdvancePaymentsEditCZZ.PermissionSet.al} | 0 ... CZAdvancePaymentsObjCZZ.PermissionSet.al} | 11 - ...CZAdvancePaymentsReadCZZ.PermissionSet.al} | 0 ... => D365AUTOMATIONCZZ.PermissionSetExt.al} | 0 ...xt.al => D365BASICCZZ.PermissionSetExt.al} | 0 ...al => D365BASICISVCZZ.PermissionSetExt.al} | 0 ...Ext.al => D365READCZZ.PermissionSetExt.al} | 0 ... => D365TEAMMEMBERCZZ.PermissionSetExt.al} | 0 ...> INTELLIGENTCLOUDCZZ.PermissionSetExt.al} | 0 ...SetExt.al => LOCALCZZ.PermissionSetExt.al} | 0 ...al => CalcandPostVATSettlCZZ.ReportExt.al} | 0 ...xt.al => CashFlowDateListCZZ.ReportExt.al} | 0 ...al => CopyVATPostingSetupCZZ.ReportExt.al} | 0 ... => OpenCustEntriestoDateCZZ.ReportExt.al} | 0 ... => OpenVendEntriestoDateCZZ.ReportExt.al} | 0 ...Ext.al => SuggestPaymentsCZZ.ReportExt.al} | 2 +- ... => SuggestWorksheetLinesCZZ.ReportExt.al} | 0 ...ort.al => AdjustAdvExchRatesCZZ.Report.al} | 0 ...t.al => CreatePurchAdvLetterCZZ.Report.al} | 2 + ...t.al => CreateSalesAdvLetterCZZ.Report.al} | 2 + ...t.al => PurchAdvLettersRecapCZZ.Report.al} | 0 ...rt.al => PurchAdvanceLettersCZZ.Report.al} | 0 ...al => PurchAdvanceLettersVATCZZ.Report.al} | 0 ....al => PurchaseAdvanceLetterCZZ.Report.al} | 6 +- ....al => PurchaseAdvanceVATDocCZZ.Report.al} | 6 +- ...al => PurchaseInvoicewithAdvCZZ.Report.al} | 10 +- ...t.al => SalesAdvLettersRecapCZZ.Report.al} | 0 ...ort.al => SalesAdvanceLetterCZZ.Report.al} | 12 +- ...rt.al => SalesAdvanceLettersCZZ.Report.al} | 0 ...al => SalesAdvanceLettersVATCZZ.Report.al} | 0 ...ort.al => SalesAdvanceVATDocCZZ.Report.al} | 6 +- ...rt.al => SalesInvoicewithAdvCZZ.Report.al} | 14 +- ...al => AccScheduleExtensionCZZ.TableExt.al} | 0 ....al => CVLedgerEntryBufferCZZ.TableExt.al} | 0 ...Ext.al => CashDocumentLineCZZ.TableExt.al} | 2 +- ....al => CashFlowAvailBufferCZZ.TableExt.al} | 0 ...bleExt.al => CashFlowSetupCZZ.TableExt.al} | 0 ...eExt.al => CustLedgerEntryCZZ.TableExt.al} | 0 ...er.TableExt.al => CustomerCZZ.TableExt.al} | 0 ...leExt.al => GenJournalLineCZZ.TableExt.al} | 0 ...t.al => GeneralLedgerSetupCZZ.TableExt.al} | 0 ...Ext.al => IncomingDocumentCZZ.TableExt.al} | 0 ....al => IssPaymentOrderLineCZZ.TableExt.al} | 2 +- ... => MatchBankPaymentBufferCZZ.TableExt.al} | 2 +- ...Ext.al => PaymentOrderLineCZZ.TableExt.al} | 2 +- ... => PostedCashDocumentLineCZZ.TableExt.al} | 2 +- ...leExt.al => PurchaseHeaderCZZ.TableExt.al} | 0 ...TableExt.al => SalesHeaderCZZ.TableExt.al} | 0 ...ry.TableExt.al => VATEntryCZZ.TableExt.al} | 0 ...eExt.al => VATPostingSetupCZZ.TableExt.al} | 0 ...ndor.TableExt.al => VendorCZZ.TableExt.al} | 0 ...xt.al => VendorLedgerEntryCZZ.TableExt.al} | 0 ...l => AdvanceLetterApplicationCZZ.Table.al} | 0 ...al => AdvanceLetterLinkBufferCZZ.Table.al} | 0 ...e.al => AdvanceLetterTemplateCZZ.Table.al} | 0 ...le.al => AdvancePostingBufferCZZ.Table.al} | 24 + ...ble.al => PurchAdvLetterEntryCZZ.Table.al} | 0 ...le.al => PurchAdvLetterHeaderCZZ.Table.al} | 39 +- ...able.al => PurchAdvLetterLineCZZ.Table.al} | 0 ...ble.al => SalesAdvLetterEntryCZZ.Table.al} | 0 ...le.al => SalesAdvLetterHeaderCZZ.Table.al} | 58 - ...able.al => SalesAdvLetterLineCZZ.Table.al} | 0 .../AdvancePaymentsLocalization/app/app.json | 12 +- ...it.al => IncomingDocumentsCZZ.Codeunit.al} | 0 ...al => LibraryPurchAdvancesCZZ.Codeunit.al} | 146 +- ...al => LibraryRepSelHandlerCZZ.Codeunit.al} | 0 ...al => LibrarySalesAdvancesCZZ.Codeunit.al} | 146 +- .../Src/PurchAdvPaymentsFCYCZZ.Codeunit.al | 1318 +++++ .../Src/PurchaseAdvancePayments.Codeunit.al | 314 -- .../PurchaseAdvancePaymentsCZZ.Codeunit.al | 2069 +++++++ .../Src/SalesAdvPaymentsFCYCZZ.Codeunit.al | 995 ++++ .../test/Src/SalesAdvancePayments.Codeunit.al | 305 - .../Src/SalesAdvancePaymentsCZZ.Codeunit.al | 2012 +++++++ .../test/Src/VATControlReportCZZ.Codeunit.al | 424 ++ .../AdvancePaymentsLocalization/test/app.json | 32 +- ...unit.al => AssemblyHandlerCZA.Codeunit.al} | 0 ... => CalculateInventHandlerCZA.Codeunit.al} | 0 ...l => CancelFALdgEntHandlerCZA.Codeunit.al} | 0 ...al => DataClassEvalHandlerCZA.Codeunit.al} | 0 ...=> DefaultDimensionHandlerCZA.Codeunit.al} | 0 ... => DimensionAutoCreateMgtCZA.Codeunit.al} | 2 +- ... => DimensionAutoUpdateMgtCZA.Codeunit.al} | 4 +- ... => DirectTransLineHandlerCZA.Codeunit.al} | 0 ...Codeunit.al => GLEntryEditCZA.Codeunit.al} | 0 ... => GLEntryPostApplicationCZA.Codeunit.al} | 0 ...t.al => GenJnlApplyHandlerCZA.Codeunit.al} | 2 + ...l => GenJnlPostLineHandlerCZA.Codeunit.al} | 0 ...l => GenJournalLineHandlerCZA.Codeunit.al} | 0 ...t.al => InstallApplicationCZA.Codeunit.al} | 0 ...=> ItemJnlCheckLineHandlerCZA.Codeunit.al} | 4 +- ... => ItemJnlPostLineHandlerCZA.Codeunit.al} | 0 ... => ItemJournalLineHandlerCZA.Codeunit.al} | 0 ...=> ItemTrackingLineHandlerCZA.Codeunit.al} | 0 ...l => JobJournalLineHandlerCZA.Codeunit.al} | 0 ....al => NonstockItemHandlerCZA.Codeunit.al} | 0 ... => ProcessDataExchHandlerCZA.Codeunit.al} | 0 ... => ProductionOrderHandlerCZA.Codeunit.al} | 0 ....al => PurchaseLineHandlerCZA.Codeunit.al} | 0 ...l => ReqWkshMakeOrdHandlerCZA.Codeunit.al} | 0 ...al => ReversalEntryHandlerCZA.Codeunit.al} | 0 ...nit.al => SalesLineHandlerCZA.Codeunit.al} | 0 ...t.al => ServiceLineHandlerCZA.Codeunit.al} | 0 ...l => StdItemJournalHandlerCZA.Codeunit.al} | 6 - ...=> SubstituteReportHandlerCZA.Codeunit.al} | 0 ...l => TransferHeaderHandlerCZA.Codeunit.al} | 0 ....al => TransferLineHandlerCZA.Codeunit.al} | 0 ...> TransferOrderPostHandlerCZA.Codeunit.al} | 0 ...al => UndoRetShptLnHandlerCZA.Codeunit.al} | 0 ...=> UndoShipmentLineHandlerCZA.Codeunit.al} | 0 ...al => UndoTransferShipLineCZA.Codeunit.al} | 22 +- ...t.al => UpgradeApplicationCZA.Codeunit.al} | 2 + ...l => UpgradeTagDefinitionsCZA.Codeunit.al} | 0 ....al => NonstockItemNoFormatCZA.EnumExt.al} | 0 ...al => AccountTypeDefaultDimCZA.PageExt.al} | 0 ...l => AccountantCZRoleCenterCZA.PageExt.al} | 0 ...PageExt.al => AssemblyOrderCZA.PageExt.al} | 0 ....al => AssemblyOrderSubformCZA.PageExt.al} | 0 ...PageExt.al => AssemblySetupCZA.PageExt.al} | 0 ...geExt.al => ChartofAccountsCZA.PageExt.al} | 0 ...al => DataExchFieldMappPartCZA.PageExt.al} | 0 ...eExt.al => FinanceManagerRCCZA.PageExt.al} | 0 ...eExt.al => GLEntriesPreviewCZA.PageExt.al} | 0 ....al => GeneralLedgerEntriesCZA.PageExt.al} | 0 ...ageExt.al => InventorySetupCZA.PageExt.al} | 0 ...al => ItemLedgerEntrPreviewCZA.PageExt.al} | 0 ...Ext.al => ItemLedgerEntriesCZA.PageExt.al} | 0 ...xt.al => ManufacturingSetupCZA.PageExt.al} | 0 ...t.al => PostedAssemblyOrderCZA.PageExt.al} | 0 ... => PostedAssemblyOrderSubfCZA.PageExt.al} | 0 ....al => PostedDirectTransSubCZA.PageExt.al} | 0 ....al => PostedDirectTransferCZA.PageExt.al} | 0 ...al => PostedTransferShpSubfCZA.PageExt.al} | 0 ...al => StdItemJournalSubformCZA.PageExt.al} | 0 ...PageExt.al => TransferOrderCZA.PageExt.al} | 0 ....al => TransferOrderSubformCZA.PageExt.al} | 0 ...Ext.al => TransferRouteSpecCZA.PageExt.al} | 0 ...es.Page.al => AppliedGLEntriesCZA.Page.al} | 0 ...ries.Page.al => ApplyGLEntriesCZA.Page.al} | 0 ...s.Page.al => DetailedGLEntriesCZA.Page.al} | 0 ...es.Page.al => UnapplyGLEntriesCZA.Page.al} | 0 ... => CZAdvancePackEditCZA.PermissionSet.al} | 0 ... CZAdvancePackObjectsCZA.PermissionSet.al} | 4 + ... => CZAdvancePackReadCZA.PermissionSet.al} | 0 ...ostAccountingAdminCZA.PermissionSetExt.al} | 0 ... => D365AUTOMATIONCZA.PermissionSetExt.al} | 0 ...xt.al => D365BASICCZA.PermissionSetExt.al} | 0 ...al => D365BASICISVCZA.PermissionSetExt.al} | 0 ...Ext.al => D365READCZA.PermissionSetExt.al} | 0 ... => D365TEAMMEMBERCZA.PermissionSetExt.al} | 0 ...=> FixedAssetsEditCZA.PermissionSetExt.al} | 0 ...AssetsJournalsPostCZA.PermissionSetExt.al} | 0 ... => GLAccountsEditCZA.PermissionSetExt.al} | 0 ... => GLAccountsViewCZA.PermissionSetExt.al} | 0 ... => GLJournalsPostCZA.PermissionSetExt.al} | 0 ...=> GLRegistersReadCZA.PermissionSetExt.al} | 0 ...> INTELLIGENTCLOUDCZA.PermissionSetExt.al} | 0 ...Ext.al => JobsEditCZA.PermissionSetExt.al} | 0 ...Ext.al => JobsViewCZA.PermissionSetExt.al} | 0 ...SetExt.al => LOCALCZA.PermissionSetExt.al} | 0 ...SetExt.al => LOGINCZA.PermissionSetExt.al} | 0 ...ablesDocumentsPostCZA.PermissionSetExt.al} | 0 ...yablesJournalsPostCZA.PermissionSetExt.al} | 0 ...ablesDocumentsPostCZA.PermissionSetExt.al} | 0 ...vablesJournalsPostCZA.PermissionSetExt.al} | 0 ...t.al => VendorEditCZA.PermissionSetExt.al} | 0 ....al => CalculateInventoryCZA.ReportExt.al} | 0 ...l => CarryOutActionMsgReqCZA.ReportExt.al} | 0 ...Report.al => GLEntryApplyingCZA.Report.al} | 0 ...al => InventoryAccountToDateCZA.Report.al} | 0 ....al => InventoryValuationWIPCZA.Report.al} | 0 ...rt.al => OpenGLEntriesToDateCZA.Report.al} | 0 ...leExt.al => AssemblyHeaderCZA.TableExt.al} | 0 ...ableExt.al => AssemblyLineCZA.TableExt.al} | 0 ...bleExt.al => AssemblySetupCZA.TableExt.al} | 0 ....al => CapacityLedgerEntryCZA.TableExt.al} | 0 ...al => DataExchFieldMappingCZA.TableExt.al} | 0 ...Ext.al => DefaultDimensionCZA.TableExt.al} | 0 ...xt.al => DirectTransHeaderCZA.TableExt.al} | 0 ...eExt.al => DirectTransLineCZA.TableExt.al} | 0 ...try.TableExt.al => GLEntryCZA.TableExt.al} | 0 ...leExt.al => InventorySetupCZA.TableExt.al} | 0 ...xt.al => ItemEntryRelationCZA.TableExt.al} | 0 ...eExt.al => ItemJournalLineCZA.TableExt.al} | 0 ...eExt.al => ItemLedgerEntryCZA.TableExt.al} | 0 ...leExt.al => JobJournalLineCZA.TableExt.al} | 0 ...t.al => ManufacturingSetupCZA.TableExt.al} | 0 ...al => PostedAssemblyHeaderCZA.TableExt.al} | 0 ...t.al => PostedAssemblyLineCZA.TableExt.al} | 0 ...ableExt.al => PurchaseLineCZA.TableExt.al} | 0 ...e.TableExt.al => SalesLineCZA.TableExt.al} | 0 ...TableExt.al => ServiceLineCZA.TableExt.al} | 0 ...t.al => StdItemJournalLineCZA.TableExt.al} | 0 ...leExt.al => TransferHeaderCZA.TableExt.al} | 0 ...ableExt.al => TransferLineCZA.TableExt.al} | 0 ...l => TransferReceiptHeaderCZA.TableExt.al} | 0 ....al => TransferReceiptLineCZA.TableExt.al} | 0 ...bleExt.al => TransferRouteCZA.TableExt.al} | 0 ... => TransferShipmentHeaderCZA.TableExt.al} | 0 ...al => TransferShipmentLineCZA.TableExt.al} | 0 ....TableExt.al => ValueEntryCZA.TableExt.al} | 0 ...y.Table.al => DetailedGLEntryCZA.Table.al} | 0 Apps/CZ/AdvancedLocalizationPack/app/app.json | 8 +- ...it.al => ApplyingGLEntriesCZA.Codeunit.al} | 0 ...al => DimAutomaticCreationCZA.Codeunit.al} | 0 ...=> FieldMappingDateFormulaCZA.Codeunit.al} | 0 ....al => GenProdPostGroupSKUCZA.Codeunit.al} | 0 ...deunit.al => PostingGroupsCZA.Codeunit.al} | 0 ....al => ReportsandDocumentsCZA.Codeunit.al} | 0 ...l => TestInitializeHandlerCZA.Codeunit.al} | 0 .../CZ/AdvancedLocalizationPack/test/app.json | 14 +- ...al => BankAccReconcHandlerCZB.Codeunit.al} | 0 ...=> BankOperationsFunctionsCZB.Codeunit.al} | 0 ...=> BankStatementManagementCZB.Codeunit.al} | 0 ....al => BankingApprovalsMgtCZB.Codeunit.al} | 0 ...l => BankingDocumentTotalsCZB.Codeunit.al} | 0 ... CalendarManagementHandlerCZB.Codeunit.al} | 0 ...l => CreateBankAccStmtLineCZB.Codeunit.al} | 0 ...=> CrossApplicationHandlerCZB.Codeunit.al} | 0 ...al => DataClassEvalHandlerCZB.Codeunit.al} | 0 ...al => DocAttachmentHandlerCZB.Codeunit.al} | 0 ...l => ExpLaunchPaymentOrderCZB.Codeunit.al} | 0 ...t.al => ExportLauncherSEPACZB.Codeunit.al} | 0 ...l => GLAccWhereUsedHandlerCZB.Codeunit.al} | 0 ...l => GenJournalLineHandlerCZB.Codeunit.al} | 0 ...=> GuidedExperienceHandlerCZB.Codeunit.al} | 0 ... => ImpLaunchBankStatementCZB.Codeunit.al} | 0 ...l => ImpLaunchPaymentOrderCZB.Codeunit.al} | 0 ....al => ImportBankStatementCZB.Codeunit.al} | 0 ...t.al => InstallApplicationCZB.Codeunit.al} | 12 +- ...eunit.al => InstructionMgtCZB.Codeunit.al} | 0 ...t.al => IssueBankStatementCZB.Codeunit.al} | 0 ...=> IssueBankStatementPrintCZB.Codeunit.al} | 0 ...=> IssueBankStatementYesNoCZB.Codeunit.al} | 0 ...it.al => IssuePaymentOrderCZB.Codeunit.al} | 0 ... => IssuePaymentOrderPrintCZB.Codeunit.al} | 0 ... => IssuePaymentOrderYesNoCZB.Codeunit.al} | 0 ...nit.al => MatchBankPaymentCZB.Codeunit.al} | 0 ...unit.al => NavigateHandlerCZB.Codeunit.al} | 0 ....al => NotificationHandlerCZB.Codeunit.al} | 0 ... => PaymentOrderManagementCZB.Codeunit.al} | 0 ...deunit.al => SEPACTHandlerCZB.Codeunit.al} | 0 ...t.al => UnreliablePayerMgtCZB.Codeunit.al} | 0 ...t.al => UpgradeApplicationCZB.Codeunit.al} | 0 ...l => UpgradeTagDefinitionsCZB.Codeunit.al} | 0 ... => UserSetupAdvManagementCZB.Codeunit.al} | 0 ...unit.al => WorkflowHandlerCZB.Codeunit.al} | 0 ...xt.al => CalendarSourceTypeCZB.EnumExt.al} | 0 ...t.al => ManualSetupCategoryCZB.EnumExt.al} | 0 ...ype.Enum.al => BankingLineTypeCZB.Enum.al} | 0 ...m.al => BankingTransactionTypeCZB.Enum.al} | 0 ...tatus.Enum.al => JournalStatusCZB.Enum.al} | 0 ...num.al => MultipleSearchResultCZB.Enum.al} | 0 ...m.al => PaymentOrderHeadStatusCZB.Enum.al} | 0 ...m.al => PaymentOrderLineStatusCZB.Enum.al} | 0 ...um.al => SearchRuleAccountTypeCZB.Enum.al} | 0 ...chScope.Enum.al => SearchScopeCZB.Enum.al} | 0 ...l => AccountantCZRoleCenterCZB.PageExt.al} | 0 ...geExt.al => AdministratorRCCZB.PageExt.al} | 0 ...Ext.al => ApprovalUserSetupCZB.PageExt.al} | 0 ...geExt.al => BankAccountCardCZB.PageExt.al} | 0 ...al => BankExportImportSetupCZB.PageExt.al} | 0 ...al => CustomerLedgerEntriesCZB.PageExt.al} | 0 ...al => EmployeeLedgerEntriesCZB.PageExt.al} | 0 ...eExt.al => FinanceManagerRCCZB.PageExt.al} | 0 ...xt.al => GeneralLedgerSetupCZB.PageExt.al} | 0 ...ageExt.al => PaymentJournalCZB.PageExt.al} | 0 ...tup.PageExt.al => UserSetupCZB.PageExt.al} | 0 ...PageExt.al => UserSetupCardCZB.PageExt.al} | 0 ...t.al => VendorLedgerEntriesCZB.PageExt.al} | 0 ...ement.Page.al => BankStatementCZB.Page.al} | 0 ....Page.al => BankStatementLinesCZB.Page.al} | 0 ...age.al => BankStatementSubformCZB.Page.al} | 0 ...ents.Page.al => BankStatementsCZB.Page.al} | 0 ...age.al => BankingDocStatisticsCZB.Page.al} | 0 ...nt.Page.al => IssBankStatementCZB.Page.al} | 0 ...ge.al => IssBankStatementLinesCZB.Page.al} | 0 ...age.al => IssBankStatementSubfCZB.Page.al} | 0 ...s.Page.al => IssBankStatementsCZB.Page.al} | 0 ...der.Page.al => IssPaymentOrderCZB.Page.al} | 0 ...age.al => IssPaymentOrderLinesCZB.Page.al} | 0 ...e.al => IssPaymentOrderSubformCZB.Page.al} | 0 ...rs.Page.al => IssPaymentOrdersCZB.Page.al} | 0 ...tOrder.Page.al => PaymentOrderCZB.Page.al} | 0 ...s.Page.al => PaymentOrderLinesCZB.Page.al} | 0 ...Page.al => PaymentOrderSubformCZB.Page.al} | 0 ...rders.Page.al => PaymentOrdersCZB.Page.al} | 0 ...Card.Page.al => SearchRuleCardCZB.Page.al} | 0 ....Page.al => SearchRuleLineCardCZB.Page.al} | 0 ...age.al => SearchRuleLineLookupCZB.Page.al} | 0 ...List.Page.al => SearchRuleListCZB.Page.al} | 0 ...m.Page.al => SearchRuleSubformCZB.Page.al} | 0 ...> CZBankDocumentsEditCZB.PermissionSet.al} | 0 ...=> CZBankDocumentsObjCZB.PermissionSet.al} | 0 ...> CZBankDocumentsReadCZB.PermissionSet.al} | 0 ... => D365AUTOMATIONCZB.PermissionSetExt.al} | 0 ...xt.al => D365BASICCZB.PermissionSetExt.al} | 0 ...al => D365BASICISVCZB.PermissionSetExt.al} | 0 ...Ext.al => D365READCZB.PermissionSetExt.al} | 0 ... => D365TEAMMEMBERCZB.PermissionSetExt.al} | 0 ...> INTELLIGENTCLOUDCZB.PermissionSetExt.al} | 0 ...SetExt.al => LOCALCZB.PermissionSetExt.al} | 0 ...port.al => BankStatementTestCZB.Report.al} | 0 ...eport.al => CopyPaymentOrderCZB.Report.al} | 0 ...t.al => CreateGeneralJournalCZB.Report.al} | 0 ....al => CreatePaymentReconJnlCZB.Report.al} | 0 ...eport.al => IssBankStatementCZB.Report.al} | 0 ...Report.al => IssPaymentOrderCZB.Report.al} | 0 ...eport.al => PaymentOrderTestCZB.Report.al} | 0 ...Report.al => SuggestPaymentsCZB.Report.al} | 0 ...l => BankAccReconciliationCZB.TableExt.al} | 0 ...TableExt.al => BankAccountCZB.TableExt.al} | 0 ...l => BankExportImportSetupCZB.TableExt.al} | 0 ...eExt.al => CustLedgerEntryCZB.TableExt.al} | 0 ....al => EmployeeLedgerEntryCZB.TableExt.al} | 0 ...leExt.al => GenJournalLineCZB.TableExt.al} | 0 ...xt.al => PaymentExportDataCZB.TableExt.al} | 0 ...p.TableExt.al => UserSetupCZB.TableExt.al} | 0 ...xt.al => VendorLedgerEntryCZB.TableExt.al} | 0 ...ble.al => BankStatementHeaderCZB.Table.al} | 0 ...Table.al => BankStatementLineCZB.Table.al} | 0 ....al => IssBankStatementHeaderCZB.Table.al} | 0 ...le.al => IssBankStatementLineCZB.Table.al} | 0 ...e.al => IssPaymentOrderHeaderCZB.Table.al} | 0 ...ble.al => IssPaymentOrderLineCZB.Table.al} | 0 ....al => MatchBankPaymentBufferCZB.Table.al} | 0 ...able.al => PaymentOrderHeaderCZB.Table.al} | 0 ....Table.al => PaymentOrderLineCZB.Table.al} | 0 ...chRule.Table.al => SearchRuleCZB.Table.al} | 0 ...ne.Table.al => SearchRuleLineCZB.Table.al} | 0 .../BankingDocumentsLocalization/app/app.json | 8 +- ...nit.al => BankingDocumentsCZB.Codeunit.al} | 0 ...l => ERMGLAccountWhereUsedCZB.Codeunit.al} | 0 ...al => LibraryBankDocumentsCZB.Codeunit.al} | 0 .../test/app.json | 14 +- ...t.al => BankAccountHandlerCZP.Codeunit.al} | 0 ...t.al => CashDeskManagementCZP.Codeunit.al} | 2 + ... => CashDeskSingleInstanceCZP.Codeunit.al} | 0 ...l => CashDocumentApprovMgtCZP.Codeunit.al} | 0 ...nit.al => CashDocumentPostCZP.Codeunit.al} | 2 + ...l => CashDocumentPostPrintCZP.Codeunit.al} | 0 ...l => CashDocumentPostYesNoCZP.Codeunit.al} | 0 ....al => CashDocumentReleaseCZP.Codeunit.al} | 0 ...> CashDocumentReleasePrintCZP.Codeunit.al} | 0 ...t.al => CashDocumentTotalsCZP.Codeunit.al} | 0 ....al => CopyCashDocumentMgtCZP.Codeunit.al} | 0 ...=> CrossApplicationHandlerCZP.Codeunit.al} | 0 ...al => DataClassEvalHandlerCZP.Codeunit.al} | 0 ...=> DefaultDimensionHandlerCZP.Codeunit.al} | 0 ...al => DocAttachmentHandlerCZP.Codeunit.al} | 0 ...Codeunit.al => EETCashDeskCZP.Codeunit.al} | 0 ...deunit.al => EETManagementCZP.Codeunit.al} | 0 ...l => GenLedgerSetupHandlerCZP.Codeunit.al} | 0 ...=> GuidedExperienceHandlerCZP.Codeunit.al} | 0 ...t.al => InstallApplicationCZP.Codeunit.al} | 13 +- .../ManualCrossAppHandlerCZP.Codeunit.al | 26 + ...unit.al => NavigateHandlerCZP.Codeunit.al} | 0 ....al => NotificationHandlerCZP.Codeunit.al} | 0 ...unit.al => PurchaseHandlerCZP.Codeunit.al} | 0 ...odeunit.al => SalesHandlerCZP.Codeunit.al} | 0 ...eunit.al => ServiceHandlerCZP.Codeunit.al} | 0 ...t.al => UpgradeApplicationCZP.Codeunit.al} | 0 ...l => UpgradeTagDefinitionsCZP.Codeunit.al} | 0 ...al => VATRepDateMgtHandlerCZP.Codeunit.al} | 0 ...unit.al => WorkflowHandlerCZP.Codeunit.al} | 0 ....al => CommentLineTableNameCZP.EnumExt.al} | 0 .../EETAppliedDocumentType.EnumExt.al | 14 - ...t.al => EETCashRegisterTypeCZP.EnumExt.al} | 0 ...t.al => ManualSetupCategoryCZP.EnumExt.al} | 0 ...ype.Enum.al => BankAccountTypeCZP.Enum.al} | 0 ...Enum.al => CashDeskRepSelUsageCZP.Enum.al} | 0 ....al => CashDocumentAccountTypeCZP.Enum.al} | 0 ....Enum.al => CashDocumentActionCZP.Enum.al} | 0 ...m.al => CashDocumentFAPostTypeCZP.Enum.al} | 0 ...m.al => CashDocumentGenDocTypeCZP.Enum.al} | 0 ....al => CashDocumentPartnerTypeCZP.Enum.al} | 0 ....Enum.al => CashDocumentStatusCZP.Enum.al} | 0 ...pe.Enum.al => CashDocumentTypeCZP.Enum.al} | 0 ...l => AccountantCZRoleCenterCZP.PageExt.al} | 0 ...Ext.al => ApprovalUserSetupCZP.PageExt.al} | 0 ...xt.al => BankAccountBalanceCZP.PageExt.al} | 0 ...geExt.al => BankAccountCardCZP.PageExt.al} | 0 ...l => BankAccountLedgEntriesCZP.PageExt.al} | 0 ...geExt.al => BankAccountListCZP.PageExt.al} | 0 ...Ext.al => BusinessManagerRCCZP.PageExt.al} | 0 ...es.PageExt.al => CurrenciesCZP.PageExt.al} | 0 ...eExt.al => FinanceManagerRCCZP.PageExt.al} | 0 ...xt.al => GeneralLedgerSetupCZP.PageExt.al} | 0 ...ageExt.al => PaymentMethodsCZP.PageExt.al} | 0 ...geExt.al => SourceCodeSetupCZP.PageExt.al} | 0 ...tup.PageExt.al => UserSetupCZP.PageExt.al} | 0 ....Page.al => CashDeskActivitiesCZP.Page.al} | 0 ...skCard.Page.al => CashDeskCardCZP.Page.al} | 0 ...ents.Page.al => CashDeskEventsCZP.Page.al} | 0 ...Page.al => CashDeskEventsSetupCZP.Page.al} | 0 ...Box.Page.al => CashDeskFactBoxCZP.Page.al} | 0 ...skList.Page.al => CashDeskListCZP.Page.al} | 0 ....Page.al => CashDeskRoleCenterCZP.Page.al} | 0 ....Page.al => CashDeskStatisticsCZP.Page.al} | 0 ...Users.Page.al => CashDeskUsersCZP.Page.al} | 0 ...cument.Page.al => CashDocumentCZP.Page.al} | 3 +- ...s.Page.al => CashDocumentLinesCZP.Page.al} | 0 ...st.Page.al => CashDocumentListCZP.Page.al} | 4 +- ...e.al => CashDocumentStatisticsCZP.Page.al} | 0 ...Page.al => CashDocumentSubformCZP.Page.al} | 0 ...ge.al => CurrencyNominalValuesCZP.Page.al} | 0 ....Page.al => PostedCashDocumentCZP.Page.al} | 0 ....al => PostedCashDocumentLinesCZP.Page.al} | 0 ...e.al => PostedCashDocumentListCZP.Page.al} | 0 ...e.al => PostedCashDocumentStatCZP.Page.al} | 0 ...e.al => PostedCashDocumentSubfCZP.Page.al} | 0 ....al => ReportSelectionCashDeskCZP.Page.al} | 0 ....al => CZCashDeskEditCZP.PermissionSet.al} | 0 ... => CZCashDeskObjectsCZP.PermissionSet.al} | 1 + ....al => CZCashDeskReadCZP.PermissionSet.al} | 0 ... => D365AUTOMATIONCZP.PermissionSetExt.al} | 0 ...xt.al => D365BASICCZP.PermissionSetExt.al} | 0 ...al => D365BASICISVCZP.PermissionSetExt.al} | 0 ...Ext.al => D365READCZP.PermissionSetExt.al} | 0 ... => D365TEAMMEMBERCZP.PermissionSetExt.al} | 0 ...> INTELLIGENTCLOUDCZP.PermissionSetExt.al} | 0 ...SetExt.al => LOCALCZP.PermissionSetExt.al} | 0 ...rofile.al => CashDeskWorkerCZP.Profile.al} | 0 ...rt.al => CashDeskAccountBookCZP.Report.al} | 0 ...ok.Report.al => CashDeskBookCZP.Report.al} | 0 ...eport.al => CashDeskHandOverCZP.Report.al} | 0 ...port.al => CashDeskInventoryCZP.Report.al} | 7 +- ...eport.al => CopyCashDocumentCZP.Report.al} | 0 ...al => PostedRcptCashDocumentCZP.Report.al} | 0 ...al => PostedWdrlCashDocumentCZP.Report.al} | 0 ...rt.al => ReceiptCashDocumentCZP.Report.al} | 0 ...al => WithdrawalCashDocumentCZP.Report.al} | 0 ...TableExt.al => BankAccountCZP.TableExt.al} | 0 ...t.al => GeneralLedgerSetupCZP.TableExt.al} | 0 ...bleExt.al => PaymentMethodCZP.TableExt.al} | 0 ...leExt.al => PurchCrMemoHdrCZP.TableExt.al} | 0 ...leExt.al => PurchInvHeaderCZP.TableExt.al} | 0 ...leExt.al => PurchaseHeaderCZP.TableExt.al} | 0 ...xt.al => SalesCrMemoHeaderCZP.TableExt.al} | 0 ...TableExt.al => SalesHeaderCZP.TableExt.al} | 0 ...t.al => SalesInvoiceHeaderCZP.TableExt.al} | 0 ....al => ServiceCrMemoHeaderCZP.TableExt.al} | 0 ...bleExt.al => ServiceHeaderCZP.TableExt.al} | 0 ...al => ServiceInvoiceHeaderCZP.TableExt.al} | 0 ...eExt.al => SourceCodeSetupCZP.TableExt.al} | 0 ...p.TableExt.al => UserSetupCZP.TableExt.al} | 0 ...CashDesk.Table.al => CashDeskCZP.Table.al} | 0 ...skCue.Table.al => CashDeskCueCZP.Table.al} | 0 ...ent.Table.al => CashDeskEventCZP.Table.al} | 0 ...e.al => CashDeskRepSelectionsCZP.Table.al} | 0 ...User.Table.al => CashDeskUserCZP.Table.al} | 0 ...able.al => CashDocumentHeaderCZP.Table.al} | 30 - ....Table.al => CashDocumentLineCZP.Table.al} | 33 +- ...le.al => CurrencyNominalValueCZP.Table.al} | 0 ...e.al => PostedCashDocumentHdrCZP.Table.al} | 0 ....al => PostedCashDocumentLineCZP.Table.al} | 0 Apps/CZ/CashDeskLocalization/app/app.json | 8 +- ...it.al => CashDeskDocumentsCZP.Codeunit.al} | 0 ...nit.al => CashDeskPurchaseCZP.Codeunit.al} | 0 ...unit.al => CashDeskReportsCZP.Codeunit.al} | 0 ...deunit.al => CashDeskSalesCZP.Codeunit.al} | 0 ...unit.al => CashDeskServiceCZP.Codeunit.al} | 0 ...=> CashDocumentAttachmentsCZP.Codeunit.al} | 0 ... => ERMDimensionSubscriberCZP.Codeunit.al} | 0 ...unit.al => LibraryCashDeskCZP.Codeunit.al} | 1 - ....al => LibraryCashDocumentCZP.Codeunit.al} | 0 Apps/CZ/CashDeskLocalization/test/app.json | 14 +- ...al => CompDocManualReleaseCZC.Codeunit.al} | 0 ....al => CompDocManualReopenCZC.Codeunit.al} | 0 ...l => CompensationApprovMgtCZC.Codeunit.al} | 0 ... => CompensationManagementCZC.Codeunit.al} | 0 ...nit.al => CompensationPostCZC.Codeunit.al} | 0 ...l => CompensationPostPrintCZC.Codeunit.al} | 0 ...l => CompensationPostYesNoCZC.Codeunit.al} | 0 ...=> CrossApplicationHandlerCZC.Codeunit.al} | 0 ...unit.al => CustomerHandlerCZC.Codeunit.al} | 0 ...al => DataClassEvalHandlerCZC.Codeunit.al} | 0 ...al => DocAttachmentHandlerCZC.Codeunit.al} | 0 ...l => GLAccWhereUsedHandlerCZC.Codeunit.al} | 0 ...l => GenJournalLineHandlerCZC.Codeunit.al} | 0 ...=> GuidedExperienceHandlerCZC.Codeunit.al} | 0 ...=> IncomingDocumentHandlerCZC.Codeunit.al} | 0 ...t.al => InstallApplicationCZC.Codeunit.al} | 13 +- ...unit.al => NavigateHandlerCZC.Codeunit.al} | 0 ....al => NotificationHandlerCZC.Codeunit.al} | 0 ... => PostingGroupMgtHandlerCZC.Codeunit.al} | 0 ... => ReleaseCompensDocumentCZC.Codeunit.al} | 0 ...t.al => UpgradeApplicationCZC.Codeunit.al} | 0 ...l => UpgradeTagDefinitionsCZC.Codeunit.al} | 0 ...deunit.al => VendorHandlerCZC.Codeunit.al} | 0 ...unit.al => WorkflowHandlerCZC.Codeunit.al} | 0 ...l => IncomingRelatedDocTypeCZC.EnumExt.al} | 0 ...t.al => ManualSetupCategoryCZC.EnumExt.al} | 0 ...um.al => CompensProposalMethodCZC.Enum.al} | 0 ...um.al => CompensReportSelUsageCZC.Enum.al} | 0 ....al => CompensationCompanyTypeCZC.Enum.al} | 0 ...m.al => CompensationSourceTypeCZC.Enum.al} | 0 ....Enum.al => CompensationStatusCZC.Enum.al} | 0 ...l => AccountantCZRoleCenterCZC.PageExt.al} | 0 ...al => CustomerLedgerEntriesCZC.PageExt.al} | 0 ...ageExt.al => PaymentJournalCZC.PageExt.al} | 0 ...geExt.al => SourceCodeSetupCZC.PageExt.al} | 0 ...t.al => VendorLedgerEntriesCZC.PageExt.al} | 0 ...age.al => CompensCustLESubformCZC.Page.al} | 0 ....al => CompensReportSelectionsCZC.Page.al} | 0 ...e.al => CompensVendorLESubformCZC.Page.al} | 0 ...rd.Page.al => CompensationCardCZC.Page.al} | 0 ...s.Page.al => CompensationLinesCZC.Page.al} | 0 ...st.Page.al => CompensationListCZC.Page.al} | 0 ...age.al => CompensationProposalCZC.Page.al} | 4 +- ...Page.al => CompensationSubformCZC.Page.al} | 1 - ....Page.al => CompensationsSetupCZC.Page.al} | 0 ...e.al => PostedCompensationCardCZC.Page.al} | 0 ....al => PostedCompensationLinesCZC.Page.al} | 0 ...e.al => PostedCompensationListCZC.Page.al} | 0 ...e.al => PostedCompensationSubfCZC.Page.al} | 0 ...=> CZCompensationEditCZC.PermissionSet.al} | 0 ...CZCompensationObjectsCZC.PermissionSet.al} | 0 ...=> CZCompensationReadCZC.PermissionSet.al} | 0 ... => D365AUTOMATIONCZC.PermissionSetExt.al} | 0 ...xt.al => D365BASICCZC.PermissionSetExt.al} | 0 ...al => D365BASICISVCZC.PermissionSetExt.al} | 0 ...ext.al => D365READCZC.PermissionSetExt.al} | 0 ... => D365TEAMMEMBERCZC.PermissionSetExt.al} | 0 ...> INTELLIGENTCLOUDCZC.PermissionSetExt.al} | 0 ...SetExt.al => LOCALCZC.PermissionSetExt.al} | 0 ...on.Report.al => CompensationCZC.Report.al} | 6 +- ...ort.al => PostedCompensationCZC.Report.al} | 10 +- ...eExt.al => CustLedgerEntryCZC.TableExt.al} | 0 ...leExt.al => GenJournalLineCZC.TableExt.al} | 0 ...Ext.al => IncomingDocumentCZC.TableExt.al} | 0 ...al => PostedGenJournalLineCZC.TableExt.al} | 0 ...eExt.al => SourceCodeSetupCZC.TableExt.al} | 0 ...p.TableExt.al => UserSetupCZC.TableExt.al} | 0 ...xt.al => VendorLedgerEntryCZC.TableExt.al} | 0 ...al => CompensReportSelectionsCZC.Table.al} | 0 ...able.al => CompensationHeaderCZC.Table.al} | 0 ....Table.al => CompensationLineCZC.Table.al} | 2 + ...able.al => CompensationsSetupCZC.Table.al} | 0 ...l => PostedCompensationHeaderCZC.Table.al} | 0 ....al => PostedCompensationLineCZC.Table.al} | 0 Apps/CZ/CompensationLocalization/app/app.json | 8 +- ...deunit.al => CompensationsCZC.Codeunit.al} | 0 ...al => CompensationsReportsCZC.Codeunit.al} | 0 ... => ERMDimensionSubscriberCZC.Codeunit.al} | 0 ...l => ERMGLAccountWhereUsedCZC.Codeunit.al} | 0 ...it.al => IncomingDocumentsCZC.Codeunit.al} | 0 ....al => LibraryCompensationCZC.Codeunit.al} | 0 .../CZ/CompensationLocalization/test/app.json | 14 +- ...al => AccSchedExtensionMgtCZL.Codeunit.al} | 0 ...l => AccScheduleManagementCZL.Codeunit.al} | 37 - ... => ApplicationAreaHandlerCZL.Codeunit.al} | 0 ....al => ApprovalsManagementCZL.Codeunit.al} | 0 ...t.al => BankAccountHandlerCZL.Codeunit.al} | 0 ...=> BankOperationsFunctionsCZL.Codeunit.al} | 0 ...t.al => CNBCurrExchRateMgtCZL.Codeunit.al} | 0 ...l => CVPostingGroupHandlerCZL.Codeunit.al} | 0 ...unit.al => CashFlowHandlerCZL.Codeunit.al} | 0 ...l => CompanyBankAccHandlerCZL.Codeunit.al} | 0 ...t.al => CompanyInfoHandlerCZL.Codeunit.al} | 0 ....al => ConfVATEntUpdateMgtCZL.Codeunit.al} | 0 ...eunit.al => ContactHandlerCZL.Codeunit.al} | 0 ... => CopyDocumentMgtHandlerCZL.Codeunit.al} | 0 ...it.al => CopyGenJnlHandlerCZL.Codeunit.al} | 0 ...l => CorrectionsPostingMgtCZL.Codeunit.al} | 36 - ....al => CrossApplicationMgtCZL.Codeunit.al} | 10 + ...al => CustEntryEditHandlerCZL.Codeunit.al} | 0 ... => CustLedgerEntryHandlerCZL.Codeunit.al} | 0 ... => CustomerBankAccHandlerCZL.Codeunit.al} | 0 ...unit.al => CustomerHandlerCZL.Codeunit.al} | 0 ...al => CustomerTemplHandlerCZL.Codeunit.al} | 0 ...l => CustomerVendorBalanceCZL.Codeunit.al} | 0 ...al => DataClassEvalHandlerCZL.Codeunit.al} | 8 + ....al => DimensionMgtHandlerCZL.Codeunit.al} | 0 ... => DirectTransLineHandlerCZL.Codeunit.al} | 0 ...al => DocAttachmentHandlerCZL.Codeunit.al} | 0 ... => EETCashRegisterDefaultCZL.Codeunit.al} | 0 ...t.al => EETControlCodesMgtCZL.Codeunit.al} | 0 ...deunit.al => EETManagementCZL.Codeunit.al} | 0 ...al => EETSendEntriesToServCZL.Codeunit.al} | 0 ...al => EETServiceManagementCZL.Codeunit.al} | 6 - ....al => EETStatusManagementCZL.Codeunit.al} | 0 ....al => EETTextSignProviderCZL.Codeunit.al} | 0 ...t.al => EETXmlSignProviderCZL.Codeunit.al} | 0 ...al => EU3PartyTradeFeatMgtCZL.Codeunit.al} | 0 ...l => EmpLedgerEntryHandlerCZL.Codeunit.al} | 0 ...unit.al => EmployeeHandlerCZL.Codeunit.al} | 0 ...l => FAJnlCheckLineHandlerCZL.Codeunit.al} | 0 ...al => FAReclJnlLineHandlerCZL.Codeunit.al} | 0 ...al => FinChargeMemoHandlerCZL.Codeunit.al} | 0 ...it.al => FormatDocumentMgtCZL.Codeunit.al} | 0 ...al => GLAccountCategoryMgtCZL.Codeunit.al} | 0 ... => GenJnlCheckLineHandlerCZL.Codeunit.al} | 0 ...=> GenJnlManagementHandlerCZL.Codeunit.al} | 0 ...t.al => GenJnlPostAccGroupCZL.Codeunit.al} | 0 ...l => GenJnlPostLineHandlerCZL.Codeunit.al} | 0 ...l => GenJnlTemplateHandlerCZL.Codeunit.al} | 0 ... => GenJournalBatchHandlerCZL.Codeunit.al} | 13 - ...l => GenJournalLineHandlerCZL.Codeunit.al} | 2 +- ....al => GetInvReportHandlerCZL.Codeunit.al} | 0 ...=> GuidedExperienceHandlerCZL.Codeunit.al} | 0 ... => InsJnlCheckLineHandlerCZL.Codeunit.al} | 0 ...t.al => InstallApplicationCZL.Codeunit.al} | 79 +- ... => InstallApplicationsMgtCZL.Codeunit.al} | 0 ...eunit.al => InstructionMgtCZL.Codeunit.al} | 0 ... => IntrastatJnlBchHandlerCZL.Codeunit.al} | 0 ...=> IntrastatJnlLineHandlerCZL.Codeunit.al} | 0 ...al => InvPostBufferHandlerCZL.Codeunit.al} | 5 +- ...=> InventoryPostingHandlerCZL.Codeunit.al} | 84 - ....al => InvtDocumentHandlerCZL.Codeunit.al} | 0 ....al => InvtDocumentPrintedCZL.Codeunit.al} | 0 ...=> ItemChargeAssgntHandlerCZL.Codeunit.al} | 0 ...Codeunit.al => ItemHandlerCZL.Codeunit.al} | 0 ...=> ItemJnlCheckLineHandlerCZL.Codeunit.al} | 0 ... => ItemJnlPostLineHandlerCZL.Codeunit.al} | 0 ... => ItemJnlTemplateHandlerCZL.Codeunit.al} | 0 ... => ItemJournalLineHandlerCZL.Codeunit.al} | 0 ....al => ItemLedgerEntryEditCZL.Codeunit.al} | 0 ... => ItemTrackingDocHandlerCZL.Codeunit.al} | 0 ....Codeunit.al => JobHandlerCZL.Codeunit.al} | 0 ... => JobJnlCheckLineHandlerCZL.Codeunit.al} | 0 ...l => JobJournalLineHandlerCZL.Codeunit.al} | 0 ... => JobTransferLineHandlerCZL.Codeunit.al} | 0 ...unit.al => NavigateHandlerCZL.Codeunit.al} | 0 ... => PersistConfirmResponseCZL.Codeunit.al} | 0 ... => PhysInOrderLineHandlerCZL.Codeunit.al} | 0 ...al => PostPrevEventHandlerCZL.Codeunit.al} | 0 ...unit.al => PostPrevHandlerCZL.Codeunit.al} | 0 ...al => PostPrevTableHandlerCZL.Codeunit.al} | 0 ...l => PostedInvtRcptPrintedCZL.Codeunit.al} | 0 ...l => PostedInvtShptPrintedCZL.Codeunit.al} | 0 ... => PostingGroupManagementCZL.Codeunit.al} | 0 ...l => PurchaseHeaderHandlerCZL.Codeunit.al} | 0 ....al => PurchaseLineHandlerCZL.Codeunit.al} | 0 ... => PurchasePostingHandlerCZL.Codeunit.al} | 531 +- ...l => ReconciliationHandlerCZL.Codeunit.al} | 0 ...nit.al => RegLookupExtDataCZL.Codeunit.al} | 0 ...t.al => RegistrationLogMgtCZL.Codeunit.al} | 6 - ...it.al => RegistrationNoMgtCZL.Codeunit.al} | 0 ...l => RelTransferDocHandlerCZL.Codeunit.al} | 0 ... => ReleasePurchDocHandlerCZL.Codeunit.al} | 0 ... => ReleaseSalesDocHandlerCZL.Codeunit.al} | 0 ... => ReleaseVIESDeclarationCZL.Codeunit.al} | 0 ...unit.al => ReminderHandlerCZL.Codeunit.al} | 0 ...it.al => ReplaceVATDateMgtCZL.Codeunit.al} | 16 + ... => ReportSelectionHandlerCZL.Codeunit.al} | 0 ... => RequisitionLineHandlerCZL.Codeunit.al} | 0 ... => ResJnlCheckLineHandlerCZL.Codeunit.al} | 0 ...=> SOAPWSRequestManagementCZL.Codeunit.al} | 28 +- ...t.al => SalesHeaderHandlerCZL.Codeunit.al} | 0 ...nit.al => SalesLineHandlerCZL.Codeunit.al} | 0 ....al => SalesPostingHandlerCZL.Codeunit.al} | 332 +- ...al => ServiceHeaderHandlerCZL.Codeunit.al} | 0 ...t.al => ServiceLineHandlerCZL.Codeunit.al} | 0 ...l => ServicePostingHandlerCZL.Codeunit.al} | 0 ... => SourceCodeSetupHandlerCZL.Codeunit.al} | 0 ...=> SubstituteReportHandlerCZL.Codeunit.al} | 8 - ...it.al => SyncDepFldContactCZL.Codeunit.al} | 0 ...t.al => SyncDepFldCustomerCZL.Codeunit.al} | 0 ... => SyncDepFldDODocVATDateCZL.Codeunit.al} | 0 ...it.al => SyncDepFldGLEntryCZL.Codeunit.al} | 0 ...al => SyncDepFldGenJnlLineCZL.Codeunit.al} | 0 ...al => SyncDepFldPCrMemoHdrCZL.Codeunit.al} | 0 ... => SyncDepFldPurchHdrArchCZL.Codeunit.al} | 0 ...l => SyncDepFldPurchHeaderCZL.Codeunit.al} | 0 ...l => SyncDepFldPurchInvHdrCZL.Codeunit.al} | 0 ...al => SyncDepFldSCrMemoHdrCZL.Codeunit.al} | 0 ... => SyncDepFldSalesHdrArchCZL.Codeunit.al} | 0 ...l => SyncDepFldSalesHeaderCZL.Codeunit.al} | 0 ...l => SyncDepFldSalesInvHdrCZL.Codeunit.al} | 0 ...=> SyncDepFldServCrMemoHdrCZL.Codeunit.al} | 0 ...=> SyncDepFldServiceHeaderCZL.Codeunit.al} | 0 ...=> SyncDepFldServiceInvHdrCZL.Codeunit.al} | 0 ...=> SyncDepFldSubstCustPGrpCZL.Codeunit.al} | 0 ...=> SyncDepFldSubstVendPGrpCZL.Codeunit.al} | 0 ...t.al => SyncDepFldVATEntryCZL.Codeunit.al} | 0 ...l => SyncDepFldVATStmtLineCZL.Codeunit.al} | 0 ...nit.al => SyncDepFldVendorCZL.Codeunit.al} | 0 ....al => TariffNumberHandlerCZL.Codeunit.al} | 0 ....al => TransferLineHandlerCZL.Codeunit.al} | 0 ...> TransferOrderPostHandlerCZL.Codeunit.al} | 0 ...l => TransformationRuleMgtCZL.Codeunit.al} | 0 ...t.al => UnreliablePayerMgtCZL.Codeunit.al} | 6 - ...it.al => UnreliablePayerWSCZL.Codeunit.al} | 0 ...t.al => UpgradeApplicationCZL.Codeunit.al} | 0 ...l => UpgradeTagDefinitionsCZL.Codeunit.al} | 0 ... => UserSetupAdvManagementCZL.Codeunit.al} | 0 ...nit.al => UserSetupHandlerCZL.Codeunit.al} | 0 ...al => VATAmountLineHandlerCZL.Codeunit.al} | 0 ....al => VATAttributeCodeMgtCZL.Codeunit.al} | 0 ... => VATControlReportDPHKH1CZL.Codeunit.al} | 0 ....al => VATCorrNotifHandlerCZL.Codeunit.al} | 0 ....al => VATCtrlRepExpRunnerCZL.Codeunit.al} | 0 ...nit.al => VATCtrlReportMgtCZL.Codeunit.al} | 0 ...al => VATCtrlReportReleaseCZL.Codeunit.al} | 0 ...al => VATCurrFactorHandlerCZL.Codeunit.al} | 0 ...eunit.al => VATDateHandlerCZL.Codeunit.al} | 0 ...unit.al => VATEntryHandlerCZL.Codeunit.al} | 0 ....al => VATLCYCorrPostYesNoCZL.Codeunit.al} | 0 ...al => VATLCYCorrectionPostCZL.Codeunit.al} | 0 ...al => VATRegLogSuppressionCZL.Codeunit.al} | 0 ...al => VATRepDateMgtHandlerCZL.Codeunit.al} | 0 ...t.al => VATStatementDPHDP3CZL.Codeunit.al} | 0 ...=> VATStatementLineHandlerCZL.Codeunit.al} | 0 ... => VATStmtTemplateHandlerCZL.Codeunit.al} | 0 ... => VATStmtXMLExportHelperCZL.Codeunit.al} | 0 ... => VATStmtXMLExportRunnerCZL.Codeunit.al} | 0 ... VEntryApplyPstdEntHandlerCZL.Codeunit.al} | 0 ...al => VendEntryEditHandlerCZL.Codeunit.al} | 0 ... => VendLedgerEntryHandlerCZL.Codeunit.al} | 0 ...al => VendorBankAccHandlerCZL.Codeunit.al} | 0 ...deunit.al => VendorHandlerCZL.Codeunit.al} | 0 ...t.al => VendorTemplHandlerCZL.Codeunit.al} | 0 ... => WhseJournalLineHandlerCZL.Codeunit.al} | 0 ... => WhseWorkshtLineHandlerCZL.Codeunit.al} | 0 ...> WorkflowResponseHandlingCZL.Codeunit.al} | 0 ...t.al => AccSchedLineTotTypeCZL.EnumExt.al} | 0 ...al => BatchPostingParamTypeCZL.EnumExt.al} | 0 ...al => InvtPostBufferAccTypeCZL.EnumExt.al} | 0 ...t.al => ManualSetupCategoryCZL.EnumExt.al} | 0 ....al => VATStatementLineTypeCZL.EnumExt.al} | 0 ...m.al => AccScheduleSourceTableCZL.Enum.al} | 0 ...um.al => AccScheduleSourceTypeCZL.Enum.al} | 0 ...m.al => AccountingScheduleCalcCZL.Enum.al} | 0 ...m.al => AccountingScheduleTypeCZL.Enum.al} | 0 ...um.al => AssetsLiabilitiesTypeCZL.Enum.al} | 0 ...Type.Enum.al => CreditMemoTypeCZL.Enum.al} | 0 ...um.al => DefaultOrigDocVATDateCZL.Enum.al} | 0 ...Date.Enum.al => DefaultVATDateCZL.Enum.al} | 0 ...m.al => EETAppliedDocumentTypeCZL.Enum.al} | 0 ...Enum.al => EETCashRegisterTypeCZL.Enum.al} | 0 ...gime.Enum.al => EETSalesRegimeCZL.Enum.al} | 0 ...EETStatus.Enum.al => EETStatusCZL.Enum.al} | 0 ...roup.Enum.al => GLAccountGroupCZL.Enum.al} | 0 ...um.al => IntrastatDetailSourceCZL.Enum.al} | 0 ...m.al => IntrastatStatementTypeCZL.Enum.al} | 0 ...e.Enum.al => RegLogAccountTypeCZL.Enum.al} | 0 ...d.Enum.al => RegLogDetailFieldCZL.Enum.al} | 0 ....Enum.al => RegLogDetailStatusCZL.Enum.al} | 0 ...l => RegLogDetailedFieldStatusCZL.Enum.al} | 0 ....Enum.al => ReverseChargeCheckCZL.Enum.al} | 0 ...e.Enum.al => UserSetupLineTypeCZL.Enum.al} | 0 ...Enum.al => VATCtrlReportCorectCZL.Enum.al} | 0 ...um.al => VATCtrlReportDeclTypeCZL.Enum.al} | 0 ...Enum.al => VATCtrlReportFormatCZL.Enum.al} | 0 ...e.Enum.al => VATCtrlReportModeCZL.Enum.al} | 0 .../{VATRate.Enum.al => VATRateCZL.Enum.al} | 0 ...um.al => VATStatementXMLFormatCZL.Enum.al} | 0 ...m.al => VATStmtDeclarationTypeCZL.Enum.al} | 0 ...t.al => AccScheduleOverviewCZL.PageExt.al} | 0 ...geExt.al => AccountScheduleCZL.PageExt.al} | 0 ....al => AccountScheduleNamesCZL.PageExt.al} | 0 ...t.al => AccountingManagerRCCZL.PageExt.al} | 0 ...t.al => AdministratorMainRCCZL.PageExt.al} | 0 ...geExt.al => BankAccountCardCZL.PageExt.al} | 0 ...geExt.al => BankAccountListCZL.PageExt.al} | 0 ...l => BlanketPurchOrdSubformCZL.PageExt.al} | 0 ....al => BlanketPurchaseOrderCZL.PageExt.al} | 0 ...al => BlanketPurchaseOrdersCZL.PageExt.al} | 0 ...l => BlanketSalesOrdSubformCZL.PageExt.al} | 0 ...Ext.al => BlanketSalesOrderCZL.PageExt.al} | 0 ...xt.al => BlanketSalesOrdersCZL.PageExt.al} | 0 ...xt.al => CashReceiptJournalCZL.PageExt.al} | 0 ...geExt.al => ChartofAccountsCZL.PageExt.al} | 0 ...Ext.al => ChartofAccountsGLCZL.PageExt.al} | 0 ...Ext.al => ChartofAccsAnViewCZL.PageExt.al} | 0 ...xt.al => CompanyInformationCZL.PageExt.al} | 0 ...d.PageExt.al => ContactCardCZL.PageExt.al} | 0 ...t.PageExt.al => ContactListCZL.PageExt.al} | 0 ....al => CopyGenJnlParametersCZL.PageExt.al} | 0 ...l => CustLedgEntriesPreviewCZL.PageExt.al} | 0 ....PageExt.al => CustomerCardCZL.PageExt.al} | 51 - ...al => CustomerLedgerEntriesCZL.PageExt.al} | 0 ....PageExt.al => CustomerListCZL.PageExt.al} | 0 ...al => CustomerPostingGroupsCZL.PageExt.al} | 0 ...Ext.al => CustomerTemplCardCZL.PageExt.al} | 0 ....al => DepreciationBookCardCZL.PageExt.al} | 0 ...l => DetCustLedgEntrPreviewCZL.PageExt.al} | 0 ...al => DetVendEntriesPreviewCZL.PageExt.al} | 0 ... => DetailedCustLedgEntriesCZL.PageExt.al} | 0 ... => DetailedVendLedgEntriesCZL.PageExt.al} | 0 ...al => EmployeeLedgerEntriesCZL.PageExt.al} | 0 ...Ext.al => FinanceChargeMemoCZL.PageExt.al} | 0 ...al => FinanceChargeMemoListCZL.PageExt.al} | 0 ...eExt.al => FinanceManagerRCCZL.PageExt.al} | 0 ...eExt.al => FinancialReportsCZL.PageExt.al} | 0 ...t.al => FixedAssetGLJournalCZL.PageExt.al} | 0 ...al => GLAccountBalanceLinesCZL.PageExt.al} | 0 ...PageExt.al => GLAccountCardCZL.PageExt.al} | 0 ...nce.PageExt.al => GLBalanceCZL.PageExt.al} | 0 ...eExt.al => GLEntriesPreviewCZL.PageExt.al} | 0 ...s.PageExt.al => GLRegistersCZL.PageExt.al} | 0 ...al => GeneralJournalBatchesCZL.PageExt.al} | 0 ...ageExt.al => GeneralJournalCZL.PageExt.al} | 0 ... => GeneralJournalTemplatesCZL.PageExt.al} | 0 ....al => GeneralLedgerEntriesCZL.PageExt.al} | 0 ...xt.al => GeneralLedgerSetupCZL.PageExt.al} | 0 ...t.al => GeneralPostingSetupCZL.PageExt.al} | 0 ... => GeneralPostingSetupCardCZL.PageExt.al} | 0 ...t.al => IntrastatJnlBatchesCZL.PageExt.al} | 2 + ...eExt.al => IntrastatJournalCZL.PageExt.al} | 0 ...al => InventoryPostingSetupCZL.PageExt.al} | 0 ....al => InventoryReportEntryCZL.PageExt.al} | 0 ...ageExt.al => InventorySetupCZL.PageExt.al} | 0 ...t.PageExt.al => InvtReceiptCZL.PageExt.al} | 0 ....PageExt.al => InvtReceiptsCZL.PageExt.al} | 0 ....PageExt.al => InvtShipmentCZL.PageExt.al} | 0 ...PageExt.al => InvtShipmentsCZL.PageExt.al} | 0 ...t.al => IssuedFinChMemoListCZL.PageExt.al} | 0 ... => IssuedFinanceChargeMemoCZL.PageExt.al} | 0 ...ageExt.al => IssuedReminderCZL.PageExt.al} | 0 ...xt.al => IssuedReminderListCZL.PageExt.al} | 0 ...Card.PageExt.al => ItemCardCZL.PageExt.al} | 0 ....al => ItemChargeAsgmtPurchCZL.PageExt.al} | 0 ....al => ItemChargeAsgmtSalesCZL.PageExt.al} | 0 ...s.PageExt.al => ItemChargesCZL.PageExt.al} | 0 ...l.PageExt.al => ItemJournalCZL.PageExt.al} | 0 ...Ext.al => ItemLedgerEntriesCZL.PageExt.al} | 0 ...List.PageExt.al => ItemListCZL.PageExt.al} | 0 ...xt.al => ItemReclassJournalCZL.PageExt.al} | 0 ...PageExt.al => ItemRegistersCZL.PageExt.al} | 0 ....PageExt.al => JobGLJournalCZL.PageExt.al} | 0 ...al.PageExt.al => JobJournalCZL.PageExt.al} | 0 ...eExt.al => JobLedgerEntriesCZL.PageExt.al} | 0 ...ageExt.al => PaymentJournalCZL.PageExt.al} | 0 ....al => PaymentReconcJournalCZL.PageExt.al} | 0 ....al => PhysInventoryJournalCZL.PageExt.al} | 0 ...al => PhysInvtLedgerEntriesCZL.PageExt.al} | 0 ...al => PhysicalInvtOrderSubfCZL.PageExt.al} | 0 ....al => PostedDirectTransSubCZL.PageExt.al} | 0 ....al => PostedDirectTransferCZL.PageExt.al} | 0 ...al => PostedDirectTransfersCZL.PageExt.al} | 0 ....al => PostedGeneralJournalCZL.PageExt.al} | 0 ...Ext.al => PostedInvtReceiptCZL.PageExt.al} | 0 ...xt.al => PostedInvtReceiptsCZL.PageExt.al} | 0 ...xt.al => PostedInvtShipmentCZL.PageExt.al} | 0 ...t.al => PostedInvtShipmentsCZL.PageExt.al} | 0 ...t.al => PostedPhysInvtOrderCZL.PageExt.al} | 0 ....al => PostedPurchCMSubformCZL.PageExt.al} | 0 ...al => PostedPurchCreditMemoCZL.PageExt.al} | 0 ...l => PostedPurchCreditMemosCZL.PageExt.al} | 0 ...al => PostedPurchInvSubformCZL.PageExt.al} | 0 ...l => PostedPurchRcptSubformCZL.PageExt.al} | 0 ...al => PostedPurchaseInvoiceCZL.PageExt.al} | 0 ...l => PostedPurchaseInvoicesCZL.PageExt.al} | 0 ...al => PostedPurchaseReceiptCZL.PageExt.al} | 0 ...l => PostedPurchaseReceiptsCZL.PageExt.al} | 0 ....al => PostedRetRcptSubformCZL.PageExt.al} | 0 ....al => PostedRetShptSubformCZL.PageExt.al} | 0 ...t.al => PostedReturnReceiptCZL.PageExt.al} | 0 ....al => PostedReturnReceiptsCZL.PageExt.al} | 0 ....al => PostedReturnShipmentCZL.PageExt.al} | 0 ....al => PostedSalesCMSubformCZL.PageExt.al} | 0 ...al => PostedSalesCreditMemoCZL.PageExt.al} | 0 ...l => PostedSalesCreditMemosCZL.PageExt.al} | 0 ...al => PostedSalesInvSubformCZL.PageExt.al} | 0 ....al => PostedSalesInvUpdateCZL.PageExt.al} | 0 ...xt.al => PostedSalesInvoiceCZL.PageExt.al} | 0 ...t.al => PostedSalesInvoicesCZL.PageExt.al} | 0 ...t.al => PostedSalesShipmentCZL.PageExt.al} | 0 ....al => PostedSalesShipmentsCZL.PageExt.al} | 0 ...l => PostedSalesShptSubformCZL.PageExt.al} | 0 ...t.al => PostedServCMSubformCZL.PageExt.al} | 0 ....al => PostedServCreditMemoCZL.PageExt.al} | 0 ...al => PostedServCreditMemosCZL.PageExt.al} | 0 ....al => PostedServInvSubformCZL.PageExt.al} | 0 ...l => PostedServiceInvUpdateCZL.PageExt.al} | 0 ....al => PostedServiceInvoiceCZL.PageExt.al} | 0 ...al => PostedServiceInvoicesCZL.PageExt.al} | 0 ...al => PostedServiceShipmentCZL.PageExt.al} | 0 ...l => PostedServiceShipmentsCZL.PageExt.al} | 0 ...l => PostedTransferRcptSubfCZL.PageExt.al} | 0 ...al => PostedTransferReceiptCZL.PageExt.al} | 0 ...l => PostedTransferReceiptsCZL.PageExt.al} | 0 ...l => PostedTransferShipmentCZL.PageExt.al} | 0 ... => PostedTransferShipmentsCZL.PageExt.al} | 0 ...l => PostedTransferShptSubfCZL.PageExt.al} | 0 ...xt.al => PurchCrMemoSubformCZL.PageExt.al} | 0 ...t.al => PurchInvoiceSubformCZL.PageExt.al} | 0 ...l => PurchReturnListArchiveCZL.PageExt.al} | 0 ...al => PurchReturnOrdSubformCZL.PageExt.al} | 0 ....al => PurchReturnOrderArchCZL.PageExt.al} | 0 ...xt.al => PurchaseCreditMemoCZL.PageExt.al} | 0 ...t.al => PurchaseCreditMemosCZL.PageExt.al} | 0 ...geExt.al => PurchaseInvoiceCZL.PageExt.al} | 0 ...eExt.al => PurchaseInvoicesCZL.PageExt.al} | 0 ...geExt.al => PurchaseJournalCZL.PageExt.al} | 0 ....al => PurchaseOrderArchiveCZL.PageExt.al} | 0 ...al => PurchaseOrderArchivesCZL.PageExt.al} | 0 ...PageExt.al => PurchaseOrderCZL.PageExt.al} | 0 ...Ext.al => PurchaseOrderListCZL.PageExt.al} | 0 ....al => PurchaseOrderSubformCZL.PageExt.al} | 0 ....al => PurchaseQuoteArchiveCZL.PageExt.al} | 0 ...al => PurchaseQuoteArchivesCZL.PageExt.al} | 0 ...PageExt.al => PurchaseQuoteCZL.PageExt.al} | 0 ....al => PurchaseQuoteSubformCZL.PageExt.al} | 0 ...ageExt.al => PurchaseQuotesCZL.PageExt.al} | 0 ...t.al => PurchaseReturnOrderCZL.PageExt.al} | 0 ... => PurchaseReturnOrderListCZL.PageExt.al} | 0 ...l => PurchasesPayablesSetupCZL.PageExt.al} | 0 ...t.al => PurchasingManagerRCCZL.PageExt.al} | 0 ...ageExt.al => ReconciliationCZL.PageExt.al} | 0 ... => RecurringGeneralJournalCZL.PageExt.al} | 0 ...nder.PageExt.al => ReminderCZL.PageExt.al} | 0 ....PageExt.al => ReminderListCZL.PageExt.al} | 0 ....PageExt.al => ResourceCardCZL.PageExt.al} | 0 ...=> ResponsibilityCenterCardCZL.PageExt.al} | 0 ...xt.al => SalesCrMemoSubformCZL.PageExt.al} | 0 ...geExt.al => SalesCreditMemoCZL.PageExt.al} | 0 ...eExt.al => SalesCreditMemosCZL.PageExt.al} | 0 ....PageExt.al => SalesInvoiceCZL.PageExt.al} | 0 ...eExt.al => SalesInvoiceListCZL.PageExt.al} | 0 ...t.al => SalesInvoiceSubformCZL.PageExt.al} | 0 ....PageExt.al => SalesJournalCZL.PageExt.al} | 0 ....al => SalesMarketingMngrRCCZL.PageExt.al} | 0 ...Ext.al => SalesOrderArchiveCZL.PageExt.al} | 0 ...xt.al => SalesOrderArchivesCZL.PageExt.al} | 0 ...er.PageExt.al => SalesOrderCZL.PageExt.al} | 0 ...ageExt.al => SalesOrderListCZL.PageExt.al} | 0 ...Ext.al => SalesOrderSubformCZL.PageExt.al} | 0 ...Ext.al => SalesQuoteArchiveCZL.PageExt.al} | 0 ...xt.al => SalesQuoteArchivesCZL.PageExt.al} | 0 ...te.PageExt.al => SalesQuoteCZL.PageExt.al} | 0 ...Ext.al => SalesQuoteSubformCZL.PageExt.al} | 0 ...s.PageExt.al => SalesQuotesCZL.PageExt.al} | 0 ...al => SalesReceivablesSetupCZL.PageExt.al} | 0 ...l => SalesReturnListArchiveCZL.PageExt.al} | 0 ... => SalesReturnOrderArchiveCZL.PageExt.al} | 0 ...eExt.al => SalesReturnOrderCZL.PageExt.al} | 0 ....al => SalesReturnOrderListCZL.PageExt.al} | 0 ... => SalesReturnOrderSubformCZL.PageExt.al} | 0 ....al => ServiceCrMemoSubformCZL.PageExt.al} | 0 ...Ext.al => ServiceCreditMemoCZL.PageExt.al} | 0 ...xt.al => ServiceCreditMemosCZL.PageExt.al} | 0 ...ageExt.al => ServiceInvoiceCZL.PageExt.al} | 0 ...al => ServiceInvoiceSubformCZL.PageExt.al} | 0 ...geExt.al => ServiceInvoicesCZL.PageExt.al} | 0 ....PageExt.al => ServiceLinesCZL.PageExt.al} | 0 ...geExt.al => ServiceMgtSetupCZL.PageExt.al} | 0 ....PageExt.al => ServiceOrderCZL.PageExt.al} | 0 ...PageExt.al => ServiceOrdersCZL.PageExt.al} | 0 ....PageExt.al => ServiceQuoteCZL.PageExt.al} | 0 ...Ext.al => ServiceQuoteLinesCZL.PageExt.al} | 0 ...PageExt.al => ServiceQuotesCZL.PageExt.al} | 0 ...geExt.al => ShipmentMethodsCZL.PageExt.al} | 0 ...geExt.al => SourceCodeSetupCZL.PageExt.al} | 0 ....al => StockkeepingUnitCardCZL.PageExt.al} | 0 ...PageExt.al => TariffNumbersCZL.PageExt.al} | 0 ...PageExt.al => TransferOrderCZL.PageExt.al} | 0 ....al => TransferOrderSubformCZL.PageExt.al} | 0 ...ageExt.al => TransferOrdersCZL.PageExt.al} | 0 ...ageExt.al => UnitsofMeasureCZL.PageExt.al} | 0 ...tup.PageExt.al => UserSetupCZL.PageExt.al} | 0 ...es.PageExt.al => VATEntriesCZL.PageExt.al} | 0 ...Ext.al => VATEntriesPreviewCZL.PageExt.al} | 0 ...geExt.al => VATPostingSetupCZL.PageExt.al} | 0 ...t.al => VATPostingSetupCardCZL.PageExt.al} | 0 ....PageExt.al => VATStatementCZL.PageExt.al} | 0 ...Ext.al => VATStatementNamesCZL.PageExt.al} | 0 ...al => VATStatementTemplatesCZL.PageExt.al} | 0 ....PageExt.al => ValueEntriesCZL.PageExt.al} | 0 ...l => VendLedgEntriesPreviewCZL.PageExt.al} | 0 ...al => VendorBankAccountCardCZL.PageExt.al} | 0 ...al => VendorBankAccountListCZL.PageExt.al} | 0 ...rd.PageExt.al => VendorCardCZL.PageExt.al} | 51 - ...t.al => VendorLedgerEntriesCZL.PageExt.al} | 0 ...st.PageExt.al => VendorListCZL.PageExt.al} | 0 ...t.al => VendorPostingGroupsCZL.PageExt.al} | 0 ...geExt.al => VendorTemplCardCZL.PageExt.al} | 0 ....Page.al => AccSchResSubMatrixCZL.Page.al} | 0 ...ge.al => AccSchedPageDrillDownCZL.Page.al} | 0 ....Page.al => AccSchedResHdrListCZL.Page.al} | 0 ...Page.al => AccSchedResOverviewCZL.Page.al} | 0 ...ge.al => AccScheduleExtensionsCZL.Page.al} | 0 ...e.al => AccScheduleFileMappingCZL.Page.al} | 20 - ...Page.al => AccScheduleLineListCZL.Page.al} | 0 ...ge.al => AccScheduleResultHistCZL.Page.al} | 0 ...e.al => AccountantCZRoleCenterCZL.Page.al} | 13 - ...Page.al => CertificateCodeListCZL.Page.al} | 0 ...odities.Page.al => CommoditiesCZL.Page.al} | 0 ...etup.Page.al => CommoditySetupCZL.Page.al} | 0 ...Page.al => CompanyOfficialCardCZL.Page.al} | 0 ...Page.al => CompanyOfficialListCZL.Page.al} | 0 ...e.al => CompanyOfficialPictureCZL.Page.al} | 0 ....al => ConfirmVATEntriesUpdateCZL.Page.al} | 0 ...ols.Page.al => ConstantSymbolsCZL.Page.al} | 0 ...on.Page.al => CrossApplicationCZL.Page.al} | 0 ...ers.Page.al => DocumentFootersCZL.Page.al} | 0 ...Page.al => EETBusinessPremisesCZL.Page.al} | 0 ...rs.Page.al => EETCashRegistersCZL.Page.al} | 0 ...TEntries.Page.al => EETEntriesCZL.Page.al} | 0 ...ryCard.Page.al => EETEntryCardCZL.Page.al} | 0 ...Page.al => EETEntryPreviewCardCZL.Page.al} | 0 ...g.Page.al => EETEntryStatusLogCZL.Page.al} | 0 ...ge.al => EETEntryStatusLogPrevCZL.Page.al} | 0 ...tup.Page.al => EETServiceSetupCZL.Page.al} | 0 ...ge.al => EETSimpleRegistrationCZL.Page.al} | 0 ...ates.Page.al => ExcelTemplatesCZL.Page.al} | 0 ...Mapping.Page.al => FileMappingCZL.Page.al} | 0 ...age.al => GetDocumentNoandDateCZL.Page.al} | 0 ....Page.al => GetVendBankAccCodeCZL.Page.al} | 0 ....al => IntrastatDeliveryGroupsCZL.Page.al} | 0 ...ge.al => IntrastatJournalLinesCZL.Page.al} | 0 ...ix.Page.al => InvGLReconMatrixCZL.Page.al} | 0 ...Page.al => InvGLReconciliationCZL.Page.al} | 0 ...ge.al => InvtMovementTemplatesCZL.Page.al} | 0 ....Page.al => RegNoServiceConfigCZL.Page.al} | 0 ...Log.Page.al => RegistrationLogCZL.Page.al} | 0 ...e.al => RegistrationLogDetailsCZL.Page.al} | 0 ...Page.al => RegistrationNoCheckCZL.Page.al} | 0 ...ge.al => SaveAccScheduleResultCZL.Page.al} | 15 - ...s.Page.al => SpecificMovementsCZL.Page.al} | 0 ...age.al => StatisticIndicationsCZL.Page.al} | 0 ....al => StatutoryReportingSetupCZL.Page.al} | 0 ...ge.al => StockkeepingUnitTemplCZL.Page.al} | 0 ...Page.al => SubstCustPostGroupsCZL.Page.al} | 0 ...Page.al => SubstVendPostGroupsCZL.Page.al} | 0 ...e.al => UnrelPayerServiceSetupCZL.Page.al} | 0 ...e.al => UnreliablePayerEntriesCZL.Page.al} | 0 ...pCard.Page.al => UserSetupCardCZL.Page.al} | 0 ...ines.Page.al => UserSetupLinesCZL.Page.al} | 0 ....Page.al => UserSetupLinesListCZL.Page.al} | 0 ....al => VATAmountSummaryFactBoxCZL.Page.al} | 0 ...s.Page.al => VATAttributeCodesCZL.Page.al} | 0 ...d.Page.al => VATCtrlReportCardCZL.Page.al} | 0 ....Page.al => VATCtrlReportLinesCZL.Page.al} | 0 ...t.Page.al => VATCtrlReportListCZL.Page.al} | 0 ...ge.al => VATCtrlReportSectionsCZL.Page.al} | 0 ...Page.al => VATCtrlReportStSubfCZL.Page.al} | 0 ...t.Page.al => VATCtrlReportStatCZL.Page.al} | 0 ...age.al => VATCtrlReportSubformCZL.Page.al} | 0 ...on.Page.al => VATLCYCorrectionCZL.Page.al} | 0 ...TPeriods.Page.al => VATPeriodsCZL.Page.al} | 0 ....al => VATStatementAttachmentsCZL.Page.al} | 0 ...age.al => VATStatementCommentsCZL.Page.al} | 0 ...Page.al => VATStatementPreviewCZL.Page.al} | 0 ....al => VATStatementPreviewLineCZL.Page.al} | 0 ...e.al => VATStmtAttachmentSheetCZL.Page.al} | 0 ...Page.al => VATStmtCommentSheetCZL.Page.al} | 0 ...ion.Page.al => VIESDeclarationCZL.Page.al} | 0 ...age.al => VIESDeclarationLinesCZL.Page.al} | 25 - ...e.al => VIESDeclarationSubformCZL.Page.al} | 0 ...ns.Page.al => VIESDeclarationsCZL.Page.al} | 0 ....al => CZCorePackEditCZL.PermissionSet.al} | 0 ... => CZCorePackObjectsCZL.PermissionSet.al} | 2 + ....al => CZCorePackReadCZL.PermissionSet.al} | 0 ...al => CustomerEditCZL.PermissionSetExt.al} | 0 ... => D365AUTOMATIONCZL.PermissionSetExt.al} | 0 ...xt.al => D365BASICCZL.PermissionSetExt.al} | 0 ...al => D365BASICISVCZL.PermissionSetExt.al} | 0 ...> D365CUSTOMEREDITCZL.PermissionSetExt.al} | 0 ...ext.al => D365READCZL.PermissionSetExt.al} | 0 ...xt.al => D365SETUPCZL.PermissionSetExt.al} | 0 ... => D365TEAMMEMBERCZL.PermissionSetExt.al} | 0 ... => D365VENDOREDITCZL.PermissionSetExt.al} | 0 ...GeneralLedgerAdminCZL.PermissionSetExt.al} | 0 ... GeneralLedgerEditCZL.PermissionSetExt.al} | 0 ...> INTELLIGENTCLOUDCZL.PermissionSetExt.al} | 0 ...SetExt.al => LOCALCZL.PermissionSetExt.al} | 0 ...l => PayablesAdminCZL.PermissionSetExt.al} | 0 ...> RecievablesAdminCZL.PermissionSetExt.al} | 0 ...t.al => VendorEditCZL.PermissionSetExt.al} | 0 ....Profile.al => AccountantCZCZL.Profile.al} | 0 ...al => CopyVATPostingSetupCZL.ReportExt.al} | 0 ....al => AccScheduleExportFileCZL.Report.al} | 6 - ....al => AccountScheduleResultCZL.Report.al} | 0 ...eport.al => AccountingSheetsCZL.Report.al} | 0 ...rt.al => AdjustExchangeRatesCZL.Report.al} | 28 - ...port.al => AllPaymentsonHoldCZL.Report.al} | 0 ...et.Report.al => BalanceSheetCZL.Report.al} | 13 - ....al => BatchPostPurchCrMemosCZL.Report.al} | 0 ...t.al => BatchPostPurchRetOrdCZL.Report.al} | 0 ...t.al => BatchPostPurchaseInvCZL.Report.al} | 0 ...l => BatchPostPurchaseOrdersCZL.Report.al} | 0 ....al => BatchPostSalesCrMemosCZL.Report.al} | 0 ...al => BatchPostSalesInvoicesCZL.Report.al} | 0 ...t.al => BatchPostSalesOrdersCZL.Report.al} | 0 ...t.al => BatchPostSalesRetOrdCZL.Report.al} | 0 ...t.al => BlanketPurchaseOrderCZL.Report.al} | 0 ...rt.al => CalcandPostVATSettlCZL.Report.al} | 0 ...eport.al => CashFlowDateListCZL.Report.al} | 0 ...port.al => CloseBalanceSheetCZL.Report.al} | 0 ...t.al => CloseIncomeStatementCZL.Report.al} | 0 ...p.Report.al => CopyUserSetupCZL.Report.al} | 0 ...al => CreateStockkeepingUnitCZL.Report.al} | 0 ...Report.al => CreateVATPeriodCZL.Report.al} | 0 ....al => CustBalReconciliationCZL.Report.al} | 0 .../app/Src/Reports/DocumentationForVAT.rdl | 490 +- ...rt.al => DocumentationforVATCZL.Report.al} | 172 +- ...Report.al => EETConfirmationCZL.Report.al} | 0 ...port.al => ExpAccSchedResExcCZL.Report.al} | 0 ...rt.al => ExportVATCtrlDialogCZL.Report.al} | 0 ...rt.al => ExportVATStmtDialogCZL.Report.al} | 0 ...port.al => FinanceChargeMemoCZL.Report.al} | 0 ...rt.al => GLAccGroupPostCheckCZL.Report.al} | 0 ...rt.al => GLVATReconciliationCZL.Report.al} | 0 ....Report.al => GeneralJournalCZL.Report.al} | 0 ...ort.al => GeneralJournalTestCZL.Report.al} | 0 ...r.Report.al => GeneralLedgerCZL.Report.al} | 0 ....al => GeneralLedgerDocumentCZL.Report.al} | 0 ....al => GetItemLdgEntriesTestCZL.Report.al} | 0 ...t.al => GetItemLedgerEntriesCZL.Report.al} | 0 ...al => ImportTariffNumbersXMLCZL.Report.al} | 0 ...Report.al => IncomeStatementCZL.Report.al} | 13 - ...l => IntrastatDeclarationExpCZL.Report.al} | 0 ....al => IntrastatInvoiceCheckCZL.Report.al} | 0 ...port.al => InventoryDocumentCZL.Report.al} | 0 ...port.al => JoiningBankAccAdjCZL.Report.al} | 0 ...rt.al => JoiningGLAccountAdjCZL.Report.al} | 0 ...eport.al => OpenBalanceSheetCZL.Report.al} | 0 ....al => OpenCustEntriestoDateCZL.Report.al} | 0 ....al => OpenVendEntriestoDateCZL.Report.al} | 0 ....al => PhysInventoryDocumentCZL.Report.al} | 0 ...t.al => PostedDirectTransferCZL.Report.al} | 0 ...l => PostedInventoryDocumentCZL.Report.al} | 0 ...al => PostedInventoryReceiptCZL.Report.al} | 0 ...l => PostedInventoryShipmentCZL.Report.al} | 0 ...r.Report.al => PurchaseOrderCZL.Report.al} | 0 ...e.Report.al => PurchaseQuoteCZL.Report.al} | 0 ....al => QuantityReceivedCheckCZL.Report.al} | 0 ...t.al => QuantityShippedCheckCZL.Report.al} | 0 ....al => ReconBankAccountEntryCZL.Report.al} | 0 ...minder.Report.al => ReminderCZL.Report.al} | 0 ...Report.al => SalesCreditMemoCZL.Report.al} | 0 ...ce.Report.al => SalesInvoiceCZL.Report.al} | 0 ...al => SalesOrderConfirmationCZL.Report.al} | 0 ...uote.Report.al => SalesQuoteCZL.Report.al} | 0 ...l => SalesReturnOrderConfirmCZL.Report.al} | 0 ...ort.al => SalesReturnRecieptCZL.Report.al} | 0 ...t.Report.al => SalesShipmentCZL.Report.al} | 0 ...Report.al => ServiceContractCZL.Report.al} | 0 ...t.al => ServiceContractQuoteCZL.Report.al} | 0 ...port.al => ServiceCreditMemoCZL.Report.al} | 0 ....Report.al => ServiceInvoiceCZL.Report.al} | 0 ...er.Report.al => ServiceOrderCZL.Report.al} | 0 ...te.Report.al => ServiceQuoteCZL.Report.al} | 0 ...Report.al => ServiceShipmentCZL.Report.al} | 0 ...al => SuggestVIESDeclarationCZL.Report.al} | 0 ...port.al => TestTariffNumbersCZL.Report.al} | 0 ...ort.al => TurnoverRptbyGlDimCZL.Report.al} | 0 ....al => UnreliablePayerGetAllCZL.Report.al} | 0 ...rt.al => UnreliablePayerListCZL.Report.al} | 0 ...t.Report.al => UserSetupListCZL.Report.al} | 0 ...rt.al => VATCtrlReportGetEntCZL.Report.al} | 0 ...port.al => VATCtrlReportTestCZL.Report.al} | 0 ...eport.al => VATDocumentsListCZL.Report.al} | 0 ...s.Report.al => VATExceptionsCZL.Report.al} | 0 ...ter.Report.al => VATRegisterCZL.Report.al} | 0 ...nt.Report.al => VATStatementCZL.Report.al} | 0 ...Report.al => VIESDeclarationCZL.Report.al} | 0 ...rt.al => VIESDeclarationTestCZL.Report.al} | 0 ...l => VendorBalReconciliationCZL.Report.al} | 0 ...eExt.al => AccScheduleLineCZL.TableExt.al} | 0 ...eExt.al => AccScheduleNameCZL.TableExt.al} | 0 ...l => AdjExchangeRateBufferCZL.TableExt.al} | 6 - ...ableExt.al => AnalysisViewCZL.TableExt.al} | 0 ...TableExt.al => BankAccountCZL.TableExt.al} | 0 ....al => CVLedgerEntryBufferCZL.TableExt.al} | 0 ...t.al => CompanyInformationCZL.TableExt.al} | 0 ...act.TableExt.al => ContactCZL.TableExt.al} | 0 ...al => CopyGenJnlParametersCZL.TableExt.al} | 0 ...bleExt.al => CountryRegionCZL.TableExt.al} | 0 ...eExt.al => CustLedgerEntryCZL.TableExt.al} | 0 ...er.TableExt.al => CustomerCZL.TableExt.al} | 0 ...bleExt.al => CustomerTemplCZL.TableExt.al} | 0 ...Ext.al => DepreciationBookCZL.TableExt.al} | 0 ...al => DetCVLedgEntryBufferCZL.TableExt.al} | 0 ...l => DetailedCustLedgEntryCZL.TableExt.al} | 0 ...l => DetailedVendLedgEntryCZL.TableExt.al} | 0 ...xt.al => DirectTransHeaderCZL.TableExt.al} | 0 ...eExt.al => DirectTransLineCZL.TableExt.al} | 0 ....al => EmployeeLedgerEntryCZL.TableExt.al} | 0 ...tup.TableExt.al => FASetupCZL.TableExt.al} | 0 ...=> FinanceChargeMemoHeaderCZL.TableExt.al} | 0 ...t.TableExt.al => GLAccountCZL.TableExt.al} | 0 ...t.al => GLAccountNetChangeCZL.TableExt.al} | 0 ...try.TableExt.al => GLEntryCZL.TableExt.al} | 0 ...eExt.al => GenJournalBatchCZL.TableExt.al} | 0 ...leExt.al => GenJournalLineCZL.TableExt.al} | 0 ...t.al => GenJournalTemplateCZL.TableExt.al} | 0 ...t.al => GeneralLedgerSetupCZL.TableExt.al} | 0 ....al => GeneralPostingSetupCZL.TableExt.al} | 0 ...xt.al => IntrastatJnlBatchCZL.TableExt.al} | 0 ...Ext.al => IntrastatJnlLineCZL.TableExt.al} | 0 ...l => InventoryPostingSetupCZL.TableExt.al} | 0 ...al => InventoryReportEntryCZL.TableExt.al} | 0 ...leExt.al => InventorySetupCZL.TableExt.al} | 0 ...xt.al => InvoicePostBufferCZL.TableExt.al} | 0 ...al => InvoicePostingBufferCZL.TableExt.al} | 16 + ...t.al => InvtDocumentHeaderCZL.TableExt.al} | 0 ...xt.al => InvtPostingBufferCZL.TableExt.al} | 6 - ...xt.al => InvtReceiptHeaderCZL.TableExt.al} | 0 ...t.al => InvtShipmentHeaderCZL.TableExt.al} | 0 ....al => IsolatedCertificateCZL.TableExt.al} | 0 ...l => IssuedFinChMemoHeaderCZL.TableExt.al} | 0 ...al => IssuedReminderHeaderCZL.TableExt.al} | 0 .../{Item.TableExt.al => ItemCZL.TableExt.al} | 0 ...al => ItemChargeAsgmtPurchCZL.TableExt.al} | 0 ...al => ItemChargeAsgmtSalesCZL.TableExt.al} | 2 + ....TableExt.al => ItemChargeCZL.TableExt.al} | 0 ...eExt.al => ItemJournalLineCZL.TableExt.al} | 0 ...eExt.al => ItemLedgerEntryCZL.TableExt.al} | 0 ...ableExt.al => ItemRegisterCZL.TableExt.al} | 0 ...leExt.al => JobJournalLineCZL.TableExt.al} | 0 ...leExt.al => JobLedgerEntryCZL.TableExt.al} | 0 ...xt.al => PhysInvtOrderLineCZL.TableExt.al} | 0 ...al => PostedGenJournalLineCZL.TableExt.al} | 0 ...leExt.al => PurchCrMemoHdrCZL.TableExt.al} | 0 ...eExt.al => PurchCrmemoLineCZL.TableExt.al} | 0 ...leExt.al => PurchInvHeaderCZL.TableExt.al} | 0 ...ableExt.al => PurchInvLineCZL.TableExt.al} | 0 ...eExt.al => PurchRcptHeaderCZL.TableExt.al} | 0 ...bleExt.al => PurchRcptLineCZL.TableExt.al} | 0 ...l => PurchaseHeaderArchiveCZL.TableExt.al} | 0 ...leExt.al => PurchaseHeaderCZL.TableExt.al} | 8 +- ....al => PurchaseLineArchiveCZL.TableExt.al} | 0 ...ableExt.al => PurchaseLineCZL.TableExt.al} | 16 + ... => PurchasesPayablesSetupCZL.TableExt.al} | 0 ...leExt.al => ReminderHeaderCZL.TableExt.al} | 0 ...ce.TableExt.al => ResourceCZL.TableExt.al} | 0 ...al => ResponsibilityCenterCZL.TableExt.al} | 0 ....al => ReturnReceiptHeaderCZL.TableExt.al} | 0 ...xt.al => ReturnReceiptLineCZL.TableExt.al} | 0 ...al => ReturnShipmentHeaderCZL.TableExt.al} | 0 ...t.al => ReturnShipmentLineCZL.TableExt.al} | 0 ...xt.al => SalesCrMemoHeaderCZL.TableExt.al} | 0 ...eExt.al => SalesCrMemoLineCZL.TableExt.al} | 0 ...t.al => SalesHeaderArchiveCZL.TableExt.al} | 0 ...TableExt.al => SalesHeaderCZL.TableExt.al} | 0 ...t.al => SalesInvoiceHeaderCZL.TableExt.al} | 0 ...Ext.al => SalesInvoiceLineCZL.TableExt.al} | 0 ...Ext.al => SalesLineArchiveCZL.TableExt.al} | 0 ...e.TableExt.al => SalesLineCZL.TableExt.al} | 0 ...l => SalesReceivablesSetupCZL.TableExt.al} | 0 ....al => SalesShipmentHeaderCZL.TableExt.al} | 0 ...xt.al => SalesShipmentLineCZL.TableExt.al} | 0 ....al => ServiceCrMemoHeaderCZL.TableExt.al} | 0 ...xt.al => ServiceCrMemoLineCZL.TableExt.al} | 0 ...bleExt.al => ServiceHeaderCZL.TableExt.al} | 0 ...al => ServiceInvoiceHeaderCZL.TableExt.al} | 0 ...t.al => ServiceInvoiceLineCZL.TableExt.al} | 0 ...TableExt.al => ServiceLineCZL.TableExt.al} | 0 ...eExt.al => ServiceMgtSetupCZL.TableExt.al} | 0 ...l => ServiceShipmentHeaderCZL.TableExt.al} | 0 ....al => ServiceShipmentLineCZL.TableExt.al} | 0 ...leExt.al => ShipmentMethodCZL.TableExt.al} | 0 ...eExt.al => SourceCodeSetupCZL.TableExt.al} | 0 ...Ext.al => StockkeepingUnitCZL.TableExt.al} | 0 ...ableExt.al => TariffNumberCZL.TableExt.al} | 0 ...leExt.al => TransferHeaderCZL.TableExt.al} | 0 ...ableExt.al => TransferLineCZL.TableExt.al} | 0 ...l => TransferReceiptHeaderCZL.TableExt.al} | 0 ....al => TransferReceiptLineCZL.TableExt.al} | 0 ... => TransferShipmentHeaderCZL.TableExt.al} | 0 ...al => TransferShipmentLineCZL.TableExt.al} | 0 ...bleExt.al => UnitofMeasureCZL.TableExt.al} | 0 ...p.TableExt.al => UserSetupCZL.TableExt.al} | 0 ...bleExt.al => VATAmountLineCZL.TableExt.al} | 0 ...ry.TableExt.al => VATEntryCZL.TableExt.al} | 0 ...eExt.al => VATPostingSetupCZL.TableExt.al} | 0 ...Ext.al => VATStatementLineCZL.TableExt.al} | 0 ...Ext.al => VATStatementNameCZL.TableExt.al} | 0 ...al => VATStatementTemplateCZL.TableExt.al} | 0 ....TableExt.al => ValueEntryCZL.TableExt.al} | 0 ...xt.al => VendorBankAccountCZL.TableExt.al} | 0 ...ndor.TableExt.al => VendorCZL.TableExt.al} | 0 ...xt.al => VendorLedgerEntryCZL.TableExt.al} | 0 ...TableExt.al => VendorTemplCZL.TableExt.al} | 0 ...able.al => AccSchedExprBufferCZL.Table.al} | 0 ...le.al => AccScheduleExtensionCZL.Table.al} | 0 ....al => AccScheduleFileMappingCZL.Table.al} | 0 ...le.al => AccScheduleResultColCZL.Table.al} | 0 ...le.al => AccScheduleResultHdrCZL.Table.al} | 0 ...e.al => AccScheduleResultHistCZL.Table.al} | 0 ...e.al => AccScheduleResultLineCZL.Table.al} | 0 ....al => AccScheduleResultValueCZL.Table.al} | 0 ...e.al => AdjExchangeRateBufferCZL.Table.al} | 0 ...ble.al => BankAccAdjustBufferCZL.Table.al} | 0 ...e.Table.al => CertificateCodeCZL.Table.al} | 0 ...mmodity.Table.al => CommodityCZL.Table.al} | 0 ...up.Table.al => CommoditySetupCZL.Table.al} | 0 ...l.Table.al => CompanyOfficialCZL.Table.al} | 0 ...ol.Table.al => ConstantSymbolCZL.Table.al} | 0 ....al => CrossApplicationBufferCZL.Table.al} | 0 ...er.Table.al => DocumentFooterCZL.Table.al} | 0 ...ble.al => EETBusinessPremisesCZL.Table.al} | 0 ...r.Table.al => EETCashRegisterCZL.Table.al} | 0 ...EETEntry.Table.al => EETEntryCZL.Table.al} | 0 ...Table.al => EETEntryStatusLogCZL.Table.al} | 0 ...p.Table.al => EETServiceSetupCZL.Table.al} | 0 ....al => EnhancedCurrencyBufferCZL.Table.al} | 0 ...ate.Table.al => ExcelTemplateCZL.Table.al} | 0 ...e.al => GLAccountAdjustBufferCZL.Table.al} | 0 ....al => IntrastatDeliveryGroupCZL.Table.al} | 0 ...le.al => InvtMovementTemplateCZL.Table.al} | 0 ...able.al => RegNoServiceConfigCZL.Table.al} | 0 ...g.Table.al => RegistrationLogCZL.Table.al} | 0 ...e.al => RegistrationLogDetailCZL.Table.al} | 0 ....Table.al => SpecificMovementCZL.Table.al} | 0 ...ble.al => StatisticIndicationCZL.Table.al} | 0 ...al => StatutoryReportingSetupCZL.Table.al} | 0 ...l => StockkeepingUnitTemplateCZL.Table.al} | 0 ...e.al => SubstCustPostingGroupCZL.Table.al} | 0 ...e.al => SubstVendPostingGroupCZL.Table.al} | 0 ....al => UnrelPayerServiceSetupCZL.Table.al} | 0 ...le.al => UnreliablePayerEntryCZL.Table.al} | 0 ...ine.Table.al => UserSetupLineCZL.Table.al} | 0 ....Table.al => VATAttributeCodeCZL.Table.al} | 0 ...ble.al => VATCtrlReportBufferCZL.Table.al} | 0 ...le.al => VATCtrlReportEntLinkCZL.Table.al} | 0 ...ble.al => VATCtrlReportHeaderCZL.Table.al} | 0 ...Table.al => VATCtrlReportLineCZL.Table.al} | 0 ...le.al => VATCtrlReportSectionCZL.Table.al} | 0 ....al => VATLCYCorrectionBufferCZL.Table.al} | 0 ...TPeriod.Table.al => VATPeriodCZL.Table.al} | 0 ....al => VATStatementAttachmentCZL.Table.al} | 0 ...al => VATStatementCommentLineCZL.Table.al} | 0 ...e.al => VIESDeclarationHeaderCZL.Table.al} | 0 ...ble.al => VIESDeclarationLineCZL.Table.al} | 0 ...t.al => ImportTariffNumbersCZL.XmlPort.al} | 0 ...t.al => UnreliablePayerListCZL.XmlPort.al} | 0 ...al => UnreliablePayerStatusCZL.XmlPort.al} | 0 ...l => VATControlReportDPHKH1CZL.XmlPort.al} | 0 ...rt.al => VATStatementDPHDP3CZL.XmlPort.al} | 0 ...lPort.al => VIESDeclarationCZL.XmlPort.al} | 0 Apps/CZ/CoreLocalizationPack/app/app.json | 20 +- ....al => BalanceSheetReportsCZL.Codeunit.al} | 0 ....al => BankAccountFormatUTCZL.Codeunit.al} | 0 ...it.al => CheckUserSetupDimCZL.Codeunit.al} | 0 ....al => DateOrderInvtChangeCZL.Codeunit.al} | 0 ...t.al => DocumentAttachmentCZL.Codeunit.al} | 0 ...eunit.al => DocumentFooterCZL.Codeunit.al} | 0 ...EETUT.Codeunit.al => EETUTCZL.Codeunit.al} | 0 ...nit.al => FinancialReportsCZL.Codeunit.al} | 0 ...it.al => ForeignCurrenciesCZL.Codeunit.al} | 0 ...eunit.al => GLAccountGroupCZL.Codeunit.al} | 0 ...l => IdentificationNumbersCZL.Codeunit.al} | 0 ...it.al => InvtMvmtTemplatesCZL.Codeunit.al} | 0 ... => LibraryAssemblyHandlerCZL.Codeunit.al} | 0 ....Codeunit.al => LibraryEETCZL.Codeunit.al} | 0 ...ni.al => LibraryERMHandlerCZL.Codeunit.al} | 8 +- ...=> LibraryInventoryHandlerCZL.Codeunit.al} | 0 ...al => LibraryRepSelHandlerCZL.Codeunit.al} | 0 ....Codeunit.al => LibraryTaxCZL.Codeunit.al} | 0 ...deunit.al => PhysInventoryCZL.Codeunit.al} | 0 ...al => PostingGroupChangingCZL.Codeunit.al} | 0 ...it.al => PurchaseDocumentsCZL.Codeunit.al} | 0 ...eunit.al => ReconciliationCZL.Codeunit.al} | 0 ...l => ReplaceVATDateHandlerCZL.Codeunit.al} | 0 ....al => ReportsandDocumentsCZL.Codeunit.al} | 0 ...deunit.al => ReverseChargeCZL.Codeunit.al} | 0 ...eunit.al => SalesDocumentsCZL.Codeunit.al} | 0 ...odeunit.al => SalesReportsCZL.Codeunit.al} | 0 ...> StockkeepingUnitTemplateCZL.Codeunit.al} | 0 ...al => SuppConfVATEntUpdateCZL.Codeunit.al} | 0 ....Codeunit.al => TaxReportsCZL.Codeunit.al} | 0 ...l => TestInitializeHandlerCZL.Codeunit.al} | 0 ...unit.al => UnreliablePayerCZL.Codeunit.al} | 0 ...eunit.al => UpdatefromARESCZL.Codeunit.al} | 0 ...deunit.al => VATCtrlReportCZL.Codeunit.al} | 0 ...unit.al => VATCtrlReportUTCZL.Codeunit.al} | 0 ...ate.Codeunit.al => VATDateCZL.Codeunit.al} | 20 +- ...unit.al => VATExchangeRateCZL.Codeunit.al} | 16 +- ...s.Codeunit.al => VATFieldsCZL.Codeunit.al} | 0 ...deunit.al => VATStatementsCZL.Codeunit.al} | 0 ...unit.al => VIESDeclarationCZL.Codeunit.al} | 0 Apps/CZ/CoreLocalizationPack/test/app.json | 12 +- ...l => CalcNormalDeprHandlerCZF.Codeunit.al} | 0 ...al => DataClassEvalHandlerCZF.Codeunit.al} | 0 ...al => FAAcquisitionHandlerCZF.Codeunit.al} | 21 - ....al => FADeprecBookHandlerCZF.Codeunit.al} | 0 ...it.al => FADisposalHandlerCZF.Codeunit.al} | 0 ...unit.al => FAGeneralReportCZF.Codeunit.al} | 0 ...nit.al => FAHistoryHandlerCZF.Codeunit.al} | 0 ....al => FAHistoryManagementCZF.Codeunit.al} | 0 ...al => FALedgerEntryHandlerCZF.Codeunit.al} | 0 ...=> GuidedExperienceHandlerCZF.Codeunit.al} | 0 ...t.al => InstallApplicationCZF.Codeunit.al} | 0 ...=> SubstituteReportHandlerCZF.Codeunit.al} | 0 ...t.al => UpgradeApplicationCZF.Codeunit.al} | 1 - ...l => UpgradeTagDefinitionsCZF.Codeunit.al} | 0 ...al => PurchaseFAPostingTypeCZF.EnumExt.al} | 0 ...m.al => ClassificationCodeTypeCZF.Enum.al} | 0 ...Date.Enum.al => FAAnalysisDateCZF.Enum.al} | 0 ....Enum.al => FAAnalysisDisposalCZF.Enum.al} | 0 ...oup.Enum.al => FAAnalysisGroupCZF.Enum.al} | 0 ...od.Enum.al => FAAnalysisPeriodCZF.Enum.al} | 0 ...um.al => FAExtendedPostingTypeCZF.Enum.al} | 0 ...yType.Enum.al => FAHistoryTypeCZF.Enum.al} | 0 ...Enum.al => TaxDepreciationTypeCZF.Enum.al} | 0 ...l => AccountantCZRoleCenterCZF.PageExt.al} | 0 ....al => DepreciationBookCardCZF.PageExt.al} | 0 ...PageExt.al => FAAllocationsCZF.PageExt.al} | 0 ...xt.al => FADeprBooksSubformCZF.PageExt.al} | 0 ...t.al => FADepreciationBooksCZF.PageExt.al} | 0 ...xt.al => FAPostingGroupCardCZF.PageExt.al} | 0 ...geExt.al => FAPostingGroupsCZF.PageExt.al} | 0 ...eExt.al => FinanceManagerRCCZF.PageExt.al} | 0 ...ageExt.al => FixedAssetCardCZF.PageExt.al} | 0 ...Ext.al => FixedAssetJournalCZF.PageExt.al} | 0 ...ageExt.al => FixedAssetListCZF.PageExt.al} | 0 ...geExt.al => FixedAssetSetupCZF.PageExt.al} | 0 ...l => RecurFixedAssetJournalCZF.PageExt.al} | 0 ...Page.al => ClassificationCodesCZF.Page.al} | 0 ...ory.Page.al => CreateFAHistoryCZF.Page.al} | 0 ....al => FAExtendedPostingGroupsCZF.Page.al} | 0 ...es.Page.al => FAHistoryEntriesCZF.Page.al} | 0 ...ge.al => TaxDepreciationGroupsCZF.Page.al} | 0 ...l => CZFixedAssetEditCZF.PermissionSet.al} | 0 ...> CZFixedAssetObjectsCZF.PermissionSet.al} | 0 ...l => CZFixedAssetReadCZF.PermissionSet.al} | 0 ... => D365AUTOMATIONCZF.PermissionSetExt.al} | 0 ...xt.al => D365BASICCZF.PermissionSetExt.al} | 0 ...al => D365BASICISVCZF.PermissionSetExt.al} | 0 ...ext.al => D365READCZF.PermissionSetExt.al} | 0 ... => D365TEAMMEMBERCZF.PermissionSetExt.al} | 0 ...> INTELLIGENTCLOUDCZF.PermissionSetExt.al} | 0 ...SetExt.al => LOCALCZF.PermissionSetExt.al} | 0 ....al => CalculateDepreciationCZF.Report.al} | 0 ...rt.al => FAAnalysisGLAccountCZF.Report.al} | 0 ...rt.al => FAAssignmentDiscardCZF.Report.al} | 0 ...l => FAPhysicalInventoryListCZF.Report.al} | 0 ....al => FixedAssetAcquisitionCZF.Report.al} | 1 - ...rt.al => FixedAssetAnDepBookCZF.Report.al} | 0 ...ort.al => FixedAssetAnalysisCZF.Report.al} | 0 ...t.al => FixedAssetBookValue1CZF.Report.al} | 0 ...t.al => FixedAssetBookValue2CZF.Report.al} | 0 ....Report.al => FixedAssetCardCZF.Report.al} | 0 ...ort.al => FixedAssetDisposalCZF.Report.al} | 1 - ...t.al => FixedAssetGLAnalysisCZF.Report.al} | 0 ...port.al => FixedAssetHistoryCZF.Report.al} | 9 +- ...rt.al => FixedAssetProjValueCZF.Report.al} | 1 - ...rt.al => InitializeFAHistoryCZF.Report.al} | 0 ...rt.al => MaintenanceAnalysisCZF.Report.al} | 0 ...Ext.al => DepreciationBookCZF.TableExt.al} | 0 ...ableExt.al => FAAllocationCZF.TableExt.al} | 0 ...t.al => FADepreciationBookCZF.TableExt.al} | 10 + ...leExt.al => FAPostingGroupCZF.TableExt.al} | 22 - ...tup.TableExt.al => FASetupCZF.TableExt.al} | 0 ....TableExt.al => FixedAssetCZF.TableExt.al} | 0 ...able.al => ClassificationCodeCZF.Table.al} | 0 ....al => FAExtendedPostingGroupCZF.Table.al} | 0 ...ry.Table.al => FAHistoryEntryCZF.Table.al} | 0 ...le.al => TaxDepreciationGroupCZF.Table.al} | 0 Apps/CZ/FixedAssetLocalization/app/app.json | 8 +- ...l => ERMGLAccountWhereUsedCZF.Codeunit.al} | 0 ...Codeunit.al => FixedAssetsCZF.Codeunit.al} | 0 ...it.al => LibraryFixedAssetCZF.Codeunit.al} | 0 ...l => TestInitializeHandlerCZF.Codeunit.al} | 0 Apps/CZ/FixedAssetLocalization/test/app.json | 14 +- .../D365TEAMMEMBERHBCLCZ.PermissionSetExt.al | 7 - ...INTELLIGENTCLOUDHBCLCZ.PermissionSetExt.al | 7 - .../d365basicHBCLCZ.permissionsetext.al | 7 - .../d365basicisvHBCLCZ.permissionsetext.al | 7 - Apps/CZ/HybridBCLast_CZ/app/app.json | 10 +- .../src/tables/StgIntrastatJnlLine.Table.al | 8 +- .../src/tables/StgItemJournalLine.Table.al | 8 +- .../src/tables/StgItemLedgerEntry.Table.al | 8 +- .../tables/StgVATControlReportLine.Table.al | 8 +- .../src/tables/StgVATPostingSetup.Table.al | 8 +- Apps/CZ/IntrastatCZ/app/app.json | 18 +- ...t.al => ItemChargeAsgmtPurchCZ.PageExt.al} | 0 ...t.al => ItemChargeAsgmtSalesCZ.PageExt.al} | 0 .../Pages/IntrastatDeliveryGroupsCZ.Page.al | 2 + .../app/src/Pages/SpecificMovementsCZ.Page.al | 2 + .../src/Pages/StatisticIndicationsCZ.Page.al | 2 + .../ItemLedgerEntryCZ.TableExt.al | 2 - Apps/CZ/Onprem Permissions CZ/app/app.json | 6 +- .../DACH/Onprem Permissions DACH/app/app.json | 6 +- .../ContosoCoffeeDemoDatasetDE/app/app.json | 8 +- Apps/DE/Elster/app/app.json | 6 +- ...deunit.al => ElsterManagement.Codeunit.al} | 0 ...nit.al => ElsterDataMigration.Codeunit.al} | 0 ...deunit.al => ElsterInitialize.Codeunit.al} | 0 ...t.al => ElsterAccMgrRoleCenter.PageExt.al} | 0 ...xt.al => ElsterSmallBusOwnerRC.PageExt.al} | 0 ....al => ElsterVATStatementNames.PageExt.al} | 0 ....al => ElsterVATStatementName.TableExt.al} | 0 Apps/DE/Elster/test/app.json | 14 +- ...t.al => ElsterERMBatchReports.Codeunit.al} | 0 ....Codeunit.al => ElsterPagesUT.Codeunit.al} | 0 ...Codeunit.al => ElsterReportUT.Codeunit.al} | 0 ...Codeunit.al => ElsterTablesUT.Codeunit.al} | 0 ...l => ElsterVATAdvNotification.Codeunit.al} | 0 Apps/DE/HybridBCLast_DE/app/app.json | 10 +- Apps/DE/IntrastatDE/app/app.json | 8 +- .../IntrastatDEObjects.PermissionSetExt.al | 2 - Apps/DK/C52012DataMigration/app/app.json | 6 +- .../{LedTable.Page.al => C5LedTable.Page.al} | 0 ...{LedTable.Table.al => C5LedTable.Table.al} | 0 ...Table.XmlPort.al => C5LedTable.XmlPort.al} | 0 ...bleList.Page.al => C5LedTableList.Page.al} | 0 ...unit.al => C5LedTableMigrator.Codeunit.al} | 0 ...{LedTrans.Table.al => C5LedTrans.Table.al} | 0 ...Trans.XmlPort.al => C5LedTrans.XmlPort.al} | 0 ...ansList.Page.al => C5LedTransList.Page.al} | 0 ...unit.al => C5LedTransMigrator.Codeunit.al} | 0 ...{CustTable.Page.al => C5CustTable.Page.al} | 0 ...ustTable.Table.al => C5CustTable.Table.al} | 0 ...able.XmlPort.al => C5CustTable.XmlPort.al} | 0 ...leList.Page.al => C5CustTableList.Page.al} | 0 ...nit.al => C5CustTableMigrator.Codeunit.al} | 0 ...tContact.Page.al => C5CustContact.Page.al} | 0 ...ontact.Table.al => C5CustContact.Table.al} | 0 ...ct.XmlPort.al => C5CustContact.XmlPort.al} | 0 ...cGroup.Page.al => C5CustDiscGroup.Page.al} | 0 ...roup.Table.al => C5CustDiscGroup.Table.al} | 0 ....XmlPort.al => C5CustDiscGroup.XmlPort.al} | 0 .../{ProcCode.Page.al => C5ProcCode.Page.al} | 0 ...{ProcCode.Table.al => C5ProcCode.Table.al} | 0 ...cCode.XmlPort.al => C5ProcCode.XmlPort.al} | 0 ...{CustGroup.Page.al => C5CustGroup.Page.al} | 0 ...ustGroup.Table.al => C5CustGroup.Table.al} | 0 ...roup.XmlPort.al => C5CustGroup.XmlPort.al} | 0 ...{CustTrans.Page.al => C5CustTrans.Page.al} | 0 ...ustTrans.Table.al => C5CustTrans.Table.al} | 0 ...rans.XmlPort.al => C5CustTrans.XmlPort.al} | 0 .../{Centre.Table.al => C5Centre.Table.al} | 0 ...{Centre.XmlPort.al => C5Centre.XmlPort.al} | 0 .../{Country.Table.al => C5Country.Table.al} | 0 ...ountry.XmlPort.al => C5Country.XmlPort.al} | 0 .../{Delivery.Page.al => C5Delivery.Page.al} | 0 ...{Delivery.Table.al => C5Delivery.Table.al} | 0 ...ivery.XmlPort.al => C5Delivery.XmlPort.al} | 0 ...artment.Table.al => C5Department.Table.al} | 0 ...ent.XmlPort.al => C5Department.XmlPort.al} | 0 .../{Employee.Page.al => C5Employee.Page.al} | 0 ...{Employee.Table.al => C5Employee.Table.al} | 0 ...loyee.XmlPort.al => C5Employee.XmlPort.al} | 0 ...{ExchRate.Table.al => C5ExchRate.Table.al} | 0 ...hRate.XmlPort.al => C5ExchRate.XmlPort.al} | 0 ...eunit.al => C5HelperFunctions.Codeunit.al} | 0 .../{Payment.Page.al => C5Payment.Page.al} | 0 .../{Payment.Table.al => C5Payment.Table.al} | 0 ...ayment.XmlPort.al => C5Payment.XmlPort.al} | 0 .../{Purpose.Table.al => C5Purpose.Table.al} | 0 ...urpose.XmlPort.al => C5Purpose.XmlPort.al} | 0 ...s.Table.al => C5DataLoaderStatus.Table.al} | 0 ...unit.al => C5MigrDashboardMgt.Codeunit.al} | 0 ...r.Codeunit.al => C5DataLoader.Codeunit.al} | 0 ...s.Table.al => C5SchemaParameters.Table.al} | 0 ...Codeunit.al => C5SchemaReader.Codeunit.al} | 0 ...{Unzip.Codeunit.al => C5Unzip.Codeunit.al} | 8 - ...ings.Page.al => C5CompanySettings.Page.al} | 0 ...unit.al => C5DataMigrationMgt.Codeunit.al} | 0 ...nit.al => C5WizardIntegration.Codeunit.al} | 0 ...tall.Codeunit.al => C5Install.Codeunit.al} | 0 ...{InvenBOM.Table.al => C5InvenBOM.Table.al} | 0 ...enBOM.XmlPort.al => C5InvenBOM.XmlPort.al} | 0 ...BOMList.Page.al => C5InvenBOMList.Page.al} | 0 ...nvenTable.Page.al => C5InvenTable.Page.al} | 0 ...enTable.Table.al => C5InvenTable.Table.al} | 0 ...ble.XmlPort.al => C5InvenTable.XmlPort.al} | 0 ...eList.Page.al => C5InvenTableList.Page.al} | 0 ...Codeunit.al => C5ItemMigrator.Codeunit.al} | 11 +- .../{CN8Code.Page.al => C5CN8Code.Page.al} | 0 .../{CN8Code.Table.al => C5CN8Code.Table.al} | 0 ...N8Code.XmlPort.al => C5CN8Code.XmlPort.al} | 0 ...Disc.Table.al => C5InvenCustDisc.Table.al} | 0 ....XmlPort.al => C5InvenCustDisc.XmlPort.al} | 0 ...Group.Page.al => C5InvenDiscGroup.Page.al} | 0 ...oup.Table.al => C5InvenDiscGroup.Table.al} | 0 ...XmlPort.al => C5InvenDiscGroup.XmlPort.al} | 0 ...tion.Table.al => C5InvenLocation.Table.al} | 0 ....XmlPort.al => C5InvenPrcGroup.XmlPort.al} | 0 ...nvenPrice.Page.al => C5InvenPrice.Page.al} | 0 ...enPrice.Table.al => C5InvenPrice.Table.al} | 0 ...ice.XmlPort.al => C5InvenPrice.XmlPort.al} | 0 ...roup.Page.al => C5InvenPriceGroup.Page.al} | 0 ...up.Table.al => C5InvenPriceGroup.Table.al} | 0 ...oup.Table.al => C5ItemTrackGroup.Table.al} | 0 ...XmlPort.al => C5ItemTrackGroup.XmlPort.al} | 0 ...{UnitCode.Table.al => C5UnitCode.Table.al} | 0 ...tCode.XmlPort.al => C5UnitCode.XmlPort.al} | 0 ...Group.Page.al => C5InvenItemGroup.Page.al} | 0 ...oup.Table.al => C5InvenItemGroup.Table.al} | 0 ...XmlPort.al => C5InvenItemGroup.XmlPort.al} | 0 ...nvenTrans.Page.al => C5InvenTrans.Page.al} | 0 ...enTrans.Table.al => C5InvenTrans.Table.al} | 0 ...ans.XmlPort.al => C5InvenTrans.XmlPort.al} | 0 ...{VatGroup.Table.al => C5VatGroup.Table.al} | 0 ...Group.XmlPort.al => C5VatGroup.XmlPort.al} | 0 ...ry.Codeunit.al => C5Telemetry.Codeunit.al} | 0 ...{VendTable.Page.al => C5VendTable.Page.al} | 0 ...endTable.Table.al => C5VendTable.Table.al} | 0 ...able.XmlPort.al => C5VendTable.XmlPort.al} | 0 ...leList.Page.al => C5VendTableList.Page.al} | 0 ...nit.al => C5VendTableMigrator.Codeunit.al} | 0 ...dContact.Page.al => C5VendContact.Page.al} | 0 ...ontact.Table.al => C5VendContact.Table.al} | 0 ...ct.XmlPort.al => C5VendContact.XmlPort.al} | 0 ...cGroup.Page.al => C5VendDiscGroup.Page.al} | 0 ...roup.Table.al => C5VendDiscGroup.Table.al} | 0 ....XmlPort.al => C5VendDiscGroup.XmlPort.al} | 0 ...{VendGroup.Page.al => C5VendGroup.Page.al} | 0 ...endGroup.Table.al => C5VendGroup.Table.al} | 0 ...roup.XmlPort.al => C5VendGroup.XmlPort.al} | 0 ...{VendTrans.Page.al => C5VendTrans.Page.al} | 0 ...endTrans.Table.al => C5VendTrans.Table.al} | 0 ...rans.XmlPort.al => C5VendTrans.XmlPort.al} | 0 Apps/DK/C52012DataMigration/test/app.json | 10 +- ...nit.al => C5BulkFixErrorsTest.Codeunit.al} | 0 ....al => C5CustTableMigratorTst.Codeunit.al} | 0 ...unit.al => C5CustomSchemaTest.Codeunit.al} | 0 ...eunit.al => C5DataLoaderTests.Codeunit.al} | 0 ...it.al => C5DataMigrWizardTest.Codeunit.al} | 0 ...t.al => C5HelperFunctionsTest.Codeunit.al} | 0 ...unit.al => C5ItemMigratorTest.Codeunit.al} | 12 +- ....al => C5LedTableMigratorTest.Codeunit.al} | 0 ....al => C5LedTransMigratorTest.Codeunit.al} | 0 ...nit.al => C5SchemaReaderTests.Codeunit.al} | 0 ....al => C5VendTableMigratorTst.Codeunit.al} | 0 .../ContosoCoffeeDemoDatasetDK/app/app.json | 8 +- Apps/DK/DKCore/app/app.json | 6 +- Apps/DK/DKCore/test/app.json | 14 +- .../Bank/BankPmtApplAlgorithmDK.Codeunit.al | 3 - .../O365PreviewRCNotifications.Codeunit.al | 107 +- .../DKCore/test/src/TestIntrastat.Codeunit.al | 74 +- Apps/DK/EDocumentFormatOIOUBL/app/app.json | 34 +- .../ElectronicVATDeclarationDK/app/app.json | 21 +- .../ElectronicVATDeclarationDK/test/app.json | 60 +- .../DK/EnforcedDigitalVouchersDK/app/app.json | 86 +- .../EnforcedDigitalVouchersDK/test/app.json | 116 +- Apps/DK/FIK/app/app.json | 6 +- ...tension.Table.al => FIKExtension.Table.al} | 0 .../{Uplift.Table.al => FIKUplift.Table.al} | 0 ...deunit.al => FIKDataMigration.Codeunit.al} | 0 ...ta.Codeunit.al => FIKDemodata.Codeunit.al} | 0 ...all.Codeunit.al => FIKInstall.Codeunit.al} | 0 ....Codeunit.al => FIKManagement.Codeunit.al} | 0 ...it.al => FIKMatchBankRecLines.Codeunit.al} | 0 ...al => FIKMatchGenJournalLines.Codeunit.al} | 0 ...le.Codeunit.al => FIKReadFile.Codeunit.al} | 0 ...Codeunit.al => FIKSubscribers.Codeunit.al} | 0 Apps/DK/FIK/test/app.json | 12 +- ...nit.al => FIKEventSubscribers.Codeunit.al} | 0 .../{Test.Codeunit.al => TestFIK.Codeunit.al} | 3 +- .../src/TestMatchFIKBankPmtApp.Codeunit.al | 3 - Apps/DK/ImportDKPayroll/app/app.json | 6 +- Apps/DK/ImportDKPayroll/test/app.json | 10 +- Apps/DK/NemhandelNotification/app/app.json | 90 +- Apps/DK/NemhandelNotification/test/app.json | 96 +- .../test/src/NemhandelTests.Codeunit.al | 46 +- Apps/DK/OIOUBL/app/app.json | 6 +- ...l => OIOUBLCheckFinChargeMemo.Codeunit.al} | 0 ...l => OIOUBLCheckIssuedFinChrg.Codeunit.al} | 0 ...al => OIOUBLCreateEFinChrgMemos.Report.al} | 0 ....al => OIOUBLExpIssuedFinChrg.Codeunit.al} | 69 +- ...l => OIOUBLFinChargMemoIssSub.Codeunit.al} | 0 ... => OIOUBLFinChargMemoLineSub.Codeunit.al} | 0 ...al => OIOUBLFinChargeMemoLine.TableExt.al} | 0 ...al => OIOUBLFinChrgMemoHeader.TableExt.al} | 0 ...t.al => OIOUBLFinChrgMemoLines.PageExt.al} | 0 ....al => OIOUBLFinanceChargeMemo.PageExt.al} | 0 ...OIOUBLIssuedFinChargeMemoLine.TableExt.al} | 0 ...OIOUBLIssuedFinChrgMemoHeader.TableExt.al} | 0 ...> OIOUBLIssuedFinChrgMemoLines.PageExt.al} | 0 ...=> OIOUBLIssuedFinChrgMemoList.PageExt.al} | 0 ... OIOUBLIssuedFinanceChargeMemo.PageExt.al} | 0 ...deunit.al => OIOUBLInitialize.Codeunit.al} | 0 ...eunit.al => OIOUBLCommonLogic.Codeunit.al} | 0 ...it.al => OIOUBLDocumentEncode.Codeunit.al} | 0 ...deunit.al => OIOUBLFileEvents.Codeunit.al} | 0 ...deunit.al => OIOUBLManagement.Codeunit.al} | 0 ... => OIOUBLCheckIssuedReminder.Codeunit.al} | 0 ...nit.al => OIOUBLCheckReminder.Codeunit.al} | 0 ...al => OIOUBLCreateElecReminders.Report.al} | 0 ...=> OIOUBLExportIssuedReminder.Codeunit.al} | 67 +- ...Ext.al => OIOUBLIssuedReminder.PageExt.al} | 0 ...=> OIOUBLIssuedReminderHeader.TableExt.al} | 0 ...l => OIOUBLIssuedReminderLine.TableExt.al} | 0 ...l => OIOUBLIssuedReminderLines.PageExt.al} | 0 ...r.PageExt.al => OIOUBLReminder.PageExt.al} | 0 ...xt.al => OIOUBLReminderHeader.TableExt.al} | 0 ....al => OIOUBLReminderIssueSub.Codeunit.al} | 0 ...eExt.al => OIOUBLReminderLine.TableExt.al} | 0 ...t.al => OIOUBLReminderLineSub.Codeunit.al} | 0 ...eExt.al => OIOUBLReminderLines.PageExt.al} | 0 ....al => OIOUBLCheckSalesCrMemo.Codeunit.al} | 0 ...t.al => OIOUBLCreateElecCrMemos.Report.al} | 0 ...al => OIOUBLExportSalesCrMemo.Codeunit.al} | 0 ... => OIOUBLPostedSalesCrMemoSub.PageExt.al} | 0 ...=> OIOUBLPostedSalesCreditMemo.PageExt.al} | 0 ...> OIOUBLPostedSalesCreditMemos.PageExt.al} | 0 ...al => OIOUBLSalesCrMemoHeader.TableExt.al} | 0 ...t.al => OIOUBLSalesCrMemoLine.TableExt.al} | 0 ...al => OIOUBLSalesCrMemoSubform.PageExt.al} | 0 ...xt.al => OIOUBLSalesCreditMemo.PageExt.al} | 0 ...t.al => OIOUBLSalesReturnOrder.PageExt.al} | 0 ...l => OIOUBLSalesReturnOrderSub.PageExt.al} | 0 ....al => OIOUBLBlankedSalesOrder.PageExt.al} | 0 ... => OIOUBLBlanketSalesOrderSub.PageExt.al} | 0 ....al => OIOUBLCheckSalesHeader.Codeunit.al} | 0 ...al => OIOUBLCheckSalesInvoice.Codeunit.al} | 0 ....al => OIOUBLCreateElecInvoices.Report.al} | 0 ...l => OIOUBLExportSalesInvoice.Codeunit.al} | 0 ....al => OIOUBLPostedSalesInvSub.PageExt.al} | 0 ...al => OIOUBLPostedSalesInvoice.PageExt.al} | 0 ...l => OIOUBLPostedSalesInvoices.PageExt.al} | 0 ...leExt.al => OIOUBLSalesHeader.TableExt.al} | 0 ...l => OIOUBLSalesHeaderArchive.TableExt.al} | 0 ...geExt.al => OIOUBLSalesInvoice.PageExt.al} | 0 ...l => OIOUBLSalesInvoiceHeader.TableExt.al} | 0 ....al => OIOUBLSalesInvoiceLine.TableExt.al} | 0 ... => OIOUBLSalesInvoiceLineSub.Codeunit.al} | 0 ...l => OIOUBLSalesInvoiceSubform.PageExt.al} | 0 ...ableExt.al => OIOUBLSalesLine.TableExt.al} | 0 ....al => OIOUBLSalesLineArchive.TableExt.al} | 0 ...l => OIOUBLSalesLineSuscriber.Codeunit.al} | 0 ...PageExt.al => OIOUBLSalesOrder.PageExt.al} | 0 ....al => OIOUBLSalesOrderArchive.PageExt.al} | 0 ....al => OIOUBLSalesOrderSubform.PageExt.al} | 0 ...al => OIOUBLSalesPostPrintSub.Codeunit.al} | 0 ... => OIOUBLSalesPostSubscriber.Codeunit.al} | 0 ...=> OIOUBLSalesReceivablesSetup.PageExt.al} | 0 ...> OIOUBLSalesReceivablesSetup.TableExt.al} | 0 ...l => OIOUBLCheckServiceCrMemo.Codeunit.al} | 0 ...al => OIOUBLCreateElecSrvCrMemo.Report.al} | 0 ... => OIOUBLExportServiceCrMemo.Codeunit.al} | 0 ...l => OIOUBLPostedServiceCrMemo.PageExt.al} | 0 ...al => OIOUBLPostedSrvCrMemoSub.PageExt.al} | 0 ... => OIOUBLServiceCrMemoHeader.TableExt.al} | 0 ...al => OIOUBLServiceCrMemoLine.TableExt.al} | 0 ....al => OIOUBLServiceCreditMemo.PageExt.al} | 0 ... => OIOUBLServiceCreditMemoSub.PageExt.al} | 0 ...l => OIOUBLCheckServiceHeader.Codeunit.al} | 0 ... => OIOUBLCheckServiceInvoice.Codeunit.al} | 0 ...rt.al => OIOUBLCreateElecSrvInv.Report.al} | 0 ...=> OIOUBLExportServiceInvoice.Codeunit.al} | 0 ... => OIOUBLPostedServInvoiceSub.PageExt.al} | 0 ... => OIOUBLPostedServiceInvoice.PageExt.al} | 0 ...Ext.al => OIOUBLServiceHeader.TableExt.al} | 0 ...Ext.al => OIOUBLServiceInvoice.PageExt.al} | 0 ...=> OIOUBLServiceInvoiceHeader.TableExt.al} | 0 ...l => OIOUBLServiceInvoiceLine.TableExt.al} | 0 ...=> OIOUBLServiceInvoiceSubform.PageExt.al} | 0 ...geExt.al => OIOUBLServiceLines.PageExt.al} | 0 ...xt.al => OIOUBLServiceMgtSetup.PageExt.al} | 0 ...t.al => OIOUBLServiceMgtSetup.TableExt.al} | 0 ...geExt.al => OIOUBLServiceOrder.PageExt.al} | 0 ...> OIOUBLServicePostSubscriber.Codeunit.al} | 0 ...Page.al => OIOUBLCompanyInfoSetup.Page.al} | 0 ...l => OIOUBLCompanyInformation.TableExt.al} | 0 ...Ext.al => OIOUBLCountryRegion.TableExt.al} | 0 ...Ext.al => OIOUBLCountryRegions.PageExt.al} | 0 ...PageExt.al => OIOUBLCurrencies.PageExt.al} | 0 ...TableExt.al => OIOUBLCurrency.TableExt.al} | 0 ...TableExt.al => OIOUBLCustomer.TableExt.al} | 0 ...geExt.al => OIOUBLCustomerCard.PageExt.al} | 0 ...bleExt.al => OIOUBLItemCharge.TableExt.al} | 0 ...geExt.al => OIOUBLPaymentTerms.PageExt.al} | 0 ...eExt.al => OIOUBLPaymentTerms.TableExt.al} | 0 ...rofile.Table.al => OIOUBLProfile.Table.al} | 0 ...List.Page.al => OIOUBLProfileList.Page.al} | 0 .../{setup.Page.al => OIOUBLsetup.Page.al} | 0 ...it.al => OIOUBLMigrateToExtV2.Codeunit.al} | 0 Apps/DK/OIOUBL/test/app.json | 14 +- ...=> OIOUBLCheckSalesandService.Codeunit.al} | 0 ...=> OIOUBLERMElecDocumentSales.Codeunit.al} | 0 ...l => OIOUBLERMMiscElecInvoice.Codeunit.al} | 0 ... => OIOUBLERMSalesServiceDocs.Codeunit.al} | 0 ... => OIOUBLElecServiceDocument.Codeunit.al} | 0 ...it.al => OIOUBLFileEventsMock.Codeunit.al} | 0 ... => OIOUBLPmtExportValidation.Codeunit.al} | 0 ...al => OIOUBLUTERMElecDocSales.Codeunit.al} | 0 Apps/DK/SAFTModificationDK/app/app.json | 10 +- Apps/DK/SAFTModificationDK/test/app.json | 16 +- Apps/DK/VATReportsDK/app/app.json | 6 +- Apps/DK/VATReportsDK/test/app.json | 10 +- .../ContosoCoffeeDemoDatasetES/app/app.json | 8 +- Apps/ES/HybridBCLast_ES/app/app.json | 10 +- Apps/ES/IntrastatES/app/app.json | 8 +- .../IntrastatESObjects.PermissionSetExt.al | 2 - Apps/ES/Onprem Permissions ES/app/app.json | 6 +- .../ContosoCoffeeDemoDatasetFI/app/app.json | 8 +- Apps/FI/FICore/app/app.json | 6 +- Apps/FI/FICore/test/app.json | 10 +- Apps/FI/IntrastatFI/app/app.json | 8 +- .../IntrastatFIObjects.PermissionSetExt.al | 2 - .../ContosoCoffeeDemoDatasetFR/app/app.json | 8 +- Apps/FR/FECAuditFile/app/app.json | 8 +- Apps/FR/FECAuditFile/test/app.json | 14 +- .../src/FECAuditFileExportTests.Codeunit.al | 41 +- Apps/FR/HybridBCLast_FR/app/app.json | 10 +- .../upgrade/15x/UpgradeDtldCVFR.Codeunit.al | 35 - Apps/FR/IntrastatFR/app/app.json | 8 +- .../IntrastatFRObjects.PermissionSetExt.al | 2 - Apps/FR/IntrastatFR/test/app.json | 18 +- Apps/FR/Onprem Permissions FR/app/app.json | 6 +- .../ServDeclFRObjects.PermissionSetExt.al | 2 - Apps/FR/ServiceDeclarationFR/app/app.json | 8 +- Apps/FR/ServiceDeclarationFR/test/app.json | 16 +- .../ContosoCoffeeDemoDatasetGB/app/app.json | 8 +- Apps/GB/IntrastatGB/app/app.json | 8 +- .../IntrastatGBObjects.PermissionSetExt.al | 2 - Apps/GB/IntrastatGB/test/app.json | 18 +- Apps/GB/UKMakingTaxDigital/app/app.json | 6 +- .../MTDFraudPreventionHeaders.Page.al | 118 - .../MTDFraudPreventionMgt.Codeunit.al | 22 - Apps/GB/UKMakingTaxDigital/test/app.json | 14 +- .../MTDTestFraudPreventionHdrs.Codeunit.al | 63 - Apps/GB/UKPostcodeGetAddressIO/app/app.json | 6 +- Apps/GB/UKPostcodeGetAddressIO/test/app.json | 12 +- .../app/ChargeGroupBase/app.json | 10 +- .../app/ChargeOnPurchase/app.json | 12 +- ... => ChargeBlanketPurchOrdSbfrm.PageExt.al} | 0 ...al => ChargePurchQuoteSbfrmExt.PageExt.al} | 0 ...al => ChargePurchReturnOrdSbfm.PageExt.al} | 0 ...t.al => ChargPurchCrMeLineExt.TableExt.al} | 0 ...t.al => ChargePurchCrMeHdrExt.TableExt.al} | 0 ...l => ChargePurchHeaderArchExt.TableExt.al} | 0 ... => ChargePurchLineArchiveExt.TableExt.al} | 0 ...t.al => ChargePurchRcptHdrExt.TableExt.al} | 0 .../INChargeGroup/app/ChargeOnSales/app.json | 12 +- ...nit.al => ChargeSalesEventSub.Codeunit.al} | 0 ...t.al => ChargeSaleCrMeSbfrmExt.PageExt.al} | 0 ...al => ChargeSalesInvSubformExt.PageExt.al} | 0 ...al => ChargeSalesCrMemoHeader.TableExt.al} | 0 ... => ChargeSalesHeadArchiveExt.TableExt.al} | 0 ...al => ChargeSalesInvHeaderExt.TableExt.al} | 0 ...l => ChargeSalesShipHeaderExt.TableExt.al} | 0 ...> D365ReadAccessINCharge.PermissionSet.al} | 0 Apps/IN/INChargeGroup/app/app.json | 10 +- Apps/IN/INChargeGroup/test/app.json | 22 +- Apps/IN/INDataMigration/app.json | 16 +- ...> IndiaMigartionAssistedSetup.Codeunit.al} | 0 ...sisionSet.al => INFADepr.PermissionSet.al} | 0 Apps/IN/INFADepreciation/app/app.json | 6 +- .../FixedAssetDateCalculation.Codeunit.al | 1 - Apps/IN/INFADepreciation/test/app.json | 12 +- .../test/src/FADepreciation.Codeunit.al | 3 - Apps/IN/INGST/app/GSTApplication/app.json | 18 +- ...unit.al => GSTStatsManagement.Codeunit.al} | 0 Apps/IN/INGST/app/GSTBase/app.json | 10 +- .../GSTDataSenstivityMgmt.Codeunit.al | 6 +- .../src/Codeunit/GSTStatistics.Codeunit.al | 33 +- Apps/IN/INGST/app/GSTDistribution/app.json | 12 +- Apps/IN/INGST/app/GSTPayments/app.json | 16 +- .../GSTJournalLineSubscribers.Codeunit.al | 2 + ...t.PageExt.al => JournalVoucher.PageExt.al} | 0 ...ext.al => GSTInvoicePosBuffer.TableExt.al} | 0 Apps/IN/INGST/app/GSTPurchase/app.json | 12 +- Apps/IN/INGST/app/GSTReconcilation/app.json | 12 +- .../IN/INGST/app/GSTReturnSettlement/app.json | 18 +- Apps/IN/INGST/app/GSTSales/app.json | 12 +- .../Codeunit/GSTSalesValidation.Codeunit.al | 4 +- .../GSTSalesPricesExt.PageExt.al | 2 +- Apps/IN/INGST/app/GSTService/app.json | 12 +- Apps/IN/INGST/app/GSTServiceTransfer/app.json | 12 +- Apps/IN/INGST/app/GSTStockTransfer/app.json | 12 +- .../GSTTransferOrderReceipt.Codeunit.al | 3 +- .../GSTTransferOrderShipment.Codeunit.al | 2 +- Apps/IN/INGST/app/GSTSubcontracting/app.json | 10 +- ...al => ApplyDeliveryChallanMgt.Codeunit.al} | 0 .../Codeunit/SubcontractingPost.Codeunit.al | 1 - .../Page/SubcontractingOrderSubform.Page.al | 6 +- .../src/Table/SubCompRcptLine.Table.al | 4 +- ...INAdvanceObjectsIndiaGST.PermissionSet.al} | 0 Apps/IN/INGST/app/app.json | 12 +- Apps/IN/INGST/test/GSTBase/app.json | 16 +- .../src/GSTBondedWarehouseTests.Codeunit.al | 1 - .../src/GSTStockTransferTests.Codeunit.al | 1 - Apps/IN/INGST/test/GSTPayments/app.json | 20 +- .../src/JnlBankChargesTests.Codeunit.al | 1 - Apps/IN/INGST/test/GSTPurchase/app.json | 18 +- Apps/IN/INGST/test/GSTSales/app.json | 22 +- .../GSTSales/src/GSTSalesTests.Codeunit.al | 23 + Apps/IN/INGST/test/GSTSubcontracting/app.json | 18 +- .../src/GSTSubcontracting.Codeunit.al | 2 - Apps/IN/INGST/test/app.json | 18 +- Apps/IN/INGateEntry/app/app.json | 10 +- Apps/IN/INGateEntry/test/app.json | 14 +- Apps/IN/INReports/app/app.json | 18 +- Apps/IN/INReports/test/app.json | 24 +- .../test/src/GSTSalesReportTests.Codeunit.al | 1 - .../d365basicindiatcs.permissionsetext.al | 1 + .../d365basicisvindiatcs.permissionsetext.al | 1 + ...5busfullaccessindiatcs.permissionsetext.al | 1 + ...d365buspremiumindiatcs.permissionsetext.al | 1 + ...d365fullaccessindiatcs.permissionsetext.al | 1 + .../d365readindiatcs.permissionsetext.al | 1 + ...d365teammemberindiatcs.permissionsetext.al | 1 + ...telligentcloudindiatcs.permissionsetext.al | 1 + Apps/IN/INTCS/app/TCSBase/app.json | 10 +- ...unit.al => TCSStatsManagement.Codeunit.al} | 0 Apps/IN/INTCS/app/TCSOnReceipt/app.json | 12 +- Apps/IN/INTCS/app/TCSOnSales/app.json | 12 +- .../INTCS/app/TCSReturnAndSettlement/app.json | 12 +- Apps/IN/INTCS/app/app.json | 10 +- Apps/IN/INTCS/test/TCSBase/app.json | 16 +- Apps/IN/INTCS/test/TCSOnReceipt/app.json | 22 +- Apps/IN/INTCS/test/TCSOnSales/app.json | 20 +- .../TCSOnSales/src/TCSOnSales.Codeunit.al | 2 - .../src/TCSOnSalesApplication.Codeunit.al | 2 - .../src/TCSOnSalesDocuments.Codeunit.al | 3 - .../src/TCSOnSalesJournal.Codeunit.al | 3 - .../src/TCSOnSalesReturn.Codeunit.al | 1 - .../src/TCSSalesLibrary.Codeunit.al | 3 - .../test/TCSReturnAndSettlement/app.json | 18 +- Apps/IN/INTCS/test/app.json | 20 +- .../d365basicindiatds.permissionsetext.al | 1 - .../d365basicisvindiatds.permissionsetext.al | 1 + ...5busfullaccessindiatds.permissionsetext.al | 1 + ...d365buspremiumindiatds.permissionsetext.al | 1 + ...d365fullaccessindiatds.permissionsetext.al | 1 + .../d365readindiatds.permissionsetext.al | 1 + ...d365teammemberindiatds.permissionsetext.al | 1 + ...telligentcloudindiatds.permissionsetext.al | 1 + Apps/IN/INTDS/app/TDSBase/app.json | 10 +- ...unit.al => TDSStatsManagement.Codeunit.al} | 0 Apps/IN/INTDS/app/TDSForCustomer/app.json | 12 +- Apps/IN/INTDS/app/TDSOnPayments/app.json | 14 +- Apps/IN/INTDS/app/TDSOnPurchase/app.json | 12 +- .../INTDS/app/TDSReturnAndSettlement/app.json | 14 +- Apps/IN/INTDS/app/app.json | 10 +- Apps/IN/INTDS/test/TDSBase/app.json | 16 +- Apps/IN/INTDS/test/TDSOnCustomer/app.json | 24 +- Apps/IN/INTDS/test/TDSOnPayments/app.json | 16 +- Apps/IN/INTDS/test/TDSOnPurchase/app.json | 16 +- .../test/TDSReturnAndSettlement/app.json | 20 +- Apps/IN/INTDS/test/app.json | 20 +- .../app/Translations/India Tax Base.en-US.xlf | 2 +- Apps/IN/INTaxBase/app/app.json | 8 +- .../codeunit/TaxBaseSubscribers.Codeunit.al | 1 - .../src/enumextension/VoucherEnum.EnumExt.al | 4 +- Apps/IN/INTaxBase/test/app.json | 10 +- Apps/IN/INVoucherInterface/app/app.json | 10 +- .../pageextension/PaymentJournalVI.PageExt.al | 4 +- ...al => CheckReportINReportExt.ReportExt.al} | 0 Apps/IN/INVoucherInterface/test/app.json | 20 +- Apps/IN/QRGeneration/app/app.json | 6 +- .../ContosoCoffeeDemoDatasetIS/app/app.json | 8 +- Apps/IS/ISCore/app/ExtensionLogo.png | Bin 0 -> 5446 bytes .../D365BasicISCore.PermissionSetExt.al} | 15 +- .../D365BasicISVISCore.PermissionSetExt.al | 12 + .../D365ReadISCore.PermissionSetExt.al | 12 + .../D365TeamMemberISCore.PermissionSetExt.al | 12 + .../Permissions/ISCoreEdit.Permissionset.al | 20 + .../ISCoreObjects.Permissionset.al | 30 + .../Permissions/ISCoreRead.Permissionset.al | 20 + ...IntelligentCloudISCore.PermissionSetExt.al | 12 + .../LocalISCore.PermissionSetExt.al | 12 + Apps/IS/ISCore/app/app.json | 34 + .../src/Codeunits/EnableISCoreApp.Codeunit.al | 97 + .../app/src/Codeunits/ISCore.Codeunit.al | 64 + .../src/Codeunits/ISCoreInstall.Codeunit.al | 41 + .../src/Codeunits/ISCoreUpgrade.Codeunit.al | 32 + .../app/src/Enums/ISVATEntriesFilter.Enum.al | 16 + .../src/Enums/ISVATRecReportPeriod.Enum.al | 20 + .../ISAccountingManagerRC.PageExt.al | 33 + .../ISBookkeeperRoleCenter.PageExt.al | 34 + .../ISChartofAccounts.PageExt.al | 24 + .../PageExtensions/ISCompanyInfo.PageExt.al | 25 + .../PageExtensions/ISContactCard.PageExt.al | 13 + .../PageExtensions/ISCustomerCard.PageExt.al | 13 + .../ISDepreciationBookCard.PageExt.al | 35 + .../ISFinanceManagerRC.PageExt.al | 71 + .../ISPostedPurchCreditMemo.PageExt.al | 10 + .../ISPostedPurchaseInvoice.PageExt.al | 10 + .../ISSalesReceivablesSetup.PageExt.al | 24 + .../ISSmallBusinessOwnerRC.PageExt.al | 25 + .../PageExtensions/ISVendorCard.PageExt.al | 21 + .../src/Pages/ISCoreAppSetupWizard.Page.al | 368 ++ .../ISCore/app/src/Pages/ISIRSGroups.Page.al | 55 + .../ISCore/app/src/Pages/ISIRSNumbers.Page.al | 61 + .../ISCore/app/src/Pages/ISIRSTypes.Page.al | 57 + .../ISBlanketSalesOrder.ReportExt.al | 108 + .../src/ReportExtensions/ISOrder.Reportext.al | 104 + .../ISPurchCreditMemo.ReportExt.al | 112 + .../ISPurchaseInvoice.ReportExt.al | 107 + .../app/src/Reports/ISIRSDetails.Report.al | 147 + .../ISCore/app/src/Reports/ISIRSDetails.rdlc | 1237 +++++ .../src/Reports/ISIRSnotification.Report.al | 110 + .../app/src/Reports/ISIRSnotification.rdlc | 1722 ++++++ .../Reports/ISTrialBalanceIRSNumber.Report.al | 157 + .../src/Reports/ISTrialBalanceIRSNumber.rdlc | 149 + .../Reports/ISVATBalancingReport.Report.al | 478 ++ .../app/src/Reports/ISVATBalancingReport.rdlc | 4923 +++++++++++++++++ .../Reports/ISVATReconciliationA.Report.al | 401 ++ .../app/src/Reports/VATBalancingReport.rdlc | 230 + .../app/src/Reports/VATReconciliationA.rdlc | 3281 +++++++++++ .../ISDepreciationBook.TableExt.al | 26 + .../TableExtensions/ISGLAccount.TableExt.al | 12 + .../ISSalesReceivablesSetup.TableExt.al | 30 + .../app/src/Tables/ISIRSGroups.Table.al | 36 + .../app/src/Tables/ISIRSNumbers.Table.al | 49 + .../ISCore/app/src/Tables/ISIRSTypes.Table.al | 37 + Apps/IS/ISCore/test/ExtensionLogo.png | Bin 0 -> 5446 bytes Apps/IS/ISCore/test/app.json | 55 + .../src/ISElectronicInvoicesTests.Codeunit.al | 135 + .../IS/ISCore/test/src/ISIRSTests.Codeunit.al | 372 ++ .../test/src/ISVATReportingTests.Codeunit.al | 827 +++ .../ContosoCoffeeDemoDatasetIT/app/app.json | 8 +- Apps/IT/HybridBCLast_IT/app/app.json | 10 +- .../15x/DetailedLedgerEntriesIT.Codeunit.al | 66 - .../18x/UpgMigBaseAppLocalIT.Codeunit.al | 48 - Apps/IT/IntrastatIT/app/app.json | 8 +- .../IntrastatITObjects.PermissionSetExt.al | 2 - Apps/IT/IntrastatIT/test/app.json | 16 +- .../test/src/IntrastatITTest.Codeunit.al | 2 - .../ServDeclITObjects.PermissionSetExt.al | 2 - Apps/IT/ServiceDeclarationIT/app/app.json | 8 +- Apps/IT/ServiceDeclarationIT/test/app.json | 16 +- .../ContosoCoffeeDemoDatasetMX/app/app.json | 8 +- ...INTELLIGENTCLOUDHBCLMX.PermissionSetExt.al | 6 - .../d365basicHBCLMX.permissionsetext.al | 6 - .../d365basicisvHBCLMX.permissionsetext.al | 6 - .../d365teammemberHBCLMX.permissionsetext.al | 6 - Apps/MX/HybridBCLast_MX/app/app.json | 10 +- .../upgrade/15x/UpgMXCFDIMX.Codeunit.al | 50 - .../app/src/tables/StgDataExchDefMX.Table.al | 8 +- Apps/NA/Ceridian/app.json | 6 +- .../src/MSCeridianPayrollSetup.Table.al | 1 - Apps/NA/EnvestnetYodleeBankFeeds/app/app.json | 6 +- ....Page.al => MSYodleeAccessConsent.Page.al} | 0 ....al => MSYodleeAccountCleanup.Codeunit.al} | 0 ...Page.al => MSYodleeAccountLinking.Page.al} | 0 ....Table.al => MSYodleeBankAccLink.Table.al} | 0 ...ge.al => MSYodleeBankServiceSetup.Page.al} | 0 ...e.al => MSYodleeBankServiceSetup.Table.al} | 3 - ....Table.al => MSYodleeBankSession.Table.al} | 0 ...le.al => MSYodleeDataExchangeDef.Table.al} | 0 ...nt.Page.al => MSYodleeEditAccount.Page.al} | 0 ....Page.al => MSYodleeGetLatestStmt.Page.al} | 0 ....al => MSYodleeImportBankFeed.Codeunit.al} | 0 ...e.al => MSYodleeNonLinkedAccounts.Page.al} | 0 ...unit.al => MSYodleeServiceMgt.Codeunit.al} | 0 ....al => MSYodleeServiceUpgrade.Codeunit.al} | 0 ...use.Page.al => MSYodleeTermsofuse.Page.al} | 0 .../NA/EnvestnetYodleeBankFeeds/test/app.json | 14 +- ...l => MSYodleeBankServiceTests.Codeunit.al} | 0 Apps/NA/MX_DIOT/app/app.json | 6 +- ...eExt.al => DIOTGenJournalLine.TableExt.al} | 0 ...geExt.al => DIOTGeneralJournal.PageExt.al} | 0 ...geExt.al => DIOTPaymentJournal.PageExt.al} | 0 ...eExt.al => DIOTPurchInvHeader.TableExt.al} | 0 ...t.al => DIOTPurchPayablesSetup.PageExt.al} | 0 ....al => DIOTPurchPayablesSetup.TableExt.al} | 0 ...eExt.al => DIOTPurchaseHeader.TableExt.al} | 0 ...eExt.al => DIOTPurchaseInvoice.PageExt.al} | 0 ...eExt.al => DIOTPurchaseJournal.PageExt.al} | 0 ...s.PageExt.al => DIOTVATEntries.PageExt.al} | 0 ...y.TableExt.al => DIOTVATEntry.TableExt.al} | 0 ...eExt.al => DIOTVATPostingSetup.PageExt.al} | 0 ...Ext.al => DIOTVATPostingSetup.TableExt.al} | 0 ...dor.TableExt.al => DIOTVendor.TableExt.al} | 0 ...d.PageExt.al => DIOTVendorCard.PageExt.al} | 0 Apps/NA/MX_DIOT/test/app.json | 12 +- ...eunit.al => DIOTDemodataTests.Codeunit.al} | 0 ...odeunit.al => DIOTWizardTests.Codeunit.al} | 0 ....Codeunit.al => LibraryMXDIOT.Codeunit.al} | 0 Apps/NA/Onprem Permissions NA/app/app.json | 6 +- .../ContosoCoffeeDemoDatasetNL/app/app.json | 8 +- Apps/NL/IntrastatNL/app/app.json | 8 +- .../IntrastatNLObjects.PermissionSetExt.al | 2 - Apps/NL/NLDigitalTaxDeclaration/app/app.json | 6 +- .../app/src/DigitalTaxDeclMgt.Codeunit.al | 7 - Apps/NL/NLDigitalTaxDeclaration/test/app.json | 14 +- .../ContosoCoffeeDemoDatasetNO/app/app.json | 8 +- Apps/NO/ElectronicVATSubmission/app/app.json | 8 +- .../app/src/Setup/ElecVATCodes.PageExt.al | 4 +- .../src/Setup/ElecVATSubmissionWizard.Page.al | 2 + .../ElecVATValidateReturn.Codeunit.al | 2 + Apps/NO/ElectronicVATSubmission/test/app.json | 12 +- Apps/NO/ImportNOPayroll/app/app.json | 6 +- Apps/NO/ImportNOPayroll/test/app.json | 12 +- Apps/NO/NorwegianSAFT/app/app.json | 6 +- ...eExt.al => SAFTBankAccountCard.PageExt.al} | 0 ....al => SAFTCustBankAccountCard.PageExt.al} | 0 ....al => SAFTVendBankAccountCard.PageExt.al} | 0 .../Export Engine/SAFTExportHeader.Table.al | 4 +- .../Export Engine/SAFTExportMgt.Codeunit.al | 2 + ...e.Page.al => SAFTGLMappingSubpage.Page.al} | 0 .../SAFTMappingHelper.Codeunit.al | 2 + .../SAFTMappingRange.Table.al | 1 - ...ge.al => SAFTStdAccountCategories.Page.al} | 0 ...geExt.al => SAFTCompanyContact.PageExt.al} | 0 ...eExt.al => SAFTCompanyContact.TableExt.al} | 0 .../src/Install and Setup/SAFTSetup.Table.al | 6 +- .../SAFTXMLImport.Codeunit.al | 27 +- ...sis.PageExt.al => SAFTAnalysis.PageExt.al} | 0 ...s.TableExt.al => SAFTAnalysis.TableExt.al} | 0 ...p.TableExt.al => SAFTTaxSetup.TableExt.al} | 0 ...PageExt.al => SAFTTaxSetupCard.PageExt.al} | 0 ...PageExt.al => SAFTTaxSetupList.PageExt.al} | 0 ...Code.PageExt.al => SAFTVATCode.PageExt.al} | 0 ...de.TableExt.al => SAFTVATCode.TableExt.al} | 0 ...TableExt.al => SAFTSourceCode.TableExt.al} | 0 ....PageExt.al => SAFTSourceCodes.PageExt.al} | 0 Apps/NO/NorwegianSAFT/test/app.json | 12 +- ...Codeunit.al => SAFTCheckTests.Codeunit.al} | 0 ...eunit.al => SAFTDemodataTests.Codeunit.al} | 0 ...unit.al => SAFTDimensionTests.Codeunit.al} | 0 ...eunit.al => SAFTJobQueueTests.Codeunit.al} | 0 ...it.al => SAFTPerformanceTests.Codeunit.al} | 0 ....Codeunit.al => SAFTUnitTests.Codeunit.al} | 0 ...odeunit.al => SAFTWizardTests.Codeunit.al} | 0 ...s.Codeunit.al => SAFTXMLTests.Codeunit.al} | 0 .../ContosoCoffeeDemoDatasetNZ/app/app.json | 8 +- Apps/NZ/HybridBCLast_NZ/app/app.json | 10 +- ...msDeclarationTracking.PermissionSetExt.al} | 0 Apps/RU/CDTracking/app/app.json | 6 +- .../app/src/CDNumberHeader.Table.al | 5 - Apps/RU/CDTracking/test/app.json | 14 +- .../test/src/CDTransfer.Codeunit.al | 8 +- Apps/RU/Onprem Permissions RU/app/app.json | 6 +- .../ContosoCoffeeDemoDatasetSE/app/app.json | 8 +- Apps/SE/IntrastatSE/app/app.json | 8 +- .../IntrastatSEObjects.PermissionSetExt.al | 2 - Apps/SE/SECore/app/app.json | 6 +- .../ImportCompanySizeCodes.Codeunit.al | 1 - .../SECoreObjects.PermissionSet.al | 18 + .../src/ReportExtensions/VATStatement.rdlc | 2 +- Apps/SE/SECore/test/app.json | 10 +- Apps/SE/SIE/app/app.json | 8 +- Apps/SE/SIE/app/src/DataCheckSIE.Codeunit.al | 1 - Apps/SE/SIE/app/src/SIEManagement.Codeunit.al | 2 + .../SIE/app/src/Setup/SIESetupWizard.Page.al | 1 - Apps/SE/SIE/test/app.json | 16 +- .../ContosoCoffeeDemoDatasetUS/app/app.json | 8 +- ...INTELLIGENTCLOUDHBCLUS.PermissionSetExt.al | 6 - .../d365basicHBCLUS.permissionsetext.al | 6 - .../d365basicisvHBCLUS.permissionsetext.al | 6 - .../d365teammemberHBCLUS.permissionsetext.al | 6 - Apps/US/HybridBCLast_US/app/app.json | 10 +- .../upgrade/15x/UpgMXCFDIUS.Codeunit.al | 50 - .../app/src/tables/StgDataExchDefUS.Table.al | 6 - ... => D365BasicExtHGPUS.PermissionSetExt.al} | 2 - ....al => HybridGPUSObjects.PermissionSet.al} | 0 .../INTELLIGENTCLOUDHGPUS.PermissionSetExt.al | 2 - .../d365basicisvHGPUS.permissionsetext.al | 2 - .../d365teammemberHGPUS.permissionsetext.al | 2 - Apps/US/HybridGP_US/app/app.json | 10 +- .../GPCompanyAddSettingsExt.TableExt.al | 14 +- Apps/US/HybridGP_US/test/app.json | 12 +- Apps/US/IRS1096/app/app.json | 6 +- Apps/US/IRS1096/test/app.json | 14 +- .../app/.objidconfig | 3 + .../Codeunits/AMCBankAssistedMgt.Codeunit.al | 1 - .../AMCBankImpBankListHndl.Codeunit.al | 2 - .../AMCBankImportStatement.Codeunit.al | 1 - .../AMCBankProcessStatement.Codeunit.al | 3 - .../AMCBankRESTRequestMgt.Codeunit.al | 2 - .../AMCBankServiceRequestMgt.Codeunit.al | 3 - .../app/Codeunits/AMCBankingMgt.Codeunit.al | 5 - .../Pages/AMCBankBankAccountCard.PageExt.al | 1 - .../Pages/AMCBankCreditTrfRegExt.PageExt.al | 1 - .../Pages/AMCBankPaymMethPageExt.PageExt.al | 1 - .../app/Pages/AMCBankSignuptoService.Page.al | 1 - .../Pages/AMCBankStmtLineDetExt.PageExt.al | 1 - .../app/Tables/AMCBankingSetup.Table.al | 2 - .../W1/AMCBanking365Fundamentals/app/app.json | 6 +- .../AMCBanking365Fundamentals/test/app.json | 14 +- .../Bank/AMCBankingCredentialUT.Codeunit.al | 1 - .../src/Bank/PaymentExportXMLPort.Codeunit.al | 2 - .../Base64DecodingEncoding.Codeunit.al | 1 - Apps/W1/APIReportsFinance/App/.objidconfig | 3 + Apps/W1/APIReportsFinance/App/app.json | 6 +- .../App/src/APIFinanceAccPeriods.Page.al | 1 - Apps/W1/APIV1/app/.objidconfig | 3 + Apps/W1/APIV1/app/app.json | 6 +- .../src/pages/APIV1AutExtensionDepl.Page.al | 1 - .../app/src/pages/APIV1AutExtensions.Page.al | 1 - .../APIV1/app/src/pages/APIV1Journals.Page.al | 1 - .../src/pages/APIV1PurchaseInvoices.Page.al | 1 - .../app/src/pages/APIV1SalesInvoices.Page.al | 2 - .../app/src/pages/APIV1SalesOrders.Page.al | 1 - Apps/W1/APIV1/test/app.json | 14 +- .../src/APIV1DefaultDimensionsE2E.Codeunit.al | 1 - .../src/APIV1SalesInvLinesE2E.Codeunit.al | 1 - Apps/W1/APIV2/app/.objidconfig | 3 + Apps/W1/APIV2/app/app.json | 6 +- .../APIV2AutCreateNewUsers.Codeunit.al | 1 - .../APIV2/app/src/pages/APIV2Accounts.Page.al | 4 + .../src/pages/APIV2AutExtensionDepl.Page.al | 1 - .../app/src/pages/APIV2AutExtensions.Page.al | 1 - .../src/pages/APIV2AutSecGrMembers.Page.al | 7 + .../src/pages/APIV2AutSecurityGroups.Page.al | 11 + .../app/src/pages/APIV2FALocations.Page.al | 1 + .../APIV2/app/src/pages/APIV2Journals.Page.al | 1 - .../src/pages/APIV2PurchaseInvoices.Page.al | 1 - .../app/src/pages/APIV2PurchaseOrders.Page.al | 21 +- .../app/src/pages/APIV2SalesInvoices.Page.al | 2 - .../app/src/pages/APIV2SalesOrders.Page.al | 19 +- .../app/src/pages/APIV2SalesShipments.Page.al | 9 +- Apps/W1/APIV2/test/app.json | 14 +- .../src/APIV2DefaultDimensionsE2E.Codeunit.al | 1 - .../src/APIV2SalesInvLinesE2E.Codeunit.al | 1 - Apps/W1/AuditFileExport/app/.objidconfig | 3 + Apps/W1/AuditFileExport/app/app.json | 6 +- .../GLAccountMapping/GLAccMappingCard.Page.al | 2 +- .../GLAccountMappingHeader.Table.al | 1 - Apps/W1/AuditFileExport/test/app.json | 12 +- .../W1/AutomaticAccountCodes/app/.objidconfig | 3 + Apps/W1/AutomaticAccountCodes/app/app.json | 6 +- .../AutoAccCodesFeatureMgt.Codeunit.al | 2 +- .../Codeunits/AutoAccCodesPageMgt.Codeunit.al | 2 +- .../InvPostBuffSubscribers.Codeunit.al | 2 +- .../FeatureToUpdateAutoAccCodes.EnumExt.al | 2 +- .../AutoAccInvoicePostBuffer.TableExt.al | 2 +- Apps/W1/AutomaticAccountCodes/test/app.json | 14 +- Apps/W1/BankAccRecWithAI/app/app.json | 82 +- .../app/src/BankAccRecAIProposal.Page.al | 4 +- .../src/BankAccReconciliationExt.PageExt.al | 22 +- .../BankAccReconciliationListExt.PageExt.al | 12 +- .../app/src/TransToGLAccAIProposal.Page.al | 2 +- Apps/W1/BankAccRecWithAI/test/app.json | 108 +- Apps/W1/BankDeposits/app/.objidconfig | 3 + Apps/W1/BankDeposits/app/app.json | 6 +- .../src/codeunits/BankDepositPost.Codeunit.al | 435 +- .../codeunits/UpgradeBankDeposits.Codeunit.al | 10 +- .../app/src/pages/BankDeposit.Page.al | 13 +- .../app/src/pages/BankDepositSubform.Page.al | 8 +- .../app/src/tables/BankDepositHeader.Table.al | 38 + .../tables/PostedBankDepositHeader.Table.al | 25 - Apps/W1/BankDeposits/test/app.json | 12 +- .../src/BankDepositPostingTests.Codeunit.al | 99 +- Apps/W1/BasicExperience/app/.objidconfig | 3 + Apps/W1/BasicExperience/app/app.json | 6 +- .../src/codeunit/AppAreaMgmtBF.Codeunit.al | 1 - .../app/src/codeunit/BasicMgmtBF.Codeunit.al | 2 + .../src/codeunit/ExperienceTierBF.Codeunit.al | 2 - .../PurchOrderFromSalesOrderBF.PageExt.al | 6 - .../page/SalesRelationshipMgrRCBF.PageExt.al | 2 +- Apps/W1/BasicExperience/test/app.json | 10 +- .../test/src/TestBasicBF.Codeunit.al | 3 - Apps/W1/ClientAddIns/.objidconfig | 3 + Apps/W1/ClientAddIns/app.json | 6 +- Apps/W1/CompanyHub/app/.objidconfig | 3 + Apps/W1/CompanyHub/app/app.json | 6 +- .../src/ClientSummary/COHUBCore.Codeunit.al | 11 - .../COHUBUrlTaskManager.Codeunit.al | 2 +- Apps/W1/ConnectivityApps/app/.objidconfig | 3 + Apps/W1/ConnectivityApps/app/app.json | 6 +- Apps/W1/ConnectivityApps/test/app.json | 14 +- .../ContosoCoffeeDemoDataset/app/.objidconfig | 3 + .../CreateWhseLocation.Codeunit.al | 6 +- .../CreateWhsePutAwayTemplate.Codeunit.al | 11 + .../ContosoUtilities.Codeunit.al | 7 +- .../ContosoWarehouse.Codeunit.al | 105 +- .../ContosoCoffeeDemoDataSetup.Table.al | 2 +- .../app/DemoTool/ContosoDemoTool.Codeunit.al | 15 +- Apps/W1/ContosoCoffeeDemoDataset/app/app.json | 73 +- .../test/ExtensionLogo.png | Bin 0 -> 5446 bytes .../W1/ContosoCoffeeDemoDataset/test/app.json | 42 + .../src/DemoToolDependencyTest.Codeunit.al | 49 + .../test/src/DemoToolLanguageTest.Codeunit.al | 82 + .../src/DemoToolPermissionTest.Codeunit.al | 44 + .../ContosoTest.EnumExt.al | 15 + .../ContosoTestModule1.Codeunit.al | 32 + .../ContosoTestModule2.Codeunit.al | 32 + .../ContosoTestModule3.Codeunit.al | 32 + .../app/.objidconfig | 3 + .../CrossEnvironmentIntercompany/app/app.json | 48 +- ...e.Page.al => APIBufICCommentLines.Page.al} | 0 Apps/W1/DataArchive/App/.objidconfig | 3 + Apps/W1/DataArchive/App/app.json | 6 +- Apps/W1/DataArchive/test/app.json | 10 +- Apps/W1/DataCorrectionFA/app/.objidconfig | 3 + Apps/W1/DataCorrectionFA/app/app.json | 6 +- Apps/W1/DataSearch/App/.objidconfig | 3 + .../App/DataSearchInvocation.Codeunit.al | 16 + Apps/W1/DataSearch/App/app.json | 6 +- .../test/TestDataSearch.codeunit.al | 106 + Apps/W1/DataSearch/test/app.json | 28 +- .../DynamicsGPHistoricalData/app/.objidconfig | 3 + Apps/W1/DynamicsGPHistoricalData/app/app.json | 6 +- .../W1/DynamicsGPHistoricalData/test/app.json | 10 +- .../app/.objidconfig | 3 + .../DynamicsGPHistorySmartLists/app/app.json | 8 +- ...sactions.al => GPHistAllSalesTrx.Query.al} | 0 ...actions.al => GPHistInventoryTrx.Query.al} | 0 ...sactions.al => GPHistPayablesTrx.Query.al} | 0 ...tions.al => GPHistReceivablesTrx.Query.al} | 0 ....al => GPHistReceivingsLineItems.Query.al} | 0 ...ctions.al => GPHistReceivingsTrx.Query.al} | 0 ...voices.al => GPHistSalesInvoices.Query.al} | 0 ...Items.al => GPHistSalesLineItems.Query.al} | 0 ...esOrders.al => GPHistSalesOrders.Query.al} | 0 ...esQuotes.al => GPHistSalesQuotes.Query.al} | 0 ...Returns.al => GPHistSalesReturns.Query.al} | 0 ...tions.al => GPOpenReceivablesTrx.Query.al} | 0 Apps/W1/EDocument/app/.objidconfig | 3 + Apps/W1/EDocument/app/README.md | 1 - Apps/W1/EDocument/app/app.json | 72 +- .../app/src/Document/EDocument.Interface.al | 2 +- .../EDocumentProcessing.Codeunit.al | 21 +- .../app/src/Setup/EDocumentSetup.Codeunit.al | 1 - Apps/W1/EDocument/test/app.json | 14 +- ...t.al => EDocmentFlowSetupTest.Codeunit.al} | 0 ...t.EnumExt.al => EDocFormatMock.EnumExt.al} | 0 ...mExt.al => EDocIntegrationMock.EnumExt.al} | 0 ...nit.al => EDocProcesssingTest.Codeunit.al} | 28 + ... => TestImportEDocumentFormat.Codeunit.al} | 0 Apps/W1/EDocumentsConnector/app/app.json | 20 +- .../EDocExtConnectionSetupCard.Page.al | 54 +- .../app/src/Pagero/PageroAuth.Codeunit.al | 1 + .../W1/EU3PartyTradePurchase/app/.objidconfig | 3 + Apps/W1/EU3PartyTradePurchase/app/app.json | 6 +- ...> FeatureToUpdateEU3PartyTrade.EnumExt.al} | 2 +- Apps/W1/EU3PartyTradePurchase/test/app.json | 14 +- .../app/.objidconfig | 3 + .../app/app.json | 8 +- .../test/app.json | 18 +- .../app/.objidconfig | 3 + .../app/app.json | 8 +- .../test/app.json | 16 +- .../Email - Outlook REST API/app/.objidconfig | 3 + Apps/W1/Email - Outlook REST API/app/app.json | 8 +- .../EmailAdminORA.permissionsetext.al | 2 - .../EmailEditORA.permissionsetext.al | 2 - .../W1/Email - Outlook REST API/test/app.json | 14 +- Apps/W1/Email - SMTP API/app/.objidconfig | 3 + Apps/W1/Email - SMTP API/app/app.json | 6 +- .../EmailSMTPAPI.PermissionSetExt.al | 2 - .../W1/Email - SMTP API/test library/app.json | 6 +- Apps/W1/Email - SMTP API/test/app.json | 14 +- .../Email - SMTP Connector/app/.objidconfig | 3 + Apps/W1/Email - SMTP Connector/app/app.json | 8 +- .../EmailAdminSMTP.permissionsetext.al | 2 - .../EmailEditSMTP.permissionsetext.al | 2 - Apps/W1/Email - SMTP Connector/test/app.json | 18 +- Apps/W1/EmailLogging/app/.objidconfig | 3 + Apps/W1/EmailLogging/app/app.json | 6 +- .../EmailLoggingManagement.Codeunit.al | 2 + .../codeunits/EmailLoggingUpgrade.Codeunit.al | 4 +- .../enums/FeatureToUpdateEmailLog.EnumExt.al | 2 +- Apps/W1/EmailLogging/test/app.json | 10 +- Apps/W1/EnforcedDigitalVouchers/app/app.json | 80 +- .../test library/app.json | 72 +- Apps/W1/EnforcedDigitalVouchers/test/app.json | 104 +- .../app/.objidconfig | 3 + .../app/app.json | 6 +- .../app/src/ErrorMessageExt.TableExt.al | 4 + .../app/src/ErrorMessageStatus.Enum.al | 2 + .../ErrorMessagesActionHandler.Codeunit.al | 4 + ...ErrorMessagesActionHandlerImpl.Codeunit.al | 7 + .../app/src/ErrorMessagesCardPart.Page.al | 4 + .../ErrorMessagesRecommendationExt.PageExt.al | 5 + .../app/src/ExecuteErrorAction.Codeunit.al | 4 + .../DefaultImplErrorMessage.Codeunit.al | 4 + .../DimCodeSameButMissingErr.Codeunit.al | 6 + .../DimensionCodeMustBeBlank.Codeunit.al | 6 + .../DimensionCodeSameError.Codeunit.al | 6 + .../ErrorMsgFixImplementation.Enum.al | 2 + .../Interface/ErrorMessageFix.Interface.al | 4 + .../test/app.json | 14 +- .../app/.objidconfig | 3 + .../EssentialBusinessHeadlines/app/app.json | 6 +- .../EssentialBusinessHeadlines/test/app.json | 10 +- .../TestEssentialBusHeadlines.Codeunit.al | 1 - Apps/W1/ExternalEvents/app/.objidconfig | 3 + Apps/W1/ExternalEvents/app/app.json | 6 +- Apps/W1/ExternalEvents/test/app.json | 16 +- Apps/W1/HybridAPI/app/.objidconfig | 3 + Apps/W1/HybridAPI/app/app.json | 8 +- Apps/W1/HybridBC/app/.objidconfig | 3 + Apps/W1/HybridBC/app/app.json | 8 +- Apps/W1/HybridBC/test/app.json | 16 +- .../src/HybridBCManagementTest.Codeunit.al | 35 +- .../test/src/HybridBCWizardTest.Codeunit.al | 434 -- .../test/src/HybridBCWizardTests.Codeunit.al | 370 ++ Apps/W1/HybridBCLast/app/.objidconfig | 3 + .../INTELLIGENTCLOUDHBCL.PermissionSetExt.al | 8 +- .../d365basicHBCL.permissionsetext.al | 8 +- .../d365basicisvHBCL.permissionsetext.al | 8 +- .../d365teammemberHBCL.permissionsetext.al | 8 +- Apps/W1/HybridBCLast/app/app.json | 8 +- .../src/codeunits/W1Management.Codeunit.al | 34 - .../upgrade/15x/UpgMigBaseApp.Codeunit.al | 434 -- .../15x/UpgMigNamedForwardLinks.Codeunit.al | 42 - .../19x/HybridUpgradeItemCrossRef.Codeunit.al | 15 - .../upgrade/21x/UpgradeBaseApp21x.Codeunit.al | 195 - .../src/tables/StgIncomingDocument.Table.al | 8 + Apps/W1/HybridBCLast/test/app.json | 18 +- ...670.ApiEvents.al => ApiEvents.Codeunit.al} | 0 ...=> HybridBCLastManagementTest.Codeunit.al} | 8 +- ...ast.al => LibraryHybridBCLast.Codeunit.al} | 3 +- ...W1.al => TestTransformationW1.Codeunit.al} | 0 Apps/W1/HybridBaseDeployment/app/.objidconfig | 3 + ...> INTELLIGENTCLOUDHBD.PermissionSetExt.al} | 0 Apps/W1/HybridBaseDeployment/app/app.json | 32 +- ...teAmts.al => CalculateAmounts.Codeunit.al} | 0 ...iesIC.al => CreateCompaniesIC.Codeunit.al} | 0 ...l => DataLakeMigrationCleanup.Codeunit.al} | 0 ...d.al => FixDataOnRunCompleted.Codeunit.al} | 0 ...=> HandleCreateCompanyFailure.Codeunit.al} | 0 ...re.al => HandleFixDataFailure.Codeunit.al} | 0 ...tall.al => HybridCloudInstall.Codeunit.al} | 5 - ...t.al => HybridCloudManagement.Codeunit.al} | 0 ...al => HybridCompanyInitialize.Codeunit.al} | 0 ...l => HybridCueSetupManagement.Codeunit.al} | 0 ... => HybridHandleCompInitError.Codeunit.al} | 0 ...al => HybridMessageManagement.Codeunit.al} | 0 ...l => IntelligentCloudNotifier.Codeunit.al} | 0 ...ler.al => NotificationHandler.Codeunit.al} | 0 ...l => PostMigrationNotificaton.Codeunit.al} | 0 ...ccountantRC.al => AccountantRC.PageExt.al} | 2 +- ...agerRC.al => BusinessManagerRC.PageExt.al} | 2 +- ...etup.al => CloudMigrationADLSetup.Page.al} | 0 ....al => DatabaseSizeTooLargeDialog.Page.al} | 0 ... => HybridAccountantActivities.PageExt.al} | 0 ...zard.al => HybridCloudSetupWizard.Page.al} | 0 ...idCompanies.al => HybridCompanies.Page.al} | 0 ...iesList.al => HybridCompaniesList.Page.al} | 0 ...t.al => HybridCompaniesManagement.Page.al} | 0 ...ies.al => HybridO365Activities.PageExt.al} | 0 ...uctTypes.al => HybridProductTypes.Page.al} | 0 ...tus.al => IntelligentCloudDetails.Page.al} | 0 ...ht.al => IntelligentCloudInsights.Page.al} | 2 +- ....al => IntelligentCloudManagement.Page.al} | 0 ...al => IntelligentCloudNotMigrated.Page.al} | 0 ...Ready.al => IntelligentCloudReady.Page.al} | 23 - ...le.al => IntelligentCloudSchedule.Page.al} | 0 ...al => IntelligentCloudStatFactbox.Page.al} | 0 ...date.al => IntelligentCloudUpdate.Page.al} | 0 ...tes.al => IntelligentEdgeInsights.Page.al} | 0 ...EdgeKPI.al => IntelligentEdgeKPIs.Page.al} | 0 ...erRC.al => JobProjectManagerRC.PageExt.al} | 2 +- ...pping.al => MigrationTableMapping.Page.al} | 0 ...apping.al => MigrationUserMapping.Page.al} | 0 ...list.al => PostMigrationChecklist.Page.al} | 0 ... SalesAndRelationshipManagerRC.PageExt.al} | 2 +- ...esManager.al => SalesManagerRC.PageExt.al} | 2 +- ....al => HybridEnabledCoRepDetails.Query.al} | 0 ...al => HybridTablesForReplication.Query.al} | 0 ...tup.al => CloudMigrationADLSetup.Table.al} | 0 ...sCue.al => HybridActivitesCue.TableExt.al} | 0 ...ridCompanies.al => HybridCompany.Table.al} | 0 ...nceCue.al => HybridFinanceCue.TableExt.al} | 0 ...ductType.al => HybridProductType.Table.al} | 0 ...il.al => HybridReplicationDetail.Table.al} | 0 ...y.al => HybridReplicationSummary.Table.al} | 0 ...l => IntelligentCloudNotMigrated.Table.al} | 0 ...etup.al => IntelligentCloudSetup.Table.al} | 0 ...l => IntelligentCloudTableStatus.Table.al} | 0 ...ping.al => MigrationTableMapping.Table.al} | 0 ...ist.al => PostMigrationChecklist.Table.al} | 0 ...al => ReplicationRunCompletedArg.Table.al} | 0 ...ngSource.al => UserMappingSource.Table.al} | 0 ...appingWork.al => UserMappingWork.Table.al} | 0 Apps/W1/HybridBaseDeployment/test/app.json | 14 +- ...Tests.al => ADLMigrationTests.Codeunit.al} | 0 ...=> HybridCloudManagementTests.Codeunit.al} | 0 ....al => HybridCueSetupMgtTests.Codeunit.al} | 0 ...dTest.al => HybridWizardTests.Codeunit.al} | 0 ...al => LibraryHybridManagement.Codeunit.al} | 0 ...al => ReplicationMgtPageTests.Codeunit.al} | 0 Apps/W1/HybridGP/app/.objidconfig | 3 + .../Permissions/HybridGPEdit.PermissionSet.al | 6 - .../HybridGPObjects.PermissionSet.al | 6 - .../Permissions/HybridGPRead.PermissionSet.al | 6 - .../INTELLIGENTCLOUDHGP.PermissionSetExt.al | 6 - Apps/W1/HybridGP/app/app.json | 12 +- .../History/AI/GPForecastHandler.codeunit.al | 6 - .../History/AI/GPForecastTemp.table.al | 6 - .../CheckBooks/GPCheckbookMSTR.table.al | 10 - .../GPCheckbookTransactions.table.al | 8 - .../Support/HelperFunctions.codeunit.al | 28 - .../PurchaseOrders/GPPOPPOHeader.table.al | 4 +- .../PurchaseOrders/GPPOPPOLine.table.al | 2 + .../Vendors/GPVendorMigrator.codeunit.al | 7 - .../app/src/tables/GPUpgradeSettings.Table.al | 2 + Apps/W1/HybridGP/test/app.json | 20 +- Apps/W1/INTaxEngine/app/.objidconfig | 3 + ...l => AdvObjectsTaxEngine.PermissionSet.al} | 0 ...=> D365AccessINTaxEngine.PermissionSet.al} | 0 ... D365ReadAccessTaxEngine.PermissionSet.al} | 0 .../app/TaxEngine-Core/.objidconfig | 3 + .../INTaxEngine/app/TaxEngine-Core/app.json | 6 +- .../app/TaxEngine-JsonExchange/.objidconfig | 3 + .../app/TaxEngine-JsonExchange/app.json | 16 +- .../TaxEngineAssistedSetup.Codeunit.al | 2 +- .../app/TaxEngine-PostingHandler/.objidconfig | 3 + .../app/TaxEngine-PostingHandler/app.json | 14 +- .../codeunit/TaxDocumentGLPosting.Codeunit.al | 1 - .../app/TaxEngine-ScriptHandler/.objidconfig | 3 + .../app/TaxEngine-ScriptHandler/app.json | 8 +- .../app/TaxEngine-TaxTypeHandler/.objidconfig | 3 + .../app/TaxEngine-TaxTypeHandler/app.json | 10 +- ...p.PageExt.al => TaxSettingsExt.PageExt.al} | 0 .../{TaxTypeCard.Page.al => TaxType.Page.al} | 0 ...eFilter.page.al => TaxRateFilters.Page.al} | 0 .../src/TaxTypeDataSenstivityMgmt.Codeunit.al | 2 +- .../app/TaxEngine-UseCaseBuilder/.objidconfig | 3 + .../app/TaxEngine-UseCaseBuilder/app.json | 12 +- .../UseCaseTreeConditionMgmt.Codeunit.al | 2 +- .../Table/UseCaseAttributeMapping.Table.al | 1 - Apps/W1/INTaxEngine/app/app.json | 6 +- .../INTaxEngine/test/TaxEngine-Core/app.json | 12 +- .../test/TaxEngine-JsonExchange/app.json | 10 +- .../test/TaxEngine-PostingHandler/app.json | 14 +- .../test/TaxEngine-ScriptHandler/app.json | 14 +- .../test/TaxEngine-TaxTypeHandler/app.json | 10 +- .../test/TaxEngine-UseCaseBuilder/app.json | 14 +- Apps/W1/INTaxEngine/test/app.json | 12 +- Apps/W1/ImageAnalysis/app/.objidconfig | 3 + Apps/W1/ImageAnalysis/app/app.json | 6 +- ...5BASICISVImageAnalyzer.PermissionSetExt.al | 1 - ...D365BASICImageAnalyzer.PermissionSetExt.al | 1 - ...ULLACCESSImageAnalyzer.PermissionSetExt.al | 1 - ...USPREMIUMImageAnalyzer.PermissionSetExt.al | 1 - ...ULLACCESSImageAnalyzer.PermissionSetExt.al | 1 - .../D365READImageAnalyzer.PermissionSetExt.al | 1 - ...EAMMEMBERImageAnalyzer.PermissionSetExt.al | 1 - ...GENTCLOUDImageAnalyzer.PermissionSetExt.al | 1 - ...it.al => ImageAnalysisInstall.Codeunit.al} | 0 .../codeunits/ImageAnalyzerExtMgt.Codeunit.al | 2 + ...Page.al => ImageAnalysisBlacklist.Page.al} | 0 ...xt.al => ImageAnalysisSetupExt.PageExt.al} | 0 ...Tags.Page.al => ImageAnalysisTags.Page.al} | 0 Apps/W1/ImageAnalysis/test/app.json | 12 +- Apps/W1/Intrastat/app/.objidconfig | 3 + Apps/W1/Intrastat/app/app.json | 6 +- .../app/src/IntrastatReportSetup.Page.al | 2 + .../app/src/IntrastatReportSubform.Page.al | 14 +- Apps/W1/Intrastat/test/app.json | 14 +- .../test/src/IntrastatReportTest.Codeunit.al | 2 - Apps/W1/LatePaymentPredictor/app/.objidconfig | 3 + Apps/W1/LatePaymentPredictor/app/app.json | 6 +- ....al => CustomerLedgerEntryLPP.TableExt.al} | 0 ...ies.PageExt.al => LPActivities.PageExt.al} | 0 ...it.al => LPFeatureTableHelper.Codeunit.al} | 0 ...utData.Table.al => LPMLInputData.Table.al} | 0 ...Page.al => LPMachineLearningSetup.Page.al} | 0 ...ble.al => LPMachineLearningSetup.Table.al} | 0 ...eunit.al => LPModelManagement.Codeunit.al} | 0 ...al => LPPCustomerLedgerEntries.PageExt.al} | 0 ...TableExt.al => LPPSalesHeader.TableExt.al} | 0 ....PageExt.al => LPPSalesInvoice.PageExt.al} | 0 ...al => LPPSalesInvoiceHeaderInput.Query.al} | 0 ...er.PageExt.al => LPPSalesOrder.PageExt.al} | 0 ...te.PageExt.al => LPPSalesQuote.PageExt.al} | 0 ...r.Codeunit.al => LPPScheduler.Codeunit.al} | 0 ...date.Codeunit.al => LPPUpdate.Codeunit.al} | 0 ...ox.Page.al => LPPredictionFactBox.Page.al} | 0 ...odeunit.al => LPPredictionMgt.Codeunit.al} | 1 - ....Codeunit.al => LPSubscribers.Codeunit.al} | 0 .../app/src/LatePaymentUpgrade.Codeunit.al | 1 - ...vlatepaymentprediction.permissionsetext.al | 1 - ...clatepaymentprediction.permissionsetext.al | 1 - ...slatepaymentprediction.permissionsetext.al | 1 - ...mlatepaymentprediction.permissionsetext.al | 1 - ...slatepaymentprediction.permissionsetext.al | 1 - ...dlatepaymentprediction.permissionsetext.al | 1 - ...rlatepaymentprediction.permissionsetext.al | 1 - ...dlatepaymentprediction.permissionsetext.al | 1 - Apps/W1/LatePaymentPredictor/test/app.json | 12 +- ...eunit.al => LPMLInputDataTest.Codeunit.al} | 0 ...deunit.al => LPPredictionTest.Codeunit.al} | 6 +- Apps/W1/LibraryNoTransactions/.objidconfig | 3 + Apps/W1/LibraryNoTransactions/app.json | 4 +- Apps/W1/MSWalletPayments/app/.objidconfig | 3 + Apps/W1/MSWalletPayments/app/app.json | 6 +- .../app/src/pages/PaymentServices.PageExt.al | 66 - ...harge.Table.al => MSWalletCharge.Table.al} | 0 ...le.al => MSWalletMerchantAccount.Table.al} | 0 ...e.al => MSWalletMerchantTemplate.Table.al} | 7 - ...ment.Table.al => MSWalletPayment.Table.al} | 0 .../MSWalletPayments/test/ExtensionLogo.png | Bin 1854 -> 0 bytes Apps/W1/MSWalletPayments/test/app.json | 61 - .../MSWalletPayments/test/appsourcecop.json | 3 - Apps/W1/MasterDataManagement/app/.objidconfig | 3 + Apps/W1/MasterDataManagement/app/app.json | 6 +- .../MasterDataMgtSetupDefault.Codeunit.al | 14 +- .../MasterDataMgtUpgrade.Codeunit.al | 48 + .../src/pages/MasterDataSynchTables.Page.al | 147 +- .../src/xmlports/ImportMDMSetup.XmlPort.al | 10 + .../test library/app.json | 8 +- Apps/W1/MasterDataManagement/test/app.json | 14 +- .../src/MasterDataMgtSetupTests.Codeunit.al | 1 + Apps/W1/MicrosoftUniversalPrint/.objidconfig | 3 + Apps/W1/MicrosoftUniversalPrint/app.json | 6 +- .../src/UniversalPrinterSettings.Table.al | 7 +- .../src/UniversalPrinterSetup.Codeunit.al | 2 - Apps/W1/OnPrem Permissions/app/.objidconfig | 3 + Apps/W1/OnPrem Permissions/app/app.json | 6 +- Apps/W1/OnPrem Permissions/test/app.json | 10 +- Apps/W1/OnboardingSignals/app/.objidconfig | 3 + Apps/W1/OnboardingSignals/app/app.json | 6 +- Apps/W1/OnboardingSignals/test/app.json | 12 +- .../PayPalPaymentsStandard/app/.objidconfig | 3 + Apps/W1/PayPalPaymentsStandard/app/app.json | 6 +- ...paypalpaymentsstandard.permissionsetext.al | 12 - .../codeunits/MSPayPalStandardMgt.Codeunit.al | 105 +- .../MSPayPalWebhookManagement.Codeunit.al | 13 +- .../pages/MSPayPalPaymentServices.PageExt.al | 127 - .../pages/MSPayPalStandardAccounts.Page.al | 13 +- .../src/pages/MSPayPalStandardSetup.Page.al | 53 +- .../pages/MSPayPalStandardTemplate.Page.al | 13 +- .../tables/MSPayPalStandardAccount.Table.al | 28 +- Apps/W1/PayPalPaymentsStandard/test/app.json | 14 +- .../src/MSPayPalStandardTests.Codeunit.al | 2 + Apps/W1/PaymentPractices/app/.objidconfig | 3 + Apps/W1/PaymentPractices/app/app.json | 6 +- Apps/W1/PaymentPractices/test/app.json | 14 +- Apps/W1/PlanConfiguration/app/.objidconfig | 3 + .../PlanConfigAzureADPlan.PermissionSetExt.al | 2 - Apps/W1/PlanConfiguration/app/app.json | 6 +- Apps/W1/PlanConfiguration/test/app.json | 16 +- Apps/W1/QBMigration/app/.objidconfig | 3 + Apps/W1/QBMigration/app/app.json | 8 +- ...t.Table.al => MigrationQBAccount.Table.al} | 0 ...=> MigrationQBAccountMigrator.Codeunit.al} | 0 ...age.al => MigrationQBAccountTable.Page.al} | 0 ....Table.al => MigrationQBCustomer.Table.al} | 0 ...> MigrationQBCustomerMigrator.Codeunit.al} | 0 ...ge.al => MigrationQBCustomerTable.Page.al} | 0 ...ge.al => MigrationQBCustomerTrans.Page.al} | 0 ...e.al => MigrationQBCustomerTrans.Table.al} | 0 ...Item.Table.al => MigrationQBItem.Table.al} | 0 ...al => MigrationQBItemMigrator.Codeunit.al} | 0 ...e.Page.al => MigrationQBItemTable.Page.al} | 0 ...le.al => MigrationQBAccountSetup.Table.al} | 0 ...ig.Table.al => MigrationQBConfig.Table.al} | 0 ...al => MigrationQBDashboardMgt.Codeunit.al} | 0 ...t.al => MigrationQBDataLoader.Codeunit.al} | 0 ...t.al => MigrationQBDataReader.Codeunit.al} | 0 ....al => MigrationQBDefaultAccounts.Page.al} | 0 ...=> MigrationQBHelperFunctions.Codeunit.al} | 0 ...Codeunit.al => MigrationQBMgt.Codeunit.al} | 0 ....al => MigrationQBPostingAccounts.Page.al} | 0 ... MigrationQBWizardIntegration.Codeunit.al} | 0 ...unit.al => MigrationQBUpgrade.Codeunit.al} | 0 ...or.Table.al => MigrationQBVendor.Table.al} | 0 ... => MigrationQBVendorMigrator.Codeunit.al} | 0 ...Page.al => MigrationQBVendorTable.Page.al} | 0 ...Page.al => MigrationQBVendorTrans.Page.al} | 0 ...ble.al => MigrationQBVendorTrans.Table.al} | 0 Apps/W1/QBMigration/test/app.json | 10 +- ...al => MigrationQBAccountTests.Codeunit.al} | 0 ...eunit.al => MigrationQBOTests.Codeunit.al} | 0 ....al => MigrationQBRunAllTests.Codeunit.al} | 0 .../app/.objidconfig | 3 + .../QuickbooksPayrollFileImport/app/app.json | 6 +- .../QuickbooksPayrollFileImport/test/app.json | 10 +- Apps/W1/RecommendedApps/app/.objidconfig | 3 + Apps/W1/RecommendedApps/app/app.json | 6 +- Apps/W1/RecommendedApps/test/app.json | 14 +- Apps/W1/ReportLayouts/app/.objidconfig | 3 + .../Entitlements/ReportLayouts.entitlement.al | 4 + .../ReportLayoutsObjects.permissionset.al | 4 + Apps/W1/ReportLayouts/app/app.json | 6 +- .../app/src/ReportLayoutEditDialog.page.al | 5 + .../app/src/ReportLayoutNewDialog.page.al | 5 + .../app/src/ReportLayouts.page.al | 6 + Apps/W1/ReportLayouts/test/app.json | 12 +- .../codeunits/ReportLayoutsTest.Codeunit.al | 8 - Apps/W1/ReviewGLEntries/app/.objidconfig | 3 + Apps/W1/ReviewGLEntries/app/app.json | 8 +- Apps/W1/ReviewGLEntries/test/app.json | 12 +- Apps/W1/SAF-T/app/.objidconfig | 3 + Apps/W1/SAF-T/app/app.json | 32 +- Apps/W1/SAF-T/app/src/SAFTDataMgt.Codeunit.al | 2 + .../W1/SAF-T/app/src/Setup/SAFTWizard.Page.al | 2 - Apps/W1/SAF-T/test/app.json | 16 +- Apps/W1/SAF-T/test/src/SAFTTests.Codeunit.al | 2 +- .../app/.objidconfig | 3 + .../W1/SalesAndInventoryForecast/app/app.json | 6 +- ...esandinventoryforecast.permissionsetext.al | 2 - ...esandinventoryforecast.permissionsetext.al | 2 - ...esandinventoryforecast.permissionsetext.al | 2 - ...esandinventoryforecast.permissionsetext.al | 2 - ...esandinventoryforecast.permissionsetext.al | 2 - ...esandinventoryforecast.permissionsetext.al | 2 - ...esandinventoryforecast.permissionsetext.al | 2 - ...esandinventoryforecast.permissionsetext.al | 2 - .../SalesForecastInstall.Codeunit.al | 1 - .../codeunits/SalesForecastUpdate.Codeunit.al | 1 - .../src/tables/MSSalesForecastSetup.Table.al | 1 - .../SalesAndInventoryForecast/test/app.json | 12 +- .../test/src/SalesForecastTests.Codeunit.al | 2 + Apps/W1/SendToEmailPrinter/.objidconfig | 3 + Apps/W1/SendToEmailPrinter/app.json | 6 +- .../src/EmailPrinterSettings.Page.al | 1 - .../src/SetupPrinters.Codeunit.al | 3 +- Apps/W1/ServiceDeclaration/app/.objidconfig | 3 + .../Permissions/ServDeclEdit.PermissionSet.al | 2 - .../Permissions/ServDeclRead.PermissionSet.al | 2 - Apps/W1/ServiceDeclaration/app/app.json | 6 +- Apps/W1/ServiceDeclaration/test/app.json | 14 +- .../test/src/ServDeclSuggestLines.Codeunit.al | 1 - .../src/ServiceDeclarationPosting.Codeunit.al | 1 - .../test/src/ServiceDeclarationUT.Codeunit.al | 1 - Apps/W1/Shopify/app/.objidconfig | 3 + Apps/W1/Shopify/app/app.json | 6 +- .../ShpfyBackgroundSyncs.Codeunit.al | 68 + .../Codeunits/ShpfyInstallMgt.Codeunit.al | 8 +- .../Base/Codeunits/ShpfyTemplates.Codeunit.al | 2 +- .../Codeunits/ShpfyUpgradeMgt.Codeunit.al | 43 +- .../ShpfyFeatureToUpdate.EnumExt.al | 2 +- .../Enums/ShpfySynchronizationType.Enum.al | 5 +- .../ShpfyTemplDataUpdate.PageExt.al | 6 +- .../Base/Pages/ShpfyConnectorGuide.Page.al | 3 +- .../app/src/Base/Pages/ShpfyShopCard.Page.al | 141 +- .../app/src/Base/Pages/ShpfyShops.Page.al | 7 + .../app/src/Base/Tables/ShpfyShop.Table.al | 87 +- .../ShpfyBulkOperationMgt.Codeunit.al | 2 + .../Codeunits/ShpfyCatalogAPI.Codeunit.al | 207 + .../ShpfySyncCatalogPrices.Codeunit.al | 106 + .../src/Catalogs/Pages/ShpfyCatalogs.Page.al | 172 + .../Reports/ShpfySyncCatalogPrices.Report.al | 46 + .../Reports/ShpfySyncCatalogs.Report.al | 52 + .../src/Catalogs/Tables/ShpfyCatalog.Table.al | 122 + .../Tables/ShpfyCatalogPrice.Table.al | 53 + .../Codeunits/ShpfyCompanyAPI.Codeunit.al | 215 + .../Codeunits/ShpfyCompanyExport.Codeunit.al | 166 + .../Codeunits/ShpfySyncCompanies.Codeunit.al | 49 + .../Enums/ShpfyDefaultContPermission.Enum.al | 23 + .../Companies/Pages/ShpfyCompanies.Page.al | 176 + .../Companies/Pages/ShpfyCompanyCard.Page.al | 160 + .../Pages/ShpfyMainContactFactbox.Page.al | 37 + .../ShpfyAddCompanyToShopify.Report.al | 95 + .../Reports/ShpfySyncCompanies.Report.al | 25 + .../Companies/Tables/ShpfyCompany.Table.al | 133 + .../Tables/ShpfyCompanyLocation.Table.al | 70 + .../Codeunits/ShpfyCountyCode.Codeunit.al | 0 .../ShpfyCountyFromJsonCode.Codeunit.al | 0 .../ShpfyCountyFromJsonName.Codeunit.al | 0 .../Codeunits/ShpfyCountyName.Codeunit.al | 0 .../Codeunits/ShpfyCreateCustomer.Codeunit.al | 4 +- .../Codeunits/ShpfyCustByBillto.Codeunit.al | 0 .../ShpfyCustByDefaultCust.Codeunit.al | 1 - .../ShpfyCustByEmailPhone.Codeunit.al | 0 .../Codeunits/ShpfyCustomerAPI.Codeunit.al | 5 +- .../Codeunits/ShpfyCustomerEvents.Codeunit.al | 0 .../Codeunits/ShpfyCustomerExport.Codeunit.al | 18 +- .../Codeunits/ShpfyCustomerImport.Codeunit.al | 0 .../ShpfyCustomerMapping.Codeunit.al | 41 +- .../ShpfyNameisCompanyName.Codeunit.al | 0 .../Codeunits/ShpfyNameisEmpty.Codeunit.al | 0 .../ShpfyNameisFirstLastName.Codeunit.al | 0 .../ShpfyNameisLastFirstName.Codeunit.al | 0 .../Codeunits/ShpfySyncCountries.Codeunit.al | 0 .../Codeunits/ShpfySyncCustomers.Codeunit.al | 11 +- .../Codeunits/ShpfyUpdateCustomer.Codeunit.al | 4 +- .../Enums/ShpfyCountySource.Enum.al | 0 .../Enums/ShpfyCustomerImportRange.Enum.al | 0 .../Enums/ShpfyCustomerMapping.Enum.al | 0 .../Enums/ShpfyCustomerState.Enum.al | 0 .../Enums/ShpfyNameSource.Enum.al | 0 .../Enums/ShpfyTaxBy.Enum.al | 0 .../Enums/ShpfyTaxType.Enum.al | 0 .../Interfaces/ShpfyICounty.Interface.al | 0 .../ShpfyICountyFromJson.Interface.al | 0 .../ShpfyICustomerMapping.Interface.al | 0 .../ShpfyICustomerName.Interface.al | 0 .../Pages/ShpfyCustomerAdresses.Page.al | 0 .../Pages/ShpfyCustomerCard.Page.al | 0 .../Pages/ShpfyCustomerTemplates.Page.al | 0 .../Pages/ShpfyCustomers.Page.al | 37 +- .../Pages/ShpfyTaxAreas.Page.al | 0 .../ShpfyAddCustomerToShopify.Report.al | 95 + .../Reports/ShpfySyncCountries.Report.al | 0 .../Reports/ShpfySyncCustomers.Report.al | 0 .../Tables/ShpfyCustomer.Table.al | 2 +- .../Tables/ShpfyCustomerAddress.Table.al | 5 - .../Tables/ShpfyCustomerTemplate.Table.al | 0 .../Tables/ShpfyProvince.Table.al | 0 .../Tables/ShpfyTaxArea.Table.al | 0 .../ShpfyGQLCatalogPrices.Codeunit.al | 24 + .../Codeunits/ShpfyGQLCatalogs.Codeunit.al | 24 + .../ShpfyGQLCompanyAssignConRole.Codeunit.al | 24 + .../ShpfyGQLCompanyAssignContact.Codeunit.al | 24 + .../ShpfyGQLCompanyAssignMainCon.Codeunit.al | 24 + .../ShpfyGQLCreateCatalog.Codeunit.al | 24 + .../ShpfyGQLCreatePublication.Codeunit.al | 24 + .../ShpfyGQLFFOrdersFromOrder.Codeunit.al | 2 +- .../ShpfyGQLNextCatalogPrices.Codeunit.al | 24 + .../ShpfyGQLNextCatalogs.Codeunit.al | 24 + .../ShpfyGQLNextFFOrdersFromOrd.Codeunit.al | 2 +- .../ShpfyGQLUpdateCatalogPrices.Codeunit.al | 22 + .../GraphQL/Enums/ShpfyGraphQLType.Enum.al | 52 +- .../ShpfyAuthenticationMgt.Codeunit.al | 2 +- .../Tables/ShpfyRegisteredStore.Table.al | 5 - .../Codeunits/ShpfyFreeInventory.Codeunit.al | 12 + .../Enums/ShpfyStockCalculation.Enum.al | 6 + .../ShpfyCreateSalesDocRefund.Codeunit.al | 7 +- .../ShpfyRefundProcessEvents.Codeunit.al | 45 +- .../Codeunits/ShpfyOrdersAPI.Codeunit.al | 2 +- .../Codeunits/ShpfyProcessOrder.Codeunit.al | 2 +- .../Order handling/Pages/ShpfyOrder.Page.al | 2 + .../ShpfyAdmin.PermissionSet.al | 8 - .../PermissionSets/ShpfyEdit.PermissionSet.al | 9 +- .../ShpfyIndirectPerm.PermissionSet.al | 2 + .../ShpfyObjects.PermissionSet.al | 35 +- .../PermissionSets/ShpfyRead.PermissionSet.al | 9 +- .../Codeunits/ShpfyCreateItem.Codeunit.al | 63 +- .../Codeunits/ShpfyCreateProduct.Codeunit.al | 13 + .../ShpfyItemReferenceMgt.Codeunit.al | 2 + .../Codeunits/ShpfyProductAPI.Codeunit.al | 10 +- .../Codeunits/ShpfyProductExport.Codeunit.al | 8 +- .../ShpfyProductPriceCalc.Codeunit.al | 136 +- .../ShpfySyncProductImage.Codeunit.al | 43 +- .../ShpfyUpdatePriceSource.Codeunit.al | 15 +- .../Codeunits/ShpfyVariantAPI.Codeunit.al | 31 +- .../Pages/ShpfyProductsOverview.Page.al | 2 +- .../Reports/ShpfyAddItemtoShopify.Report.al | 43 +- .../ShpfySalesShipmentUpdate.PageExt.al | 8 +- .../Reports/ShpfySyncShipmToShopify.Report.al | 20 +- .../Codeunits/ShpfyTransactions.Codeunit.al | 1 + .../Tables/ShpfyOrderTransaction.Table.al | 6 + .../Shopify/shopify_workspace.code-workspace | 6 +- .../Catalogs/ShpfyCatalogAPITest.Codeunit.al | 59 + .../ShpfyCatalogInitialize.Codeunit.al | 54 + .../ShpfyCatalogPricesTest.Codeunit.al | 85 + .../Companies/ShpfyCompanyAPITest.Codeunit.al | 78 + .../ShpfyCompanyExportTest.Codeunit.al | 50 + .../ShpfyCompanyInitialize.Codeunit.al | 81 + .../ShpfyCountySourceTest.Codeunit.al | 0 .../ShpfyCreateCustomerTest.Codeunit.al | 0 .../ShpfyCustomerAPITest.Codeunit.al | 2 +- .../ShpfyCustomerExportTest.Codeunit.al | 0 .../ShpfyCustomerGetNameTest.Codeunit.al | 0 .../ShpfyCustomerInitTest.Codeunit.al | 0 .../ShpfyCustomerMappingTest.Codeunit.al | 0 .../ShopifyTest.PermissionSet.al | 43 +- .../Products/ShpfyProductInitTest.Codeunit.al | 26 +- .../ShpfyProductPriceCalcTest.Codeunit.al | 16 +- Apps/W1/Shopify/test/app.json | 24 +- .../app/.objidconfig | 3 + .../app/app.json | 6 +- .../test/app.json | 12 +- Apps/W1/SmartList/.objidconfig | 3 + Apps/W1/SmartList/app.json | 6 +- .../CodeUnits/SmartListInstall.Codeunit.al | 1 - .../src/Queries/ItemsOverdueForCount.Query.al | 5 +- .../Queries/NegativeQuantityItems.Query.al | 3 +- Apps/W1/StatisticalAccounts/app/.objidconfig | 3 + Apps/W1/StatisticalAccounts/app/app.json | 6 +- .../src/StatAccFinReportingMgt.Codeunit.al | 1 - .../app/src/StatAccJnlLinePost.Codeunit.al | 6 + .../src/StatAccSourceCodeSetup.TableExt.al | 1 - .../app/src/StatAccountBalanceLines.Page.al | 1 - Apps/W1/StatisticalAccounts/test/app.json | 16 +- Apps/W1/Sustainability/app/ExtensionLogo.png | Bin 0 -> 5446 bytes Apps/W1/Sustainability/app/app.json | 33 + Apps/W1/Sustainability/test/ExtensionLogo.png | Bin 0 -> 5446 bytes Apps/W1/Sustainability/test/app.json | 31 + Apps/W1/SyncBase/.objidconfig | 3 + Apps/W1/SyncBase/app.json | 6 +- ...365basicisvsyncbaseapp.permissionsetext.al | 2 + .../d365basicsyncbaseapp.permissionsetext.al | 2 + ...sfullaccesssyncbaseapp.permissionsetext.al | 2 + ...5buspremiumsyncbaseapp.permissionsetext.al | 2 + ...5fullaccesssyncbaseapp.permissionsetext.al | 2 + .../d365readsyncbaseapp.permissionsetext.al | 2 + ...5teammembersyncbaseapp.permissionsetext.al | 2 + ...ligentcloudsyncbaseapp.permissionsetext.al | 2 + .../src/codeunits/SyncBaseinstall.Codeunit.al | 7 +- .../src/codeunits/SyncJob.Codeunit.al | 6 + .../src/codeunits/SyncManagement.Codeunit.al | 5 + .../SyncBase/src/tables/SyncChange.Table.al | 9 + .../SyncBase/src/tables/SyncMapping.Table.al | 9 + .../W1/SyncBase/src/tables/SyncSetup.Table.al | 12 + Apps/W1/TransactionStorage/app/app.json | 66 +- .../UKSendRemittanceAdvice/app/.objidconfig | 3 + Apps/W1/UKSendRemittanceAdvice/app/app.json | 6 +- .../src/SetupRemittanceReports.Codeunit.al | 1 - Apps/W1/UKSendRemittanceAdvice/test/app.json | 12 +- Apps/W1/VATGroupManagement/app/.objidconfig | 3 + Apps/W1/VATGroupManagement/app/app.json | 6 +- Apps/W1/VATGroupManagement/test/app.json | 14 +- .../WorldPayPaymentsStandard/app/.objidconfig | 3 + Apps/W1/WorldPayPaymentsStandard/app/app.json | 6 +- ...l => MSWorldPayCreateDemoData.Codeunit.al} | 0 ....al => MSWorldPayStandardAccount.Table.al} | 0 ...t.al => MSWorldPayStandardMgt.Codeunit.al} | 0 ...age.al => MSWorldPayStandardSetup.Page.al} | 0 ... => MSWorldPayStandardUpgrade.Codeunit.al} | 0 ....Page.al => MSWorldPayStdSettings.Page.al} | 0 ....Page.al => MSWorldPayStdTemplate.Page.al} | 0 ...able.al => MSWorldPayStdTemplate.Table.al} | 0 ...able.al => MSWorldPayTransaction.Table.al} | 0 .../W1/WorldPayPaymentsStandard/test/app.json | 14 +- ...al => MSWorldPayStandardTests.Codeunit.al} | 0 ...al => MSWorldPayStdMockEvents.Codeunit.al} | 0 3107 files changed, 33087 insertions(+), 8939 deletions(-) delete mode 100644 Apps/AT/HybridBCLast_AT/app/src/codeunits/DataLoadAT.Codeunit.al delete mode 100644 Apps/CA/HybridBCLast_CA/app/Permissions/INTELLIGENTCLOUDHBCLCA.PermissionSetExt.al delete mode 100644 Apps/CA/HybridBCLast_CA/app/Permissions/d365basicHBCLCA.permissionsetext.al delete mode 100644 Apps/CA/HybridBCLast_CA/app/Permissions/d365basicisvHBCLCA.permissionsetext.al delete mode 100644 Apps/CA/HybridBCLast_CA/app/Permissions/d365teammemberHBCLCA.permissionsetext.al delete mode 100644 Apps/CA/HybridBCLast_CA/app/src/codeunits/upgrade/15x/UpgMXCFDICA.Codeunit.al rename Apps/CH/SwissQRBill/app/src/IncomingDocuments/{IncomingDoc.Codeunit.al => SwissQRBillIncomingDoc.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/app/src/IncomingDocuments/{IncomingDoc.PageExt.al => SwissQRBillIncomingDoc.PageExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/IncomingDocuments/{IncomingDoc.TableExt.al => SwissQRBillIncomingDoc.TableExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/IncomingDocuments/{IncomingDocs.PageExt.al => SwissQRBillIncomingDocs.PageExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/IncomingDocuments/{Scan.Page.al => SwissQRBillScan.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/{Install.Codeunit.al => SwissQRBillInstall.Codeunit.al} (99%) rename Apps/CH/SwissQRBill/app/src/core/{AddressType.Enum.al => SwissQRBillAddressType.Enum.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{Buffer.Table.al => SwissQRBillBuffer.Table.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{Decode.Codeunit.al => SwissQRBillDecode.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{Encode.Codeunit.al => SwissQRBillEncode.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{IBANType.Enum.al => SwissQRBillIBANType.Enum.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{ImageMgt.Codeunit.al => SwissQRBillImageMgt.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{Mgt.Codeunit.al => SwissQRBillMgt.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{PaymentReferenceType.Enum.al => SwissQRBillPaymentReferenceType.Enum.al} (100%) rename Apps/CH/SwissQRBill/app/src/core/{UmlautEncoding.Enum.al => SwissQRBillUmlautEncoding.Enum.al} (100%) rename Apps/CH/SwissQRBill/app/src/purchases/{CreateVendBank.Page.al => SwissQRBillCreateVendBank.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/purchases/{GenJournalLine.TableExt.al => SwissQRBillGenJournalLine.TableExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/purchases/{PurchaseHeader.TableExt.al => SwissQRBillPurchaseHeader.TableExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/purchases/{PurchaseInvoice.PageExt.al => SwissQRBillPurchaseInvoice.PageExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/purchases/{PurchaseJournal.PageExt.al => SwissQRBillPurchaseJournal.PageExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/purchases/{PurchaseOrder.PageExt.al => SwissQRBillPurchaseOrder.PageExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/purchases/{Purchases.Codeunit.al => SwissQRBillPurchases.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/app/src/report/{ManualPrint.Page.al => SwissQRBillManualPrint.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/report/{Print.Report.al => SwissQRBillPrint.Report.al} (100%) rename Apps/CH/SwissQRBill/app/src/report/{PrintSelectDoc.Page.al => SwissQRBillPrintSelectDoc.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{BankAccount.TableExt.al => SwissQRBillBankAccount.TableExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{BillingDetail.Enum.al => SwissQRBillBillingDetail.Enum.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{BillingDetail.Table.al => SwissQRBillBillingDetail.Table.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{BillingDetails.Page.al => SwissQRBillBillingDetails.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{BillingInfo.Codeunit.al => SwissQRBillBillingInfo.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{BillingInfo.Page.al => SwissQRBillBillingInfo.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{BillingInfo.Table.al => SwissQRBillBillingInfo.Table.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{CompanyInfo.PageExt.al => SwissQRBillCompanyInfo.PageExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{CompanyInfo.TableExt.al => SwissQRBillCompanyInfo.TableExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{Layout.Page.al => SwissQRBillLayout.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{Layout.Table.al => SwissQRBillLayout.Table.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{PaymentMethod.PageExt.al => SwissQRBillPaymentMethod.PageExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{PaymentMethod.TableExt.al => SwissQRBillPaymentMethod.TableExt.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{Reports.Enum.al => SwissQRBillReports.Enum.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{Reports.Page.al => SwissQRBillReports.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{Reports.Table.al => SwissQRBillReports.Table.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{Setup.Page.al => SwissQRBillSetup.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{Setup.Table.al => SwissQRBillSetup.Table.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{SetupWizard.Page.al => SwissQRBillSetupWizard.Page.al} (100%) rename Apps/CH/SwissQRBill/app/src/setup/{VendBankAccCard.PageExt.al => SwissQRBillVendBankAccCard.PageExt.al} (100%) rename Apps/CH/SwissQRBill/test/src/{BillingInfo.Codeunit.al => SwissQRBillTestBillingInfo.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/test/src/{EncodeParse.Codeunit.al => SwissQRBillTestEncodeParse.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/test/src/{IncomingDoc.Codeunit.al => SwissQRBillTestIncomingDoc.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/test/src/{Library.Codeunit.al => SwissQRBillTestLibrary.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/test/src/{Misc.Codeunit.al => SwissQRBillTestMisc.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/test/src/{Print.Codeunit.al => SwissQRBillTestPrint.Codeunit.al} (100%) rename Apps/CH/SwissQRBill/test/src/{Purchases.Codeunit.al => SwissQRBillTestPurchases.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{AccSchedExtHandler.Codeunit.al => AccSchedExtHandlerCZZ.Codeunit.al} (100%) delete mode 100644 Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdjExchRatesHandler.Codeunit.al rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{AdvPaymentsApprovMgt.Codeunit.al => AdvPaymentsApprovMgtCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{AdvanceLetterDocTotals.Codeunit.al => AdvanceLetterDocTotalsCZZ.Codeunit.al} (100%) delete mode 100644 Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvancePaymentsMgt.Codeunit.al rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CalcAndPostVATHandler.Codeunit.al => CalcAndPostVATHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CalculateCustomerStats.Codeunit.al => CalculateCustomerStatsCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CalculateVendorStats.Codeunit.al => CalculateVendorStatsCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CashDocumentLineHandler.Codeunit.al => CashDocumentLineHandlerCZZ.Codeunit.al} (89%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CashDocumentPostHandler.Codeunit.al => CashDocumentPostHandlerCZZ.Codeunit.al} (96%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CashFlowHandler.Codeunit.al => CashFlowHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CrossApplicationHandler.Codeunit.al => CrossApplicationHandlerCZZ.Codeunit.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CustEntryEditHandler.Codeunit.al => CustEntryEditHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{CustLedgerEntryHandler.Codeunit.al => CustLedgerEntryHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{DataClassEvalHandler.Codeunit.al => DataClassEvalHandlerCZZ.Codeunit.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{DocAttachmentHandler.Codeunit.al => DocAttachmentHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{EETManagementHandler.Codeunit.al => EETManagementHandlerCZZ.Codeunit.al} (98%) delete mode 100644 Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/FeatureAdvancePayments.Codeunit.al rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{GLAccWhereUsedHandler.Codeunit.al => GLAccWhereUsedHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{GenJnlCheckLnHandler.Codeunit.al => GenJnlCheckLnHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{GenJnlPostBatchHandler.Codeunit.al => GenJnlPostBatchHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{GenJnlPostLineHandler.Codeunit.al => GenJnlPostLineHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{GenLedgerSetupHandler.Codeunit.al => GenLedgerSetupHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{GetLastGLEntryNo.Codeunit.al => GetLastGLEntryNoCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{GuidedExperienceHandler.Codeunit.al => GuidedExperienceHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{IncomingDocumentHandler.Codeunit.al => IncomingDocumentHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{InstallApplication.Codeunit.al => InstallApplicationCZZ.Codeunit.al} (89%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{MatchBankPaymentHandler.Codeunit.al => MatchBankPaymentHandlerCZZ.Codeunit.al} (99%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{NavigateHandler.Codeunit.al => NavigateHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{NotificationHandler.Codeunit.al => NotificationHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PAdvLetDocManRelease.Codeunit.al => PAdvLetDocManReleaseCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PAdvLetDocManReopen.Codeunit.al => PAdvLetDocManReopenCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PaymentOrderMgtHandler.Codeunit.al => PaymentOrderMgtHandlerCZZ.Codeunit.al} (96%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PostPreviewEventHandler.Codeunit.al => PostPreviewEventHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PostPreviewHandler.Codeunit.al => PostPreviewHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PrepaymentMgtHandler.Codeunit.al => PrepaymentMgtHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PurchAdvLetterManagement.Codeunit.al => PurchAdvLetterManagementCZZ.Codeunit.al} (94%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PurchAdvLetterPrinted.Codeunit.al => PurchAdvLetterPrintedCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PurchPostAdvanceLetter.Codeunit.al => PurchPostAdvanceLetterCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PurchPostHandler.Codeunit.al => PurchPostHandlerCZZ.Codeunit.al} (97%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{PurchaseHeaderHandler.Codeunit.al => PurchaseHeaderHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{RelPurchAdvLetterDoc.Codeunit.al => RelPurchAdvLetterDocCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{RelSalesAdvLetterDoc.Codeunit.al => RelSalesAdvLetterDocCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{ReportSelectionHandler.Codeunit.al => ReportSelectionHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SAdvLetDocManRelease.Codeunit.al => SAdvLetDocManReleaseCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SAdvLetDocManReopen.Codeunit.al => SAdvLetDocManReopenCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SalesAdvLetterManagement.Codeunit.al => SalesAdvLetterManagementCZZ.Codeunit.al} (93%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SalesAdvLetterPrinted.Codeunit.al => SalesAdvLetterPrintedCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SalesHeaderHandler.Codeunit.al => SalesHeaderHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SalesPostAdvanceLetter.Codeunit.al => SalesPostAdvanceLetterCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SalesPostHandler.Codeunit.al => SalesPostHandlerCZZ.Codeunit.al} (97%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{ShowPreviewHandler.Codeunit.al => ShowPreviewHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{SuggWkshLinesHandler.Codeunit.al => SuggWkshLinesHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{UpgradeApplication.Codeunit.al => UpgradeApplicationCZZ.Codeunit.al} (97%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{UpgradeTagDefinitions.Codeunit.al => UpgradeTagDefinitionsCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{VATEntryHandler.Codeunit.al => VATEntryHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{VATPostingSetupHandler.Codeunit.al => VATPostingSetupHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{VATRepDateMgtHandler.Codeunit.al => VATRepDateMgtHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{VendEntryEditHandler.Codeunit.al => VendEntryEditHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{VendorLedgEntryHandler.Codeunit.al => VendorLedgEntryHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/{WorkflowHandler.Codeunit.al => WorkflowHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{CashFlowSourceType.EnumExt.al => CashFlowSourceTypeCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{CustomReportSelSales.EnumExt.al => CustomReportSelSalesCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{EETAppliedDocumentType.EnumExt.al => EETAppliedDocumentTypeCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{EmailScenario.EnumExt.al => EmailScenarioCZZ.EnumExt.al} (100%) delete mode 100644 Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/FeatureToUpdate.EnumExt.al rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{IncomingRelatedDocType.EnumExt.al => IncomingRelatedDocTypeCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{ManualSetupCategory.EnumExt.al => ManualSetupCategoryCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{ReportSelUsagePurchase.EnumExt.al => ReportSelUsagePurchaseCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{ReportSelUsageSales.EnumExt.al => ReportSelUsageSalesCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{ReportSelectionUsage.EnumExt.al => ReportSelectionUsageCZZ.EnumExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/{SearchScope.EnumExt.al => SearchScopeCZZ.EnumExt.al} (82%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/{AdvDeductionExchRate.Enum.al => AdvDeductionExchRateCZZ.Enum.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/{AdvLetterUsageDocType.Enum.al => AdvLetterUsageDocTypeCZZ.Enum.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/{AdvanceLetterDocStatus.Enum.al => AdvanceLetterDocStatusCZZ.Enum.al} (87%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/{AdvanceLetterEntryType.Enum.al => AdvanceLetterEntryTypeCZZ.Enum.al} (90%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/{AdvanceLetterType.Enum.al => AdvanceLetterTypeCZZ.Enum.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{AccScheduleExtensions.PageExt.al => AccScheduleExtensionsCZZ.PageExt.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{AccountantCZRoleCenter.PageExt.al => AccountantCZRoleCenterCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{AccountantRoleCenter.PageExt.al => AccountantRoleCenterCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CFForecastStatFactBox.PageExt.al => CFForecastStatFactBoxCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CashDocumentSubform.PageExt.al => CashDocumentSubformCZZ.PageExt.al} (87%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CashFlowAvailLines.PageExt.al => CashFlowAvailLinesCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CashFlowForecastStat.PageExt.al => CashFlowForecastStatCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CashFlowSetup.PageExt.al => CashFlowSetupCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CashFlowWorksheet.PageExt.al => CashFlowWorksheetCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CustomerCard.PageExt.al => CustomerCardCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CustomerLedgerEntries.PageExt.al => CustomerLedgerEntriesCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CustomerList.PageExt.al => CustomerListCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{CustomerStatFactBox.PageExt.al => CustomerStatFactBoxCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{GeneralJournal.PageExt.al => GeneralJournalCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{GeneralLedgerSetup.PageExt.al => GeneralLedgerSetupCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{IssPaymentOrderSubform.PageExt.al => IssPaymentOrderSubformCZZ.PageExt.al} (87%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{ItemCard.PageExt.al => ItemCardCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{ItemList.PageExt.al => ItemListCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{OrderProcessorRC.PageExt.al => OrderProcessorRCCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PaymentJournal.PageExt.al => PaymentJournalCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PaymentOrderSubform.PageExt.al => PaymentOrderSubformCZZ.PageExt.al} (87%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PostedCashDocumentSubf.PageExt.al => PostedCashDocumentSubfCZZ.PageExt.al} (87%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PostedPurchaseInvoice.PageExt.al => PostedPurchaseInvoiceCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PostedSalesInvoice.PageExt.al => PostedSalesInvoiceCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PurchaseInvoice.PageExt.al => PurchaseInvoiceCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PurchaseOrder.PageExt.al => PurchaseOrderCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PurchaseOrderList.PageExt.al => PurchaseOrderListCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PurchaseOrderStatistics.PageExt.al => PurchaseOrderStatisticsCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PurchaseOrderSubform.PageExt.al => PurchaseOrderSubformCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{PurchasesPayablesSetup.PageExt.al => PurchasesPayablesSetupCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesHistBilltoFactBox.PageExt.al => SalesHistBilltoFactBoxCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesHistSelltoFactBox.PageExt.al => SalesHistSelltoFactBoxCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesInvoice.PageExt.al => SalesInvoiceCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesOrder.PageExt.al => SalesOrderCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesOrderList.PageExt.al => SalesOrderListCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesOrderStatistics.PageExt.al => SalesOrderStatisticsCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesOrderSubform.PageExt.al => SalesOrderSubformCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{SalesReceivablesSetup.PageExt.al => SalesReceivablesSetupCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VATEntries.PageExt.al => VATEntriesCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VATPostingSetup.PageExt.al => VATPostingSetupCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VATPostingSetupCard.PageExt.al => VATPostingSetupCardCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VendHistBuyfromFactBox.PageExt.al => VendHistBuyfromFactBoxCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VendHistPaytoFactBox.PageExt.al => VendHistPaytoFactBoxCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VendorCard.PageExt.al => VendorCardCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VendorLedgerEntries.PageExt.al => VendorLedgerEntriesCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VendorList.PageExt.al => VendorListCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/{VendorStatFactBox.PageExt.al => VendorStatFactBoxCZZ.PageExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{AdvPaymentCloseDialog.Page.al => AdvPaymentCloseDialogCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{AdvanceLetterApplEdit.Page.al => AdvanceLetterApplEditCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{AdvanceLetterApplication.Page.al => AdvanceLetterApplicationCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{AdvanceLetterLink.Page.al => AdvanceLetterLinkCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{AdvanceLetterTemplates.Page.al => AdvanceLetterTemplatesCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{GetPostingDate.Page.al => GetPostingDateCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PreviewAdvVATEntries.Page.al => PreviewAdvVATEntriesCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurAdvLetterEntPrev.Page.al => PurAdvLetterEntPrevCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurchAdvLetterEntries.Page.al => PurchAdvLetterEntriesCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurchAdvLetterFactBox.Page.al => PurchAdvLetterFactBoxCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurchAdvLetterLines.Page.al => PurchAdvLetterLinesCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurchAdvUsageFactBox.Page.al => PurchAdvUsageFactBoxCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurchAdvanceLetter.Page.al => PurchAdvanceLetterCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurchAdvanceLetterLine.Page.al => PurchAdvanceLetterLineCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{PurchAdvanceLetters.Page.al => PurchAdvanceLettersCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalAdvLetterEntPrev.Page.al => SalAdvLetterEntPrevCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalesAdvLetterEntries.Page.al => SalesAdvLetterEntriesCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalesAdvLetterFactBox.Page.al => SalesAdvLetterFactBoxCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalesAdvLetterLines.Page.al => SalesAdvLetterLinesCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalesAdvUsageFactBox.Page.al => SalesAdvUsageFactBoxCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalesAdvanceLetter.Page.al => SalesAdvanceLetterCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalesAdvanceLetterLine.Page.al => SalesAdvanceLetterLineCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SalesAdvanceLetters.Page.al => SalesAdvanceLettersCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{SuggestedUsage.Page.al => SuggestedUsageCZZ.Page.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{VATDocument.Page.al => VATDocumentCZZ.Page.al} (94%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/{VATDocumentLine.Page.al => VATDocumentLineCZZ.Page.al} (88%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{CZAdvancePaymentsEdit.PermissionSet.al => CZAdvancePaymentsEditCZZ.PermissionSet.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{CZAdvancePaymentsObj.PermissionSet.al => CZAdvancePaymentsObjCZZ.PermissionSet.al} (94%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{CZAdvancePaymentsRead.PermissionSet.al => CZAdvancePaymentsReadCZZ.PermissionSet.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{D365Automation.PermissionSetExt.al => D365AUTOMATIONCZZ.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{D365Basic.PermissionSetExt.al => D365BASICCZZ.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{D365BasicIsv.PermissionSetExt.al => D365BASICISVCZZ.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{D365Read.PermissionSetExt.al => D365READCZZ.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{D365TeamMember.PermissionSetExt.al => D365TEAMMEMBERCZZ.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{IntelligentCloud.PermissionSetExt.al => INTELLIGENTCLOUDCZZ.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/{Local.PermissionSetExt.al => LOCALCZZ.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/{CalcandPostVATSettl.ReportExt.al => CalcandPostVATSettlCZZ.ReportExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/{CashFlowDateList.ReportExt.al => CashFlowDateListCZZ.ReportExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/{CopyVATPostingSetup.ReportExt.al => CopyVATPostingSetupCZZ.ReportExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/{OpenCustEntriestoDate.ReportExt.al => OpenCustEntriestoDateCZZ.ReportExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/{OpenVendEntriestoDate.ReportExt.al => OpenVendEntriestoDateCZZ.ReportExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/{SuggestPayments.ReportExt.al => SuggestPaymentsCZZ.ReportExt.al} (97%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/{SuggestWorksheetLines.ReportExt.al => SuggestWorksheetLinesCZZ.ReportExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{AdjustAdvExchRates.Report.al => AdjustAdvExchRatesCZZ.Report.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{CreatePurchAdvLetter.Report.al => CreatePurchAdvLetterCZZ.Report.al} (99%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{CreateSalesAdvLetter.Report.al => CreateSalesAdvLetterCZZ.Report.al} (99%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{PurchAdvLettersRecap.Report.al => PurchAdvLettersRecapCZZ.Report.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{PurchAdvanceLetters.Report.al => PurchAdvanceLettersCZZ.Report.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{PurchAdvanceLettersVAT.Report.al => PurchAdvanceLettersVATCZZ.Report.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{PurchaseAdvanceLetter.Report.al => PurchaseAdvanceLetterCZZ.Report.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{PurchaseAdvanceVATDoc.Report.al => PurchaseAdvanceVATDocCZZ.Report.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{PurchaseInvoiceWithAdv.Report.al => PurchaseInvoicewithAdvCZZ.Report.al} (99%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{SalesAdvLettersRecap.Report.al => SalesAdvLettersRecapCZZ.Report.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{SalesAdvanceLetter.Report.al => SalesAdvanceLetterCZZ.Report.al} (97%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{SalesAdvanceLetters.Report.al => SalesAdvanceLettersCZZ.Report.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{SalesAdvanceLettersVAT.Report.al => SalesAdvanceLettersVATCZZ.Report.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{SalesAdvanceVATDoc.Report.al => SalesAdvanceVATDocCZZ.Report.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/{SalesInvoiceWithAdv.Report.al => SalesInvoicewithAdvCZZ.Report.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{AccScheduleExtension.TableExt.al => AccScheduleExtensionCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{CVLedgerEntryBuffer.TableExt.al => CVLedgerEntryBufferCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{CashDocumentLine.TableExt.al => CashDocumentLineCZZ.TableExt.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{CashFlowAvailBuffer.TableExt.al => CashFlowAvailBufferCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{CashFlowSetup.TableExt.al => CashFlowSetupCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{CustLedgerEntry.TableExt.al => CustLedgerEntryCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{Customer.TableExt.al => CustomerCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{GenJournalLine.TableExt.al => GenJournalLineCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{GeneralLedgerSetup.TableExt.al => GeneralLedgerSetupCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{IncomingDocument.TableExt.al => IncomingDocumentCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{IssPaymentOrderLine.TableExt.al => IssPaymentOrderLineCZZ.TableExt.al} (87%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{MatchBankPaymentBuffer.TableExt.al => MatchBankPaymentBufferCZZ.TableExt.al} (97%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{PaymentOrderLine.TableExt.al => PaymentOrderLineCZZ.TableExt.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{PostedCashDocumentLine.TableExt.al => PostedCashDocumentLineCZZ.TableExt.al} (85%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{PurchaseHeader.TableExt.al => PurchaseHeaderCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{SalesHeader.TableExt.al => SalesHeaderCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{VATEntry.TableExt.al => VATEntryCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{VATPostingSetup.TableExt.al => VATPostingSetupCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{Vendor.TableExt.al => VendorCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/{VendorLedgerEntry.TableExt.al => VendorLedgerEntryCZZ.TableExt.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{AdvanceLetterApplication.Table.al => AdvanceLetterApplicationCZZ.Table.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{AdvanceLetterLinkBuffer.Table.al => AdvanceLetterLinkBufferCZZ.Table.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{AdvanceLetterTemplate.Table.al => AdvanceLetterTemplateCZZ.Table.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{AdvancePostingBuffer.Table.al => AdvancePostingBufferCZZ.Table.al} (68%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{PurchAdvLetterEntry.Table.al => PurchAdvLetterEntryCZZ.Table.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{PurchAdvLetterHeader.Table.al => PurchAdvLetterHeaderCZZ.Table.al} (98%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{PurchAdvLetterLine.Table.al => PurchAdvLetterLineCZZ.Table.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{SalesAdvLetterEntry.Table.al => SalesAdvLetterEntryCZZ.Table.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{SalesAdvLetterHeader.Table.al => SalesAdvLetterHeaderCZZ.Table.al} (96%) rename Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/{SalesAdvLetterLine.Table.al => SalesAdvLetterLineCZZ.Table.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/test/Src/{IncomingDocuments.Codeunit.al => IncomingDocumentsCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/test/Src/{LibraryPurchAdvances.Codeunit.al => LibraryPurchAdvancesCZZ.Codeunit.al} (57%) rename Apps/CZ/AdvancePaymentsLocalization/test/Src/{LibraryRepSelHandler.Codeunit.al => LibraryRepSelHandlerCZZ.Codeunit.al} (100%) rename Apps/CZ/AdvancePaymentsLocalization/test/Src/{LibrarySalesAdvances.Codeunit.al => LibrarySalesAdvancesCZZ.Codeunit.al} (56%) create mode 100644 Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchAdvPaymentsFCYCZZ.Codeunit.al delete mode 100644 Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePayments.Codeunit.al create mode 100644 Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePaymentsCZZ.Codeunit.al create mode 100644 Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvPaymentsFCYCZZ.Codeunit.al delete mode 100644 Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePayments.Codeunit.al create mode 100644 Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al create mode 100644 Apps/CZ/AdvancePaymentsLocalization/test/Src/VATControlReportCZZ.Codeunit.al rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{AssemblyHandler.Codeunit.al => AssemblyHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{CalculateInventHandler.Codeunit.al => CalculateInventHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{CancelFALdgEntHandler.Codeunit.al => CancelFALdgEntHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{DataClassEvalHandler.Codeunit.al => DataClassEvalHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{DefaultDimensionHandler.Codeunit.al => DefaultDimensionHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{DimensionAutoCreateMgt.Codeunit.al => DimensionAutoCreateMgtCZA.Codeunit.al} (99%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{DimensionAutoUpdateMgt.Codeunit.al => DimensionAutoUpdateMgtCZA.Codeunit.al} (98%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{DirectTransLineHandler.Codeunit.al => DirectTransLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{GLEntryEdit.Codeunit.al => GLEntryEditCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{GLEntryPostApplication.Codeunit.al => GLEntryPostApplicationCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{GenJnlApplyHandler.Codeunit.al => GenJnlApplyHandlerCZA.Codeunit.al} (97%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{GenJnlPostLineHandler.Codeunit.al => GenJnlPostLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{GenJournalLineHandler.Codeunit.al => GenJournalLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{InstallApplication.Codeunit.al => InstallApplicationCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ItemJnlCheckLineHandler.Codeunit.al => ItemJnlCheckLineHandlerCZA.Codeunit.al} (99%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ItemJnlPostLineHandler.Codeunit.al => ItemJnlPostLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ItemJournalLineHandler.Codeunit.al => ItemJournalLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ItemTrackingLineHandler.Codeunit.al => ItemTrackingLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{JobJournalLineHandler.Codeunit.al => JobJournalLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{NonstockItemHandler.Codeunit.al => NonstockItemHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ProcessDataExchHandler.Codeunit.al => ProcessDataExchHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ProductionOrderHandler.Codeunit.al => ProductionOrderHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{PurchaseLineHandler.Codeunit.al => PurchaseLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ReqWkshMakeOrdHandler.Codeunit.al => ReqWkshMakeOrdHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ReversalEntryHandler.Codeunit.al => ReversalEntryHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{SalesLineHandler.Codeunit.al => SalesLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{ServiceLineHandler.Codeunit.al => ServiceLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{StdItemJournalHandler.Codeunit.al => StdItemJournalHandlerCZA.Codeunit.al} (86%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{SubstituteReportHandler.Codeunit.al => SubstituteReportHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{TransferHeaderHandler.Codeunit.al => TransferHeaderHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{TransferLineHandler.Codeunit.al => TransferLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{TransferOrderPostHandler.Codeunit.al => TransferOrderPostHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{UndoRetShptLnHandler.Codeunit.al => UndoRetShptLnHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{UndoShipmentLineHandler.Codeunit.al => UndoShipmentLineHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{UndoTransferShipLine.Codeunit.al => UndoTransferShipLineCZA.Codeunit.al} (97%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{UpgradeApplication.Codeunit.al => UpgradeApplicationCZA.Codeunit.al} (99%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/{UpgradeTagDefinitions.Codeunit.al => UpgradeTagDefinitionsCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/EnumExtensions/{NonstockItemNoFormat.EnumExt.al => NonstockItemNoFormatCZA.EnumExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{AccountTypeDefaultDim.PageExt.al => AccountTypeDefaultDimCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{AccountantCZRoleCenter.PageExt.al => AccountantCZRoleCenterCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{AssemblyOrder.PageExt.al => AssemblyOrderCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{AssemblyOrderSubform.PageExt.al => AssemblyOrderSubformCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{AssemblySetup.PageExt.al => AssemblySetupCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{ChartofAccounts.PageExt.al => ChartofAccountsCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{DataExchFieldMappPart.PageExt.al => DataExchFieldMappPartCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{FinanceManagerRC.PageExt.al => FinanceManagerRCCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{GLEntriesPreview.PageExt.al => GLEntriesPreviewCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{GeneralLedgerEntries.PageExt.al => GeneralLedgerEntriesCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{InventorySetup.PageExt.al => InventorySetupCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{ItemLedgerEntrPreview.PageExt.al => ItemLedgerEntrPreviewCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{ItemLedgerEntries.PageExt.al => ItemLedgerEntriesCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{ManufacturingSetup.PageExt.al => ManufacturingSetupCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{PostedAssemblyOrder.PageExt.al => PostedAssemblyOrderCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{PostedAssemblyOrderSubf.PageExt.al => PostedAssemblyOrderSubfCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{PostedDirectTransSub.PageExt.al => PostedDirectTransSubCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{PostedDirectTransfer.PageExt.al => PostedDirectTransferCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{PostedTransferShpSubf.PageExt.al => PostedTransferShpSubfCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{StdItemJournalSubform.PageExt.al => StdItemJournalSubformCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{TransferOrder.PageExt.al => TransferOrderCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{TransferOrderSubform.PageExt.al => TransferOrderSubformCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/{TransferRouteSpec.PageExt.al => TransferRouteSpecCZA.PageExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/{AppliedGLEntries.Page.al => AppliedGLEntriesCZA.Page.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/{ApplyGLEntries.Page.al => ApplyGLEntriesCZA.Page.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/{DetailedGLEntries.Page.al => DetailedGLEntriesCZA.Page.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/{UnapplyGLEntries.Page.al => UnapplyGLEntriesCZA.Page.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{CZAdvancePackEdit.PermissionSet.al => CZAdvancePackEditCZA.PermissionSet.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{CZAdvancePackObjects.PermissionSet.al => CZAdvancePackObjectsCZA.PermissionSet.al} (95%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{CZAdvancePackRead.PermissionSet.al => CZAdvancePackReadCZA.PermissionSet.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{CostAccountingAdmin.PermissionSetExt.al => CostAccountingAdminCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{D365AUTOMATION.PermissionSetExt.al => D365AUTOMATIONCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{d365basic.PermissionSetExt.al => D365BASICCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{d365basicisv.PermissionSetExt.al => D365BASICISVCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{d365read.PermissionSetExt.al => D365READCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{d365teammember.PermissionSetExt.al => D365TEAMMEMBERCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{FixedAssetsEdit.PermissionSetExt.al => FixedAssetsEditCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{FixedAssetsJournalsPost.PermissionSetExt.al => FixedAssetsJournalsPostCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{GLAccountsEdit.PermissionSetExt.al => GLAccountsEditCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{GLAccountsView.PermissionSetExt.al => GLAccountsViewCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{GLJournalsPost.PermissionSetExt.al => GLJournalsPostCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{GLRegistersRead.PermissionSetExt.al => GLRegistersReadCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{intelligentcloud.PermissionSetExt.al => INTELLIGENTCLOUDCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{JobsEdit.PermissionSetExt.al => JobsEditCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{JobsView.PermissionSetExt.al => JobsViewCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{LOCAL.PermissionSetExt.al => LOCALCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{LOGIN.PermissionSetExt.al => LOGINCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{PayablesDocumentsPost.PermissionSetExt.al => PayablesDocumentsPostCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{PayablesJournalsPost.PermissionSetExt.al => PayablesJournalsPostCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{RecievablesDocumentsPost.PermissionSetExt.al => RecievablesDocumentsPostCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{RecievablesJournalsPost.PermissionSetExt.al => RecievablesJournalsPostCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/{VendorEdit.PermissionSetExt.al => VendorEditCZA.PermissionSetExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/{CalculateInventory.ReportExt.al => CalculateInventoryCZA.ReportExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/{CarryOutActionMsgReq.ReportExt.al => CarryOutActionMsgReqCZA.ReportExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/{GLEntryApplying.Report.al => GLEntryApplyingCZA.Report.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/{InventoryAccountToDate.Report.al => InventoryAccountToDateCZA.Report.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/{InventoryValuationWIP.Report.al => InventoryValuationWIPCZA.Report.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/{OpenGLEntriesToDate.Report.al => OpenGLEntriesToDateCZA.Report.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{AssemblyHeader.TableExt.al => AssemblyHeaderCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{AssemblyLine.TableExt.al => AssemblyLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{AssemblySetup.TableExt.al => AssemblySetupCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{CapacityLedgerEntry.TableExt.al => CapacityLedgerEntryCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{DataExchFieldMapping.TableExt.al => DataExchFieldMappingCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{DefaultDimension.TableExt.al => DefaultDimensionCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{DirectTransHeader.TableExt.al => DirectTransHeaderCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{DirectTransLine.TableExt.al => DirectTransLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{GLEntry.TableExt.al => GLEntryCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{InventorySetup.TableExt.al => InventorySetupCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{ItemEntryRelation.TableExt.al => ItemEntryRelationCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{ItemJournalLine.TableExt.al => ItemJournalLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{ItemLedgerEntry.TableExt.al => ItemLedgerEntryCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{JobJournalLine.TableExt.al => JobJournalLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{ManufacturingSetup.TableExt.al => ManufacturingSetupCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{PostedAssemblyHeader.TableExt.al => PostedAssemblyHeaderCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{PostedAssemblyLine.TableExt.al => PostedAssemblyLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{PurchaseLine.TableExt.al => PurchaseLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{SalesLine.TableExt.al => SalesLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{ServiceLine.TableExt.al => ServiceLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{StdItemJournalLine.TableExt.al => StdItemJournalLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{TransferHeader.TableExt.al => TransferHeaderCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{TransferLine.TableExt.al => TransferLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{TransferReceiptHeader.TableExt.al => TransferReceiptHeaderCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{TransferReceiptLine.TableExt.al => TransferReceiptLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{TransferRoute.TableExt.al => TransferRouteCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{TransferShipmentHeader.TableExt.al => TransferShipmentHeaderCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{TransferShipmentLine.TableExt.al => TransferShipmentLineCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/{ValueEntry.TableExt.al => ValueEntryCZA.TableExt.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/app/Src/Tables/{DetailedGLEntry.Table.al => DetailedGLEntryCZA.Table.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/test/Src/{ApplyingGLEntries.Codeunit.al => ApplyingGLEntriesCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/test/Src/{DimAutomaticCreation.Codeunit.al => DimAutomaticCreationCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/test/Src/{FieldMappingDateFormula.Codeunit.al => FieldMappingDateFormulaCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/test/Src/{GenProdPostGroupSKU.Codeunit.al => GenProdPostGroupSKUCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/test/Src/{PostingGroups.Codeunit.al => PostingGroupsCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/test/Src/{ReportsAndDocuments.Codeunit.al => ReportsandDocumentsCZA.Codeunit.al} (100%) rename Apps/CZ/AdvancedLocalizationPack/test/Src/{TestInitializeHandler.Codeunit.al => TestInitializeHandlerCZA.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{BankAccReconcHandler.Codeunit.al => BankAccReconcHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{BankOperationsFunctions.Codeunit.al => BankOperationsFunctionsCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{BankStatementManagement.Codeunit.al => BankStatementManagementCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{BankingApprovalsMgt.Codeunit.al => BankingApprovalsMgtCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{BankingDocumentTotals.Codeunit.al => BankingDocumentTotalsCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{CalendarManagementHandler.Codeunit.al => CalendarManagementHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{CreateBankAccStmtLine.Codeunit.al => CreateBankAccStmtLineCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{CrossApplicationHandler.Codeunit.al => CrossApplicationHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{DataClassEvalHandler.Codeunit.al => DataClassEvalHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{DocAttachmentHandler.Codeunit.al => DocAttachmentHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{ExpLaunchPaymentOrder.Codeunit.al => ExpLaunchPaymentOrderCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{ExportLauncherSEPA.Codeunit.al => ExportLauncherSEPACZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{GLAccWhereUsedHandler.Codeunit.al => GLAccWhereUsedHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{GenJournalLineHandler.Codeunit.al => GenJournalLineHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{GuidedExperienceHandler.Codeunit.al => GuidedExperienceHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{ImpLaunchBankStatement.Codeunit.al => ImpLaunchBankStatementCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{ImpLaunchPaymentOrder.Codeunit.al => ImpLaunchPaymentOrderCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{ImportBankStatement.Codeunit.al => ImportBankStatementCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{InstallApplication.Codeunit.al => InstallApplicationCZB.Codeunit.al} (99%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{InstructionMgt.Codeunit.al => InstructionMgtCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{IssueBankStatement.Codeunit.al => IssueBankStatementCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{IssueBankStatementPrint.Codeunit.al => IssueBankStatementPrintCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{IssueBankStatementYesNo.Codeunit.al => IssueBankStatementYesNoCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{IssuePaymentOrder.Codeunit.al => IssuePaymentOrderCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{IssuePaymentOrderPrint.Codeunit.al => IssuePaymentOrderPrintCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{IssuePaymentOrderYesNo.Codeunit.al => IssuePaymentOrderYesNoCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{MatchBankPayment.Codeunit.al => MatchBankPaymentCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{NavigateHandler.Codeunit.al => NavigateHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{NotificationHandler.Codeunit.al => NotificationHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{PaymentOrderManagement.Codeunit.al => PaymentOrderManagementCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{SEPACTHandler.Codeunit.al => SEPACTHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{UnreliablePayerMgt.Codeunit.al => UnreliablePayerMgtCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{UpgradeApplication.Codeunit.al => UpgradeApplicationCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{UpgradeTagDefinitions.Codeunit.al => UpgradeTagDefinitionsCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{UserSetupAdvManagement.Codeunit.al => UserSetupAdvManagementCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/{WorkflowHandler.Codeunit.al => WorkflowHandlerCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/{CalendarSourceType.EnumExt.al => CalendarSourceTypeCZB.EnumExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/{ManualSetupCategory.EnumExt.al => ManualSetupCategoryCZB.EnumExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{BankingLineType.Enum.al => BankingLineTypeCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{BankingTransactionType.Enum.al => BankingTransactionTypeCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{JournalStatus.Enum.al => JournalStatusCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{MultipleSearchResult.Enum.al => MultipleSearchResultCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{PaymentOrderHeadStatus.Enum.al => PaymentOrderHeadStatusCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{PaymentOrderLineStatus.Enum.al => PaymentOrderLineStatusCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{SearchRuleAccountType.Enum.al => SearchRuleAccountTypeCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/{SearchScope.Enum.al => SearchScopeCZB.Enum.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{AccountantCZRoleCenter.PageExt.al => AccountantCZRoleCenterCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{AdministratorRC.PageExt.al => AdministratorRCCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{ApprovalUserSetup.PageExt.al => ApprovalUserSetupCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{BankAccountCard.PageExt.al => BankAccountCardCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{BankExportImportSetup.PageExt.al => BankExportImportSetupCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{CustomerLedgerEntries.PageExt.al => CustomerLedgerEntriesCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{EmployeeLedgerEntries.PageExt.al => EmployeeLedgerEntriesCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{FinanceManagerRC.PageExt.al => FinanceManagerRCCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{GeneralLedgerSetup.PageExt.al => GeneralLedgerSetupCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{PaymentJournal.PageExt.al => PaymentJournalCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{UserSetup.PageExt.al => UserSetupCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{UserSetupCard.PageExt.al => UserSetupCardCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/{VendorLedgerEntries.PageExt.al => VendorLedgerEntriesCZB.PageExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{BankStatement.Page.al => BankStatementCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{BankStatementLines.Page.al => BankStatementLinesCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{BankStatementSubform.Page.al => BankStatementSubformCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{BankStatements.Page.al => BankStatementsCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{BankingDocStatistics.Page.al => BankingDocStatisticsCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssBankStatement.Page.al => IssBankStatementCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssBankStatementLines.Page.al => IssBankStatementLinesCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssBankStatementSubf.Page.al => IssBankStatementSubfCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssBankStatements.Page.al => IssBankStatementsCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssPaymentOrder.Page.al => IssPaymentOrderCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssPaymentOrderLines.Page.al => IssPaymentOrderLinesCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssPaymentOrderSubform.Page.al => IssPaymentOrderSubformCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{IssPaymentOrders.Page.al => IssPaymentOrdersCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{PaymentOrder.Page.al => PaymentOrderCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{PaymentOrderLines.Page.al => PaymentOrderLinesCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{PaymentOrderSubform.Page.al => PaymentOrderSubformCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{PaymentOrders.Page.al => PaymentOrdersCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{SearchRuleCard.Page.al => SearchRuleCardCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{SearchRuleLineCard.Page.al => SearchRuleLineCardCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{SearchRuleLineLookup.Page.al => SearchRuleLineLookupCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{SearchRuleList.Page.al => SearchRuleListCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/{SearchRuleSubform.Page.al => SearchRuleSubformCZB.Page.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{CZBankDocumentsEdit.PermissionSet.al => CZBankDocumentsEditCZB.PermissionSet.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{CZBankDocumentsObj.PermissionSet.al => CZBankDocumentsObjCZB.PermissionSet.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{CZBankDocumentsRead.PermissionSet.al => CZBankDocumentsReadCZB.PermissionSet.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{D365AUTOMATION.PermissionSetExt.al => D365AUTOMATIONCZB.PermissionSetExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{D365BASIC.PermissionSetExt.al => D365BASICCZB.PermissionSetExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{D365BASICISV.PermissionSetExt.al => D365BASICISVCZB.PermissionSetExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{D365READ.PermissionSetExt.al => D365READCZB.PermissionSetExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{D365TEAMMEMBER.PermissionSetExt.al => D365TEAMMEMBERCZB.PermissionSetExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{INTELLIGENTCLOUD.PermissionSetExt.al => INTELLIGENTCLOUDCZB.PermissionSetExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/{LOCAL.PermissionSetExt.al => LOCALCZB.PermissionSetExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{BankStatementTest.Report.al => BankStatementTestCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{CopyPaymentOrder.Report.al => CopyPaymentOrderCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{CreateGeneralJournal.Report.al => CreateGeneralJournalCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{CreatePaymentReconJnl.Report.al => CreatePaymentReconJnlCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{IssBankStatement.Report.al => IssBankStatementCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{IssPaymentOrder.Report.al => IssPaymentOrderCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{PaymentOrderTest.Report.al => PaymentOrderTestCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/{SuggestPayments.Report.al => SuggestPaymentsCZB.Report.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{BankAccReconciliation.TableExt.al => BankAccReconciliationCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{BankAccount.TableExt.al => BankAccountCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{BankExportImportSetup.TableExt.al => BankExportImportSetupCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{CustLedgerEntry.TableExt.al => CustLedgerEntryCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{EmployeeLedgerEntry.TableExt.al => EmployeeLedgerEntryCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{GenJournalLine.TableExt.al => GenJournalLineCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{PaymentExportData.TableExt.al => PaymentExportDataCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{UserSetup.TableExt.al => UserSetupCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/{VendorLedgerEntry.TableExt.al => VendorLedgerEntryCZB.TableExt.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{BankStatementHeader.Table.al => BankStatementHeaderCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{BankStatementLine.Table.al => BankStatementLineCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{IssBankStatementHeader.Table.al => IssBankStatementHeaderCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{IssBankStatementLine.Table.al => IssBankStatementLineCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{IssPaymentOrderHeader.Table.al => IssPaymentOrderHeaderCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{IssPaymentOrderLine.Table.al => IssPaymentOrderLineCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{MatchBankPaymentBuffer.Table.al => MatchBankPaymentBufferCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{PaymentOrderHeader.Table.al => PaymentOrderHeaderCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{PaymentOrderLine.Table.al => PaymentOrderLineCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{SearchRule.Table.al => SearchRuleCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/{SearchRuleLine.Table.al => SearchRuleLineCZB.Table.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/test/Src/{BankingDocuments.Codeunit.al => BankingDocumentsCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/test/Src/{ERMGLAccountWhereUsed.Codeunit.al => ERMGLAccountWhereUsedCZB.Codeunit.al} (100%) rename Apps/CZ/BankingDocumentsLocalization/test/Src/{LibraryBankDocuments.Codeunit.al => LibraryBankDocumentsCZB.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{BankAccountHandler.Codeunit.al => BankAccountHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDeskManagement.Codeunit.al => CashDeskManagementCZP.Codeunit.al} (99%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDeskSingleInstance.Codeunit.al => CashDeskSingleInstanceCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDocumentApprovMgt.Codeunit.al => CashDocumentApprovMgtCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDocumentPost.Codeunit.al => CashDocumentPostCZP.Codeunit.al} (99%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDocumentPostPrint.Codeunit.al => CashDocumentPostPrintCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDocumentPostYesNo.Codeunit.al => CashDocumentPostYesNoCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDocumentRelease.Codeunit.al => CashDocumentReleaseCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDocumentReleasePrint.Codeunit.al => CashDocumentReleasePrintCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CashDocumentTotals.Codeunit.al => CashDocumentTotalsCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CopyCashDocumentMgt.Codeunit.al => CopyCashDocumentMgtCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{CrossApplicationHandler.Codeunit.al => CrossApplicationHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{DataClassEvalHandler.Codeunit.al => DataClassEvalHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{DefaultDimensionHandler.Codeunit.al => DefaultDimensionHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{DocAttachmentHandler.Codeunit.al => DocAttachmentHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{EETCashDesk.Codeunit.al => EETCashDeskCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{EETManagement.Codeunit.al => EETManagementCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{GenLedgerSetupHandler.Codeunit.al => GenLedgerSetupHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{GuidedExperienceHandler.Codeunit.al => GuidedExperienceHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{InstallApplication.Codeunit.al => InstallApplicationCZP.Codeunit.al} (99%) create mode 100644 Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ManualCrossAppHandlerCZP.Codeunit.al rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{NavigateHandler.Codeunit.al => NavigateHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{NotificationHandler.Codeunit.al => NotificationHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{PurchaseHandler.Codeunit.al => PurchaseHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{SalesHandler.Codeunit.al => SalesHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{ServiceHandler.Codeunit.al => ServiceHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{UpgradeApplication.Codeunit.al => UpgradeApplicationCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{UpgradeTagDefinitions.Codeunit.al => UpgradeTagDefinitionsCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{VATRepDateMgtHandler.Codeunit.al => VATRepDateMgtHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Codeunits/{WorkflowHandler.Codeunit.al => WorkflowHandlerCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/{CommentLineTableName.EnumExt.al => CommentLineTableNameCZP.EnumExt.al} (100%) delete mode 100644 Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETAppliedDocumentType.EnumExt.al rename Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/{EETCashRegisterType.EnumExt.al => EETCashRegisterTypeCZP.EnumExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/{ManualSetupCategory.EnumExt.al => ManualSetupCategoryCZP.EnumExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{BankAccountType.Enum.al => BankAccountTypeCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDeskRepSelUsage.Enum.al => CashDeskRepSelUsageCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDocumentAccountType.Enum.al => CashDocumentAccountTypeCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDocumentAction.Enum.al => CashDocumentActionCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDocumentFAPostType.Enum.al => CashDocumentFAPostTypeCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDocumentGenDocType.Enum.al => CashDocumentGenDocTypeCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDocumentPartnerType.Enum.al => CashDocumentPartnerTypeCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDocumentStatus.Enum.al => CashDocumentStatusCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Enums/{CashDocumentType.Enum.al => CashDocumentTypeCZP.Enum.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{AccountantCZRoleCenter.PageExt.al => AccountantCZRoleCenterCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{ApprovalUserSetup.PageExt.al => ApprovalUserSetupCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{BankAccountBalance.PageExt.al => BankAccountBalanceCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{BankAccountCard.PageExt.al => BankAccountCardCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{BankAccountLedgEntries.PageExt.al => BankAccountLedgEntriesCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{BankAccountList.PageExt.al => BankAccountListCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{BusinessManagerRC.PageExt.al => BusinessManagerRCCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{Currencies.PageExt.al => CurrenciesCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{FinanceManagerRC.PageExt.al => FinanceManagerRCCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{GeneralLedgerSetup.PageExt.al => GeneralLedgerSetupCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{PaymentMethods.PageExt.al => PaymentMethodsCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{SourceCodeSetup.PageExt.al => SourceCodeSetupCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/{UserSetup.PageExt.al => UserSetupCZP.PageExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskActivities.Page.al => CashDeskActivitiesCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskCard.Page.al => CashDeskCardCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskEvents.Page.al => CashDeskEventsCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskEventsSetup.Page.al => CashDeskEventsSetupCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskFactBox.Page.al => CashDeskFactBoxCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskList.Page.al => CashDeskListCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskRoleCenter.Page.al => CashDeskRoleCenterCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskStatistics.Page.al => CashDeskStatisticsCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDeskUsers.Page.al => CashDeskUsersCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDocument.Page.al => CashDocumentCZP.Page.al} (99%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDocumentLines.Page.al => CashDocumentLinesCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDocumentList.Page.al => CashDocumentListCZP.Page.al} (99%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDocumentStatistics.Page.al => CashDocumentStatisticsCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CashDocumentSubform.Page.al => CashDocumentSubformCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{CurrencyNominalValues.Page.al => CurrencyNominalValuesCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{PostedCashDocument.Page.al => PostedCashDocumentCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{PostedCashDocumentLines.Page.al => PostedCashDocumentLinesCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{PostedCashDocumentList.Page.al => PostedCashDocumentListCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{PostedCashDocumentStat.Page.al => PostedCashDocumentStatCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{PostedCashDocumentSubf.Page.al => PostedCashDocumentSubfCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Pages/{ReportSelectionCashDesk.Page.al => ReportSelectionCashDeskCZP.Page.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{CZCashDeskEdit.PermissionSet.al => CZCashDeskEditCZP.PermissionSet.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{CZCashDeskObjects.PermissionSet.al => CZCashDeskObjectsCZP.PermissionSet.al} (98%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{CZCashDeskRead.PermissionSet.al => CZCashDeskReadCZP.PermissionSet.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{D365AUTOMATION.PermissionSetExt.al => D365AUTOMATIONCZP.PermissionSetExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{D365BASIC.PermissionSetExt.al => D365BASICCZP.PermissionSetExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{D365BASICISV.PermissionSetExt.al => D365BASICISVCZP.PermissionSetExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{D365READ.PermissionSetExt.al => D365READCZP.PermissionSetExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{D365TEAMMEMBER.PermissionSetExt.al => D365TEAMMEMBERCZP.PermissionSetExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{INTELLIGENTCLOUD.PermissionSetExt.al => INTELLIGENTCLOUDCZP.PermissionSetExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Permissions/{LOCAL.PermissionSetExt.al => LOCALCZP.PermissionSetExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Profiles/{CashDeskWorker.Profile.al => CashDeskWorkerCZP.Profile.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{CashDeskAccountBook.Report.al => CashDeskAccountBookCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{CashDeskBook.Report.al => CashDeskBookCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{CashDeskHandOver.Report.al => CashDeskHandOverCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{CashDeskInventory.Report.al => CashDeskInventoryCZP.Report.al} (99%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{CopyCashDocument.Report.al => CopyCashDocumentCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{PostedRcptCashDocument.Report.al => PostedRcptCashDocumentCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{PostedWdrlCashDocument.Report.al => PostedWdrlCashDocumentCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{ReceiptCashDocument.Report.al => ReceiptCashDocumentCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Reports/{WithdrawalCashDocument.Report.al => WithdrawalCashDocumentCZP.Report.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{BankAccount.TableExt.al => BankAccountCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{GeneralLedgerSetup.TableExt.al => GeneralLedgerSetupCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{PaymentMethod.TableExt.al => PaymentMethodCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{PurchCrMemoHdr.TableExt.al => PurchCrMemoHdrCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{PurchInvHeader.TableExt.al => PurchInvHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{PurchaseHeader.TableExt.al => PurchaseHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{SalesCrMemoHeader.TableExt.al => SalesCrMemoHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{SalesHeader.TableExt.al => SalesHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{SalesInvoiceHeader.TableExt.al => SalesInvoiceHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{ServiceCrMemoHeader.TableExt.al => ServiceCrMemoHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{ServiceHeader.TableExt.al => ServiceHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{ServiceInvoiceHeader.TableExt.al => ServiceInvoiceHeaderCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{SourceCodeSetup.TableExt.al => SourceCodeSetupCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/{UserSetup.TableExt.al => UserSetupCZP.TableExt.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CashDesk.Table.al => CashDeskCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CashDeskCue.Table.al => CashDeskCueCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CashDeskEvent.Table.al => CashDeskEventCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CashDeskRepSelections.Table.al => CashDeskRepSelectionsCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CashDeskUser.Table.al => CashDeskUserCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CashDocumentHeader.Table.al => CashDocumentHeaderCZP.Table.al} (97%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CashDocumentLine.Table.al => CashDocumentLineCZP.Table.al} (98%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{CurrencyNominalValue.Table.al => CurrencyNominalValueCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{PostedCashDocumentHdr.Table.al => PostedCashDocumentHdrCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/app/Src/Tables/{PostedCashDocumentLine.Table.al => PostedCashDocumentLineCZP.Table.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{CashDeskDocuments.Codeunit.al => CashDeskDocumentsCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{CashDeskPurchase.Codeunit.al => CashDeskPurchaseCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{CashDeskReports.Codeunit.al => CashDeskReportsCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{CashDeskSales.Codeunit.al => CashDeskSalesCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{CashDeskService.Codeunit.al => CashDeskServiceCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{CashDocumentAttachments.Codeunit.al => CashDocumentAttachmentsCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{ERMDimensionSubscriber.Codeunit.al => ERMDimensionSubscriberCZP.Codeunit.al} (100%) rename Apps/CZ/CashDeskLocalization/test/Src/{LibraryCashDesk.Codeunit.al => LibraryCashDeskCZP.Codeunit.al} (99%) rename Apps/CZ/CashDeskLocalization/test/Src/{LibraryCashDocument.Codeunit.al => LibraryCashDocumentCZP.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CompDocManualRelease.Codeunit.al => CompDocManualReleaseCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CompDocManualReopen.Codeunit.al => CompDocManualReopenCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CompensationApprovMgt.Codeunit.al => CompensationApprovMgtCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CompensationManagement.Codeunit.al => CompensationManagementCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CompensationPost.Codeunit.al => CompensationPostCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CompensationPostPrint.Codeunit.al => CompensationPostPrintCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CompensationPostYesNo.Codeunit.al => CompensationPostYesNoCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CrossApplicationHandler.Codeunit.al => CrossApplicationHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{CustomerHandler.Codeunit.al => CustomerHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{DataClassEvalHandler.Codeunit.al => DataClassEvalHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{DocAttachmentHandler.Codeunit.al => DocAttachmentHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{GLAccWhereUsedHandler.Codeunit.al => GLAccWhereUsedHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{GenJournalLineHandler.Codeunit.al => GenJournalLineHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{GuidedExperienceHandler.Codeunit.al => GuidedExperienceHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{IncomingDocumentHandler.Codeunit.al => IncomingDocumentHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{InstallApplication.Codeunit.al => InstallApplicationCZC.Codeunit.al} (98%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{NavigateHandler.Codeunit.al => NavigateHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{NotificationHandler.Codeunit.al => NotificationHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{PostingGroupMgtHandler.Codeunit.al => PostingGroupMgtHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{ReleaseCompensDocument.Codeunit.al => ReleaseCompensDocumentCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{UpgradeApplication.Codeunit.al => UpgradeApplicationCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{UpgradeTagDefinitions.Codeunit.al => UpgradeTagDefinitionsCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{VendorHandler.Codeunit.al => VendorHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Codeunits/{WorkflowHandler.Codeunit.al => WorkflowHandlerCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/{IncomingRelatedDocType.EnumExt.al => IncomingRelatedDocTypeCZC.EnumExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/{ManualSetupCategory.EnumExt.al => ManualSetupCategoryCZC.EnumExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Enums/{CompensProposalMethod.Enum.al => CompensProposalMethodCZC.Enum.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Enums/{CompensReportSelUsage.Enum.al => CompensReportSelUsageCZC.Enum.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Enums/{CompensationCompanyType.Enum.al => CompensationCompanyTypeCZC.Enum.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Enums/{CompensationSourceType.Enum.al => CompensationSourceTypeCZC.Enum.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Enums/{CompensationStatus.Enum.al => CompensationStatusCZC.Enum.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/PageExtensions/{AccountantCZRoleCenter.PageExt.al => AccountantCZRoleCenterCZC.PageExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/PageExtensions/{CustomerLedgerEntries.PageExt.al => CustomerLedgerEntriesCZC.PageExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/PageExtensions/{PaymentJournal.PageExt.al => PaymentJournalCZC.PageExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/PageExtensions/{SourceCodeSetup.PageExt.al => SourceCodeSetupCZC.PageExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/PageExtensions/{VendorLedgerEntries.PageExt.al => VendorLedgerEntriesCZC.PageExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensCustLESubform.Page.al => CompensCustLESubformCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensReportSelections.Page.al => CompensReportSelectionsCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensVendorLESubform.Page.al => CompensVendorLESubformCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensationCard.Page.al => CompensationCardCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensationLines.Page.al => CompensationLinesCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensationList.Page.al => CompensationListCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensationProposal.Page.al => CompensationProposalCZC.Page.al} (99%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensationSubform.Page.al => CompensationSubformCZC.Page.al} (99%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{CompensationsSetup.Page.al => CompensationsSetupCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{PostedCompensationCard.Page.al => PostedCompensationCardCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{PostedCompensationLines.Page.al => PostedCompensationLinesCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{PostedCompensationList.Page.al => PostedCompensationListCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Pages/{PostedCompensationSubf.Page.al => PostedCompensationSubfCZC.Page.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{CZCompensationEdit.PermissionSet.al => CZCompensationEditCZC.PermissionSet.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{CZCompensationObjects.PermissionSet.al => CZCompensationObjectsCZC.PermissionSet.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{CZCompensationRead.PermissionSet.al => CZCompensationReadCZC.PermissionSet.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{D365AUTOMATION.PermissionSetExt.al => D365AUTOMATIONCZC.PermissionSetExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{d365basic.permissionsetext.al => D365BASICCZC.PermissionSetExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{d365basicisv.permissionsetext.al => D365BASICISVCZC.PermissionSetExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{d365read.permissionsetext.al => D365READCZC.PermissionSetExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{d365teammember.permissionsetext.al => D365TEAMMEMBERCZC.PermissionSetExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{intelligentcloud.permissionsetext.al => INTELLIGENTCLOUDCZC.PermissionSetExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Permissions/{LOCAL.PermissionSetExt.al => LOCALCZC.PermissionSetExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Reports/{Compensation.Report.al => CompensationCZC.Report.al} (98%) rename Apps/CZ/CompensationLocalization/app/Src/Reports/{PostedCompensation.Report.al => PostedCompensationCZC.Report.al} (98%) rename Apps/CZ/CompensationLocalization/app/Src/TableExtensions/{CustLedgerEntry.TableExt.al => CustLedgerEntryCZC.TableExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/TableExtensions/{GenJournalLine.TableExt.al => GenJournalLineCZC.TableExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/TableExtensions/{IncomingDocument.TableExt.al => IncomingDocumentCZC.TableExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/TableExtensions/{PostedGenJournalLine.TableExt.al => PostedGenJournalLineCZC.TableExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/TableExtensions/{SourceCodeSetup.TableExt.al => SourceCodeSetupCZC.TableExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/TableExtensions/{UserSetup.TableExt.al => UserSetupCZC.TableExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/TableExtensions/{VendorLedgerEntry.TableExt.al => VendorLedgerEntryCZC.TableExt.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Tables/{CompensReportSelections.Table.al => CompensReportSelectionsCZC.Table.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Tables/{CompensationHeader.Table.al => CompensationHeaderCZC.Table.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Tables/{CompensationLine.Table.al => CompensationLineCZC.Table.al} (99%) rename Apps/CZ/CompensationLocalization/app/Src/Tables/{CompensationsSetup.Table.al => CompensationsSetupCZC.Table.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Tables/{PostedCompensationHeader.Table.al => PostedCompensationHeaderCZC.Table.al} (100%) rename Apps/CZ/CompensationLocalization/app/Src/Tables/{PostedCompensationLine.Table.al => PostedCompensationLineCZC.Table.al} (100%) rename Apps/CZ/CompensationLocalization/test/Src/{Compensations.Codeunit.al => CompensationsCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/test/Src/{CompensationsReports.Codeunit.al => CompensationsReportsCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/test/Src/{ERMDimensionSubscriber.Codeunit.al => ERMDimensionSubscriberCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/test/Src/{ERMGLAccountWhereUsed.Codeunit.al => ERMGLAccountWhereUsedCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/test/Src/{IncomingDocuments.Codeunit.al => IncomingDocumentsCZC.Codeunit.al} (100%) rename Apps/CZ/CompensationLocalization/test/Src/{LibraryCompensation.Codeunit.al => LibraryCompensationCZC.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{AccSchedExtensionMgt.Codeunit.al => AccSchedExtensionMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{AccScheduleManagement.Codeunit.al => AccScheduleManagementCZL.Codeunit.al} (88%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ApplicationAreaHandler.Codeunit.al => ApplicationAreaHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ApprovalsManagement.Codeunit.al => ApprovalsManagementCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{BankAccountHandler.Codeunit.al => BankAccountHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{BankOperationsFunctions.Codeunit.al => BankOperationsFunctionsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CNBCurrExchRateMgt.Codeunit.al => CNBCurrExchRateMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CVPostingGroupHandler.Codeunit.al => CVPostingGroupHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CashFlowHandler.Codeunit.al => CashFlowHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CompanyBankAccHandler.Codeunit.al => CompanyBankAccHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CompanyInfoHandler.Codeunit.al => CompanyInfoHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ConfVATEntUpdateMgt.Codeunit.al => ConfVATEntUpdateMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ContactHandler.Codeunit.al => ContactHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CopyDocumentMgtHandler.Codeunit.al => CopyDocumentMgtHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CopyGenJnlHandler.Codeunit.al => CopyGenJnlHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CorrectionsPostingMgt.Codeunit.al => CorrectionsPostingMgtCZL.Codeunit.al} (97%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CrossApplicationMgt.Codeunit.al => CrossApplicationMgtCZL.Codeunit.al} (96%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CustEntryEditHandler.Codeunit.al => CustEntryEditHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CustLedgerEntryHandler.Codeunit.al => CustLedgerEntryHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CustomerBankAccHandler.Codeunit.al => CustomerBankAccHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CustomerHandler.Codeunit.al => CustomerHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CustomerTemplHandler.Codeunit.al => CustomerTemplHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{CustomerVendorBalance.Codeunit.al => CustomerVendorBalanceCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{DataClassEvalHandler.Codeunit.al => DataClassEvalHandlerCZL.Codeunit.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{DimensionMgtHandler.Codeunit.al => DimensionMgtHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{DirectTransLineHandler.Codeunit.al => DirectTransLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{DocAttachmentHandler.Codeunit.al => DocAttachmentHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETCashRegisterDefault.Codeunit.al => EETCashRegisterDefaultCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETControlCodesMgt.Codeunit.al => EETControlCodesMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETManagement.Codeunit.al => EETManagementCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETSendEntriesToServ.Codeunit.al => EETSendEntriesToServCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETServiceManagement.Codeunit.al => EETServiceManagementCZL.Codeunit.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETStatusManagement.Codeunit.al => EETStatusManagementCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETTextSignProvider.Codeunit.al => EETTextSignProviderCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EETXmlSignProvider.Codeunit.al => EETXmlSignProviderCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EU3PartyTradeFeatMgt.Codeunit.al => EU3PartyTradeFeatMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EmpLedgerEntryHandler.Codeunit.al => EmpLedgerEntryHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{EmployeeHandler.Codeunit.al => EmployeeHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{FAJnlCheckLineHandler.Codeunit.al => FAJnlCheckLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{FAReclJnlLineHandler.Codeunit.al => FAReclJnlLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{FinChargeMemoHandler.Codeunit.al => FinChargeMemoHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{FormatDocumentMgt.Codeunit.al => FormatDocumentMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GLAccountCategoryMgt.Codeunit.al => GLAccountCategoryMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GenJnlCheckLineHandler.Codeunit.al => GenJnlCheckLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GenJnlManagementHandler.Codeunit.al => GenJnlManagementHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GenJnlPostAccGroup.Codeunit.al => GenJnlPostAccGroupCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GenJnlPostLineHandler.Codeunit.al => GenJnlPostLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GenJnlTemplateHandler.Codeunit.al => GenJnlTemplateHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GenJournalBatchHandler.Codeunit.al => GenJournalBatchHandlerCZL.Codeunit.al} (81%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GenJournalLineHandler.Codeunit.al => GenJournalLineHandlerCZL.Codeunit.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GetInvReportHandler.Codeunit.al => GetInvReportHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{GuidedExperienceHandler.Codeunit.al => GuidedExperienceHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InsJnlCheckLineHandler.Codeunit.al => InsJnlCheckLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InstallApplication.Codeunit.al => InstallApplicationCZL.Codeunit.al} (98%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InstallApplicationsMgt.Codeunit.al => InstallApplicationsMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InstructionMgt.Codeunit.al => InstructionMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{IntrastatJnlBchHandler.Codeunit.al => IntrastatJnlBchHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{IntrastatJnlLineHandler.Codeunit.al => IntrastatJnlLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InvPostBufferHandler.Codeunit.al => InvPostBufferHandlerCZL.Codeunit.al} (97%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InventoryPostingHandler.Codeunit.al => InventoryPostingHandlerCZL.Codeunit.al} (92%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InvtDocumentHandler.Codeunit.al => InvtDocumentHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{InvtDocumentPrinted.Codeunit.al => InvtDocumentPrintedCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemChargeAssgntHandler.Codeunit.al => ItemChargeAssgntHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemHandler.Codeunit.al => ItemHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemJnlCheckLineHandler.Codeunit.al => ItemJnlCheckLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemJnlPostLineHandler.Codeunit.al => ItemJnlPostLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemJnlTemplateHandler.Codeunit.al => ItemJnlTemplateHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemJournalLineHandler.Codeunit.al => ItemJournalLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemLedgerEntryEdit.Codeunit.al => ItemLedgerEntryEditCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ItemTrackingDocHandler.Codeunit.al => ItemTrackingDocHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{JobHandler.Codeunit.al => JobHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{JobJnlCheckLineHandler.Codeunit.al => JobJnlCheckLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{JobJournalLineHandler.Codeunit.al => JobJournalLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{JobTransferLineHandler.Codeunit.al => JobTransferLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{NavigateHandler.Codeunit.al => NavigateHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PersistConfirmResponse.Codeunit.al => PersistConfirmResponseCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PhysInOrderLineHandler.Codeunit.al => PhysInOrderLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PostPrevEventHandler.Codeunit.al => PostPrevEventHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PostPrevHandler.Codeunit.al => PostPrevHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PostPrevTableHandler.Codeunit.al => PostPrevTableHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PostedInvtRcptPrinted.Codeunit.al => PostedInvtRcptPrintedCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PostedInvtShptPrinted.Codeunit.al => PostedInvtShptPrintedCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PostingGroupManagement.Codeunit.al => PostingGroupManagementCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PurchaseHeaderHandler.Codeunit.al => PurchaseHeaderHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PurchaseLineHandler.Codeunit.al => PurchaseLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{PurchasePostingHandler.Codeunit.al => PurchasePostingHandlerCZL.Codeunit.al} (59%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ReconciliationHandler.Codeunit.al => ReconciliationHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{RegLookupExtData.Codeunit.al => RegLookupExtDataCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{RegistrationLogMgt.Codeunit.al => RegistrationLogMgtCZL.Codeunit.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{RegistrationNoMgt.Codeunit.al => RegistrationNoMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{RelTransferDocHandler.Codeunit.al => RelTransferDocHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ReleasePurchDocHandler.Codeunit.al => ReleasePurchDocHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ReleaseSalesDocHandler.Codeunit.al => ReleaseSalesDocHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ReleaseVIESDeclaration.Codeunit.al => ReleaseVIESDeclarationCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ReminderHandler.Codeunit.al => ReminderHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ReplaceVATDateMgt.Codeunit.al => ReplaceVATDateMgtCZL.Codeunit.al} (70%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ReportSelectionHandler.Codeunit.al => ReportSelectionHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{RequisitionLineHandler.Codeunit.al => RequisitionLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ResJnlCheckLineHandler.Codeunit.al => ResJnlCheckLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SOAPWSRequestManagement.Codeunit.al => SOAPWSRequestManagementCZL.Codeunit.al} (95%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SalesHeaderHandler.Codeunit.al => SalesHeaderHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SalesLineHandler.Codeunit.al => SalesLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SalesPostingHandler.Codeunit.al => SalesPostingHandlerCZL.Codeunit.al} (71%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ServiceHeaderHandler.Codeunit.al => ServiceHeaderHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ServiceLineHandler.Codeunit.al => ServiceLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{ServicePostingHandler.Codeunit.al => ServicePostingHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SourceCodeSetupHandler.Codeunit.al => SourceCodeSetupHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SubstituteReportHandler.Codeunit.al => SubstituteReportHandlerCZL.Codeunit.al} (97%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldContact.Codeunit.al => SyncDepFldContactCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldCustomer.Codeunit.al => SyncDepFldCustomerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldDODocVATDate.Codeunit.al => SyncDepFldDODocVATDateCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldGLEntry.Codeunit.al => SyncDepFldGLEntryCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldGenJnlLine.Codeunit.al => SyncDepFldGenJnlLineCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldPCrMemoHdr.Codeunit.al => SyncDepFldPCrMemoHdrCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldPurchHdrArch.Codeunit.al => SyncDepFldPurchHdrArchCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldPurchHeader.Codeunit.al => SyncDepFldPurchHeaderCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldPurchInvHdr.Codeunit.al => SyncDepFldPurchInvHdrCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldSCrMemoHdr.Codeunit.al => SyncDepFldSCrMemoHdrCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldSalesHdrArch.Codeunit.al => SyncDepFldSalesHdrArchCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldSalesHeader.Codeunit.al => SyncDepFldSalesHeaderCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldSalesInvHdr.Codeunit.al => SyncDepFldSalesInvHdrCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldServCrMemoHdr.Codeunit.al => SyncDepFldServCrMemoHdrCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldServiceHeader.Codeunit.al => SyncDepFldServiceHeaderCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldServiceInvHdr.Codeunit.al => SyncDepFldServiceInvHdrCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldSubstCustPGrp.Codeunit.al => SyncDepFldSubstCustPGrpCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldSubstVendPGrp.Codeunit.al => SyncDepFldSubstVendPGrpCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldVATEntry.Codeunit.al => SyncDepFldVATEntryCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldVATStmtLine.Codeunit.al => SyncDepFldVATStmtLineCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{SyncDepFldVendor.Codeunit.al => SyncDepFldVendorCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{TariffNumberHandler.Codeunit.al => TariffNumberHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{TransferLineHandler.Codeunit.al => TransferLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{TransferOrderPostHandler.Codeunit.al => TransferOrderPostHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{TransformationRuleMgt.Codeunit.al => TransformationRuleMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{UnreliablePayerMgt.Codeunit.al => UnreliablePayerMgtCZL.Codeunit.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{UnreliablePayerWS.Codeunit.al => UnreliablePayerWSCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{UpgradeApplication.Codeunit.al => UpgradeApplicationCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{UpgradeTagDefinitions.Codeunit.al => UpgradeTagDefinitionsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{UserSetupAdvManagement.Codeunit.al => UserSetupAdvManagementCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{UserSetupHandler.Codeunit.al => UserSetupHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATAmountLineHandler.Codeunit.al => VATAmountLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATAttributeCodeMgt.Codeunit.al => VATAttributeCodeMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATControlReportDPHKH1.Codeunit.al => VATControlReportDPHKH1CZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATCorrNotifHandler.Codeunit.al => VATCorrNotifHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATCtrlRepExpRunner.Codeunit.al => VATCtrlRepExpRunnerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATCtrlReportMgt.Codeunit.al => VATCtrlReportMgtCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATCtrlReportRelease.Codeunit.al => VATCtrlReportReleaseCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATCurrFactorHandler.Codeunit.al => VATCurrFactorHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATDateHandler.Codeunit.al => VATDateHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATEntryHandler.Codeunit.al => VATEntryHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATLCYCorrPostYesNo.Codeunit.al => VATLCYCorrPostYesNoCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATLCYCorrectionPost.Codeunit.al => VATLCYCorrectionPostCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATRegLogSuppression.Codeunit.al => VATRegLogSuppressionCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATRepDateMgtHandler.Codeunit.al => VATRepDateMgtHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATStatementDPHDP3.Codeunit.al => VATStatementDPHDP3CZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATStatementLineHandler.Codeunit.al => VATStatementLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATStmtTemplateHandler.Codeunit.al => VATStmtTemplateHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATStmtXMLExportHelper.Codeunit.al => VATStmtXMLExportHelperCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VATStmtXMLExportRunner.Codeunit.al => VATStmtXMLExportRunnerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VEntryApplyPstdEntHandler.Codeunit.al => VEntryApplyPstdEntHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VendEntryEditHandler.Codeunit.al => VendEntryEditHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VendLedgerEntryHandler.Codeunit.al => VendLedgerEntryHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VendorBankAccHandler.Codeunit.al => VendorBankAccHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VendorHandler.Codeunit.al => VendorHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{VendorTemplHandler.Codeunit.al => VendorTemplHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{WhseJournalLineHandler.Codeunit.al => WhseJournalLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{WhseWorkshtLineHandler.Codeunit.al => WhseWorkshtLineHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/{WorkflowResponseHandling.Codeunit.al => WorkflowResponseHandlingCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/{AccSchedLineTotType.EnumExt.al => AccSchedLineTotTypeCZL.EnumExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/{BatchPostingParamType.EnumExt.al => BatchPostingParamTypeCZL.EnumExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/{InvtPostBufferAccType.EnumExt.al => InvtPostBufferAccTypeCZL.EnumExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/{ManualSetupCategory.EnumExt.al => ManualSetupCategoryCZL.EnumExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/{VATStatementLineType.EnumExt.al => VATStatementLineTypeCZL.EnumExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{AccScheduleSourceTable.Enum.al => AccScheduleSourceTableCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{AccScheduleSourceType.Enum.al => AccScheduleSourceTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{AccountingScheduleCalc.Enum.al => AccountingScheduleCalcCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{AccountingScheduleType.Enum.al => AccountingScheduleTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{AssetsLiabilitiesType.Enum.al => AssetsLiabilitiesTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{CreditMemoType.Enum.al => CreditMemoTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{DefaultOrigDocVATDate.Enum.al => DefaultOrigDocVATDateCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{DefaultVATDate.Enum.al => DefaultVATDateCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{EETAppliedDocumentType.Enum.al => EETAppliedDocumentTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{EETCashRegisterType.Enum.al => EETCashRegisterTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{EETSalesRegime.Enum.al => EETSalesRegimeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{EETStatus.Enum.al => EETStatusCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{GLAccountGroup.Enum.al => GLAccountGroupCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{IntrastatDetailSource.Enum.al => IntrastatDetailSourceCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{IntrastatStatementType.Enum.al => IntrastatStatementTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{RegLogAccountType.Enum.al => RegLogAccountTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{RegLogDetailField.Enum.al => RegLogDetailFieldCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{RegLogDetailStatus.Enum.al => RegLogDetailStatusCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{RegLogDetailedFieldStatus.Enum.al => RegLogDetailedFieldStatusCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{ReverseChargeCheck.Enum.al => ReverseChargeCheckCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{UserSetupLineType.Enum.al => UserSetupLineTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{VATCtrlReportCorect.Enum.al => VATCtrlReportCorectCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{VATCtrlReportDeclType.Enum.al => VATCtrlReportDeclTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{VATCtrlReportFormat.Enum.al => VATCtrlReportFormatCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{VATCtrlReportMode.Enum.al => VATCtrlReportModeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{VATRate.Enum.al => VATRateCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{VATStatementXMLFormat.Enum.al => VATStatementXMLFormatCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Enums/{VATStmtDeclarationType.Enum.al => VATStmtDeclarationTypeCZL.Enum.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{AccScheduleOverview.PageExt.al => AccScheduleOverviewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{AccountSchedule.PageExt.al => AccountScheduleCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{AccountScheduleNames.PageExt.al => AccountScheduleNamesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{AccountingManagerRC.PageExt.al => AccountingManagerRCCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{AdministratorMainRC.PageExt.al => AdministratorMainRCCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BankAccountCard.PageExt.al => BankAccountCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BankAccountList.PageExt.al => BankAccountListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BlanketPurchOrdSubform.PageExt.al => BlanketPurchOrdSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BlanketPurchaseOrder.PageExt.al => BlanketPurchaseOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BlanketPurchaseOrders.PageExt.al => BlanketPurchaseOrdersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BlanketSalesOrdSubform.PageExt.al => BlanketSalesOrdSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BlanketSalesOrder.PageExt.al => BlanketSalesOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{BlanketSalesOrders.PageExt.al => BlanketSalesOrdersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CashReceiptJournal.PageExt.al => CashReceiptJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ChartofAccounts.PageExt.al => ChartofAccountsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ChartofAccountsGL.PageExt.al => ChartofAccountsGLCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ChartofAccsAnView.PageExt.al => ChartofAccsAnViewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CompanyInformation.PageExt.al => CompanyInformationCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ContactCard.PageExt.al => ContactCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ContactList.PageExt.al => ContactListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CopyGenJnlParameters.PageExt.al => CopyGenJnlParametersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CustLedgEntriesPreview.PageExt.al => CustLedgEntriesPreviewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CustomerCard.PageExt.al => CustomerCardCZL.PageExt.al} (70%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CustomerLedgerEntries.PageExt.al => CustomerLedgerEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CustomerList.PageExt.al => CustomerListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CustomerPostingGroups.PageExt.al => CustomerPostingGroupsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{CustomerTemplCard.PageExt.al => CustomerTemplCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{DepreciationBookCard.PageExt.al => DepreciationBookCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{DetCustLedgEntrPreview.PageExt.al => DetCustLedgEntrPreviewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{DetVendEntriesPreview.PageExt.al => DetVendEntriesPreviewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{DetailedCustLedgEntries.PageExt.al => DetailedCustLedgEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{DetailedVendLedgEntries.PageExt.al => DetailedVendLedgEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{EmployeeLedgerEntries.PageExt.al => EmployeeLedgerEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{FinanceChargeMemo.PageExt.al => FinanceChargeMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{FinanceChargeMemoList.PageExt.al => FinanceChargeMemoListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{FinanceManagerRC.PageExt.al => FinanceManagerRCCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{FinancialReports.PageExt.al => FinancialReportsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{FixedAssetGLJournal.PageExt.al => FixedAssetGLJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GLAccountBalanceLines.PageExt.al => GLAccountBalanceLinesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GLAccountCard.PageExt.al => GLAccountCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GLBalance.PageExt.al => GLBalanceCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GLEntriesPreview.PageExt.al => GLEntriesPreviewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GLRegisters.PageExt.al => GLRegistersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GeneralJournalBatches.PageExt.al => GeneralJournalBatchesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GeneralJournal.PageExt.al => GeneralJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GeneralJournalTemplates.PageExt.al => GeneralJournalTemplatesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GeneralLedgerEntries.PageExt.al => GeneralLedgerEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GeneralLedgerSetup.PageExt.al => GeneralLedgerSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GeneralPostingSetup.PageExt.al => GeneralPostingSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{GeneralPostingSetupCard.PageExt.al => GeneralPostingSetupCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{IntrastatJnlBatches.PageExt.al => IntrastatJnlBatchesCZL.PageExt.al} (96%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{IntrastatJournal.PageExt.al => IntrastatJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{InventoryPostingSetup.PageExt.al => InventoryPostingSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{InventoryReportEntry.PageExt.al => InventoryReportEntryCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{InventorySetup.PageExt.al => InventorySetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{InvtReceipt.PageExt.al => InvtReceiptCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{InvtReceipts.PageExt.al => InvtReceiptsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{InvtShipment.PageExt.al => InvtShipmentCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{InvtShipments.PageExt.al => InvtShipmentsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{IssuedFinChMemoList.PageExt.al => IssuedFinChMemoListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{IssuedFinanceChargeMemo.PageExt.al => IssuedFinanceChargeMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{IssuedReminder.PageExt.al => IssuedReminderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{IssuedReminderList.PageExt.al => IssuedReminderListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemCard.PageExt.al => ItemCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemChargeAsgmtPurch.PageExt.al => ItemChargeAsgmtPurchCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemChargeAsgmtSales.PageExt.al => ItemChargeAsgmtSalesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemCharges.PageExt.al => ItemChargesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemJournal.PageExt.al => ItemJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemLedgerEntries.PageExt.al => ItemLedgerEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemList.PageExt.al => ItemListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemReclassJournal.PageExt.al => ItemReclassJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ItemRegisters.PageExt.al => ItemRegistersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{JobGLJournal.PageExt.al => JobGLJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{JobJournal.PageExt.al => JobJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{JobLedgerEntries.PageExt.al => JobLedgerEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PaymentJournal.PageExt.al => PaymentJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PaymentReconcJournal.PageExt.al => PaymentReconcJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PhysInventoryJournal.PageExt.al => PhysInventoryJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PhysInvtLedgerEntries.PageExt.al => PhysInvtLedgerEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PhysicalInvtOrderSubf.PageExt.al => PhysicalInvtOrderSubfCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedDirectTransSub.PageExt.al => PostedDirectTransSubCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedDirectTransfer.PageExt.al => PostedDirectTransferCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedDirectTransfers.PageExt.al => PostedDirectTransfersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedGeneralJournal.PageExt.al => PostedGeneralJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedInvtReceipt.PageExt.al => PostedInvtReceiptCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedInvtReceipts.PageExt.al => PostedInvtReceiptsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedInvtShipment.PageExt.al => PostedInvtShipmentCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedInvtShipments.PageExt.al => PostedInvtShipmentsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPhysInvtOrder.PageExt.al => PostedPhysInvtOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchCMSubform.PageExt.al => PostedPurchCMSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchCreditMemo.PageExt.al => PostedPurchCreditMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchCreditMemos.PageExt.al => PostedPurchCreditMemosCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchInvSubform.PageExt.al => PostedPurchInvSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchRcptSubform.PageExt.al => PostedPurchRcptSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchaseInvoice.PageExt.al => PostedPurchaseInvoiceCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchaseInvoices.PageExt.al => PostedPurchaseInvoicesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchaseReceipt.PageExt.al => PostedPurchaseReceiptCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedPurchaseReceipts.PageExt.al => PostedPurchaseReceiptsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedRetRcptSubform.PageExt.al => PostedRetRcptSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedRetShptSubform.PageExt.al => PostedRetShptSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedReturnReceipt.PageExt.al => PostedReturnReceiptCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedReturnReceipts.PageExt.al => PostedReturnReceiptsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedReturnShipment.PageExt.al => PostedReturnShipmentCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesCMSubform.PageExt.al => PostedSalesCMSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesCreditMemo.PageExt.al => PostedSalesCreditMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesCreditMemos.PageExt.al => PostedSalesCreditMemosCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesInvSubform.PageExt.al => PostedSalesInvSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesInvUpdate.PageExt.al => PostedSalesInvUpdateCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesInvoice.PageExt.al => PostedSalesInvoiceCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesInvoices.PageExt.al => PostedSalesInvoicesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesShipment.PageExt.al => PostedSalesShipmentCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesShipments.PageExt.al => PostedSalesShipmentsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedSalesShptSubform.PageExt.al => PostedSalesShptSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServCMSubform.PageExt.al => PostedServCMSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServCreditMemo.PageExt.al => PostedServCreditMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServCreditMemos.PageExt.al => PostedServCreditMemosCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServInvSubform.PageExt.al => PostedServInvSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServiceInvUpdate.PageExt.al => PostedServiceInvUpdateCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServiceInvoice.PageExt.al => PostedServiceInvoiceCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServiceInvoices.PageExt.al => PostedServiceInvoicesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServiceShipment.PageExt.al => PostedServiceShipmentCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedServiceShipments.PageExt.al => PostedServiceShipmentsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedTransferRcptSubf.PageExt.al => PostedTransferRcptSubfCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedTransferReceipt.PageExt.al => PostedTransferReceiptCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedTransferReceipts.PageExt.al => PostedTransferReceiptsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedTransferShipment.PageExt.al => PostedTransferShipmentCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedTransferShipments.PageExt.al => PostedTransferShipmentsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PostedTransferShptSubf.PageExt.al => PostedTransferShptSubfCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchCrMemoSubform.PageExt.al => PurchCrMemoSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchInvoiceSubform.PageExt.al => PurchInvoiceSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchReturnListArchive.PageExt.al => PurchReturnListArchiveCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchReturnOrdSubform.PageExt.al => PurchReturnOrdSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchReturnOrderArch.PageExt.al => PurchReturnOrderArchCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseCreditMemo.PageExt.al => PurchaseCreditMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseCreditMemos.PageExt.al => PurchaseCreditMemosCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseInvoice.PageExt.al => PurchaseInvoiceCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseInvoices.PageExt.al => PurchaseInvoicesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseJournal.PageExt.al => PurchaseJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseOrderArchive.PageExt.al => PurchaseOrderArchiveCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseOrderArchives.PageExt.al => PurchaseOrderArchivesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseOrder.PageExt.al => PurchaseOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseOrderList.PageExt.al => PurchaseOrderListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseOrderSubform.PageExt.al => PurchaseOrderSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseQuoteArchive.PageExt.al => PurchaseQuoteArchiveCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseQuoteArchives.PageExt.al => PurchaseQuoteArchivesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseQuote.PageExt.al => PurchaseQuoteCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseQuoteSubform.PageExt.al => PurchaseQuoteSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseQuotes.PageExt.al => PurchaseQuotesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseReturnOrder.PageExt.al => PurchaseReturnOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchaseReturnOrderList.PageExt.al => PurchaseReturnOrderListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchasesPayablesSetup.PageExt.al => PurchasesPayablesSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{PurchasingManagerRC.PageExt.al => PurchasingManagerRCCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{Reconciliation.PageExt.al => ReconciliationCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{RecurringGeneralJournal.PageExt.al => RecurringGeneralJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{Reminder.PageExt.al => ReminderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ReminderList.PageExt.al => ReminderListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ResourceCard.PageExt.al => ResourceCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ResponsibilityCenterCard.PageExt.al => ResponsibilityCenterCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesCrMemoSubform.PageExt.al => SalesCrMemoSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesCreditMemo.PageExt.al => SalesCreditMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesCreditMemos.PageExt.al => SalesCreditMemosCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesInvoice.PageExt.al => SalesInvoiceCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesInvoiceList.PageExt.al => SalesInvoiceListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesInvoiceSubform.PageExt.al => SalesInvoiceSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesJournal.PageExt.al => SalesJournalCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesMarketingMngrRC.PageExt.al => SalesMarketingMngrRCCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesOrderArchive.PageExt.al => SalesOrderArchiveCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesOrderArchives.PageExt.al => SalesOrderArchivesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesOrder.PageExt.al => SalesOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesOrderList.PageExt.al => SalesOrderListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesOrderSubform.PageExt.al => SalesOrderSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesQuoteArchive.PageExt.al => SalesQuoteArchiveCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesQuoteArchives.PageExt.al => SalesQuoteArchivesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesQuote.PageExt.al => SalesQuoteCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesQuoteSubform.PageExt.al => SalesQuoteSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesQuotes.PageExt.al => SalesQuotesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesReceivablesSetup.PageExt.al => SalesReceivablesSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesReturnListArchive.PageExt.al => SalesReturnListArchiveCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesReturnOrderArchive.PageExt.al => SalesReturnOrderArchiveCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesReturnOrder.PageExt.al => SalesReturnOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesReturnOrderList.PageExt.al => SalesReturnOrderListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SalesReturnOrderSubform.PageExt.al => SalesReturnOrderSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceCrMemoSubform.PageExt.al => ServiceCrMemoSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceCreditMemo.PageExt.al => ServiceCreditMemoCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceCreditMemos.PageExt.al => ServiceCreditMemosCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceInvoice.PageExt.al => ServiceInvoiceCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceInvoiceSubform.PageExt.al => ServiceInvoiceSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceInvoices.PageExt.al => ServiceInvoicesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceLines.PageExt.al => ServiceLinesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceMgtSetup.PageExt.al => ServiceMgtSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceOrder.PageExt.al => ServiceOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceOrders.PageExt.al => ServiceOrdersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceQuote.PageExt.al => ServiceQuoteCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceQuoteLines.PageExt.al => ServiceQuoteLinesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ServiceQuotes.PageExt.al => ServiceQuotesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ShipmentMethods.PageExt.al => ShipmentMethodsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{SourceCodeSetup.PageExt.al => SourceCodeSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{StockkeepingUnitCard.PageExt.al => StockkeepingUnitCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{TariffNumbers.PageExt.al => TariffNumbersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{TransferOrder.PageExt.al => TransferOrderCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{TransferOrderSubform.PageExt.al => TransferOrderSubformCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{TransferOrders.PageExt.al => TransferOrdersCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{UnitsofMeasure.PageExt.al => UnitsofMeasureCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{UserSetup.PageExt.al => UserSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VATEntries.PageExt.al => VATEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VATEntriesPreview.PageExt.al => VATEntriesPreviewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VATPostingSetup.PageExt.al => VATPostingSetupCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VATPostingSetupCard.PageExt.al => VATPostingSetupCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VATStatement.PageExt.al => VATStatementCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VATStatementNames.PageExt.al => VATStatementNamesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VATStatementTemplates.PageExt.al => VATStatementTemplatesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{ValueEntries.PageExt.al => ValueEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendLedgEntriesPreview.PageExt.al => VendLedgEntriesPreviewCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendorBankAccountCard.PageExt.al => VendorBankAccountCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendorBankAccountList.PageExt.al => VendorBankAccountListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendorCard.PageExt.al => VendorCardCZL.PageExt.al} (77%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendorLedgerEntries.PageExt.al => VendorLedgerEntriesCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendorList.PageExt.al => VendorListCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendorPostingGroups.PageExt.al => VendorPostingGroupsCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/{VendorTemplCard.PageExt.al => VendorTemplCardCZL.PageExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccSchResSubMatrix.Page.al => AccSchResSubMatrixCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccSchedPageDrillDown.Page.al => AccSchedPageDrillDownCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccSchedResHdrList.Page.al => AccSchedResHdrListCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccSchedResOverview.Page.al => AccSchedResOverviewCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccScheduleExtensions.Page.al => AccScheduleExtensionsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccScheduleFileMapping.Page.al => AccScheduleFileMappingCZL.Page.al} (96%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccScheduleLineList.Page.al => AccScheduleLineListCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccScheduleResultHist.Page.al => AccScheduleResultHistCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{AccountantCZRoleCenter.Page.al => AccountantCZRoleCenterCZL.Page.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{CertificateCodeList.Page.al => CertificateCodeListCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{Commodities.Page.al => CommoditiesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{CommoditySetup.Page.al => CommoditySetupCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{CompanyOfficialCard.Page.al => CompanyOfficialCardCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{CompanyOfficialList.Page.al => CompanyOfficialListCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{CompanyOfficialPicture.Page.al => CompanyOfficialPictureCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{ConfirmVATEntriesUpdate.Page.al => ConfirmVATEntriesUpdateCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{ConstantSymbols.Page.al => ConstantSymbolsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{CrossApplication.Page.al => CrossApplicationCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{DocumentFooters.Page.al => DocumentFootersCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETBusinessPremises.Page.al => EETBusinessPremisesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETCashRegisters.Page.al => EETCashRegistersCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETEntries.Page.al => EETEntriesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETEntryCard.Page.al => EETEntryCardCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETEntryPreviewCard.Page.al => EETEntryPreviewCardCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETEntryStatusLog.Page.al => EETEntryStatusLogCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETEntryStatusLogPrev.Page.al => EETEntryStatusLogPrevCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETServiceSetup.Page.al => EETServiceSetupCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{EETSimpleRegistration.Page.al => EETSimpleRegistrationCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{ExcelTemplates.Page.al => ExcelTemplatesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{FileMapping.Page.al => FileMappingCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{GetDocumentNoAndDate.Page.al => GetDocumentNoandDateCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{GetVendBankAccCode.Page.al => GetVendBankAccCodeCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{IntrastatDeliveryGroups.Page.al => IntrastatDeliveryGroupsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{IntrastatJournalLines.Page.al => IntrastatJournalLinesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{InvGLReconMatrix.Page.al => InvGLReconMatrixCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{InvGLReconciliation.Page.al => InvGLReconciliationCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{InvtMovementTemplates.Page.al => InvtMovementTemplatesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{RegNoServiceConfig.Page.al => RegNoServiceConfigCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{RegistrationLog.Page.al => RegistrationLogCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{RegistrationLogDetails.Page.al => RegistrationLogDetailsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{RegistrationNoCheck.Page.al => RegistrationNoCheckCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{SaveAccScheduleResult.Page.al => SaveAccScheduleResultCZL.Page.al} (92%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{SpecificMovements.Page.al => SpecificMovementsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{StatisticIndications.Page.al => StatisticIndicationsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{StatutoryReportingSetup.Page.al => StatutoryReportingSetupCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{StockkeepingUnitTempl.Page.al => StockkeepingUnitTemplCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{SubstCustPostGroups.Page.al => SubstCustPostGroupsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{SubstVendPostGroups.Page.al => SubstVendPostGroupsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{UnrelPayerServiceSetup.Page.al => UnrelPayerServiceSetupCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{UnreliablePayerEntries.Page.al => UnreliablePayerEntriesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{UserSetupCard.Page.al => UserSetupCardCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{UserSetupLines.Page.al => UserSetupLinesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{UserSetupLinesList.Page.al => UserSetupLinesListCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATAmountSummaryFactBox.Page.al => VATAmountSummaryFactBoxCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATAttributeCodes.Page.al => VATAttributeCodesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATCtrlReportCard.Page.al => VATCtrlReportCardCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATCtrlReportLines.Page.al => VATCtrlReportLinesCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATCtrlReportList.Page.al => VATCtrlReportListCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATCtrlReportSections.Page.al => VATCtrlReportSectionsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATCtrlReportStSubf.Page.al => VATCtrlReportStSubfCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATCtrlReportStat.Page.al => VATCtrlReportStatCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATCtrlReportSubform.Page.al => VATCtrlReportSubformCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATLCYCorrection.Page.al => VATLCYCorrectionCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATPeriods.Page.al => VATPeriodsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATStatementAttachments.Page.al => VATStatementAttachmentsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATStatementComments.Page.al => VATStatementCommentsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATStatementPreview.Page.al => VATStatementPreviewCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATStatementPreviewLine.Page.al => VATStatementPreviewLineCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATStmtAttachmentSheet.Page.al => VATStmtAttachmentSheetCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VATStmtCommentSheet.Page.al => VATStmtCommentSheetCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VIESDeclaration.Page.al => VIESDeclarationCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VIESDeclarationLines.Page.al => VIESDeclarationLinesCZL.Page.al} (86%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VIESDeclarationSubform.Page.al => VIESDeclarationSubformCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Pages/{VIESDeclarations.Page.al => VIESDeclarationsCZL.Page.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{CZCorePackEdit.PermissionSet.al => CZCorePackEditCZL.PermissionSet.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{CZCorePackObjects.PermissionSet.al => CZCorePackObjectsCZL.PermissionSet.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{CZCorePackRead.PermissionSet.al => CZCorePackReadCZL.PermissionSet.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{CustomerEdit.PermissionSetExt.al => CustomerEditCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{D365AUTOMATION.PermissionSetExt.al => D365AUTOMATIONCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{d365basic.permissionsetext.al => D365BASICCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{d365basicisv.permissionsetext.al => D365BASICISVCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{D365CUSTOMEREDIT.PermissionSetExt.al => D365CUSTOMEREDITCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{d365read.permissionsetext.al => D365READCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{D365SETUP.PermissionSetExt.al => D365SETUPCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{d365teammember.permissionsetext.al => D365TEAMMEMBERCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{D365VENDOREDIT.PermissionSetExt.al => D365VENDOREDITCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{GeneralLedgerAdmin.PermissionSetExt.al => GeneralLedgerAdminCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{GeneralLedgerEdit.PermissionSetExt.al => GeneralLedgerEditCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{intelligentcloud.permissionsetext.al => INTELLIGENTCLOUDCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{LOCAL.PermissionSetExt.al => LOCALCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{PayablesAdmin.PermissionSetExt.al => PayablesAdminCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{RecievablesAdmin.PermissionSetExt.al => RecievablesAdminCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Permissions/{VendorEdit.PermissionSetExt.al => VendorEditCZL.PermissionSetExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Profiles/{AccountantCZ.Profile.al => AccountantCZCZL.Profile.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/{CopyVATPostingSetup.ReportExt.al => CopyVATPostingSetupCZL.ReportExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{AccScheduleExportFile.Report.al => AccScheduleExportFileCZL.Report.al} (98%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{AccountScheduleResult.Report.al => AccountScheduleResultCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{AccountingSheets.Report.al => AccountingSheetsCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{AdjustExchangeRates.Report.al => AdjustExchangeRatesCZL.Report.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{AllPaymentsonHold.Report.al => AllPaymentsonHoldCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BalanceSheet.Report.al => BalanceSheetCZL.Report.al} (98%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostPurchCrMemos.Report.al => BatchPostPurchCrMemosCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostPurchRetOrd.Report.al => BatchPostPurchRetOrdCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostPurchaseInv.Report.al => BatchPostPurchaseInvCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostPurchaseOrders.Report.al => BatchPostPurchaseOrdersCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostSalesCrMemos.Report.al => BatchPostSalesCrMemosCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostSalesInvoices.Report.al => BatchPostSalesInvoicesCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostSalesOrders.Report.al => BatchPostSalesOrdersCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BatchPostSalesRetOrd.Report.al => BatchPostSalesRetOrdCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{BlanketPurchaseOrder.Report.al => BlanketPurchaseOrderCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CalcAndPostVATSettl.Report.al => CalcandPostVATSettlCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CashFlowDateList.Report.al => CashFlowDateListCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CloseBalanceSheet.Report.al => CloseBalanceSheetCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CloseIncomeStatement.Report.al => CloseIncomeStatementCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CopyUserSetup.Report.al => CopyUserSetupCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CreateStockkeepingUnit.Report.al => CreateStockkeepingUnitCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CreateVATPeriod.Report.al => CreateVATPeriodCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{CustBalReconciliation.Report.al => CustBalReconciliationCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{DocumentationForVAT.Report.al => DocumentationforVATCZL.Report.al} (79%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{EETConfirmation.Report.al => EETConfirmationCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ExpAccSchedResExc.Report.al => ExpAccSchedResExcCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ExportVATCtrlDialog.Report.al => ExportVATCtrlDialogCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ExportVATStmtDialog.Report.al => ExportVATStmtDialogCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{FinanceChargeMemo.Report.al => FinanceChargeMemoCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GLAccGroupPostCheck.Report.al => GLAccGroupPostCheckCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GLVATReconciliation.Report.al => GLVATReconciliationCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GeneralJournal.Report.al => GeneralJournalCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GeneralJournalTest.Report.al => GeneralJournalTestCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GeneralLedger.Report.al => GeneralLedgerCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GeneralLedgerDocument.Report.al => GeneralLedgerDocumentCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GetItemLdgEntriesTest.Report.al => GetItemLdgEntriesTestCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{GetItemLedgerEntries.Report.al => GetItemLedgerEntriesCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ImportTariffNumbersXML.Report.al => ImportTariffNumbersXMLCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{IncomeStatement.Report.al => IncomeStatementCZL.Report.al} (98%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{IntrastatDeclarationExp.Report.al => IntrastatDeclarationExpCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{IntrastatInvoiceCheck.Report.al => IntrastatInvoiceCheckCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{InventoryDocument.Report.al => InventoryDocumentCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{JoiningBankAccAdj.Report.al => JoiningBankAccAdjCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{JoiningGLAccountAdj.Report.al => JoiningGLAccountAdjCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{OpenBalanceSheet.Report.al => OpenBalanceSheetCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{OpenCustEntriestoDate.Report.al => OpenCustEntriestoDateCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{OpenVendEntriestoDate.Report.al => OpenVendEntriestoDateCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{PhysInventoryDocument.Report.al => PhysInventoryDocumentCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{PostedDirectTransfer.Report.al => PostedDirectTransferCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{PostedInventoryDocument.Report.al => PostedInventoryDocumentCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{PostedInventoryReceipt.Report.al => PostedInventoryReceiptCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{PostedInventoryShipment.Report.al => PostedInventoryShipmentCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{PurchaseOrder.Report.al => PurchaseOrderCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{PurchaseQuote.Report.al => PurchaseQuoteCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{QuantityReceivedCheck.Report.al => QuantityReceivedCheckCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{QuantityShippedCheck.Report.al => QuantityShippedCheckCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ReconBankAccountEntry.Report.al => ReconBankAccountEntryCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{Reminder.Report.al => ReminderCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SalesCreditMemo.Report.al => SalesCreditMemoCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SalesInvoice.Report.al => SalesInvoiceCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SalesOrderConfirmation.Report.al => SalesOrderConfirmationCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SalesQuote.Report.al => SalesQuoteCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SalesReturnOrderConfirm.Report.al => SalesReturnOrderConfirmCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SalesReturnReciept.Report.al => SalesReturnRecieptCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SalesShipment.Report.al => SalesShipmentCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ServiceContract.Report.al => ServiceContractCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ServiceContractQuote.Report.al => ServiceContractQuoteCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ServiceCreditMemo.Report.al => ServiceCreditMemoCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ServiceInvoice.Report.al => ServiceInvoiceCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ServiceOrder.Report.al => ServiceOrderCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ServiceQuote.Report.al => ServiceQuoteCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{ServiceShipment.Report.al => ServiceShipmentCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{SuggestVIESDeclaration.Report.al => SuggestVIESDeclarationCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{TestTariffNumbers.Report.al => TestTariffNumbersCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{TurnoverRptbyGlDim.Report.al => TurnoverRptbyGlDimCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{UnreliablePayerGetAll.Report.al => UnreliablePayerGetAllCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{UnreliablePayerList.Report.al => UnreliablePayerListCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{UserSetupList.Report.al => UserSetupListCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VATCtrlReportGetEnt.Report.al => VATCtrlReportGetEntCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VATCtrlReportTest.Report.al => VATCtrlReportTestCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VATDocumentsList.Report.al => VATDocumentsListCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VATExceptions.Report.al => VATExceptionsCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VATRegister.Report.al => VATRegisterCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VATStatement.Report.al => VATStatementCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VIESDeclaration.Report.al => VIESDeclarationCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VIESDeclarationTest.Report.al => VIESDeclarationTestCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Reports/{VendorBalReconciliation.Report.al => VendorBalReconciliationCZL.Report.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{AccScheduleLine.TableExt.al => AccScheduleLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{AccScheduleName.TableExt.al => AccScheduleNameCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{AdjExchangeRateBuffer.TableExt.al => AdjExchangeRateBufferCZL.TableExt.al} (89%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{AnalysisView.TableExt.al => AnalysisViewCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{BankAccount.TableExt.al => BankAccountCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{CVLedgerEntryBuffer.TableExt.al => CVLedgerEntryBufferCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{CompanyInformation.TableExt.al => CompanyInformationCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{Contact.TableExt.al => ContactCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{CopyGenJnlParameters.TableExt.al => CopyGenJnlParametersCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{CountryRegion.TableExt.al => CountryRegionCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{CustLedgerEntry.TableExt.al => CustLedgerEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{Customer.TableExt.al => CustomerCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{CustomerTempl.TableExt.al => CustomerTemplCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{DepreciationBook.TableExt.al => DepreciationBookCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{DetCVLedgEntryBuffer.TableExt.al => DetCVLedgEntryBufferCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{DetailedCustLedgEntry.TableExt.al => DetailedCustLedgEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{DetailedVendLedgEntry.TableExt.al => DetailedVendLedgEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{DirectTransHeader.TableExt.al => DirectTransHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{DirectTransLine.TableExt.al => DirectTransLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{EmployeeLedgerEntry.TableExt.al => EmployeeLedgerEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{FASetup.TableExt.al => FASetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{FinanceChargeMemoHeader.TableExt.al => FinanceChargeMemoHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GLAccount.TableExt.al => GLAccountCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GLAccountNetChange.TableExt.al => GLAccountNetChangeCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GLEntry.TableExt.al => GLEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GenJournalBatch.TableExt.al => GenJournalBatchCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GenJournalLine.TableExt.al => GenJournalLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GenJournalTemplate.TableExt.al => GenJournalTemplateCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GeneralLedgerSetup.TableExt.al => GeneralLedgerSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{GeneralPostingSetup.TableExt.al => GeneralPostingSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{IntrastatJnlBatch.TableExt.al => IntrastatJnlBatchCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{IntrastatJnlLine.TableExt.al => IntrastatJnlLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InventoryPostingSetup.TableExt.al => InventoryPostingSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InventoryReportEntry.TableExt.al => InventoryReportEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InventorySetup.TableExt.al => InventorySetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InvoicePostBuffer.TableExt.al => InvoicePostBufferCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InvoicePostingBuffer.TableExt.al => InvoicePostingBufferCZL.TableExt.al} (74%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InvtDocumentHeader.TableExt.al => InvtDocumentHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InvtPostingBuffer.TableExt.al => InvtPostingBufferCZL.TableExt.al} (86%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InvtReceiptHeader.TableExt.al => InvtReceiptHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{InvtShipmentHeader.TableExt.al => InvtShipmentHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{IsolatedCertificate.TableExt.al => IsolatedCertificateCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{IssuedFinChMemoHeader.TableExt.al => IssuedFinChMemoHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{IssuedReminderHeader.TableExt.al => IssuedReminderHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{Item.TableExt.al => ItemCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ItemChargeAsgmtPurch.TableExt.al => ItemChargeAsgmtPurchCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ItemChargeAsgmtSales.TableExt.al => ItemChargeAsgmtSalesCZL.TableExt.al} (98%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ItemCharge.TableExt.al => ItemChargeCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ItemJournalLine.TableExt.al => ItemJournalLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ItemLedgerEntry.TableExt.al => ItemLedgerEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ItemRegister.TableExt.al => ItemRegisterCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{JobJournalLine.TableExt.al => JobJournalLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{JobLedgerEntry.TableExt.al => JobLedgerEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PhysInvtOrderLine.TableExt.al => PhysInvtOrderLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PostedGenJournalLine.TableExt.al => PostedGenJournalLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchCrMemoHdr.TableExt.al => PurchCrMemoHdrCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchCrMemoLine.TableExt.al => PurchCrmemoLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchInvHeader.TableExt.al => PurchInvHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchInvLine.TableExt.al => PurchInvLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchRcptHeader.TableExt.al => PurchRcptHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchRcptLine.TableExt.al => PurchRcptLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchaseHeaderArchive.TableExt.al => PurchaseHeaderArchiveCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchaseHeader.TableExt.al => PurchaseHeaderCZL.TableExt.al} (99%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchaseLineArchive.TableExt.al => PurchaseLineArchiveCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchaseLine.TableExt.al => PurchaseLineCZL.TableExt.al} (92%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{PurchasesPayablesSetup.TableExt.al => PurchasesPayablesSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ReminderHeader.TableExt.al => ReminderHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{Resource.TableExt.al => ResourceCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ResponsibilityCenter.TableExt.al => ResponsibilityCenterCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ReturnReceiptHeader.TableExt.al => ReturnReceiptHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ReturnReceiptLine.TableExt.al => ReturnReceiptLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ReturnShipmentHeader.TableExt.al => ReturnShipmentHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ReturnShipmentLine.TableExt.al => ReturnShipmentLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesCrMemoHeader.TableExt.al => SalesCrMemoHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesCrMemoLine.TableExt.al => SalesCrMemoLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesHeaderArchive.TableExt.al => SalesHeaderArchiveCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesHeader.TableExt.al => SalesHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesInvoiceHeader.TableExt.al => SalesInvoiceHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesInvoiceLine.TableExt.al => SalesInvoiceLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesLineArchive.TableExt.al => SalesLineArchiveCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesLine.TableExt.al => SalesLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesReceivablesSetup.TableExt.al => SalesReceivablesSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesShipmentHeader.TableExt.al => SalesShipmentHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SalesShipmentLine.TableExt.al => SalesShipmentLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceCrMemoHeader.TableExt.al => ServiceCrMemoHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceCrMemoLine.TableExt.al => ServiceCrMemoLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceHeader.TableExt.al => ServiceHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceInvoiceHeader.TableExt.al => ServiceInvoiceHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceInvoiceLine.TableExt.al => ServiceInvoiceLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceLine.TableExt.al => ServiceLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceMgtSetup.TableExt.al => ServiceMgtSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceShipmentHeader.TableExt.al => ServiceShipmentHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ServiceShipmentLine.TableExt.al => ServiceShipmentLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ShipmentMethod.TableExt.al => ShipmentMethodCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{SourceCodeSetup.TableExt.al => SourceCodeSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{StockkeepingUnit.TableExt.al => StockkeepingUnitCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{TariffNumber.TableExt.al => TariffNumberCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{TransferHeader.TableExt.al => TransferHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{TransferLine.TableExt.al => TransferLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{TransferReceiptHeader.TableExt.al => TransferReceiptHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{TransferReceiptLine.TableExt.al => TransferReceiptLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{TransferShipmentHeader.TableExt.al => TransferShipmentHeaderCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{TransferShipmentLine.TableExt.al => TransferShipmentLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{UnitofMeasure.TableExt.al => UnitofMeasureCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{UserSetup.TableExt.al => UserSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VATAmountLine.TableExt.al => VATAmountLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VATEntry.TableExt.al => VATEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VATPostingSetup.TableExt.al => VATPostingSetupCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VATStatementLine.TableExt.al => VATStatementLineCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VATStatementName.TableExt.al => VATStatementNameCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VATStatementTemplate.TableExt.al => VATStatementTemplateCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{ValueEntry.TableExt.al => ValueEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VendorBankAccount.TableExt.al => VendorBankAccountCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{Vendor.TableExt.al => VendorCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VendorLedgerEntry.TableExt.al => VendorLedgerEntryCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/{VendorTempl.TableExt.al => VendorTemplCZL.TableExt.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccSchedExprBuffer.Table.al => AccSchedExprBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccScheduleExtension.Table.al => AccScheduleExtensionCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccScheduleFileMapping.Table.al => AccScheduleFileMappingCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccScheduleResultCol.Table.al => AccScheduleResultColCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccScheduleResultHdr.Table.al => AccScheduleResultHdrCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccScheduleResultHist.Table.al => AccScheduleResultHistCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccScheduleResultLine.Table.al => AccScheduleResultLineCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AccScheduleResultValue.Table.al => AccScheduleResultValueCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{AdjExchangeRateBuffer.Table.al => AdjExchangeRateBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{BankAccAdjustBuffer.Table.al => BankAccAdjustBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{CertificateCode.Table.al => CertificateCodeCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{Commodity.Table.al => CommodityCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{CommoditySetup.Table.al => CommoditySetupCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{CompanyOfficial.Table.al => CompanyOfficialCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{ConstantSymbol.Table.al => ConstantSymbolCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{CrossApplicationBuffer.Table.al => CrossApplicationBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{DocumentFooter.Table.al => DocumentFooterCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{EETBusinessPremises.Table.al => EETBusinessPremisesCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{EETCashRegister.Table.al => EETCashRegisterCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{EETEntry.Table.al => EETEntryCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{EETEntryStatusLog.Table.al => EETEntryStatusLogCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{EETServiceSetup.Table.al => EETServiceSetupCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{EnhancedCurrencyBuffer.Table.al => EnhancedCurrencyBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{ExcelTemplate.Table.al => ExcelTemplateCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{GLAccountAdjustBuffer.Table.al => GLAccountAdjustBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{IntrastatDeliveryGroup.Table.al => IntrastatDeliveryGroupCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{InvtMovementTemplate.Table.al => InvtMovementTemplateCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{RegNoServiceConfig.Table.al => RegNoServiceConfigCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{RegistrationLog.Table.al => RegistrationLogCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{RegistrationLogDetail.Table.al => RegistrationLogDetailCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{SpecificMovement.Table.al => SpecificMovementCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{StatisticIndication.Table.al => StatisticIndicationCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{StatutoryReportingSetup.Table.al => StatutoryReportingSetupCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{StockkeepingUnitTemplate.Table.al => StockkeepingUnitTemplateCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{SubstCustPostingGroup.Table.al => SubstCustPostingGroupCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{SubstVendPostingGroup.Table.al => SubstVendPostingGroupCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{UnrelPayerServiceSetup.Table.al => UnrelPayerServiceSetupCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{UnreliablePayerEntry.Table.al => UnreliablePayerEntryCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{UserSetupLine.Table.al => UserSetupLineCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATAttributeCode.Table.al => VATAttributeCodeCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATCtrlReportBuffer.Table.al => VATCtrlReportBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATCtrlReportEntLink.Table.al => VATCtrlReportEntLinkCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATCtrlReportHeader.Table.al => VATCtrlReportHeaderCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATCtrlReportLine.Table.al => VATCtrlReportLineCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATCtrlReportSection.Table.al => VATCtrlReportSectionCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATLCYCorrectionBuffer.Table.al => VATLCYCorrectionBufferCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATPeriod.Table.al => VATPeriodCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATStatementAttachment.Table.al => VATStatementAttachmentCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VATStatementCommentLine.Table.al => VATStatementCommentLineCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VIESDeclarationHeader.Table.al => VIESDeclarationHeaderCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/Tables/{VIESDeclarationLine.Table.al => VIESDeclarationLineCZL.Table.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/XmlPorts/{ImportTariffNumbers.XmlPort.al => ImportTariffNumbersCZL.XmlPort.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/XmlPorts/{UnreliablePayerList.XmlPort.al => UnreliablePayerListCZL.XmlPort.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/XmlPorts/{UnreliablePayerStatus.XmlPort.al => UnreliablePayerStatusCZL.XmlPort.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/XmlPorts/{VATControlReportDPHKH1.XmlPort.al => VATControlReportDPHKH1CZL.XmlPort.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/XmlPorts/{VATStatementDPHDP3.XmlPort.al => VATStatementDPHDP3CZL.XmlPort.al} (100%) rename Apps/CZ/CoreLocalizationPack/app/Src/XmlPorts/{VIESDeclaration.XmlPort.al => VIESDeclarationCZL.XmlPort.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{BalanceSheetReports.Codeunit.al => BalanceSheetReportsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{BankAccountFormatUT.Codeunit.al => BankAccountFormatUTCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{CheckUserSetupDim.Codeunit.al => CheckUserSetupDimCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{DateOrderInvtChange.Codeunit.al => DateOrderInvtChangeCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{DocumentAttachment.Codeunit.al => DocumentAttachmentCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{DocumentFooter.Codeunit.al => DocumentFooterCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{EETUT.Codeunit.al => EETUTCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{FinancialReports.Codeunit.al => FinancialReportsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{ForeignCurrencies.Codeunit.al => ForeignCurrenciesCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{GLAccountGroup.Codeunit.al => GLAccountGroupCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{IdentificationNumbers.Codeunit.al => IdentificationNumbersCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{InvtMvmtTemplates.Codeunit.al => InvtMvmtTemplatesCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{LibraryAssemblyHandler.Codeunit.al => LibraryAssemblyHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{LibraryEET.Codeunit.al => LibraryEETCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{LibraryERMHandler.Codeuni.al => LibraryERMHandlerCZL.Codeunit.al} (73%) rename Apps/CZ/CoreLocalizationPack/test/Src/{LibraryInventoryHandler.Codeunit.al => LibraryInventoryHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{LibraryRepSelHandler.Codeunit.al => LibraryRepSelHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{LibraryTax.Codeunit.al => LibraryTaxCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{PhysInventory.Codeunit.al => PhysInventoryCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{PostingGroupChanging.Codeunit.al => PostingGroupChangingCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{PurchaseDocuments.Codeunit.al => PurchaseDocumentsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{Reconciliation.Codeunit.al => ReconciliationCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{ReplaceVATDateHandler.Codeunit.al => ReplaceVATDateHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{ReportsAndDocuments.Codeunit.al => ReportsandDocumentsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{ReverseCharge.Codeunit.al => ReverseChargeCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{SalesDocuments.Codeunit.al => SalesDocumentsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{SalesReports.Codeunit.al => SalesReportsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{StockkeepingUnitTemplate.Codeunit.al => StockkeepingUnitTemplateCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{SuppConfVATEntUpdate.Codeunit.al => SuppConfVATEntUpdateCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{TaxReports.Codeunit.al => TaxReportsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{TestInitializeHandler.Codeunit.al => TestInitializeHandlerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{UnreliablePayer.Codeunit.al => UnreliablePayerCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{UpdateFromARES.Codeunit.al => UpdatefromARESCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{VATCtrlReport.Codeunit.al => VATCtrlReportCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{VATCtrlReportUT.Codeunit.al => VATCtrlReportUTCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{VATDate.Codeunit.al => VATDateCZL.Codeunit.al} (99%) rename Apps/CZ/CoreLocalizationPack/test/Src/{VATExchangeRate.Codeunit.al => VATExchangeRateCZL.Codeunit.al} (96%) rename Apps/CZ/CoreLocalizationPack/test/Src/{VATFields.Codeunit.al => VATFieldsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{VATStatements.Codeunit.al => VATStatementsCZL.Codeunit.al} (100%) rename Apps/CZ/CoreLocalizationPack/test/Src/{VIESDeclaration.Codeunit.al => VIESDeclarationCZL.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{CalcNormalDeprHandler.Codeunit.al => CalcNormalDeprHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{DataClassEvalHandler.Codeunit.al => DataClassEvalHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{FAAcquisitionHandler.Codeunit.al => FAAcquisitionHandlerCZF.Codeunit.al} (96%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{FADeprecBookHandler.Codeunit.al => FADeprecBookHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{FADisposalHandler.Codeunit.al => FADisposalHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{FAGeneralReport.Codeunit.al => FAGeneralReportCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{FAHistoryHandler.Codeunit.al => FAHistoryHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{FAHistoryManagement.Codeunit.al => FAHistoryManagementCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{FALedgerEntryHandler.Codeunit.al => FALedgerEntryHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{GuidedExperienceHandler.Codeunit.al => GuidedExperienceHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{InstallApplication.Codeunit.al => InstallApplicationCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{SubstituteReportHandler.Codeunit.al => SubstituteReportHandlerCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{UpgradeApplication.Codeunit.al => UpgradeApplicationCZF.Codeunit.al} (99%) rename Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/{UpgradeTagDefinitions.Codeunit.al => UpgradeTagDefinitionsCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/EnumExtensions/{PurchaseFAPostingType.EnumExt.al => PurchaseFAPostingTypeCZF.EnumExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{ClassificationCodeType.Enum.al => ClassificationCodeTypeCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{FAAnalysisDate.Enum.al => FAAnalysisDateCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{FAAnalysisDisposal.Enum.al => FAAnalysisDisposalCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{FAAnalysisGroup.Enum.al => FAAnalysisGroupCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{FAAnalysisPeriod.Enum.al => FAAnalysisPeriodCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{FAExtendedPostingType.Enum.al => FAExtendedPostingTypeCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{FAHistoryType.Enum.al => FAHistoryTypeCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Enums/{TaxDepreciationType.Enum.al => TaxDepreciationTypeCZF.Enum.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{AccountantCZRoleCenter.PageExt.al => AccountantCZRoleCenterCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{DepreciationBookCard.PageExt.al => DepreciationBookCardCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FAAllocations.PageExt.al => FAAllocationsCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FADeprBooksSubform.PageExt.al => FADeprBooksSubformCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FADepreciationBooks.PageExt.al => FADepreciationBooksCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FAPostingGroupCard.PageExt.al => FAPostingGroupCardCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FAPostingGroups.PageExt.al => FAPostingGroupsCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FinanceManagerRC.PageExt.al => FinanceManagerRCCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FixedAssetCard.PageExt.al => FixedAssetCardCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FixedAssetJournal.PageExt.al => FixedAssetJournalCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FixedAssetList.PageExt.al => FixedAssetListCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{FixedAssetSetup.PageExt.al => FixedAssetSetupCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/PageExtensions/{RecurFixedAssetJournal.PageExt.al => RecurFixedAssetJournalCZF.PageExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Pages/{ClassificationCodes.Page.al => ClassificationCodesCZF.Page.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Pages/{CreateFAHistory.Page.al => CreateFAHistoryCZF.Page.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Pages/{FAExtendedPostingGroups.Page.al => FAExtendedPostingGroupsCZF.Page.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Pages/{FAHistoryEntries.Page.al => FAHistoryEntriesCZF.Page.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Pages/{TaxDepreciationGroups.Page.al => TaxDepreciationGroupsCZF.Page.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{CZFixedAssetEdit.PermissionSet.al => CZFixedAssetEditCZF.PermissionSet.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{CZFixedAssetObjects.PermissionSet.al => CZFixedAssetObjectsCZF.PermissionSet.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{CZFixedAssetRead.PermissionSet.al => CZFixedAssetReadCZF.PermissionSet.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{D365AUTOMATION.PermissionSetExt.al => D365AUTOMATIONCZF.PermissionSetExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{d365basic.permissionsetext.al => D365BASICCZF.PermissionSetExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{d365basicisv.permissionsetext.al => D365BASICISVCZF.PermissionSetExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{d365read.permissionsetext.al => D365READCZF.PermissionSetExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{d365teammember.permissionsetext.al => D365TEAMMEMBERCZF.PermissionSetExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{intelligentcloud.permissionsetext.al => INTELLIGENTCLOUDCZF.PermissionSetExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Permissions/{LOCAL.PermissionSetExt.al => LOCALCZF.PermissionSetExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{CalculateDepreciation.Report.al => CalculateDepreciationCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FAAnalysisGLAccount.Report.al => FAAnalysisGLAccountCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FAAssignmentDiscard.Report.al => FAAssignmentDiscardCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FAPhysicalInventoryList.Report.al => FAPhysicalInventoryListCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetAcquisition.Report.al => FixedAssetAcquisitionCZF.Report.al} (99%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetAnDepBook.Report.al => FixedAssetAnDepBookCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetAnalysis.Report.al => FixedAssetAnalysisCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetBookValue1.Report.al => FixedAssetBookValue1CZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetBookValue2.Report.al => FixedAssetBookValue2CZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetCard.Report.al => FixedAssetCardCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetDisposal.Report.al => FixedAssetDisposalCZF.Report.al} (99%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetGLAnalysis.Report.al => FixedAssetGLAnalysisCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetHistory.Report.al => FixedAssetHistoryCZF.Report.al} (98%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{FixedAssetProjValue.Report.al => FixedAssetProjValueCZF.Report.al} (99%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{InitializeFAHistory.Report.al => InitializeFAHistoryCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Reports/{MaintenanceAnalysis.Report.al => MaintenanceAnalysisCZF.Report.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/TableExtensions/{DepreciationBook.TableExt.al => DepreciationBookCZF.TableExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/TableExtensions/{FAAllocation.TableExt.al => FAAllocationCZF.TableExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/TableExtensions/{FADepreciationBook.TableExt.al => FADepreciationBookCZF.TableExt.al} (96%) rename Apps/CZ/FixedAssetLocalization/app/Src/TableExtensions/{FAPostingGroup.TableExt.al => FAPostingGroupCZF.TableExt.al} (86%) rename Apps/CZ/FixedAssetLocalization/app/Src/TableExtensions/{FASetup.TableExt.al => FASetupCZF.TableExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/TableExtensions/{FixedAsset.TableExt.al => FixedAssetCZF.TableExt.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Tables/{ClassificationCode.Table.al => ClassificationCodeCZF.Table.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Tables/{FAExtendedPostingGroup.Table.al => FAExtendedPostingGroupCZF.Table.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Tables/{FAHistoryEntry.Table.al => FAHistoryEntryCZF.Table.al} (100%) rename Apps/CZ/FixedAssetLocalization/app/Src/Tables/{TaxDepreciationGroup.Table.al => TaxDepreciationGroupCZF.Table.al} (100%) rename Apps/CZ/FixedAssetLocalization/test/Src/{ERMGLAccountWhereUsed.Codeunit.al => ERMGLAccountWhereUsedCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/test/Src/{FixedAssets.Codeunit.al => FixedAssetsCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/test/Src/{LibraryFixedAsset.Codeunit.al => LibraryFixedAssetCZF.Codeunit.al} (100%) rename Apps/CZ/FixedAssetLocalization/test/Src/{TestInitializeHandler.codeunit.al => TestInitializeHandlerCZF.Codeunit.al} (100%) delete mode 100644 Apps/CZ/HybridBCLast_CZ/app/Permissions/D365TEAMMEMBERHBCLCZ.PermissionSetExt.al delete mode 100644 Apps/CZ/HybridBCLast_CZ/app/Permissions/INTELLIGENTCLOUDHBCLCZ.PermissionSetExt.al delete mode 100644 Apps/CZ/HybridBCLast_CZ/app/Permissions/d365basicHBCLCZ.permissionsetext.al delete mode 100644 Apps/CZ/HybridBCLast_CZ/app/Permissions/d365basicisvHBCLCZ.permissionsetext.al rename Apps/CZ/IntrastatCZ/app/src/PageExtensions/{ItemChargeAsgmtPurch.PageExt.al => ItemChargeAsgmtPurchCZ.PageExt.al} (100%) rename Apps/CZ/IntrastatCZ/app/src/PageExtensions/{ItemChargeAsgmtSales.PageExt.al => ItemChargeAsgmtSalesCZ.PageExt.al} (100%) rename Apps/DE/Elster/app/src/Codeunits/{Management.Codeunit.al => ElsterManagement.Codeunit.al} (100%) rename Apps/DE/Elster/app/src/Install/{DataMigration.Codeunit.al => ElsterDataMigration.Codeunit.al} (100%) rename Apps/DE/Elster/app/src/Install/{Initialize.Codeunit.al => ElsterInitialize.Codeunit.al} (100%) rename Apps/DE/Elster/app/src/Pages/{AccMgrRoleCenter.PageExt.al => ElsterAccMgrRoleCenter.PageExt.al} (100%) rename Apps/DE/Elster/app/src/Pages/{SmallBusOwnerRC.PageExt.al => ElsterSmallBusOwnerRC.PageExt.al} (100%) rename Apps/DE/Elster/app/src/Pages/{VATStatementNames.PageExt.al => ElsterVATStatementNames.PageExt.al} (100%) rename Apps/DE/Elster/app/src/Tables/{VATStatementName.TableExt.al => ElsterVATStatementName.TableExt.al} (100%) rename Apps/DE/Elster/test/src/{ERMBatchReports.Codeunit.al => ElsterERMBatchReports.Codeunit.al} (100%) rename Apps/DE/Elster/test/src/{PagesUT.Codeunit.al => ElsterPagesUT.Codeunit.al} (100%) rename Apps/DE/Elster/test/src/{ReportUT.Codeunit.al => ElsterReportUT.Codeunit.al} (100%) rename Apps/DE/Elster/test/src/{TablesUT.Codeunit.al => ElsterTablesUT.Codeunit.al} (100%) rename Apps/DE/Elster/test/src/{VATAdvNotification.Codeunit.al => ElsterVATAdvNotification.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/{LedTable.Page.al => C5LedTable.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/{LedTable.Table.al => C5LedTable.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/{LedTable.XmlPort.al => C5LedTable.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/{LedTableList.Page.al => C5LedTableList.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/{LedTableMigrator.Codeunit.al => C5LedTableMigrator.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/transactions/{LedTrans.Table.al => C5LedTrans.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/transactions/{LedTrans.XmlPort.al => C5LedTrans.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/transactions/{LedTransList.Page.al => C5LedTransList.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/accounts/transactions/{LedTransMigrator.Codeunit.al => C5LedTransMigrator.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/{CustTable.Page.al => C5CustTable.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/{CustTable.Table.al => C5CustTable.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/{CustTable.XmlPort.al => C5CustTable.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/{CustTableList.Page.al => C5CustTableList.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/{CustTableMigrator.Codeunit.al => C5CustTableMigrator.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{CustContact.Page.al => C5CustContact.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{CustContact.Table.al => C5CustContact.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{CustContact.XmlPort.al => C5CustContact.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{CustDiscGroup.Page.al => C5CustDiscGroup.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{CustDiscGroup.Table.al => C5CustDiscGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{CustDiscGroup.XmlPort.al => C5CustDiscGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{ProcCode.Page.al => C5ProcCode.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{ProcCode.Table.al => C5ProcCode.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/dependencies/{ProcCode.XmlPort.al => C5ProcCode.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/transactions/{CustGroup.Page.al => C5CustGroup.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/transactions/{CustGroup.Table.al => C5CustGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/transactions/{CustGroup.XmlPort.al => C5CustGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/transactions/{CustTrans.Page.al => C5CustTrans.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/transactions/{CustTrans.Table.al => C5CustTrans.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/customers/transactions/{CustTrans.XmlPort.al => C5CustTrans.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Centre.Table.al => C5Centre.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Centre.XmlPort.al => C5Centre.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Country.Table.al => C5Country.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Country.XmlPort.al => C5Country.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Delivery.Page.al => C5Delivery.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Delivery.Table.al => C5Delivery.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Delivery.XmlPort.al => C5Delivery.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Department.Table.al => C5Department.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Department.XmlPort.al => C5Department.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Employee.Page.al => C5Employee.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Employee.Table.al => C5Employee.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Employee.XmlPort.al => C5Employee.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{ExchRate.Table.al => C5ExchRate.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{ExchRate.XmlPort.al => C5ExchRate.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{HelperFunctions.Codeunit.al => C5HelperFunctions.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Payment.Page.al => C5Payment.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Payment.Table.al => C5Payment.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Payment.XmlPort.al => C5Payment.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Purpose.Table.al => C5Purpose.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/{Purpose.XmlPort.al => C5Purpose.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/dashboard/{DataLoaderStatus.Table.al => C5DataLoaderStatus.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/dashboard/{MigrDashboardMgt.Codeunit.al => C5MigrDashboardMgt.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/dataLoader/{DataLoader.Codeunit.al => C5DataLoader.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/dataLoader/{SchemaParameters.Table.al => C5SchemaParameters.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/dataLoader/{SchemaReader.Codeunit.al => C5SchemaReader.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/dataLoader/{Unzip.Codeunit.al => C5Unzip.Codeunit.al} (92%) rename Apps/DK/C52012DataMigration/app/src/general/wizard/{CompanySettings.Page.al => C5CompanySettings.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/wizard/{DataMigrationMgt.Codeunit.al => C5DataMigrationMgt.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/general/wizard/{WizardIntegration.Codeunit.al => C5WizardIntegration.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/install/{Install.Codeunit.al => C5Install.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{InvenBOM.Table.al => C5InvenBOM.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{InvenBOM.XmlPort.al => C5InvenBOM.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{InvenBOMList.Page.al => C5InvenBOMList.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{InvenTable.Page.al => C5InvenTable.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{InvenTable.Table.al => C5InvenTable.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{InvenTable.XmlPort.al => C5InvenTable.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{InvenTableList.Page.al => C5InvenTableList.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/{ItemMigrator.Codeunit.al => C5ItemMigrator.Codeunit.al} (99%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{CN8Code.Page.al => C5CN8Code.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{CN8Code.Table.al => C5CN8Code.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{CN8Code.XmlPort.al => C5CN8Code.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenCustDisc.Table.al => C5InvenCustDisc.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenCustDisc.XmlPort.al => C5InvenCustDisc.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenDiscGroup.Page.al => C5InvenDiscGroup.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenDiscGroup.Table.al => C5InvenDiscGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenDiscGroup.XmlPort.al => C5InvenDiscGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenLocation.Table.al => C5InvenLocation.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenPrcGroup.XmlPort.al => C5InvenPrcGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenPrice.Page.al => C5InvenPrice.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenPrice.Table.al => C5InvenPrice.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenPrice.XmlPort.al => C5InvenPrice.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenPriceGroup.Page.al => C5InvenPriceGroup.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{InvenPriceGroup.Table.al => C5InvenPriceGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{ItemTrackGroup.Table.al => C5ItemTrackGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{ItemTrackGroup.XmlPort.al => C5ItemTrackGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{UnitCode.Table.al => C5UnitCode.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/dependenices/{UnitCode.XmlPort.al => C5UnitCode.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{InvenItemGroup.Page.al => C5InvenItemGroup.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{InvenItemGroup.Table.al => C5InvenItemGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{InvenItemGroup.XmlPort.al => C5InvenItemGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{InvenTrans.Page.al => C5InvenTrans.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{InvenTrans.Table.al => C5InvenTrans.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{InvenTrans.XmlPort.al => C5InvenTrans.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{VatGroup.Table.al => C5VatGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/items/transactions/{VatGroup.XmlPort.al => C5VatGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/telemetry/{Telemetry.Codeunit.al => C5Telemetry.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/{VendTable.Page.al => C5VendTable.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/{VendTable.Table.al => C5VendTable.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/{VendTable.XmlPort.al => C5VendTable.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/{VendTableList.Page.al => C5VendTableList.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/{VendTableMigrator.Codeunit.al => C5VendTableMigrator.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/dependencies/{VendContact.Page.al => C5VendContact.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/dependencies/{VendContact.Table.al => C5VendContact.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/dependencies/{VendContact.XmlPort.al => C5VendContact.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/dependencies/{VendDiscGroup.Page.al => C5VendDiscGroup.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/dependencies/{VendDiscGroup.Table.al => C5VendDiscGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/dependencies/{VendDiscGroup.XmlPort.al => C5VendDiscGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/transactions/{VendGroup.Page.al => C5VendGroup.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/transactions/{VendGroup.Table.al => C5VendGroup.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/transactions/{VendGroup.XmlPort.al => C5VendGroup.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/transactions/{VendTrans.Page.al => C5VendTrans.Page.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/transactions/{VendTrans.Table.al => C5VendTrans.Table.al} (100%) rename Apps/DK/C52012DataMigration/app/src/vendors/transactions/{VendTrans.XmlPort.al => C5VendTrans.XmlPort.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{BulkFixErrorsTest.Codeunit.al => C5BulkFixErrorsTest.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{CustTableMigratorTst.Codeunit.al => C5CustTableMigratorTst.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{CustomSchemaTest.Codeunit.al => C5CustomSchemaTest.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{DataLoaderTests.Codeunit.al => C5DataLoaderTests.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{DataMigrWizardTest.Codeunit.al => C5DataMigrWizardTest.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{HelperFunctionsTest.Codeunit.al => C5HelperFunctionsTest.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{ItemMigratorTest.Codeunit.al => C5ItemMigratorTest.Codeunit.al} (99%) rename Apps/DK/C52012DataMigration/test/src/{LedTableMigratorTest.Codeunit.al => C5LedTableMigratorTest.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{LedTransMigratorTest.Codeunit.al => C5LedTransMigratorTest.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{SchemaReaderTests.Codeunit.al => C5SchemaReaderTests.Codeunit.al} (100%) rename Apps/DK/C52012DataMigration/test/src/{VendTableMigratorTst.Codeunit.al => C5VendTableMigratorTst.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/Tables/{Extension.Table.al => FIKExtension.Table.al} (100%) rename Apps/DK/FIK/app/src/Tables/{Uplift.Table.al => FIKUplift.Table.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{DataMigration.Codeunit.al => FIKDataMigration.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{Demodata.Codeunit.al => FIKDemodata.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{Install.Codeunit.al => FIKInstall.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{Management.Codeunit.al => FIKManagement.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{MatchBankRecLines.Codeunit.al => FIKMatchBankRecLines.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{MatchGenJournalLines.Codeunit.al => FIKMatchGenJournalLines.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{ReadFile.Codeunit.al => FIKReadFile.Codeunit.al} (100%) rename Apps/DK/FIK/app/src/codeunits/{Subscribers.Codeunit.al => FIKSubscribers.Codeunit.al} (100%) rename Apps/DK/FIK/test/src/{EventSubscribers.Codeunit.al => FIKEventSubscribers.Codeunit.al} (100%) rename Apps/DK/FIK/test/src/{Test.Codeunit.al => TestFIK.Codeunit.al} (99%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{CheckFinChargeMemo.Codeunit.al => OIOUBLCheckFinChargeMemo.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{CheckIssuedFinChrg.Codeunit.al => OIOUBLCheckIssuedFinChrg.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{CreateEFinChrgMemos.Report.al => OIOUBLCreateEFinChrgMemos.Report.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{ExpIssuedFinChrg.Codeunit.al => OIOUBLExpIssuedFinChrg.Codeunit.al} (84%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{FinChargMemoIssSub.Codeunit.al => OIOUBLFinChargMemoIssSub.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{FinChargMemoLineSub.Codeunit.al => OIOUBLFinChargMemoLineSub.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{FinChargeMemoLine.TableExt.al => OIOUBLFinChargeMemoLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{FinChrgMemoHeader.TableExt.al => OIOUBLFinChrgMemoHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{FinChrgMemoLines.PageExt.al => OIOUBLFinChrgMemoLines.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{FinanceChargeMemo.PageExt.al => OIOUBLFinanceChargeMemo.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{IssuedFinChargeMemoLine.TableExt.al => OIOUBLIssuedFinChargeMemoLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{IssuedFinChrgMemoHeader.TableExt.al => OIOUBLIssuedFinChrgMemoHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{IssuedFinChrgMemoLines.PageExt.al => OIOUBLIssuedFinChrgMemoLines.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{IssuedFinChrgMemoList.PageExt.al => OIOUBLIssuedFinChrgMemoList.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/FinanceChargeMemo/{IssuedFinanceChargeMemo.PageExt.al => OIOUBLIssuedFinanceChargeMemo.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Init/{Initialize.Codeunit.al => OIOUBLInitialize.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Management/{CommonLogic.Codeunit.al => OIOUBLCommonLogic.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Management/{DocumentEncode.Codeunit.al => OIOUBLDocumentEncode.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Management/{FileEvents.Codeunit.al => OIOUBLFileEvents.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Management/{Management.Codeunit.al => OIOUBLManagement.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{CheckIssuedReminder.Codeunit.al => OIOUBLCheckIssuedReminder.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{CheckReminder.Codeunit.al => OIOUBLCheckReminder.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{CreateElecReminders.Report.al => OIOUBLCreateElecReminders.Report.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{ExportIssuedReminder.Codeunit.al => OIOUBLExportIssuedReminder.Codeunit.al} (85%) rename Apps/DK/OIOUBL/app/src/Reminder/{IssuedReminder.PageExt.al => OIOUBLIssuedReminder.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{IssuedReminderHeader.TableExt.al => OIOUBLIssuedReminderHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{IssuedReminderLine.TableExt.al => OIOUBLIssuedReminderLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{IssuedReminderLines.PageExt.al => OIOUBLIssuedReminderLines.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{Reminder.PageExt.al => OIOUBLReminder.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{ReminderHeader.TableExt.al => OIOUBLReminderHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{ReminderIssueSub.Codeunit.al => OIOUBLReminderIssueSub.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{ReminderLine.TableExt.al => OIOUBLReminderLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{ReminderLineSub.Codeunit.al => OIOUBLReminderLineSub.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Reminder/{ReminderLines.PageExt.al => OIOUBLReminderLines.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{CheckSalesCrMemo.Codeunit.al => OIOUBLCheckSalesCrMemo.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{CreateElecCrMemos.Report.al => OIOUBLCreateElecCrMemos.Report.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{ExportSalesCrMemo.Codeunit.al => OIOUBLExportSalesCrMemo.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{PostedSalesCrMemoSub.PageExt.al => OIOUBLPostedSalesCrMemoSub.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{PostedSalesCreditMemo.PageExt.al => OIOUBLPostedSalesCreditMemo.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{PostedSalesCreditMemos.PageExt.al => OIOUBLPostedSalesCreditMemos.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{SalesCrMemoHeader.TableExt.al => OIOUBLSalesCrMemoHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{SalesCrMemoLine.TableExt.al => OIOUBLSalesCrMemoLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{SalesCrMemoSubform.PageExt.al => OIOUBLSalesCrMemoSubform.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{SalesCreditMemo.PageExt.al => OIOUBLSalesCreditMemo.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{SalesReturnOrder.PageExt.al => OIOUBLSalesReturnOrder.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesCreditMemo/{SalesReturnOrderSub.PageExt.al => OIOUBLSalesReturnOrderSub.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{BlankedSalesOrder.PageExt.al => OIOUBLBlankedSalesOrder.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{BlanketSalesOrderSub.PageExt.al => OIOUBLBlanketSalesOrderSub.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{CheckSalesHeader.Codeunit.al => OIOUBLCheckSalesHeader.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{CheckSalesInvoice.Codeunit.al => OIOUBLCheckSalesInvoice.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{CreateElecInvoices.Report.al => OIOUBLCreateElecInvoices.Report.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{ExportSalesInvoice.Codeunit.al => OIOUBLExportSalesInvoice.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{PostedSalesInvSub.PageExt.al => OIOUBLPostedSalesInvSub.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{PostedSalesInvoice.PageExt.al => OIOUBLPostedSalesInvoice.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{PostedSalesInvoices.PageExt.al => OIOUBLPostedSalesInvoices.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesHeader.TableExt.al => OIOUBLSalesHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesHeaderArchive.TableExt.al => OIOUBLSalesHeaderArchive.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesInvoice.PageExt.al => OIOUBLSalesInvoice.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesInvoiceHeader.TableExt.al => OIOUBLSalesInvoiceHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesInvoiceLine.TableExt.al => OIOUBLSalesInvoiceLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesInvoiceLineSub.Codeunit.al => OIOUBLSalesInvoiceLineSub.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesInvoiceSubform.PageExt.al => OIOUBLSalesInvoiceSubform.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesLine.TableExt.al => OIOUBLSalesLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesLineArchive.TableExt.al => OIOUBLSalesLineArchive.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesLineSuscriber.Codeunit.al => OIOUBLSalesLineSuscriber.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesOrder.PageExt.al => OIOUBLSalesOrder.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesOrderArchive.PageExt.al => OIOUBLSalesOrderArchive.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesOrderSubform.PageExt.al => OIOUBLSalesOrderSubform.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesPostPrintSub.Codeunit.al => OIOUBLSalesPostPrintSub.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesPostSubscriber.Codeunit.al => OIOUBLSalesPostSubscriber.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesReceivablesSetup.PageExt.al => OIOUBLSalesReceivablesSetup.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/SalesInvoice/{SalesReceivablesSetup.TableExt.al => OIOUBLSalesReceivablesSetup.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{CheckServiceCrMemo.Codeunit.al => OIOUBLCheckServiceCrMemo.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{CreateElecSrvCrMemo.Report.al => OIOUBLCreateElecSrvCrMemo.Report.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{ExportServiceCrMemo.Codeunit.al => OIOUBLExportServiceCrMemo.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{PostedServiceCrMemo.PageExt.al => OIOUBLPostedServiceCrMemo.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{PostedSrvCrMemoSub.PageExt.al => OIOUBLPostedSrvCrMemoSub.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{ServiceCrMemoHeader.TableExt.al => OIOUBLServiceCrMemoHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{ServiceCrMemoLine.TableExt.al => OIOUBLServiceCrMemoLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{ServiceCreditMemo.PageExt.al => OIOUBLServiceCreditMemo.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceCreditMemo/{ServiceCreditMemoSub.PageExt.al => OIOUBLServiceCreditMemoSub.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{CheckServiceHeader.Codeunit.al => OIOUBLCheckServiceHeader.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{CheckServiceInvoice.Codeunit.al => OIOUBLCheckServiceInvoice.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{CreateElecSrvInv.Report.al => OIOUBLCreateElecSrvInv.Report.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ExportServiceInvoice.Codeunit.al => OIOUBLExportServiceInvoice.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{PostedServInvoiceSub.PageExt.al => OIOUBLPostedServInvoiceSub.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{PostedServiceInvoice.PageExt.al => OIOUBLPostedServiceInvoice.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceHeader.TableExt.al => OIOUBLServiceHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceInvoice.PageExt.al => OIOUBLServiceInvoice.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceInvoiceHeader.TableExt.al => OIOUBLServiceInvoiceHeader.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceInvoiceLine.TableExt.al => OIOUBLServiceInvoiceLine.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceInvoiceSubform.PageExt.al => OIOUBLServiceInvoiceSubform.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceLines.PageExt.al => OIOUBLServiceLines.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceMgtSetup.PageExt.al => OIOUBLServiceMgtSetup.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceMgtSetup.TableExt.al => OIOUBLServiceMgtSetup.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServiceOrder.PageExt.al => OIOUBLServiceOrder.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/ServiceInvoice/{ServicePostSubscriber.Codeunit.al => OIOUBLServicePostSubscriber.Codeunit.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{CompanyInfoSetup.Page.al => OIOUBLCompanyInfoSetup.Page.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{CompanyInformation.TableExt.al => OIOUBLCompanyInformation.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{CountryRegion.TableExt.al => OIOUBLCountryRegion.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{CountryRegions.PageExt.al => OIOUBLCountryRegions.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{Currencies.PageExt.al => OIOUBLCurrencies.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{Currency.TableExt.al => OIOUBLCurrency.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{Customer.TableExt.al => OIOUBLCustomer.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{CustomerCard.PageExt.al => OIOUBLCustomerCard.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{ItemCharge.TableExt.al => OIOUBLItemCharge.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{PaymentTerms.PageExt.al => OIOUBLPaymentTerms.PageExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{PaymentTerms.TableExt.al => OIOUBLPaymentTerms.TableExt.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{Profile.Table.al => OIOUBLProfile.Table.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{ProfileList.Page.al => OIOUBLProfileList.Page.al} (100%) rename Apps/DK/OIOUBL/app/src/Setup/{setup.Page.al => OIOUBLsetup.Page.al} (100%) rename Apps/DK/OIOUBL/app/src/upgrade/{MigrateToExtV2.Codeunit.al => OIOUBLMigrateToExtV2.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{CheckSalesandService.Codeunit.al => OIOUBLCheckSalesandService.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{ERMElecDocumentSales.Codeunit.al => OIOUBLERMElecDocumentSales.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{ERMMiscElecInvoice.Codeunit.al => OIOUBLERMMiscElecInvoice.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{ERMSalesServiceDocs.Codeunit.al => OIOUBLERMSalesServiceDocs.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{ElecServiceDocument.Codeunit.al => OIOUBLElecServiceDocument.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{FileEventsMock.Codeunit.al => OIOUBLFileEventsMock.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{PmtExportValidation.Codeunit.al => OIOUBLPmtExportValidation.Codeunit.al} (100%) rename Apps/DK/OIOUBL/test/src/{UTERMElecDocSales.Codeunit.al => OIOUBLUTERMElecDocSales.Codeunit.al} (100%) delete mode 100644 Apps/FR/HybridBCLast_FR/app/src/codeunits/upgrade/15x/UpgradeDtldCVFR.Codeunit.al delete mode 100644 Apps/GB/UKMakingTaxDigital/app/src/FraudPrevention/MTDFraudPreventionHeaders.Page.al delete mode 100644 Apps/GB/UKMakingTaxDigital/test/src/MTDTestFraudPreventionHdrs.Codeunit.al rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/pageextension/{ChargeBlanketPurchOrdSubform.PageExt.al => ChargeBlanketPurchOrdSbfrm.PageExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/pageextension/{ChargePurchQuoteSubformExt.PageExt.al => ChargePurchQuoteSbfrmExt.PageExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/pageextension/{ChargePurchReturnOrderSubfm.PageExt.al => ChargePurchReturnOrdSbfm.PageExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/tableextension/{ChargePurchCrMemoLineExt.TableExt.al => ChargPurchCrMeLineExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/tableextension/{ChargePurchCrMemoHdrExt.TableExt.al => ChargePurchCrMeHdrExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/tableextension/{ChargePurchHeaderArchiveExt.TableExt.al => ChargePurchHeaderArchExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/tableextension/{ChargePurchaseLineArchiveExt.TableExt.al => ChargePurchLineArchiveExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnPurchase/src/tableextension/{ChargePurchRcptHeaderExt.TableExt.al => ChargePurchRcptHdrExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnSales/src/Codeunit/{ChargeSalesEventSubscriber.Codeunit.al => ChargeSalesEventSub.Codeunit.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnSales/src/pageextension/{ChargeSalesCrMemoSubfrmExt.PageExt.al => ChargeSaleCrMeSbfrmExt.PageExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnSales/src/pageextension/{ChargeSalesInvoiceSubformExt.PageExt.al => ChargeSalesInvSubformExt.PageExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnSales/src/tableextension/{ChargeSalesCrMemoHeaderExt.TableExt.al => ChargeSalesCrMemoHeader.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnSales/src/tableextension/{ChargeSalesHeaderArchiveExt.TableExt.al => ChargeSalesHeadArchiveExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnSales/src/tableextension/{ChargeSalesInvoiceHeaderExt.TableExt.al => ChargeSalesInvHeaderExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/ChargeOnSales/src/tableextension/{ChargeSalesShipmentHeaderExt.TableExt.al => ChargeSalesShipHeaderExt.TableExt.al} (100%) rename Apps/IN/INChargeGroup/app/Permissions/{d365readaccessindiachargegroup.permissionset.al => D365ReadAccessINCharge.PermissionSet.al} (100%) rename Apps/IN/INDataMigration/src/{IndiaMigrationAssisted.Codeunit.al => IndiaMigartionAssistedSetup.Codeunit.al} (100%) rename Apps/IN/INFADepreciation/app/Permissions/{INFADepr.PermisisionSet.al => INFADepr.PermissionSet.al} (100%) rename Apps/IN/INGST/app/GSTApplication/src/Codeunit/{GSTStatsMgmt.Codeunit.al => GSTStatsManagement.Codeunit.al} (100%) rename Apps/IN/INGST/app/GSTPayments/src/PageExtension/{GSTJournalVoucherExt.PageExt.al => JournalVoucher.PageExt.al} (100%) rename Apps/IN/INGST/app/GSTPayments/src/tableextension/{GSTInvoicePostBuffer.tableext.al => GSTInvoicePosBuffer.TableExt.al} (100%) rename Apps/IN/INGST/app/GSTSubcontracting/src/Codeunit/{ApplyDeliveryChallanDelete.Codeunit.al => ApplyDeliveryChallanMgt.Codeunit.al} (100%) rename Apps/IN/INGST/app/Permissions/{INadvanceobjectsindiagst.permissionsetext.al => INAdvanceObjectsIndiaGST.PermissionSet.al} (100%) rename Apps/IN/INTCS/app/TCSBase/src/codeunit/{TCSStatsMgmt.Codeunit.al => TCSStatsManagement.Codeunit.al} (100%) rename Apps/IN/INTDS/app/TDSBase/src/codeunit/{TDSStatsMgmt.Codeunit.al => TDSStatsManagement.Codeunit.al} (100%) rename Apps/IN/INVoucherInterface/app/src/report/reportextension/{CheckReportIN.ReportExt.al => CheckReportINReportExt.ReportExt.al} (100%) create mode 100644 Apps/IS/ISCore/app/ExtensionLogo.png rename Apps/{CZ/HybridBCLast_CZ/app/src/codeunits/upgrade/21x/UpgradeMigLocalApp21x.Codeunit.al => IS/ISCore/app/Permissions/D365BasicISCore.PermissionSetExt.al} (57%) create mode 100644 Apps/IS/ISCore/app/Permissions/D365BasicISVISCore.PermissionSetExt.al create mode 100644 Apps/IS/ISCore/app/Permissions/D365ReadISCore.PermissionSetExt.al create mode 100644 Apps/IS/ISCore/app/Permissions/D365TeamMemberISCore.PermissionSetExt.al create mode 100644 Apps/IS/ISCore/app/Permissions/ISCoreEdit.Permissionset.al create mode 100644 Apps/IS/ISCore/app/Permissions/ISCoreObjects.Permissionset.al create mode 100644 Apps/IS/ISCore/app/Permissions/ISCoreRead.Permissionset.al create mode 100644 Apps/IS/ISCore/app/Permissions/IntelligentCloudISCore.PermissionSetExt.al create mode 100644 Apps/IS/ISCore/app/Permissions/LocalISCore.PermissionSetExt.al create mode 100644 Apps/IS/ISCore/app/app.json create mode 100644 Apps/IS/ISCore/app/src/Codeunits/EnableISCoreApp.Codeunit.al create mode 100644 Apps/IS/ISCore/app/src/Codeunits/ISCore.Codeunit.al create mode 100644 Apps/IS/ISCore/app/src/Codeunits/ISCoreInstall.Codeunit.al create mode 100644 Apps/IS/ISCore/app/src/Codeunits/ISCoreUpgrade.Codeunit.al create mode 100644 Apps/IS/ISCore/app/src/Enums/ISVATEntriesFilter.Enum.al create mode 100644 Apps/IS/ISCore/app/src/Enums/ISVATRecReportPeriod.Enum.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISAccountingManagerRC.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISBookkeeperRoleCenter.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISChartofAccounts.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISCompanyInfo.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISContactCard.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISCustomerCard.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISDepreciationBookCard.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISFinanceManagerRC.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISPostedPurchCreditMemo.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISPostedPurchaseInvoice.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISSalesReceivablesSetup.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISSmallBusinessOwnerRC.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/PageExtensions/ISVendorCard.PageExt.al create mode 100644 Apps/IS/ISCore/app/src/Pages/ISCoreAppSetupWizard.Page.al create mode 100644 Apps/IS/ISCore/app/src/Pages/ISIRSGroups.Page.al create mode 100644 Apps/IS/ISCore/app/src/Pages/ISIRSNumbers.Page.al create mode 100644 Apps/IS/ISCore/app/src/Pages/ISIRSTypes.Page.al create mode 100644 Apps/IS/ISCore/app/src/ReportExtensions/ISBlanketSalesOrder.ReportExt.al create mode 100644 Apps/IS/ISCore/app/src/ReportExtensions/ISOrder.Reportext.al create mode 100644 Apps/IS/ISCore/app/src/ReportExtensions/ISPurchCreditMemo.ReportExt.al create mode 100644 Apps/IS/ISCore/app/src/ReportExtensions/ISPurchaseInvoice.ReportExt.al create mode 100644 Apps/IS/ISCore/app/src/Reports/ISIRSDetails.Report.al create mode 100644 Apps/IS/ISCore/app/src/Reports/ISIRSDetails.rdlc create mode 100644 Apps/IS/ISCore/app/src/Reports/ISIRSnotification.Report.al create mode 100644 Apps/IS/ISCore/app/src/Reports/ISIRSnotification.rdlc create mode 100644 Apps/IS/ISCore/app/src/Reports/ISTrialBalanceIRSNumber.Report.al create mode 100644 Apps/IS/ISCore/app/src/Reports/ISTrialBalanceIRSNumber.rdlc create mode 100644 Apps/IS/ISCore/app/src/Reports/ISVATBalancingReport.Report.al create mode 100644 Apps/IS/ISCore/app/src/Reports/ISVATBalancingReport.rdlc create mode 100644 Apps/IS/ISCore/app/src/Reports/ISVATReconciliationA.Report.al create mode 100644 Apps/IS/ISCore/app/src/Reports/VATBalancingReport.rdlc create mode 100644 Apps/IS/ISCore/app/src/Reports/VATReconciliationA.rdlc create mode 100644 Apps/IS/ISCore/app/src/TableExtensions/ISDepreciationBook.TableExt.al create mode 100644 Apps/IS/ISCore/app/src/TableExtensions/ISGLAccount.TableExt.al create mode 100644 Apps/IS/ISCore/app/src/TableExtensions/ISSalesReceivablesSetup.TableExt.al create mode 100644 Apps/IS/ISCore/app/src/Tables/ISIRSGroups.Table.al create mode 100644 Apps/IS/ISCore/app/src/Tables/ISIRSNumbers.Table.al create mode 100644 Apps/IS/ISCore/app/src/Tables/ISIRSTypes.Table.al create mode 100644 Apps/IS/ISCore/test/ExtensionLogo.png create mode 100644 Apps/IS/ISCore/test/app.json create mode 100644 Apps/IS/ISCore/test/src/ISElectronicInvoicesTests.Codeunit.al create mode 100644 Apps/IS/ISCore/test/src/ISIRSTests.Codeunit.al create mode 100644 Apps/IS/ISCore/test/src/ISVATReportingTests.Codeunit.al delete mode 100644 Apps/IT/HybridBCLast_IT/app/src/codeunits/upgrade/15x/DetailedLedgerEntriesIT.Codeunit.al delete mode 100644 Apps/IT/HybridBCLast_IT/app/src/codeunits/upgrade/18x/UpgMigBaseAppLocalIT.Codeunit.al delete mode 100644 Apps/MX/HybridBCLast_MX/app/Permissions/INTELLIGENTCLOUDHBCLMX.PermissionSetExt.al delete mode 100644 Apps/MX/HybridBCLast_MX/app/Permissions/d365basicHBCLMX.permissionsetext.al delete mode 100644 Apps/MX/HybridBCLast_MX/app/Permissions/d365basicisvHBCLMX.permissionsetext.al delete mode 100644 Apps/MX/HybridBCLast_MX/app/Permissions/d365teammemberHBCLMX.permissionsetext.al delete mode 100644 Apps/MX/HybridBCLast_MX/app/src/codeunits/upgrade/15x/UpgMXCFDIMX.Codeunit.al rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{AccessConsent.Page.al => MSYodleeAccessConsent.Page.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{AccountCleanup.Codeunit.al => MSYodleeAccountCleanup.Codeunit.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{AccountLinking.Page.al => MSYodleeAccountLinking.Page.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{BankAccLink.Table.al => MSYodleeBankAccLink.Table.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{BankServiceSetup.Page.al => MSYodleeBankServiceSetup.Page.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{BankServiceSetup.Table.al => MSYodleeBankServiceSetup.Table.al} (99%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{BankSession.Table.al => MSYodleeBankSession.Table.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{DataExchangeDef.Table.al => MSYodleeDataExchangeDef.Table.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{EditAccount.Page.al => MSYodleeEditAccount.Page.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{GetLatestStmt.Page.al => MSYodleeGetLatestStmt.Page.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{ImportBankFeed.Codeunit.al => MSYodleeImportBankFeed.Codeunit.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{NonLinkedAccounts.Page.al => MSYodleeNonLinkedAccounts.Page.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{ServiceMgt.Codeunit.al => MSYodleeServiceMgt.Codeunit.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{ServiceUpgrade.Codeunit.al => MSYodleeServiceUpgrade.Codeunit.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/app/src/{Termsofuse.Page.al => MSYodleeTermsofuse.Page.al} (100%) rename Apps/NA/EnvestnetYodleeBankFeeds/test/src/{BankServiceTests.Codeunit.al => MSYodleeBankServiceTests.Codeunit.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{GenJournalLine.TableExt.al => DIOTGenJournalLine.TableExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{GeneralJournal.PageExt.al => DIOTGeneralJournal.PageExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{PaymentJournal.PageExt.al => DIOTPaymentJournal.PageExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{PurchInvHeader.TableExt.al => DIOTPurchInvHeader.TableExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{PurchPayablesSetup.PageExt.al => DIOTPurchPayablesSetup.PageExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{PurchPayablesSetup.TableExt.al => DIOTPurchPayablesSetup.TableExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{PurchaseHeader.TableExt.al => DIOTPurchaseHeader.TableExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{PurchaseInvoice.PageExt.al => DIOTPurchaseInvoice.PageExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{PurchaseJournal.PageExt.al => DIOTPurchaseJournal.PageExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{VATEntries.PageExt.al => DIOTVATEntries.PageExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{VatEntry.TableExt.al => DIOTVATEntry.TableExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{VATPostingSetup.PageExt.al => DIOTVATPostingSetup.PageExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{VATPostingSetup.TableExt.al => DIOTVATPostingSetup.TableExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{Vendor.TableExt.al => DIOTVendor.TableExt.al} (100%) rename Apps/NA/MX_DIOT/app/src/ExtensionsToObjects/{VendorCard.PageExt.al => DIOTVendorCard.PageExt.al} (100%) rename Apps/NA/MX_DIOT/test/src/{DemodataTests.Codeunit.al => DIOTDemodataTests.Codeunit.al} (100%) rename Apps/NA/MX_DIOT/test/src/{WizardTests.Codeunit.al => DIOTWizardTests.Codeunit.al} (100%) rename Apps/NA/MX_DIOT/test/src/{LibraryMX.Codeunit.al => LibraryMXDIOT.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Data Check/{BankAccountCard.PageExt.al => SAFTBankAccountCard.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Data Check/{CustBankAccountCard.PageExt.al => SAFTCustBankAccountCard.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Data Check/{VendBankAccountCard.PageExt.al => SAFTVendBankAccountCard.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/{GLMappingSubpage.Page.al => SAFTGLMappingSubpage.Page.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/{StdAccountCategories.Page.al => SAFTStdAccountCategories.Page.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Install and Setup/{CompanyContact.PageExt.al => SAFTCompanyContact.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Install and Setup/{CompanyContact.TableExt.al => SAFTCompanyContact.TableExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/{Analysis.PageExt.al => SAFTAnalysis.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/{Analysis.TableExt.al => SAFTAnalysis.TableExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/{TaxSetup.TableExt.al => SAFTTaxSetup.TableExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/{TaxSetupCard.PageExt.al => SAFTTaxSetupCard.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/{TaxSetupList.PageExt.al => SAFTTaxSetupList.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/{VATCode.PageExt.al => SAFTVATCode.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/{VATCode.TableExt.al => SAFTVATCode.TableExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Source Code Mapping/{SourceCode.TableExt.al => SAFTSourceCode.TableExt.al} (100%) rename Apps/NO/NorwegianSAFT/app/src/Source Code Mapping/{SourceCodes.PageExt.al => SAFTSourceCodes.PageExt.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{CheckTests.Codeunit.al => SAFTCheckTests.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{DemodataTests.Codeunit.al => SAFTDemodataTests.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{DimensionTests.Codeunit.al => SAFTDimensionTests.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{JobQueueTests.Codeunit.al => SAFTJobQueueTests.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{PerformanceTests.Codeunit.al => SAFTPerformanceTests.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{UnitTests.Codeunit.al => SAFTUnitTests.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{WizardTests.Codeunit.al => SAFTWizardTests.Codeunit.al} (100%) rename Apps/NO/NorwegianSAFT/test/src/{XMLTests.Codeunit.al => SAFTXMLTests.Codeunit.al} (100%) rename Apps/RU/CDTracking/app/Permissions/{LOCALBankingDocumentsCustomsDeclarationTracking.PermissionSetExt.al => LOCALCustomsDeclarationTracking.PermissionSetExt.al} (100%) create mode 100644 Apps/SE/SECore/app/src/Permissions/SECoreObjects.PermissionSet.al delete mode 100644 Apps/US/HybridBCLast_US/app/Permissions/INTELLIGENTCLOUDHBCLUS.PermissionSetExt.al delete mode 100644 Apps/US/HybridBCLast_US/app/Permissions/d365basicHBCLUS.permissionsetext.al delete mode 100644 Apps/US/HybridBCLast_US/app/Permissions/d365basicisvHBCLUS.permissionsetext.al delete mode 100644 Apps/US/HybridBCLast_US/app/Permissions/d365teammemberHBCLUS.permissionsetext.al delete mode 100644 Apps/US/HybridBCLast_US/app/src/codeunits/upgrade/15x/UpgMXCFDIUS.Codeunit.al rename Apps/US/HybridGP_US/app/Permissions/{d365basicHGPUS.permissionsetext.al => D365BasicExtHGPUS.PermissionSetExt.al} (89%) rename Apps/US/HybridGP_US/app/Permissions/{HybridGPUSObjects.permissionsetsext.al => HybridGPUSObjects.PermissionSet.al} (100%) create mode 100644 Apps/W1/AMCBanking365Fundamentals/app/.objidconfig create mode 100644 Apps/W1/APIReportsFinance/App/.objidconfig create mode 100644 Apps/W1/APIV1/app/.objidconfig create mode 100644 Apps/W1/APIV2/app/.objidconfig create mode 100644 Apps/W1/AuditFileExport/app/.objidconfig create mode 100644 Apps/W1/AutomaticAccountCodes/app/.objidconfig create mode 100644 Apps/W1/BankDeposits/app/.objidconfig create mode 100644 Apps/W1/BasicExperience/app/.objidconfig create mode 100644 Apps/W1/ClientAddIns/.objidconfig create mode 100644 Apps/W1/CompanyHub/app/.objidconfig create mode 100644 Apps/W1/ConnectivityApps/app/.objidconfig create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/app/.objidconfig create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/ExtensionLogo.png create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/app.json create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolLanguageTest.Codeunit.al create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolPermissionTest.Codeunit.al create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTest.EnumExt.al create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule1.Codeunit.al create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule2.Codeunit.al create mode 100644 Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule3.Codeunit.al create mode 100644 Apps/W1/CrossEnvironmentIntercompany/app/.objidconfig rename Apps/W1/CrossEnvironmentIntercompany/app/src/pages/{APIBufICCommentLine.Page.al => APIBufICCommentLines.Page.al} (100%) create mode 100644 Apps/W1/DataArchive/App/.objidconfig create mode 100644 Apps/W1/DataCorrectionFA/app/.objidconfig create mode 100644 Apps/W1/DataSearch/App/.objidconfig create mode 100644 Apps/W1/DynamicsGPHistoricalData/app/.objidconfig create mode 100644 Apps/W1/DynamicsGPHistorySmartLists/app/.objidconfig rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3000.GP_HistAllSalesTransactions.al => GPHistAllSalesTrx.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3011.GP_HistInventoryTransactions.al => GPHistInventoryTrx.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3008.GP_HistPayablesTransactions.al => GPHistPayablesTrx.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3005.GP_HistReceivablesTransactions.al => GPHistReceivablesTrx.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3010.GP_HistReceivingsLineItems.al => GPHistReceivingsLineItems.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3009.GP_HistReceivingsTransactions.al => GPHistReceivingsTrx.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3001.GP_HistSalesInvoices.al => GPHistSalesInvoices.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3007.GP_HistSalesLineItems.al => GPHistSalesLineItems.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3002.GP_HistSalesOrders.al => GPHistSalesOrders.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3003.GP_HistSalesQuotes.al => GPHistSalesQuotes.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3004.GP_HistSalesReturns.al => GPHistSalesReturns.Query.al} (100%) rename Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/{Que3006.GP_OpenReceivablesTransactions.al => GPOpenReceivablesTrx.Query.al} (100%) create mode 100644 Apps/W1/EDocument/app/.objidconfig rename Apps/W1/EDocument/test/src/Flow/{EDocumentFlowSetup.Codeunit.al => EDocmentFlowSetupTest.Codeunit.al} (100%) rename Apps/W1/EDocument/test/src/Mock/{EDocFormat.EnumExt.al => EDocFormatMock.EnumExt.al} (100%) rename Apps/W1/EDocument/test/src/Mock/{EDocIntegration.EnumExt.al => EDocIntegrationMock.EnumExt.al} (100%) rename Apps/W1/EDocument/test/src/Processing/{EDocProcessingTest.Codeunit.al => EDocProcesssingTest.Codeunit.al} (96%) rename Apps/W1/EDocument/test/src/TestImplementations/{TestImportEDocFormat.Codeunit.al => TestImportEDocumentFormat.Codeunit.al} (100%) create mode 100644 Apps/W1/EU3PartyTradePurchase/app/.objidconfig rename Apps/W1/EU3PartyTradePurchase/app/src/Enums/{FeatureToUpdateEU3Party.EnumExt.al => FeatureToUpdateEU3PartyTrade.EnumExt.al} (100%) create mode 100644 Apps/W1/Email - Current User Connector/app/.objidconfig create mode 100644 Apps/W1/Email - Microsoft 365 Connector/app/.objidconfig create mode 100644 Apps/W1/Email - Outlook REST API/app/.objidconfig create mode 100644 Apps/W1/Email - SMTP API/app/.objidconfig create mode 100644 Apps/W1/Email - SMTP Connector/app/.objidconfig create mode 100644 Apps/W1/EmailLogging/app/.objidconfig create mode 100644 Apps/W1/ErrorMessagesWithRecommendations/app/.objidconfig create mode 100644 Apps/W1/EssentialBusinessHeadlines/app/.objidconfig create mode 100644 Apps/W1/ExternalEvents/app/.objidconfig create mode 100644 Apps/W1/HybridAPI/app/.objidconfig create mode 100644 Apps/W1/HybridBC/app/.objidconfig delete mode 100644 Apps/W1/HybridBC/test/src/HybridBCWizardTest.Codeunit.al create mode 100644 Apps/W1/HybridBC/test/src/HybridBCWizardTests.Codeunit.al create mode 100644 Apps/W1/HybridBCLast/app/.objidconfig delete mode 100644 Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigBaseApp.Codeunit.al delete mode 100644 Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigNamedForwardLinks.Codeunit.al delete mode 100644 Apps/W1/HybridBCLast/app/src/codeunits/upgrade/19x/HybridUpgradeItemCrossRef.Codeunit.al delete mode 100644 Apps/W1/HybridBCLast/app/src/codeunits/upgrade/21x/UpgradeBaseApp21x.Codeunit.al rename Apps/W1/HybridBCLast/test/src/{cod139670.ApiEvents.al => ApiEvents.Codeunit.al} (100%) rename Apps/W1/HybridBCLast/test/src/{cod139672.HybridBCLastManagementTest.al => HybridBCLastManagementTest.Codeunit.al} (97%) rename Apps/W1/HybridBCLast/test/src/{cod139667.LibraryHybridBCLast.al => LibraryHybridBCLast.Codeunit.al} (98%) rename Apps/W1/HybridBCLast/test/src/{cod139666.TestTransformationW1.al => TestTransformationW1.Codeunit.al} (100%) create mode 100644 Apps/W1/HybridBaseDeployment/app/.objidconfig rename Apps/W1/HybridBaseDeployment/app/Permissions/{intelligentcloudHBD.permisisonsetextension.al => INTELLIGENTCLOUDHBD.PermissionSetExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4010.CalculateAmts.al => CalculateAmounts.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4004.CreateCompaniesIC.al => CreateCompaniesIC.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod40015.DataLakeMigrationCleanup.al => DataLakeMigrationCleanup.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod40018.FixDataOnRunCompleted.al => FixDataOnRunCompleted.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4012.HandleCreateCompanyICFailure.al => HandleCreateCompanyFailure.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod40019.HandleFixDataFailure.al => HandleFixDataFailure.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4000.HybridCloudInstall.al => HybridCloudInstall.Codeunit.al} (66%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4001.HybridCloudManagement.al => HybridCloudManagement.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod40016.HybridCompanyInitialize.al => HybridCompanyInitialize.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4006.HybridCueSetupManagement.al => HybridCueSetupManagement.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod40017.HybridHandleCompanyInitError.al => HybridHandleCompInitError.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4011.HybridMessageManagement.al => HybridMessageManagement.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4013.ICUpdateAvailableNotifier.al => IntelligentCloudNotifier.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4014.NotificationHandler.al => NotificationHandler.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/codeunits/{cod4003.PostMigrationNotificaton.al => PostMigrationNotificaton.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{Pag9016.Ext4018.AccountantRC.al => AccountantRC.PageExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{Pag9022.Ext4019.BusinessManagerRC.al => BusinessManagerRC.PageExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag40025.CloudMigrationAdlSetup.al => CloudMigrationADLSetup.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4023.DatabaseSizeTooLargeDialog.al => DatabaseSizeTooLargeDialog.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4011-Ext9037.HybridAccountantActivities.al => HybridAccountantActivities.PageExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4000.HybridCloudWizard.al => HybridCloudSetupWizard.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4005.HybridCompanies.al => HybridCompanies.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag40015.HybridCompaniesList.al => HybridCompaniesList.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{Pag4018.HybridCompaniesManagement.al => HybridCompaniesManagement.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4009-Ext1310.HybridO365Activities.al => HybridO365Activities.PageExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4002.HybridProductTypes.al => HybridProductTypes.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4006.HybridReplicationStatus.al => IntelligentCloudDetails.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4013.IntelligentCloudInsight.al => IntelligentCloudInsights.Page.al} (99%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4003.HybridReplicationManagement.al => IntelligentCloudManagement.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4019.IntelligentCloudNotMigrated.al => IntelligentCloudNotMigrated.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4007.HybridCloudReady.al => IntelligentCloudReady.Page.al} (87%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4001.HybridReplicationSchedule.al => IntelligentCloudSchedule.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4008.HybridReplicationStatisticsFactBox.al => IntelligentCloudStatFactbox.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4017.IntelligentCloudUpdate.al => IntelligentCloudUpdate.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4012.IntelligentEdgeInsites.al => IntelligentEdgeInsights.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4014.IntelligentEdgeKPI.al => IntelligentEdgeKPIs.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{Pag9015.Ext4017.JobProjectManagerRC.al => JobProjectManagerRC.PageExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4009.MigrationTableMapping.al => MigrationTableMapping.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4022.UserMapping.al => MigrationUserMapping.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{pag4020PostMigrationChecklist.al => PostMigrationChecklist.Page.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{Pag9026.Ext4020SalesAndRelationshipManagerRC.al => SalesAndRelationshipManagerRC.PageExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/pages/{Pag9005.Ext4021SalesManager.al => SalesManagerRC.PageExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/queries/{que4001.HybridEnabledComaniesRepDetails.al => HybridEnabledCoRepDetails.Query.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/queries/{que4000.HybridTablesForReplication.al => HybridTablesForReplication.Query.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab40025.CloudMigrationAdlSetup.al => CloudMigrationADLSetup.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4006.Ext1313.HybridActivitiesCue.al => HybridActivitesCue.TableExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4005.HybridCompanies.al => HybridCompany.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4007.Ext9054.HybridFinanceCue.al => HybridFinanceCue.TableExt.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4000.HybridProductType.al => HybridProductType.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4002.HybridReplicationDetail.al => HybridReplicationDetail.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4001.HybridReplicationSummary.al => HybridReplicationSummary.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4019.IntelligentCloudNotMigrated.al => IntelligentCloudNotMigrated.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4003.HybridSetup.al => IntelligentCloudSetup.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4010.IntelligentCloudTableStatus.al => IntelligentCloudTableStatus.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4009.MigrationTableMapping.al => MigrationTableMapping.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4008.PostMigrationChecklist.al => PostMigrationChecklist.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab40026.ReplicationRunCompletedArg.al => ReplicationRunCompletedArg.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4007.UserMappingSource.al => UserMappingSource.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/app/src/tables/{tab4022.UserMappingWork.al => UserMappingWork.Table.al} (100%) rename Apps/W1/HybridBaseDeployment/test/src/{cod139657.AdlMigrationTests.al => ADLMigrationTests.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/test/src/{cod139656.HybridCloudManagementTests.al => HybridCloudManagementTests.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/test/src/{cod139655.HybridCueSetupManagementTest.al => HybridCueSetupMgtTests.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/test/src/{cod139650.HybridWizardTest.al => HybridWizardTests.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/test/src/{cod139652.LibraryHybridManagement.al => LibraryHybridManagement.Codeunit.al} (100%) rename Apps/W1/HybridBaseDeployment/test/src/{cod139653.HybridReplicationManagementPageTests.al => ReplicationMgtPageTests.Codeunit.al} (100%) create mode 100644 Apps/W1/HybridGP/app/.objidconfig create mode 100644 Apps/W1/INTaxEngine/app/.objidconfig rename Apps/W1/INTaxEngine/app/Permissions/{advobjectstaxengine.permission.al => AdvObjectsTaxEngine.PermissionSet.al} (100%) rename Apps/W1/INTaxEngine/app/Permissions/{d365accessintaxengine.permission.al => D365AccessINTaxEngine.PermissionSet.al} (100%) rename Apps/W1/INTaxEngine/app/Permissions/{d365readaccessintaxengine.permission.al => D365ReadAccessTaxEngine.PermissionSet.al} (100%) create mode 100644 Apps/W1/INTaxEngine/app/TaxEngine-Core/.objidconfig create mode 100644 Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/.objidconfig create mode 100644 Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/.objidconfig create mode 100644 Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/.objidconfig create mode 100644 Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/.objidconfig rename Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/{AdvancedSetup.PageExt.al => TaxSettingsExt.PageExt.al} (100%) rename Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/{TaxTypeCard.Page.al => TaxType.Page.al} (100%) rename Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/rate/page/{TaxRateFilter.page.al => TaxRateFilters.Page.al} (100%) create mode 100644 Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/.objidconfig create mode 100644 Apps/W1/ImageAnalysis/app/.objidconfig rename Apps/W1/ImageAnalysis/app/src/codeunits/{Install.Codeunit.al => ImageAnalysisInstall.Codeunit.al} (100%) rename Apps/W1/ImageAnalysis/app/src/pages/{Blacklist.Page.al => ImageAnalysisBlacklist.Page.al} (100%) rename Apps/W1/ImageAnalysis/app/src/pages/{SetupExt.PageExt.al => ImageAnalysisSetupExt.PageExt.al} (100%) rename Apps/W1/ImageAnalysis/app/src/pages/{Tags.Page.al => ImageAnalysisTags.Page.al} (100%) create mode 100644 Apps/W1/Intrastat/app/.objidconfig create mode 100644 Apps/W1/LatePaymentPredictor/app/.objidconfig rename Apps/W1/LatePaymentPredictor/app/src/{CustomerLedgerEntry.TableExt.al => CustomerLedgerEntryLPP.TableExt.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{Activities.PageExt.al => LPActivities.PageExt.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{FeatureTableHelper.Codeunit.al => LPFeatureTableHelper.Codeunit.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{MLInputData.Table.al => LPMLInputData.Table.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{MachineLearningSetup.Page.al => LPMachineLearningSetup.Page.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{MachineLearningSetup.Table.al => LPMachineLearningSetup.Table.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{ModelManagement.Codeunit.al => LPModelManagement.Codeunit.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{CustomerLedgerEntries.PageExt.al => LPPCustomerLedgerEntries.PageExt.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{SalesHeader.TableExt.al => LPPSalesHeader.TableExt.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{SalesInvoice.PageExt.al => LPPSalesInvoice.PageExt.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{SalesInvoiceHeaderInput.Query.al => LPPSalesInvoiceHeaderInput.Query.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{SalesOrder.PageExt.al => LPPSalesOrder.PageExt.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{SalesQuote.PageExt.al => LPPSalesQuote.PageExt.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{Scheduler.Codeunit.al => LPPScheduler.Codeunit.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{Update.Codeunit.al => LPPUpdate.Codeunit.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{PredictionFactBox.Page.al => LPPredictionFactBox.Page.al} (100%) rename Apps/W1/LatePaymentPredictor/app/src/{PredictionMgt.Codeunit.al => LPPredictionMgt.Codeunit.al} (99%) rename Apps/W1/LatePaymentPredictor/app/src/{Subscribers.Codeunit.al => LPSubscribers.Codeunit.al} (100%) rename Apps/W1/LatePaymentPredictor/test/src/{MLInputDataTest.Codeunit.al => LPMLInputDataTest.Codeunit.al} (100%) rename Apps/W1/LatePaymentPredictor/test/src/{PredictionTest.Codeunit.al => LPPredictionTest.Codeunit.al} (99%) create mode 100644 Apps/W1/LibraryNoTransactions/.objidconfig create mode 100644 Apps/W1/MSWalletPayments/app/.objidconfig delete mode 100644 Apps/W1/MSWalletPayments/app/src/pages/PaymentServices.PageExt.al rename Apps/W1/MSWalletPayments/app/src/tables/{Charge.Table.al => MSWalletCharge.Table.al} (100%) rename Apps/W1/MSWalletPayments/app/src/tables/{MerchantAccount.Table.al => MSWalletMerchantAccount.Table.al} (100%) rename Apps/W1/MSWalletPayments/app/src/tables/{MerchantTemplate.Table.al => MSWalletMerchantTemplate.Table.al} (96%) rename Apps/W1/MSWalletPayments/app/src/tables/{Payment.Table.al => MSWalletPayment.Table.al} (100%) delete mode 100644 Apps/W1/MSWalletPayments/test/ExtensionLogo.png delete mode 100644 Apps/W1/MSWalletPayments/test/app.json delete mode 100644 Apps/W1/MSWalletPayments/test/appsourcecop.json create mode 100644 Apps/W1/MasterDataManagement/app/.objidconfig create mode 100644 Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al create mode 100644 Apps/W1/MicrosoftUniversalPrint/.objidconfig create mode 100644 Apps/W1/OnPrem Permissions/app/.objidconfig create mode 100644 Apps/W1/OnboardingSignals/app/.objidconfig create mode 100644 Apps/W1/PayPalPaymentsStandard/app/.objidconfig delete mode 100644 Apps/W1/PayPalPaymentsStandard/app/src/Permissions/m365collaborationpaypalpaymentsstandard.permissionsetext.al delete mode 100644 Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalPaymentServices.PageExt.al create mode 100644 Apps/W1/PaymentPractices/app/.objidconfig create mode 100644 Apps/W1/PlanConfiguration/app/.objidconfig create mode 100644 Apps/W1/QBMigration/app/.objidconfig rename Apps/W1/QBMigration/app/src/Accounts/{Account.Table.al => MigrationQBAccount.Table.al} (100%) rename Apps/W1/QBMigration/app/src/Accounts/{AccountMigrator.Codeunit.al => MigrationQBAccountMigrator.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Accounts/{AccountTable.Page.al => MigrationQBAccountTable.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Customers/{Customer.Table.al => MigrationQBCustomer.Table.al} (100%) rename Apps/W1/QBMigration/app/src/Customers/{CustomerMigrator.Codeunit.al => MigrationQBCustomerMigrator.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Customers/{CustomerTable.Page.al => MigrationQBCustomerTable.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Customers/{CustomerTrans.Page.al => MigrationQBCustomerTrans.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Customers/{CustomerTrans.Table.al => MigrationQBCustomerTrans.Table.al} (100%) rename Apps/W1/QBMigration/app/src/Items/{Item.Table.al => MigrationQBItem.Table.al} (100%) rename Apps/W1/QBMigration/app/src/Items/{ItemMigrator.Codeunit.al => MigrationQBItemMigrator.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Items/{ItemTable.Page.al => MigrationQBItemTable.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{AccountSetup.Table.al => MigrationQBAccountSetup.Table.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{Config.Table.al => MigrationQBConfig.Table.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{DashboardMgt.Codeunit.al => MigrationQBDashboardMgt.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{DataLoader.Codeunit.al => MigrationQBDataLoader.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{DataReader.Codeunit.al => MigrationQBDataReader.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{DefaultAccounts.Page.al => MigrationQBDefaultAccounts.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{HelperFunctions.Codeunit.al => MigrationQBHelperFunctions.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{Mgt.Codeunit.al => MigrationQBMgt.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{PostingAccounts.Page.al => MigrationQBPostingAccounts.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Support/{WizardIntegration.Codeunit.al => MigrationQBWizardIntegration.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Upgrade/{Upgrade.Codeunit.al => MigrationQBUpgrade.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Vendors/{Vendor.Table.al => MigrationQBVendor.Table.al} (100%) rename Apps/W1/QBMigration/app/src/Vendors/{VendorMigrator.Codeunit.al => MigrationQBVendorMigrator.Codeunit.al} (100%) rename Apps/W1/QBMigration/app/src/Vendors/{VendorTable.Page.al => MigrationQBVendorTable.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Vendors/{VendorTrans.Page.al => MigrationQBVendorTrans.Page.al} (100%) rename Apps/W1/QBMigration/app/src/Vendors/{VendorTrans.Table.al => MigrationQBVendorTrans.Table.al} (100%) rename Apps/W1/QBMigration/test/src/{AccountTests.Codeunit.al => MigrationQBAccountTests.Codeunit.al} (100%) rename Apps/W1/QBMigration/test/src/{OTests.Codeunit.al => MigrationQBOTests.Codeunit.al} (100%) rename Apps/W1/QBMigration/test/src/{RunAllTests.Codeunit.al => MigrationQBRunAllTests.Codeunit.al} (100%) create mode 100644 Apps/W1/QuickbooksPayrollFileImport/app/.objidconfig create mode 100644 Apps/W1/RecommendedApps/app/.objidconfig create mode 100644 Apps/W1/ReportLayouts/app/.objidconfig create mode 100644 Apps/W1/ReviewGLEntries/app/.objidconfig create mode 100644 Apps/W1/SAF-T/app/.objidconfig create mode 100644 Apps/W1/SalesAndInventoryForecast/app/.objidconfig create mode 100644 Apps/W1/SendToEmailPrinter/.objidconfig create mode 100644 Apps/W1/ServiceDeclaration/app/.objidconfig create mode 100644 Apps/W1/Shopify/app/.objidconfig create mode 100644 Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfyCatalogAPI.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfySyncCatalogPrices.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/Catalogs/Pages/ShpfyCatalogs.Page.al create mode 100644 Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogPrices.Report.al create mode 100644 Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogs.Report.al create mode 100644 Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalog.Table.al create mode 100644 Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalogPrice.Table.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfySyncCompanies.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Enums/ShpfyDefaultContPermission.Enum.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanies.Page.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanyCard.Page.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Pages/ShpfyMainContactFactbox.Page.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Reports/ShpfyAddCompanyToShopify.Report.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Reports/ShpfySyncCompanies.Report.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompany.Table.al create mode 100644 Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompanyLocation.Table.al rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCountyCode.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCountyFromJsonCode.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCountyFromJsonName.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCountyName.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCreateCustomer.Codeunit.al (99%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustByBillto.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustByDefaultCust.Codeunit.al (99%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustByEmailPhone.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustomerAPI.Codeunit.al (99%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustomerEvents.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustomerExport.Codeunit.al (97%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustomerImport.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyCustomerMapping.Codeunit.al (84%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyNameisCompanyName.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyNameisEmpty.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyNameisFirstLastName.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyNameisLastFirstName.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfySyncCountries.Codeunit.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfySyncCustomers.Codeunit.al (92%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Codeunits/ShpfyUpdateCustomer.Codeunit.al (99%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Enums/ShpfyCountySource.Enum.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Enums/ShpfyCustomerImportRange.Enum.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Enums/ShpfyCustomerMapping.Enum.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Enums/ShpfyCustomerState.Enum.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Enums/ShpfyNameSource.Enum.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Enums/ShpfyTaxBy.Enum.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Enums/ShpfyTaxType.Enum.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Interfaces/ShpfyICounty.Interface.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Interfaces/ShpfyICountyFromJson.Interface.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Interfaces/ShpfyICustomerMapping.Interface.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Interfaces/ShpfyICustomerName.Interface.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Pages/ShpfyCustomerAdresses.Page.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Pages/ShpfyCustomerCard.Page.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Pages/ShpfyCustomerTemplates.Page.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Pages/ShpfyCustomers.Page.al (78%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Pages/ShpfyTaxAreas.Page.al (100%) create mode 100644 Apps/W1/Shopify/app/src/Customers/Reports/ShpfyAddCustomerToShopify.Report.al rename Apps/W1/Shopify/app/src/{Customer => Customers}/Reports/ShpfySyncCountries.Report.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Reports/ShpfySyncCustomers.Report.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Tables/ShpfyCustomer.Table.al (99%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Tables/ShpfyCustomerAddress.Table.al (97%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Tables/ShpfyCustomerTemplate.Table.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Tables/ShpfyProvince.Table.al (100%) rename Apps/W1/Shopify/app/src/{Customer => Customers}/Tables/ShpfyTaxArea.Table.al (100%) create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogPrices.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogs.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignConRole.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignContact.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignMainCon.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreateCatalog.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreatePublication.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogs.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLUpdateCatalogPrices.Codeunit.al create mode 100644 Apps/W1/Shopify/app/src/Inventory/Codeunits/ShpfyFreeInventory.Codeunit.al create mode 100644 Apps/W1/Shopify/test/Catalogs/ShpfyCatalogAPITest.Codeunit.al create mode 100644 Apps/W1/Shopify/test/Catalogs/ShpfyCatalogInitialize.Codeunit.al create mode 100644 Apps/W1/Shopify/test/Catalogs/ShpfyCatalogPricesTest.Codeunit.al create mode 100644 Apps/W1/Shopify/test/Companies/ShpfyCompanyAPITest.Codeunit.al create mode 100644 Apps/W1/Shopify/test/Companies/ShpfyCompanyExportTest.Codeunit.al create mode 100644 Apps/W1/Shopify/test/Companies/ShpfyCompanyInitialize.Codeunit.al rename Apps/W1/Shopify/test/{Customer => Customers}/ShpfyCountySourceTest.Codeunit.al (100%) rename Apps/W1/Shopify/test/{Customer => Customers}/ShpfyCreateCustomerTest.Codeunit.al (100%) rename Apps/W1/Shopify/test/{Customer => Customers}/ShpfyCustomerAPITest.Codeunit.al (98%) rename Apps/W1/Shopify/test/{Customer => Customers}/ShpfyCustomerExportTest.Codeunit.al (100%) rename Apps/W1/Shopify/test/{Customer => Customers}/ShpfyCustomerGetNameTest.Codeunit.al (100%) rename Apps/W1/Shopify/test/{Customer => Customers}/ShpfyCustomerInitTest.Codeunit.al (100%) rename Apps/W1/Shopify/test/{Customer => Customers}/ShpfyCustomerMappingTest.Codeunit.al (100%) create mode 100644 Apps/W1/SimplifiedBankStatementImport/app/.objidconfig create mode 100644 Apps/W1/SmartList/.objidconfig create mode 100644 Apps/W1/StatisticalAccounts/app/.objidconfig create mode 100644 Apps/W1/Sustainability/app/ExtensionLogo.png create mode 100644 Apps/W1/Sustainability/app/app.json create mode 100644 Apps/W1/Sustainability/test/ExtensionLogo.png create mode 100644 Apps/W1/Sustainability/test/app.json create mode 100644 Apps/W1/SyncBase/.objidconfig create mode 100644 Apps/W1/UKSendRemittanceAdvice/app/.objidconfig create mode 100644 Apps/W1/VATGroupManagement/app/.objidconfig create mode 100644 Apps/W1/WorldPayPaymentsStandard/app/.objidconfig rename Apps/W1/WorldPayPaymentsStandard/app/src/{CreateDemoData.Codeunit.al => MSWorldPayCreateDemoData.Codeunit.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{StandardAccount.Table.al => MSWorldPayStandardAccount.Table.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{StandardMgt.Codeunit.al => MSWorldPayStandardMgt.Codeunit.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{StandardSetup.Page.al => MSWorldPayStandardSetup.Page.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{StandardUpgrade.Codeunit.al => MSWorldPayStandardUpgrade.Codeunit.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{StdSettings.Page.al => MSWorldPayStdSettings.Page.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{StdTemplate.Page.al => MSWorldPayStdTemplate.Page.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{StdTemplate.Table.al => MSWorldPayStdTemplate.Table.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/app/src/{Transaction.Table.al => MSWorldPayTransaction.Table.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/test/src/{StandardTests.Codeunit.al => MSWorldPayStandardTests.Codeunit.al} (100%) rename Apps/W1/WorldPayPaymentsStandard/test/src/{StdMockEvents.Codeunit.al => MSWorldPayStdMockEvents.Codeunit.al} (100%) diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json index 108ce15ef6..bcf74c0014 100644 --- a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json @@ -2,7 +2,7 @@ "id": "4b0b41f9-7a13-4231-d521-1465186cfb32", "name": "Contoso Coffee Demo Dataset (AT)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making the demo data available for manufacturing scenarios.", "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios in the manufacturing space.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,14 +16,14 @@ "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", "name": "Contoso Coffee Demo Dataset", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 11140, diff --git a/Apps/AT/HybridBCLast_AT/app/app.json b/Apps/AT/HybridBCLast_AT/app/app.json index a43d292350..17c27c43fa 100644 --- a/Apps/AT/HybridBCLast_AT/app/app.json +++ b/Apps/AT/HybridBCLast_AT/app/app.json @@ -2,7 +2,7 @@ "id": "f4065a83-c2eb-4658-886e-c25a80dcad45", "name": "Business Central Cloud Migration - Previous Release (AT)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enables data migration from the previous version of Dynamics BC (n-1) to the current release of Dynamics 365 Business Central SaaS.", "description": "This extension, in conjuction with the Business Central Cloud Migration Previous Release, will enable you to migrate data from your Business Central on-premises solution for Austria to your Dynamics 365 Business Central cloud tenant for Austria. This extension is required to update country specific tables. Once you have walked through the cloud migration wizard in assisted setup, you will be able to migrate your data from your on-premises environment to your cloud tenant.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,25 +15,25 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" }, { "publisher": "Microsoft", "name": "Business Central Cloud Migration - Previous Release", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "6992416f-3f39-4d3c-8242-3fff61350bea" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/AT/HybridBCLast_AT/app/src/codeunits/DataLoadAT.Codeunit.al b/Apps/AT/HybridBCLast_AT/app/src/codeunits/DataLoadAT.Codeunit.al deleted file mode 100644 index 8a3c77e248..0000000000 --- a/Apps/AT/HybridBCLast_AT/app/src/codeunits/DataLoadAT.Codeunit.al +++ /dev/null @@ -1,22 +0,0 @@ -#if not CLEAN19 -codeunit 11106 "Data Load AT" -{ - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '17.0'; - - var - CountryCodeTxt: Label 'AT', Locked = true; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"W1 Data Load", 'OnAfterW1DataLoadForVersion', '', false, false)] - local procedure LoadDataForAT_15x(HybridReplicationSummary: Record "Hybrid Replication Summary"; CountryCode: Text; TargetVersion: Decimal) - begin - if CountryCode <> CountryCodeTxt then - exit; - - if TargetVersion <> 15.0 then - exit; - // Move data from the staged tables to the real tables. - end; -} -#endif \ No newline at end of file diff --git a/Apps/AT/IntrastatAT/app/app.json b/Apps/AT/IntrastatAT/app/app.json index 11f348f4e9..5faa58780a 100644 --- a/Apps/AT/IntrastatAT/app/app.json +++ b/Apps/AT/IntrastatAT/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Intrastat extension makes it easy to export the Intrastat report in the format that the authorities in your country require.", "description": "The formats that businesses must use to report Intrastat vary from country to country. The Intrastat extension makes it easy to export the Intrastat report in the format that the authorities in your country require.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2204541", @@ -16,13 +16,13 @@ "id": "70912191-3c4c-49fc-a1de-bc6ea1ac9da6", "name": "Intrastat Core", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 11150, @@ -34,6 +34,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json index 7c5b508850..e2806d1716 100644 --- a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json @@ -2,7 +2,7 @@ "id": "4b0b41f9-7a13-4231-d521-2465186cfb32", "name": "Contoso Coffee Demo Dataset (AU)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making the demo data available for manufacturing scenarios.", "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios in the manufacturing space.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,14 +16,14 @@ "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", "name": "Contoso Coffee Demo Dataset", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 17107, diff --git a/Apps/AU/HybridBCLast_AU/app/app.json b/Apps/AU/HybridBCLast_AU/app/app.json index 6b47d2ca71..0d3d1ba3ad 100644 --- a/Apps/AU/HybridBCLast_AU/app/app.json +++ b/Apps/AU/HybridBCLast_AU/app/app.json @@ -2,7 +2,7 @@ "id": "155ea293-b0a3-4cae-a690-d832421dd180", "name": "Business Central Cloud Migration - Previous Release (AU)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enables data migration from the previous version of Dynamics BC (n-1) to the current release of Dynamics 365 Business Central SaaS.", "description": "This extension, in conjuction with the Business Central Cloud Migration Previous Release, will enable you to migrate data from your Business Central on-premises solution for Australia to your Dynamics 365 Business Central cloud tenant for Australia. This extension is required to update country specific tables. Once you have walked through the cloud migration wizard in assisted setup, you will be able to migrate your data from your on-premises environment to your cloud tenant.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,25 +15,25 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" }, { "publisher": "Microsoft", "name": "Business Central Cloud Migration - Previous Release", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "6992416f-3f39-4d3c-8242-3fff61350bea" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/AU/Onprem Permissions AU/app/app.json b/Apps/AU/Onprem Permissions AU/app/app.json index c62da5be7d..61af872e9f 100644 --- a/Apps/AU/Onprem Permissions AU/app/app.json +++ b/Apps/AU/Onprem Permissions AU/app/app.json @@ -2,7 +2,7 @@ "id": "0a9956d8-3754-4e02-aaa2-84bb44da09aa", "name": "OnPrem Permissions (AU)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "This extension includes permission set for on premise systems.", "description": "This extension includes permission set for on premise systems.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -17,12 +17,12 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json index ac20f1a8d8..88fcb0aed4 100644 --- a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json @@ -2,7 +2,7 @@ "id": "5b0b41a1-7b42-4123-a521-2265186cfb33", "name": "Contoso Coffee Demo Dataset (BE)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making the demo data available for manufacturing scenarios.", "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios in the manufacturing space.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,14 +16,14 @@ "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", "name": "Contoso Coffee Demo Dataset", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 11345, diff --git a/Apps/BE/HybridBCLast_BE/app/app.json b/Apps/BE/HybridBCLast_BE/app/app.json index 352d3a7d2d..d3e796d918 100644 --- a/Apps/BE/HybridBCLast_BE/app/app.json +++ b/Apps/BE/HybridBCLast_BE/app/app.json @@ -2,7 +2,7 @@ "id": "620725d3-2ed5-424a-bd9b-7d4b44bfcc9b", "name": "Business Central Cloud Migration - Previous Release (BE)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enables data migration from the previous version of Dynamics BC (n-1) to the current release of Dynamics 365 Business Central SaaS.", "description": "This extension, in conjuction with the Business Central Cloud Migration Previous Release, will enable you to migrate data from your Business Central on-premises solution for Belgium to your Dynamics 365 Business Central cloud tenant for Belgium. This extension is required to update country specific tables. Once you have walked through the cloud migration wizard in assisted setup, you will be able to migrate your data from your on-premises environment to your cloud tenant.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,25 +15,25 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" }, { "publisher": "Microsoft", "name": "Business Central Cloud Migration - Previous Release", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "6992416f-3f39-4d3c-8242-3fff61350bea" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/BE/IntrastatBE/app/app.json b/Apps/BE/IntrastatBE/app/app.json index 5b5e36a2ad..4f43b68634 100644 --- a/Apps/BE/IntrastatBE/app/app.json +++ b/Apps/BE/IntrastatBE/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Intrastat extension makes it easy to export the Intrastat report in the format that the authorities in your country require.", "description": "The formats that businesses must use to report Intrastat vary from country to country. The Intrastat extension makes it easy to export the Intrastat report in the format that the Belgium authorities require.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2204541", @@ -16,13 +16,13 @@ "id": "70912191-3c4c-49fc-a1de-bc6ea1ac9da6", "name": "Intrastat Core", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 11346, @@ -34,6 +34,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json index f19e387354..31b10a2ec8 100644 --- a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json @@ -2,7 +2,7 @@ "id": "5b0b41a1-7b42-3113-a521-2265186cfb33", "name": "Contoso Coffee Demo Dataset (CA)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making the demo data available for manufacturing scenarios.", "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios in the manufacturing space.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,14 +16,14 @@ "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", "name": "Contoso Coffee Demo Dataset", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 27009, diff --git a/Apps/CA/HybridBCLast_CA/app/Permissions/INTELLIGENTCLOUDHBCLCA.PermissionSetExt.al b/Apps/CA/HybridBCLast_CA/app/Permissions/INTELLIGENTCLOUDHBCLCA.PermissionSetExt.al deleted file mode 100644 index df047518df..0000000000 --- a/Apps/CA/HybridBCLast_CA/app/Permissions/INTELLIGENTCLOUDHBCLCA.PermissionSetExt.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4049 "INTELLIGENT CLOUD - HBCLCA" extends "INTELLIGENT CLOUD" -{ - Permissions = tabledata "Stg Data Exch Def CA" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/CA/HybridBCLast_CA/app/Permissions/d365basicHBCLCA.permissionsetext.al b/Apps/CA/HybridBCLast_CA/app/Permissions/d365basicHBCLCA.permissionsetext.al deleted file mode 100644 index 498de817c4..0000000000 --- a/Apps/CA/HybridBCLast_CA/app/Permissions/d365basicHBCLCA.permissionsetext.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4046 "D365 BASIC - HBCLCA" extends "D365 BASIC" -{ - Permissions = tabledata "Stg Data Exch Def CA" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/CA/HybridBCLast_CA/app/Permissions/d365basicisvHBCLCA.permissionsetext.al b/Apps/CA/HybridBCLast_CA/app/Permissions/d365basicisvHBCLCA.permissionsetext.al deleted file mode 100644 index 0739f70c89..0000000000 --- a/Apps/CA/HybridBCLast_CA/app/Permissions/d365basicisvHBCLCA.permissionsetext.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4047 "D365 BASIC ISV - HBCLCA" extends "D365 BASIC ISV" -{ - Permissions = tabledata "Stg Data Exch Def CA" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/CA/HybridBCLast_CA/app/Permissions/d365teammemberHBCLCA.permissionsetext.al b/Apps/CA/HybridBCLast_CA/app/Permissions/d365teammemberHBCLCA.permissionsetext.al deleted file mode 100644 index 2eeb498616..0000000000 --- a/Apps/CA/HybridBCLast_CA/app/Permissions/d365teammemberHBCLCA.permissionsetext.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4048 "D365 TEAM MEMBER - HBCLCA" extends "D365 TEAM MEMBER" -{ - Permissions = tabledata "Stg Data Exch Def CA" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/CA/HybridBCLast_CA/app/app.json b/Apps/CA/HybridBCLast_CA/app/app.json index 4e85d22a4c..c47506adc6 100644 --- a/Apps/CA/HybridBCLast_CA/app/app.json +++ b/Apps/CA/HybridBCLast_CA/app/app.json @@ -2,7 +2,7 @@ "id": "3cb4ddcd-36ed-4043-8194-b40efdb46165", "name": "Business Central Cloud Migration - Previous Release (CA)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enables data migration from the previous version of Dynamics BC (n-1) to the current release of Dynamics 365 Business Central SaaS.", "description": "This extension, in conjuction with the Business Central Cloud Migration Previous Release, will enable you to migrate data from your Business Central on-premises solution for Canada to your Dynamics 365 Business Central cloud tenant for Canada. This extension is required to update country specific tables. Once you have walked through the cloud migration wizard in assisted setup, you will be able to migrate your data from your on-premises environment to your cloud tenant.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,25 +15,25 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" }, { "publisher": "Microsoft", "name": "Business Central Cloud Migration - Previous Release", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "6992416f-3f39-4d3c-8242-3fff61350bea" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CA/HybridBCLast_CA/app/src/codeunits/upgrade/15x/UpgMXCFDICA.Codeunit.al b/Apps/CA/HybridBCLast_CA/app/src/codeunits/upgrade/15x/UpgMXCFDICA.Codeunit.al deleted file mode 100644 index b0777d20dd..0000000000 --- a/Apps/CA/HybridBCLast_CA/app/src/codeunits/upgrade/15x/UpgMXCFDICA.Codeunit.al +++ /dev/null @@ -1,50 +0,0 @@ -#if not CLEAN17 -codeunit 10039 "Upg. MX CFDI CA" -{ - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '17.0'; - - trigger OnRun() - begin - // This code is based on app upgrade logic for NA. - // Matching file: .\App\Layers\NA\BaseApp\Upgrade\UPGMXCFDI.Codeunit.al - // Based on commit: d4aef6b7b9 - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"W1 Company Handler", 'OnUpgradePerCompanyDataForVersion', '', false, false)] - local procedure OnCompanyMigrationUpgrade(TargetVersion: Decimal) - begin - if TargetVersion <> 15.0 then - exit; - - UpdateSATCatalogs(); - UpdateCFDIFields(); - end; - - local procedure UpdateSATCatalogs() - var - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefCountry: Codeunit "Upgrade Tag Def - Country"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefCountry.GetSATPaymentCatalogsSwapTag()) then - exit; - - Codeunit.Run(Codeunit::"Update SAT Payment Catalogs"); - UpgradeTag.SetUpgradeTag(UpgradeTagDefCountry.GetSATPaymentCatalogsSwapTag()); - end; - - local procedure UpdateCFDIFields() - var - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefCountry: Codeunit "Upgrade Tag Def - Country"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefCountry.GetCFDIPurposeRelationFieldsDocUpdateTag()) then - exit; - - Codeunit.Run(Codeunit::"Update CFDI Fields Sales Doc"); - UpgradeTag.SetUpgradeTag(UpgradeTagDefCountry.GetCFDIPurposeRelationFieldsDocUpdateTag()); - end; -} - -#endif \ No newline at end of file diff --git a/Apps/CA/HybridBCLast_CA/app/src/tables/StgDataExchDefCA.Table.al b/Apps/CA/HybridBCLast_CA/app/src/tables/StgDataExchDefCA.Table.al index 5efd079209..da689ea3e3 100644 --- a/Apps/CA/HybridBCLast_CA/app/src/tables/StgDataExchDefCA.Table.al +++ b/Apps/CA/HybridBCLast_CA/app/src/tables/StgDataExchDefCA.Table.al @@ -2,15 +2,9 @@ table 4046 "Stg Data Exch Def CA" { ReplicateData = false; Extensible = false; -#if not CLEAN21 - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '21.0'; -#else ObsoleteState = Removed; ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '23.0'; -#endif + ObsoleteTag = '24.0'; fields { diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json index a9123f3894..84ae4d2fce 100644 --- a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json @@ -2,7 +2,7 @@ "id": "4b1c41f9-7a13-4231-d521-2465194cfb32", "name": "Contoso Coffee Demo Dataset (CH)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making the demo data available for manufacturing scenarios.", "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios in the manufacturing space.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,14 +16,14 @@ "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", "name": "Contoso Coffee Demo Dataset", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 11580, diff --git a/Apps/CH/HybridBCLast_CH/app/app.json b/Apps/CH/HybridBCLast_CH/app/app.json index cccd85d711..22c74a326c 100644 --- a/Apps/CH/HybridBCLast_CH/app/app.json +++ b/Apps/CH/HybridBCLast_CH/app/app.json @@ -2,7 +2,7 @@ "id": "56c71df0-7b09-4c5e-97a1-f2a3feda4dff", "name": "Business Central Cloud Migration - Previous Release (CH)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enables data migration from the previous version of Dynamics BC (n-1) to the current release of Dynamics 365 Business Central SaaS.", "description": "This extension, in conjuction with the Business Central Cloud Migration Previous Release, will enable you to migrate data from your Business Central on-premises solution for Switzerland to your Dynamics 365 Business Central cloud tenant for Switzerland. This extension is required to update country specific tables. Once you have walked through the cloud migration wizard in assisted setup, you will be able to migrate your data from your on-premises environment to your cloud tenant.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,25 +15,25 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" }, { "publisher": "Microsoft", "name": "Business Central Cloud Migration - Previous Release", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "6992416f-3f39-4d3c-8242-3fff61350bea" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CH/SwissQRBill/app/app.json b/Apps/CH/SwissQRBill/app/app.json index 982efa0f44..222d67c7a6 100644 --- a/Apps/CH/SwissQRBill/app/app.json +++ b/Apps/CH/SwissQRBill/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Easily generate, send, and import QR-bills in Dynamics 365 Business Central", "description": "QR-bills enable easier processing and payment of received invoices from vendors. The QR-Bill Management app for Switzerland allows you to generate QR-bills that are compliant with the Swiss standard to receive QR-bills either via file import or direct input scan. All received QR-bills are handled via the Incoming Documents feature from where purchase journals can be created directly from the imported QR-bills. Finally, this app ensures that all payment references from QR-bill are carried through SEPA files to and from the bank and back to the issuer of the QR-bill for easy reconciliation. With this app, you can easily comply with the Swiss requirements for the QR-bills.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2194212", @@ -30,12 +30,12 @@ "to": 11520 } ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDoc.Codeunit.al b/Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDoc.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDoc.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDoc.Codeunit.al diff --git a/Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDoc.PageExt.al b/Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDoc.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDoc.PageExt.al rename to Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDoc.PageExt.al diff --git a/Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDoc.TableExt.al b/Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDoc.TableExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDoc.TableExt.al rename to Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDoc.TableExt.al diff --git a/Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDocs.PageExt.al b/Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDocs.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/IncomingDocuments/IncomingDocs.PageExt.al rename to Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillIncomingDocs.PageExt.al diff --git a/Apps/CH/SwissQRBill/app/src/IncomingDocuments/Scan.Page.al b/Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillScan.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/IncomingDocuments/Scan.Page.al rename to Apps/CH/SwissQRBill/app/src/IncomingDocuments/SwissQRBillScan.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/Permissions/d365basicisvqrbillmanagementforswitzerland.permissionsetext.al b/Apps/CH/SwissQRBill/app/src/Permissions/d365basicisvqrbillmanagementforswitzerland.permissionsetext.al index 7d430c59a9..71254cfef8 100644 --- a/Apps/CH/SwissQRBill/app/src/Permissions/d365basicisvqrbillmanagementforswitzerland.permissionsetext.al +++ b/Apps/CH/SwissQRBill/app/src/Permissions/d365basicisvqrbillmanagementforswitzerland.permissionsetext.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Bank.Payment; -using Microsoft.Bank.Payment; using System.Security.AccessControl; permissionsetextension 11501 "D365 BASIC ISV - QR-Bill Management for Switzerland" extends "D365 BASIC ISV" diff --git a/Apps/CH/SwissQRBill/app/src/Permissions/d365basicqrbillmanagementforswitzerland.permissionsetext.al b/Apps/CH/SwissQRBill/app/src/Permissions/d365basicqrbillmanagementforswitzerland.permissionsetext.al index 8045c5db9c..f2081e117d 100644 --- a/Apps/CH/SwissQRBill/app/src/Permissions/d365basicqrbillmanagementforswitzerland.permissionsetext.al +++ b/Apps/CH/SwissQRBill/app/src/Permissions/d365basicqrbillmanagementforswitzerland.permissionsetext.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Bank.Payment; -using Microsoft.Bank.Payment; using System.Security.AccessControl; permissionsetextension 11502 "D365 BASIC - QR-Bill Management for Switzerland" extends "D365 BASIC" diff --git a/Apps/CH/SwissQRBill/app/src/Permissions/d365busfullaccessqrbillmanagementforswitzerland.permissionsetext.al b/Apps/CH/SwissQRBill/app/src/Permissions/d365busfullaccessqrbillmanagementforswitzerland.permissionsetext.al index cc800f749b..94ac32a31b 100644 --- a/Apps/CH/SwissQRBill/app/src/Permissions/d365busfullaccessqrbillmanagementforswitzerland.permissionsetext.al +++ b/Apps/CH/SwissQRBill/app/src/Permissions/d365busfullaccessqrbillmanagementforswitzerland.permissionsetext.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Bank.Payment; -using Microsoft.Bank.Payment; using System.Security.AccessControl; permissionsetextension 11503 "D365 BUS FULL ACCESS - QR-Bill Management for Switzerland" extends "D365 BUS FULL ACCESS" diff --git a/Apps/CH/SwissQRBill/app/src/Permissions/d365buspremiumqrbillmanagementforswitzerland.permissionsetext.al b/Apps/CH/SwissQRBill/app/src/Permissions/d365buspremiumqrbillmanagementforswitzerland.permissionsetext.al index 248152eed8..0dd9c7ed11 100644 --- a/Apps/CH/SwissQRBill/app/src/Permissions/d365buspremiumqrbillmanagementforswitzerland.permissionsetext.al +++ b/Apps/CH/SwissQRBill/app/src/Permissions/d365buspremiumqrbillmanagementforswitzerland.permissionsetext.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Bank.Payment; -using Microsoft.Bank.Payment; using System.Security.AccessControl; permissionsetextension 11504 "D365 BUS PREMIUM - QR-Bill Management for Switzerland" extends "D365 BUS PREMIUM" diff --git a/Apps/CH/SwissQRBill/app/src/Permissions/d365fullaccessqrbillmanagementforswitzerland.permissionsetext.al b/Apps/CH/SwissQRBill/app/src/Permissions/d365fullaccessqrbillmanagementforswitzerland.permissionsetext.al index 8c77ef3424..948f30dc34 100644 --- a/Apps/CH/SwissQRBill/app/src/Permissions/d365fullaccessqrbillmanagementforswitzerland.permissionsetext.al +++ b/Apps/CH/SwissQRBill/app/src/Permissions/d365fullaccessqrbillmanagementforswitzerland.permissionsetext.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Bank.Payment; -using Microsoft.Bank.Payment; using System.Security.AccessControl; permissionsetextension 11505 "D365 FULL ACCESS - QR-Bill Management for Switzerland" extends "D365 FULL ACCESS" diff --git a/Apps/CH/SwissQRBill/app/src/Permissions/d365readqrbillmanagementforswitzerland.permissionsetext.al b/Apps/CH/SwissQRBill/app/src/Permissions/d365readqrbillmanagementforswitzerland.permissionsetext.al index 5c44b28d24..2ef539c007 100644 --- a/Apps/CH/SwissQRBill/app/src/Permissions/d365readqrbillmanagementforswitzerland.permissionsetext.al +++ b/Apps/CH/SwissQRBill/app/src/Permissions/d365readqrbillmanagementforswitzerland.permissionsetext.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Bank.Payment; -using Microsoft.Bank.Payment; using System.Security.AccessControl; permissionsetextension 11506 "D365 READ - QR-Bill Management for Switzerland" extends "D365 READ" diff --git a/Apps/CH/SwissQRBill/app/src/Permissions/d365teammemberqrbillmanagementforswitzerland.permissionsetext.al b/Apps/CH/SwissQRBill/app/src/Permissions/d365teammemberqrbillmanagementforswitzerland.permissionsetext.al index b4c3161276..5b844da62f 100644 --- a/Apps/CH/SwissQRBill/app/src/Permissions/d365teammemberqrbillmanagementforswitzerland.permissionsetext.al +++ b/Apps/CH/SwissQRBill/app/src/Permissions/d365teammemberqrbillmanagementforswitzerland.permissionsetext.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Bank.Payment; -using Microsoft.Bank.Payment; using System.Security.AccessControl; permissionsetextension 11507 "D365 TEAM MEMBER - QR-Bill Management for Switzerland" extends "D365 TEAM MEMBER" diff --git a/Apps/CH/SwissQRBill/app/src/Install.Codeunit.al b/Apps/CH/SwissQRBill/app/src/SwissQRBillInstall.Codeunit.al similarity index 99% rename from Apps/CH/SwissQRBill/app/src/Install.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/SwissQRBillInstall.Codeunit.al index 758359f585..1b4c9162ea 100644 --- a/Apps/CH/SwissQRBill/app/src/Install.Codeunit.al +++ b/Apps/CH/SwissQRBill/app/src/SwissQRBillInstall.Codeunit.al @@ -10,8 +10,6 @@ using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Foundation.Company; using Microsoft.Purchases.Document; using System.Environment; -using System.Environment.Configuration; -using System.Media; using System.Privacy; using System.Upgrade; diff --git a/Apps/CH/SwissQRBill/app/src/core/AddressType.Enum.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillAddressType.Enum.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/AddressType.Enum.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillAddressType.Enum.al diff --git a/Apps/CH/SwissQRBill/app/src/core/Buffer.Table.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillBuffer.Table.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/Buffer.Table.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillBuffer.Table.al diff --git a/Apps/CH/SwissQRBill/app/src/core/Decode.Codeunit.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillDecode.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/Decode.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillDecode.Codeunit.al diff --git a/Apps/CH/SwissQRBill/app/src/core/Encode.Codeunit.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillEncode.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/Encode.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillEncode.Codeunit.al diff --git a/Apps/CH/SwissQRBill/app/src/core/IBANType.Enum.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillIBANType.Enum.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/IBANType.Enum.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillIBANType.Enum.al diff --git a/Apps/CH/SwissQRBill/app/src/core/ImageMgt.Codeunit.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillImageMgt.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/ImageMgt.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillImageMgt.Codeunit.al diff --git a/Apps/CH/SwissQRBill/app/src/core/Mgt.Codeunit.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillMgt.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/Mgt.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillMgt.Codeunit.al diff --git a/Apps/CH/SwissQRBill/app/src/core/PaymentReferenceType.Enum.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillPaymentReferenceType.Enum.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/PaymentReferenceType.Enum.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillPaymentReferenceType.Enum.al diff --git a/Apps/CH/SwissQRBill/app/src/core/UmlautEncoding.Enum.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillUmlautEncoding.Enum.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/core/UmlautEncoding.Enum.al rename to Apps/CH/SwissQRBill/app/src/core/SwissQRBillUmlautEncoding.Enum.al diff --git a/Apps/CH/SwissQRBill/app/src/purchases/CreateVendBank.Page.al b/Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillCreateVendBank.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/purchases/CreateVendBank.Page.al rename to Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillCreateVendBank.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/purchases/GenJournalLine.TableExt.al b/Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillGenJournalLine.TableExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/purchases/GenJournalLine.TableExt.al rename to Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillGenJournalLine.TableExt.al diff --git a/Apps/CH/SwissQRBill/app/src/purchases/PurchaseHeader.TableExt.al b/Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseHeader.TableExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/purchases/PurchaseHeader.TableExt.al rename to Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseHeader.TableExt.al diff --git a/Apps/CH/SwissQRBill/app/src/purchases/PurchaseInvoice.PageExt.al b/Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseInvoice.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/purchases/PurchaseInvoice.PageExt.al rename to Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseInvoice.PageExt.al diff --git a/Apps/CH/SwissQRBill/app/src/purchases/PurchaseJournal.PageExt.al b/Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseJournal.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/purchases/PurchaseJournal.PageExt.al rename to Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseJournal.PageExt.al diff --git a/Apps/CH/SwissQRBill/app/src/purchases/PurchaseOrder.PageExt.al b/Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseOrder.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/purchases/PurchaseOrder.PageExt.al rename to Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchaseOrder.PageExt.al diff --git a/Apps/CH/SwissQRBill/app/src/purchases/Purchases.Codeunit.al b/Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchases.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/purchases/Purchases.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/purchases/SwissQRBillPurchases.Codeunit.al diff --git a/Apps/CH/SwissQRBill/app/src/report/ManualPrint.Page.al b/Apps/CH/SwissQRBill/app/src/report/SwissQRBillManualPrint.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/report/ManualPrint.Page.al rename to Apps/CH/SwissQRBill/app/src/report/SwissQRBillManualPrint.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/report/Print.Report.al b/Apps/CH/SwissQRBill/app/src/report/SwissQRBillPrint.Report.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/report/Print.Report.al rename to Apps/CH/SwissQRBill/app/src/report/SwissQRBillPrint.Report.al diff --git a/Apps/CH/SwissQRBill/app/src/report/PrintSelectDoc.Page.al b/Apps/CH/SwissQRBill/app/src/report/SwissQRBillPrintSelectDoc.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/report/PrintSelectDoc.Page.al rename to Apps/CH/SwissQRBill/app/src/report/SwissQRBillPrintSelectDoc.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/BankAccount.TableExt.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBankAccount.TableExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/BankAccount.TableExt.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBankAccount.TableExt.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/BillingDetail.Enum.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingDetail.Enum.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/BillingDetail.Enum.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingDetail.Enum.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/BillingDetail.Table.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingDetail.Table.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/BillingDetail.Table.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingDetail.Table.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/BillingDetails.Page.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingDetails.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/BillingDetails.Page.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingDetails.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/BillingInfo.Codeunit.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingInfo.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/BillingInfo.Codeunit.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingInfo.Codeunit.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/BillingInfo.Page.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingInfo.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/BillingInfo.Page.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingInfo.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/BillingInfo.Table.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingInfo.Table.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/BillingInfo.Table.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillBillingInfo.Table.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/CompanyInfo.PageExt.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillCompanyInfo.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/CompanyInfo.PageExt.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillCompanyInfo.PageExt.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/CompanyInfo.TableExt.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillCompanyInfo.TableExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/CompanyInfo.TableExt.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillCompanyInfo.TableExt.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/Layout.Page.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillLayout.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/Layout.Page.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillLayout.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/Layout.Table.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillLayout.Table.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/Layout.Table.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillLayout.Table.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/PaymentMethod.PageExt.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillPaymentMethod.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/PaymentMethod.PageExt.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillPaymentMethod.PageExt.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/PaymentMethod.TableExt.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillPaymentMethod.TableExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/PaymentMethod.TableExt.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillPaymentMethod.TableExt.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/Reports.Enum.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillReports.Enum.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/Reports.Enum.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillReports.Enum.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/Reports.Page.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillReports.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/Reports.Page.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillReports.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/Reports.Table.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillReports.Table.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/Reports.Table.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillReports.Table.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/Setup.Page.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillSetup.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/Setup.Page.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillSetup.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/Setup.Table.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillSetup.Table.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/Setup.Table.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillSetup.Table.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/SetupWizard.Page.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillSetupWizard.Page.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/SetupWizard.Page.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillSetupWizard.Page.al diff --git a/Apps/CH/SwissQRBill/app/src/setup/VendBankAccCard.PageExt.al b/Apps/CH/SwissQRBill/app/src/setup/SwissQRBillVendBankAccCard.PageExt.al similarity index 100% rename from Apps/CH/SwissQRBill/app/src/setup/VendBankAccCard.PageExt.al rename to Apps/CH/SwissQRBill/app/src/setup/SwissQRBillVendBankAccCard.PageExt.al diff --git a/Apps/CH/SwissQRBill/test/app.json b/Apps/CH/SwissQRBill/test/app.json index befb2432a8..4813c61a8e 100644 --- a/Apps/CH/SwissQRBill/test/app.json +++ b/Apps/CH/SwissQRBill/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for QR-bill management for Switzerland", "description": "Tests for QR-bill management for Switzerland", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2115702", @@ -16,25 +16,25 @@ "id": "98860128-1333-4598-a3da-0590804648b7", "name": "QR-Bill Management for Switzerland", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 148090, @@ -47,5 +47,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CH/SwissQRBill/test/src/BillingInfo.Codeunit.al b/Apps/CH/SwissQRBill/test/src/SwissQRBillTestBillingInfo.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/test/src/BillingInfo.Codeunit.al rename to Apps/CH/SwissQRBill/test/src/SwissQRBillTestBillingInfo.Codeunit.al diff --git a/Apps/CH/SwissQRBill/test/src/EncodeParse.Codeunit.al b/Apps/CH/SwissQRBill/test/src/SwissQRBillTestEncodeParse.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/test/src/EncodeParse.Codeunit.al rename to Apps/CH/SwissQRBill/test/src/SwissQRBillTestEncodeParse.Codeunit.al diff --git a/Apps/CH/SwissQRBill/test/src/IncomingDoc.Codeunit.al b/Apps/CH/SwissQRBill/test/src/SwissQRBillTestIncomingDoc.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/test/src/IncomingDoc.Codeunit.al rename to Apps/CH/SwissQRBill/test/src/SwissQRBillTestIncomingDoc.Codeunit.al diff --git a/Apps/CH/SwissQRBill/test/src/Library.Codeunit.al b/Apps/CH/SwissQRBill/test/src/SwissQRBillTestLibrary.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/test/src/Library.Codeunit.al rename to Apps/CH/SwissQRBill/test/src/SwissQRBillTestLibrary.Codeunit.al diff --git a/Apps/CH/SwissQRBill/test/src/Misc.Codeunit.al b/Apps/CH/SwissQRBill/test/src/SwissQRBillTestMisc.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/test/src/Misc.Codeunit.al rename to Apps/CH/SwissQRBill/test/src/SwissQRBillTestMisc.Codeunit.al diff --git a/Apps/CH/SwissQRBill/test/src/Print.Codeunit.al b/Apps/CH/SwissQRBill/test/src/SwissQRBillTestPrint.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/test/src/Print.Codeunit.al rename to Apps/CH/SwissQRBill/test/src/SwissQRBillTestPrint.Codeunit.al diff --git a/Apps/CH/SwissQRBill/test/src/Purchases.Codeunit.al b/Apps/CH/SwissQRBill/test/src/SwissQRBillTestPurchases.Codeunit.al similarity index 100% rename from Apps/CH/SwissQRBill/test/src/Purchases.Codeunit.al rename to Apps/CH/SwissQRBill/test/src/SwissQRBillTestPurchases.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AccSchedExtHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AccSchedExtHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AccSchedExtHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AccSchedExtHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdjExchRatesHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdjExchRatesHandler.Codeunit.al deleted file mode 100644 index b59c7e6626..0000000000 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdjExchRatesHandler.Codeunit.al +++ /dev/null @@ -1,34 +0,0 @@ -#if not CLEAN21 -#pragma warning disable AL0432 -codeunit 31414 "Adj. Exch. Rates handler CZZ" -{ - ObsoleteReason = 'No longer used.'; - ObsoleteState = Pending; -#pragma warning disable AS0072 - ObsoleteTag = '21.0'; -#pragma warning restore AS0072 - - [EventSubscriber(ObjectType::Report, Report::"Adjust Exchange Rates CZL", 'OnSkipCustLedgerEntry', '', false, false)] - local procedure AdjusExchnageRatesCZLOnSkipCustLedgerEntry(CustLedgerEntry: Record "Cust. Ledger Entry"; SkipAdvancePayments: Boolean; var SkipCustLedgerEntry: Boolean) - begin - if SkipCustLedgerEntry then - exit; - if (CustLedgerEntry."Advance Letter No. CZZ" = '') or not SkipAdvancePayments then - exit; - - SkipCustLedgerEntry := true; - end; - - [EventSubscriber(ObjectType::Report, Report::"Adjust Exchange Rates CZL", 'OnSkipVendorLedgerEntry', '', false, false)] - local procedure AdjusExchnageRatesCZLOnSkipVendorLedgerEntry(VendorLedgerEntry: Record "Vendor Ledger Entry"; SkipAdvancePayments: Boolean; var SkipVendorLedgerEntry: Boolean) - begin - if SkipVendorLedgerEntry then - exit; - if (VendorLedgerEntry."Advance Letter No. CZZ" = '') or not SkipAdvancePayments then - exit; - - SkipVendorLedgerEntry := true; - end; -} -#pragma warning restore AL0432 -#endif diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvPaymentsApprovMgt.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvPaymentsApprovMgtCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvPaymentsApprovMgt.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvPaymentsApprovMgtCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvanceLetterDocTotals.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvanceLetterDocTotalsCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvanceLetterDocTotals.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvanceLetterDocTotalsCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvancePaymentsMgt.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvancePaymentsMgt.Codeunit.al deleted file mode 100644 index 37098b28a6..0000000000 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/AdvancePaymentsMgt.Codeunit.al +++ /dev/null @@ -1,41 +0,0 @@ -#if not CLEAN21 -codeunit 31086 "Advance Payments Mgt. CZZ" -{ - Permissions = tabledata "NAV App Installed App" = r; - ObsoleteReason = 'Advance Payments will be enabled so this code is no longer used.'; - ObsoleteState = Pending; -#pragma warning disable AS0072 - ObsoleteTag = '21.0'; -#pragma warning restore AS0072 - - var - AdvancePaymentsFeatureIdTok: Label 'AdvancePaymentsLocalizationForCzech', Locked = true, MaxLength = 50; - - procedure IsEnabled() FeatureEnabled: Boolean - var - FeatureManagementFacade: Codeunit "Feature Management Facade"; - begin - FeatureEnabled := FeatureManagementFacade.IsEnabled(AdvancePaymentsFeatureIdTok); - OnAfterIsEnabled(FeatureEnabled); - end; - - procedure TestIsEnabled() - var - AdvancePaymentsFeatureNotEnabledErr: Label 'Advance Payments feature is not enabled.\Please enable it using Feature Management before use.'; - begin - if not IsEnabled() then - Error(AdvancePaymentsFeatureNotEnabledErr); - end; - - procedure GetFeatureKey(): Text[50] - begin - exit(AdvancePaymentsFeatureIdTok); - end; - - [IntegrationEvent(false, false)] - local procedure OnAfterIsEnabled(var FeatureEnabled: Boolean) - begin - end; - -} -#endif diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalcAndPostVATHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalcAndPostVATHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalcAndPostVATHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalcAndPostVATHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateCustomerStats.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateCustomerStatsCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateCustomerStats.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateCustomerStatsCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateVendorStats.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateVendorStatsCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateVendorStats.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CalculateVendorStatsCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentLineHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentLineHandlerCZZ.Codeunit.al similarity index 89% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentLineHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentLineHandlerCZZ.Codeunit.al index ecfcb3a828..65088280d8 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentLineHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentLineHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentPostHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentPostHandlerCZZ.Codeunit.al similarity index 96% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentPostHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentPostHandlerCZZ.Codeunit.al index 9f1e33538a..3290b9bc26 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentPostHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashDocumentPostHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashFlowHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashFlowHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashFlowHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CashFlowHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CrossApplicationHandlerCZZ.Codeunit.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CrossApplicationHandlerCZZ.Codeunit.al index c10b82d7df..2ada097b71 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CrossApplicationHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustEntryEditHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustEntryEditHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustEntryEditHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustEntryEditHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustLedgerEntryHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustLedgerEntryHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustLedgerEntryHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CustLedgerEntryHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DataClassEvalHandlerCZZ.Codeunit.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DataClassEvalHandlerCZZ.Codeunit.al index 4daaabb993..693807d5fc 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DataClassEvalHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DocAttachmentHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/DocAttachmentHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/EETManagementHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/EETManagementHandlerCZZ.Codeunit.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/EETManagementHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/EETManagementHandlerCZZ.Codeunit.al index 8d4c168f91..8fca152b6b 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/EETManagementHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/EETManagementHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/FeatureAdvancePayments.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/FeatureAdvancePayments.Codeunit.al deleted file mode 100644 index a8e0b3262b..0000000000 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/FeatureAdvancePayments.Codeunit.al +++ /dev/null @@ -1,30 +0,0 @@ -#if not CLEAN21 -Codeunit 31085 "Feature Advance Payments CZZ" implements "Feature Data Update" -{ - Access = Internal; - ObsoleteState = Pending; - ObsoleteReason = 'AdvancePaymentsLocalizationForCzech removed from Feature Management.'; - ObsoleteTag = '21.0'; - - procedure IsDataUpdateRequired(): Boolean; - begin - exit(false); - end; - - procedure ReviewData(); - begin - end; - - procedure AfterUpdate(FeatureDataUpdateStatus: Record "Feature Data Update Status") - begin - end; - - procedure UpdateData(FeatureDataUpdateStatus: Record "Feature Data Update Status"); - begin - end; - - procedure GetTaskDescription() TaskDescription: Text; - begin - end; -} -#endif diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlCheckLnHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlCheckLnHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlCheckLnHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlCheckLnHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostBatchHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostBatchHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostBatchHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostBatchHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostLineHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostLineHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostLineHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenJnlPostLineHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenLedgerSetupHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenLedgerSetupHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenLedgerSetupHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GenLedgerSetupHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GetLastGLEntryNo.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GetLastGLEntryNoCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GetLastGLEntryNo.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GetLastGLEntryNoCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/IncomingDocumentHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/IncomingDocumentHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/IncomingDocumentHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/IncomingDocumentHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplicationCZZ.Codeunit.al similarity index 89% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplicationCZZ.Codeunit.al index a3d71cf490..2a44a479da 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplicationCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -11,7 +11,6 @@ using Microsoft.CashFlow.Forecast; using Microsoft.CashFlow.Setup; using Microsoft.CashFlow.Worksheet; using Microsoft.EServices.EDocument; -using Microsoft.Finance.CashDesk; using Microsoft.Finance.FinancialReports; using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Finance.VAT.Ledger; @@ -30,6 +29,7 @@ using Microsoft.Sales.History; using Microsoft.Sales.Receivables; using System.Reflection; using System.Upgrade; +using Microsoft.Finance.CashDesk; #pragma warning disable AL0432 codeunit 31087 "Install Application CZZ" @@ -156,6 +156,7 @@ codeunit 31087 "Install Application CZZ" if not AdvanceLetterTemplateCZZ.Get('N_' + PurchaseAdvPaymentTemplate.Code) then begin AdvanceLetterTemplateCZZ.Init(); AdvanceLetterTemplateCZZ.Code := 'N_' + PurchaseAdvPaymentTemplate.Code; + AdvanceLetterTemplateCZZ.Description := CopyStr(PurchaseAdvPaymentTemplate.Description, 1, MaxStrLen(AdvanceLetterTemplateCZZ.Description)); AdvanceLetterTemplateCZZ."Sales/Purchase" := AdvanceLetterTemplateCZZ."Sales/Purchase"::Purchase; if VendorPostingGroup.Get(PurchaseAdvPaymentTemplate."Vendor Posting Group") then AdvanceLetterTemplateCZZ."Advance Letter G/L Account" := VendorPostingGroup."Advance Account"; @@ -180,6 +181,7 @@ codeunit 31087 "Install Application CZZ" if not AdvanceLetterTemplateCZZ.Get('P_' + SalesAdvPaymentTemplate.Code) then begin AdvanceLetterTemplateCZZ.Init(); AdvanceLetterTemplateCZZ.Code := 'P_' + SalesAdvPaymentTemplate.Code; + AdvanceLetterTemplateCZZ.Description := CopyStr(SalesAdvPaymentTemplate.Description, 1, MaxStrLen(AdvanceLetterTemplateCZZ.Description)); AdvanceLetterTemplateCZZ."Sales/Purchase" := AdvanceLetterTemplateCZZ."Sales/Purchase"::Sales; if CustomerPostingGroup.Get(SalesAdvPaymentTemplate."Customer Posting Group") then AdvanceLetterTemplateCZZ."Advance Letter G/L Account" := CustomerPostingGroup."Advance Account"; @@ -435,55 +437,65 @@ codeunit 31087 "Install Application CZZ" LastClosedDate := PurchAdvLetterHeaderCZZ."Posting Date"; PurchAdvLetterHeaderCZZ.CalcFields("To Use", "To Use (LCY)"); if (PurchAdvLetterHeaderCZZ."To Use" <> 0) or (PurchAdvLetterHeaderCZZ."To Use (LCY)" <> 0) then begin + PurchAdvanceLetterEntry1.Reset(); + PurchAdvanceLetterEntry1.SetRange("Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvanceLetterEntry1.SetRange("Entry Type", PurchAdvanceLetterEntry1."Entry Type"::VAT); + PurchAdvanceLetterEntry1.SetRange("Document Type", PurchAdvanceLetterEntry1."Document Type"::"Credit Memo"); + if not PurchAdvanceLetterEntry1.FindLast() then + PurchAdvanceLetterEntry1."Document No." := PurchAdvLetterHeaderCZZ."No."; + PurchAdvLetterManagementCZZ.AdvEntryInit(false); PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, PurchAdvLetterHeaderCZZ."No.", LastClosedDate, -PurchAdvLetterHeaderCZZ."To Use", -PurchAdvLetterHeaderCZZ."To Use (LCY)", - PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."Currency Factor", PurchAdvLetterHeaderCZZ."No.", '', + PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."Currency Factor", PurchAdvanceLetterEntry1."Document No.", '', PurchAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", PurchAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", PurchAdvLetterHeaderCZZ."Dimension Set ID", false); + + PurchAdvLetterEntryCZZ1.Reset(); + PurchAdvLetterEntryCZZ1.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ1.SetFilter("Entry Type", '%1|%2|%3', + PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Payment", + PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Usage", + PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Rate"); + if PurchAdvLetterEntryCZZ1.FindSet() then + repeat + TempPurchAdvLetterEntryCZZ.SetRange("VAT Bus. Posting Group", PurchAdvLetterEntryCZZ1."VAT Bus. Posting Group"); + TempPurchAdvLetterEntryCZZ.SetRange("VAT Prod. Posting Group", PurchAdvLetterEntryCZZ1."VAT Prod. Posting Group"); + if not TempPurchAdvLetterEntryCZZ.FindFirst() then begin + TempPurchAdvLetterEntryCZZ.Init(); + TempPurchAdvLetterEntryCZZ := PurchAdvLetterEntryCZZ1; + TempPurchAdvLetterEntryCZZ.Insert(); + end else begin + TempPurchAdvLetterEntryCZZ.Amount += PurchAdvLetterEntryCZZ1.Amount; + TempPurchAdvLetterEntryCZZ."Amount (LCY)" += PurchAdvLetterEntryCZZ1."Amount (LCY)"; + TempPurchAdvLetterEntryCZZ."VAT Amount" += PurchAdvLetterEntryCZZ1."VAT Amount"; + TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)" += PurchAdvLetterEntryCZZ1."VAT Amount (LCY)"; + TempPurchAdvLetterEntryCZZ."VAT Base Amount" += PurchAdvLetterEntryCZZ1."VAT Base Amount"; + TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)" += PurchAdvLetterEntryCZZ1."VAT Base Amount (LCY)"; + TempPurchAdvLetterEntryCZZ.Modify(); + end; + until PurchAdvLetterEntryCZZ1.Next() = 0; + + TempPurchAdvLetterEntryCZZ.Reset(); + if TempPurchAdvLetterEntryCZZ.FindSet() then + repeat + if (TempPurchAdvLetterEntryCZZ.Amount <> 0) or (TempPurchAdvLetterEntryCZZ."Amount (LCY)" <> 0) or + (TempPurchAdvLetterEntryCZZ."VAT Amount" <> 0) or (TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)" <> 0) or + (TempPurchAdvLetterEntryCZZ."VAT Base Amount" <> 0) or (TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)" <> 0) + then begin + PurchAdvLetterManagementCZZ.AdvEntryInit(false); + PurchAdvLetterManagementCZZ.AdvEntryInitVAT( + TempPurchAdvLetterEntryCZZ."VAT Bus. Posting Group", TempPurchAdvLetterEntryCZZ."VAT Prod. Posting Group", + LastClosedDate, LastClosedDate, 0, TempPurchAdvLetterEntryCZZ."VAT %", TempPurchAdvLetterEntryCZZ."VAT Identifier", TempPurchAdvLetterEntryCZZ."VAT Calculation Type", + -TempPurchAdvLetterEntryCZZ."VAT Amount", -TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)", + -TempPurchAdvLetterEntryCZZ."VAT Base Amount", -TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)"); + PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Close", PurchAdvLetterHeaderCZZ."No.", LastClosedDate, + -TempPurchAdvLetterEntryCZZ.Amount, -TempPurchAdvLetterEntryCZZ."Amount (LCY)", + PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."Currency Factor", PurchAdvanceLetterEntry1."Document No.", '', + PurchAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", PurchAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", PurchAdvLetterHeaderCZZ."Dimension Set ID", false); + end; + until TempPurchAdvLetterEntryCZZ.Next() = 0; + PurchAdvLetterManagementCZZ.CancelInitEntry(PurchAdvLetterHeaderCZZ, LastClosedDate, false); end; - PurchAdvLetterEntryCZZ1.Reset(); - PurchAdvLetterEntryCZZ1.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterEntryCZZ1.SetFilter("Entry Type", '%1|%2', - PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Payment", PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Usage"); - if PurchAdvLetterEntryCZZ1.FindSet() then - repeat - TempPurchAdvLetterEntryCZZ.SetRange("VAT Bus. Posting Group", PurchAdvLetterEntryCZZ1."VAT Bus. Posting Group"); - TempPurchAdvLetterEntryCZZ.SetRange("VAT Prod. Posting Group", PurchAdvLetterEntryCZZ1."VAT Prod. Posting Group"); - if not TempPurchAdvLetterEntryCZZ.FindFirst() then begin - TempPurchAdvLetterEntryCZZ.Init(); - TempPurchAdvLetterEntryCZZ := PurchAdvLetterEntryCZZ1; - TempPurchAdvLetterEntryCZZ.Insert(); - end else begin - TempPurchAdvLetterEntryCZZ.Amount += PurchAdvLetterEntryCZZ1.Amount; - TempPurchAdvLetterEntryCZZ."Amount (LCY)" += PurchAdvLetterEntryCZZ1."Amount (LCY)"; - TempPurchAdvLetterEntryCZZ."VAT Amount" += PurchAdvLetterEntryCZZ1."VAT Amount"; - TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)" += PurchAdvLetterEntryCZZ1."VAT Amount (LCY)"; - TempPurchAdvLetterEntryCZZ."VAT Base Amount" += PurchAdvLetterEntryCZZ1."VAT Base Amount"; - TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)" += PurchAdvLetterEntryCZZ1."VAT Base Amount (LCY)"; - TempPurchAdvLetterEntryCZZ.Modify(); - end; - until PurchAdvLetterEntryCZZ1.Next() = 0; - - TempPurchAdvLetterEntryCZZ.Reset(); - if TempPurchAdvLetterEntryCZZ.FindSet() then - repeat - if (TempPurchAdvLetterEntryCZZ.Amount <> 0) or (TempPurchAdvLetterEntryCZZ."Amount (LCY)" <> 0) or - (TempPurchAdvLetterEntryCZZ."VAT Amount" <> 0) or (TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)" <> 0) or - (TempPurchAdvLetterEntryCZZ."VAT Base Amount" <> 0) or (TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)" <> 0) - then begin - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - PurchAdvLetterManagementCZZ.AdvEntryInitVAT( - TempPurchAdvLetterEntryCZZ."VAT Bus. Posting Group", TempPurchAdvLetterEntryCZZ."VAT Prod. Posting Group", - LastClosedDate, LastClosedDate, 0, TempPurchAdvLetterEntryCZZ."VAT %", TempPurchAdvLetterEntryCZZ."VAT Identifier", TempPurchAdvLetterEntryCZZ."VAT Calculation Type", - -TempPurchAdvLetterEntryCZZ."VAT Amount", -TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)", - -TempPurchAdvLetterEntryCZZ."VAT Base Amount", -TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)"); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Close", PurchAdvLetterHeaderCZZ."No.", LastClosedDate, - -TempPurchAdvLetterEntryCZZ.Amount, -TempPurchAdvLetterEntryCZZ."Amount (LCY)", - PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."Currency Factor", PurchAdvLetterHeaderCZZ."No.", '', - PurchAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", PurchAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", PurchAdvLetterHeaderCZZ."Dimension Set ID", false); - end; - until TempPurchAdvLetterEntryCZZ.Next() = 0; - PurchAdvLetterManagementCZZ.CancelInitEntry(PurchAdvLetterHeaderCZZ, LastClosedDate, false); end; end; @@ -775,55 +787,65 @@ codeunit 31087 "Install Application CZZ" LastClosedDate := SalesAdvLetterHeaderCZZ."Posting Date"; SalesAdvLetterHeaderCZZ.CalcFields("To Use", "To Use (LCY)"); if (SalesAdvLetterHeaderCZZ."To Use" <> 0) or (SalesAdvLetterHeaderCZZ."To Use (LCY)" <> 0) then begin + SalesAdvanceLetterEntry1.Reset(); + SalesAdvanceLetterEntry1.SetRange("Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvanceLetterEntry1.SetRange("Entry Type", SalesAdvanceLetterEntry1."Entry Type"::VAT); + SalesAdvanceLetterEntry1.SetRange("Document Type", SalesAdvanceLetterEntry1."Document Type"::"Credit Memo"); + if not SalesAdvanceLetterEntry1.FindLast() then + SalesAdvanceLetterEntry1."Document No." := SalesAdvLetterHeaderCZZ."No."; + SalesAdvLetterManagementCZZ.AdvEntryInit(false); SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, SalesAdvLetterHeaderCZZ."No.", LastClosedDate, SalesAdvLetterHeaderCZZ."To Use", SalesAdvLetterHeaderCZZ."To Use (LCY)", - SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."Currency Factor", SalesAdvLetterHeaderCZZ."No.", + SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."Currency Factor", SalesAdvanceLetterEntry1."Document No.", SalesAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", SalesAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", SalesAdvLetterHeaderCZZ."Dimension Set ID", false); + + SalesAdvLetterEntryCZZ1.Reset(); + SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ1.SetFilter("Entry Type", '%1|%2|%3', + SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Payment", + SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Usage", + SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Rate"); + if SalesAdvLetterEntryCZZ1.FindSet() then + repeat + TempSalesAdvLetterEntryCZZ.SetRange("VAT Bus. Posting Group", SalesAdvLetterEntryCZZ1."VAT Bus. Posting Group"); + TempSalesAdvLetterEntryCZZ.SetRange("VAT Prod. Posting Group", SalesAdvLetterEntryCZZ1."VAT Prod. Posting Group"); + if not TempSalesAdvLetterEntryCZZ.FindFirst() then begin + TempSalesAdvLetterEntryCZZ.Init(); + TempSalesAdvLetterEntryCZZ := SalesAdvLetterEntryCZZ1; + TempSalesAdvLetterEntryCZZ.Insert(); + end else begin + TempSalesAdvLetterEntryCZZ.Amount += SalesAdvLetterEntryCZZ1.Amount; + TempSalesAdvLetterEntryCZZ."Amount (LCY)" += SalesAdvLetterEntryCZZ1."Amount (LCY)"; + TempSalesAdvLetterEntryCZZ."VAT Amount" += SalesAdvLetterEntryCZZ1."VAT Amount"; + TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)" += SalesAdvLetterEntryCZZ1."VAT Amount (LCY)"; + TempSalesAdvLetterEntryCZZ."VAT Base Amount" += SalesAdvLetterEntryCZZ1."VAT Base Amount"; + TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)" += SalesAdvLetterEntryCZZ1."VAT Base Amount (LCY)"; + TempSalesAdvLetterEntryCZZ.Modify(); + end; + until SalesAdvLetterEntryCZZ1.Next() = 0; + + TempSalesAdvLetterEntryCZZ.Reset(); + if TempSalesAdvLetterEntryCZZ.FindSet() then + repeat + if (TempSalesAdvLetterEntryCZZ.Amount <> 0) or (TempSalesAdvLetterEntryCZZ."Amount (LCY)" <> 0) or + (TempSalesAdvLetterEntryCZZ."VAT Amount" <> 0) or (TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)" <> 0) or + (TempSalesAdvLetterEntryCZZ."VAT Base Amount" <> 0) or (TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)" <> 0) + then begin + SalesAdvLetterManagementCZZ.AdvEntryInit(false); + SalesAdvLetterManagementCZZ.AdvEntryInitVAT( + TempSalesAdvLetterEntryCZZ."VAT Bus. Posting Group", TempSalesAdvLetterEntryCZZ."VAT Prod. Posting Group", + LastClosedDate, 0, TempSalesAdvLetterEntryCZZ."VAT %", TempSalesAdvLetterEntryCZZ."VAT Identifier", TempSalesAdvLetterEntryCZZ."VAT Calculation Type", + -TempSalesAdvLetterEntryCZZ."VAT Amount", -TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)", + -TempSalesAdvLetterEntryCZZ."VAT Base Amount", -TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)"); + SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Close", SalesAdvLetterHeaderCZZ."No.", LastClosedDate, + -TempSalesAdvLetterEntryCZZ.Amount, -TempSalesAdvLetterEntryCZZ."Amount (LCY)", + SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."Currency Factor", SalesAdvanceLetterEntry1."Document No.", + SalesAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", SalesAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", SalesAdvLetterHeaderCZZ."Dimension Set ID", false); + end; + until TempSalesAdvLetterEntryCZZ.Next() = 0; + SalesAdvLetterManagementCZZ.CancelInitEntry(SalesAdvLetterHeaderCZZ, LastClosedDate, false); end; - SalesAdvLetterEntryCZZ1.Reset(); - SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterEntryCZZ1.SetFilter("Entry Type", '%1|%2', - SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Payment", SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Usage"); - if SalesAdvLetterEntryCZZ1.FindSet() then - repeat - TempSalesAdvLetterEntryCZZ.SetRange("VAT Bus. Posting Group", SalesAdvLetterEntryCZZ1."VAT Bus. Posting Group"); - TempSalesAdvLetterEntryCZZ.SetRange("VAT Prod. Posting Group", SalesAdvLetterEntryCZZ1."VAT Prod. Posting Group"); - if not TempSalesAdvLetterEntryCZZ.FindFirst() then begin - TempSalesAdvLetterEntryCZZ.Init(); - TempSalesAdvLetterEntryCZZ := SalesAdvLetterEntryCZZ1; - TempSalesAdvLetterEntryCZZ.Insert(); - end else begin - TempSalesAdvLetterEntryCZZ.Amount += SalesAdvLetterEntryCZZ1.Amount; - TempSalesAdvLetterEntryCZZ."Amount (LCY)" += SalesAdvLetterEntryCZZ1."Amount (LCY)"; - TempSalesAdvLetterEntryCZZ."VAT Amount" += SalesAdvLetterEntryCZZ1."VAT Amount"; - TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)" += SalesAdvLetterEntryCZZ1."VAT Amount (LCY)"; - TempSalesAdvLetterEntryCZZ."VAT Base Amount" += SalesAdvLetterEntryCZZ1."VAT Base Amount"; - TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)" += SalesAdvLetterEntryCZZ1."VAT Base Amount (LCY)"; - TempSalesAdvLetterEntryCZZ.Modify(); - end; - until SalesAdvLetterEntryCZZ1.Next() = 0; - - TempSalesAdvLetterEntryCZZ.Reset(); - if TempSalesAdvLetterEntryCZZ.FindSet() then - repeat - if (TempSalesAdvLetterEntryCZZ.Amount <> 0) or (TempSalesAdvLetterEntryCZZ."Amount (LCY)" <> 0) or - (TempSalesAdvLetterEntryCZZ."VAT Amount" <> 0) or (TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)" <> 0) or - (TempSalesAdvLetterEntryCZZ."VAT Base Amount" <> 0) or (TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)" <> 0) - then begin - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - SalesAdvLetterManagementCZZ.AdvEntryInitVAT( - TempSalesAdvLetterEntryCZZ."VAT Bus. Posting Group", TempSalesAdvLetterEntryCZZ."VAT Prod. Posting Group", - LastClosedDate, 0, TempSalesAdvLetterEntryCZZ."VAT %", TempSalesAdvLetterEntryCZZ."VAT Identifier", TempSalesAdvLetterEntryCZZ."VAT Calculation Type", - -TempSalesAdvLetterEntryCZZ."VAT Amount", -TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)", - -TempSalesAdvLetterEntryCZZ."VAT Base Amount", -TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)"); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Close", SalesAdvLetterHeaderCZZ."No.", LastClosedDate, - -TempSalesAdvLetterEntryCZZ.Amount, -TempSalesAdvLetterEntryCZZ."Amount (LCY)", - SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."Currency Factor", SalesAdvLetterHeaderCZZ."No.", - SalesAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", SalesAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", SalesAdvLetterHeaderCZZ."Dimension Set ID", false); - end; - until TempSalesAdvLetterEntryCZZ.Next() = 0; - SalesAdvLetterManagementCZZ.CancelInitEntry(SalesAdvLetterHeaderCZZ, LastClosedDate, false); end; end; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/MatchBankPaymentHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/MatchBankPaymentHandlerCZZ.Codeunit.al similarity index 99% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/MatchBankPaymentHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/MatchBankPaymentHandlerCZZ.Codeunit.al index ec0a124967..4b33288a23 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/MatchBankPaymentHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/MatchBankPaymentHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NavigateHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NavigateHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NotificationHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/NotificationHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManRelease.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManReleaseCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManRelease.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManReleaseCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManReopen.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManReopenCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManReopen.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PAdvLetDocManReopenCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PaymentOrderMgtHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PaymentOrderMgtHandlerCZZ.Codeunit.al similarity index 96% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PaymentOrderMgtHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PaymentOrderMgtHandlerCZZ.Codeunit.al index 568f84c880..3fcd70a119 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PaymentOrderMgtHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PaymentOrderMgtHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewEventHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewEventHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewEventHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewEventHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PostPreviewHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PrepaymentMgtHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PrepaymentMgtHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PrepaymentMgtHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PrepaymentMgtHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterManagement.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterManagementCZZ.Codeunit.al similarity index 94% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterManagement.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterManagementCZZ.Codeunit.al index ea49348b9b..1f2c64ea15 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterManagement.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterManagementCZZ.Codeunit.al @@ -7,7 +7,9 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.Currency; using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Finance.GeneralLedger.Posting; +#if not CLEAN22 using Microsoft.Finance.VAT.Calculation; +#endif using Microsoft.Finance.VAT.Ledger; using Microsoft.Finance.VAT.Setup; using Microsoft.Foundation.AuditCodes; @@ -32,6 +34,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" ReplaceVATDateMgtCZL: Codeunit "Replace VAT Date Mgt. CZL"; #pragma warning restore AL0432 #endif + DateEmptyErr: Label 'Posting Date and VAT Date cannot be empty.'; DocumentNoOrDatesEmptyErr: Label 'Document No. and Dates cannot be empty.'; ExternalDocumentNoEmptyErr: Label 'External Document No. cannot be empty.'; OriginalDocVATDateMustBeLessOrVATDateErr: Label 'Original Document VAT Date (%1) must be less or equal to VAT Date (%2).', Comment = '%1 = OriginalDocVATDate, %2 = VATDate'; @@ -226,7 +229,6 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" procedure LinkAdvancePayment(var VendorLedgerEntry: Record "Vendor Ledger Entry") var TempAdvanceLetterLinkBuffer: Record "Advance Letter Link Buffer CZZ" temporary; - GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; AdvanceLetterLink: Page "Advance Letter Link CZZ"; PostingDate: Date; begin @@ -235,18 +237,26 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" if AdvanceLetterLink.RunModal() = Action::LookupOK then begin AdvanceLetterLink.GetLetterLink(TempAdvanceLetterLinkBuffer); TempAdvanceLetterLinkBuffer.SetFilter(Amount, '>0'); - if TempAdvanceLetterLinkBuffer.FindSet() then begin + if not TempAdvanceLetterLinkBuffer.IsEmpty() then begin PostingDate := GetPostingDateUI(VendorLedgerEntry."Posting Date"); if PostingDate = 0D then Error(PostingDateEmptyErr); - - repeat - PostAdvancePayment(VendorLedgerEntry, TempAdvanceLetterLinkBuffer."Advance Letter No.", TempAdvanceLetterLinkBuffer.Amount, GenJnlPostLine, PostingDate); - until TempAdvanceLetterLinkBuffer.Next() = 0; + LinkAdvancePayment(VendorLedgerEntry, TempAdvanceLetterLinkBuffer, PostingDate); end; end; end; + procedure LinkAdvancePayment(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var TempAdvanceLetterLinkBuffer: Record "Advance Letter Link Buffer CZZ" temporary; PostingDate: Date) + var + GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; + begin + TempAdvanceLetterLinkBuffer.SetFilter(Amount, '>0'); + if not TempAdvanceLetterLinkBuffer.IsEmpty() then + repeat + PostAdvancePayment(VendorLedgerEntry, TempAdvanceLetterLinkBuffer."Advance Letter No.", TempAdvanceLetterLinkBuffer.Amount, GenJnlPostLine, PostingDate); + until TempAdvanceLetterLinkBuffer.Next() = 0; + end; + procedure PostAdvancePayment(var VendorLedgerEntry: Record "Vendor Ledger Entry"; AdvanceLetterNo: Code[20]; LinkAmount: Decimal; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var PostingDate: Date; @@ -459,6 +469,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" VATPostingSetup.TestField("Purch. Adv.Letter VAT Acc. CZZ"); InitGenJnlLineFromAdvance(PurchAdvLetterHeaderCZZ, PurchAdvLetterEntryCZZ, DocumentNo, ExternalDocumentNo, VendorLedgerEntry."Source Code", PurchAdvLetterHeaderCZZ."Posting Description", GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::Invoice; GenJournalLine.Validate("Posting Date", PostingDate); #if not CLEAN22 #pragma warning disable AL0432 @@ -575,27 +586,11 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" AdvancePostingBufferCZZ."VAT Amount" := 0; end; AdvancePostingBufferCZZ."VAT Base Amount" := AdvancePostingBufferCZZ.Amount - AdvancePostingBufferCZZ."VAT Amount"; - CalculateAmountLCY(AdvancePostingBufferCZZ, PurchAdvLetterHeaderCZZ."Currency Code", CurrencyFactor); + AdvancePostingBufferCZZ.UpdateLCYAmounts(PurchAdvLetterHeaderCZZ."Currency Code", CurrencyFactor); AdvancePostingBufferCZZ.Insert(); until TempAdvancePostingBufferCZZ.Next() = 0; end; - local procedure CalculateAmountLCY(var AdvancePostingBufferCZZ: Record "Advance Posting Buffer CZZ"; CurrencyCode: Code[10]; CurrencyFactor: Decimal) - var - CurrencyExchangeRate: Record "Currency Exchange Rate"; - begin - if (CurrencyCode = '') or (CurrencyFactor = 0) then begin - AdvancePostingBufferCZZ."Amount (ACY)" := AdvancePostingBufferCZZ.Amount; - AdvancePostingBufferCZZ."VAT Base Amount (ACY)" := AdvancePostingBufferCZZ."VAT Base Amount"; - AdvancePostingBufferCZZ."VAT Amount (ACY)" := AdvancePostingBufferCZZ."VAT Amount"; - exit; - end; - - AdvancePostingBufferCZZ."Amount (ACY)" := Round(CurrencyExchangeRate.ExchangeAmtFCYToLCY(0D, CurrencyCode, AdvancePostingBufferCZZ.Amount, CurrencyFactor)); - AdvancePostingBufferCZZ."VAT Base Amount (ACY)" := Round(CurrencyExchangeRate.ExchangeAmtFCYToLCY(0D, CurrencyCode, AdvancePostingBufferCZZ."VAT Base Amount", CurrencyFactor)); - AdvancePostingBufferCZZ."VAT Amount (ACY)" := AdvancePostingBufferCZZ."Amount (ACY)" - AdvancePostingBufferCZZ."VAT Base Amount (ACY)"; - end; - local procedure BufferAdvanceLines(AdvanceNo: Code[20]; var AdvancePostingBufferCZZ: Record "Advance Posting Buffer CZZ") var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; @@ -767,6 +762,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" VATPostingSetup.TestField("Purch. Adv.Letter VAT Acc. CZZ"); InitGenJnlLineFromAdvance(PurchAdvLetterHeaderCZZ, PurchAdvLetterEntryCZZ2, PurchAdvLetterEntryCZZ2."Document No.", PurchAdvLetterEntryCZZ2."External Document No.", '', '', GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::Invoice; GenJournalLine.Validate("Posting Date", PurchAdvLetterEntryCZZ2."Posting Date"); GenJournalLine."Account No." := VATPostingSetup."Purch. Adv. Letter Account CZZ"; GenJournalLine.SetCurrencyFactor(PurchAdvLetterEntryCZZ2."Currency Code", PurchAdvLetterEntryCZZ2."Currency Factor"); @@ -1005,7 +1001,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" OnAfterPostReversePaymentRepos(GenJournalLine, PurchAdvLetterHeaderCZZ); end; - InitGenJnlLineFromVendLedgEntry(VendorLedgerEntry, GenJournalLine, GenJournalLine."Document Type"::" "); + InitGenJnlLineFromVendLedgEntry(VendorLedgerEntry, GenJournalLine, GenJournalLine."Document Type"::Invoice); GenJournalLine."Adv. Letter Template Code CZZ" := PurchAdvLetterHeaderCZZ."Advance Letter Code"; GenJournalLine."Adv. Letter No. (Entry) CZZ" := PurchAdvLetterEntryCZZ."Purch. Adv. Letter No."; GenJournalLine."Use Advance G/L Account CZZ" := true; @@ -1043,7 +1039,8 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" if PurchAdvLetterHeaderCZZ."Automatic Post VAT Usage" then ReverseAdvancePaymentVAT(PurchAdvLetterEntryCZZ, VendorLedgerEntry."Source Code", VendorLedgerEntry.Description, - PurchInvHeader."VAT Currency Factor CZL", VendorLedgerEntry."Document No.", VendorLedgerEntry."External Document No.", + PurchInvHeader."VAT Currency Factor CZL", Enum::"Gen. Journal Document Type"::Invoice, + VendorLedgerEntry."Document No.", VendorLedgerEntry."External Document No.", VendorLedgerEntry."Posting Date", VendorLedgerEntry."VAT Date CZL", PurchInvHeader."Original Doc. VAT Date CZL", ReverseAmount, PurchAdvLetterEntryCZZGlob."Entry No.", VendorLedgerEntry."Document No.", "Advance Letter Entry Type CZZ"::"VAT Usage", true, GenJnlPostLine, Preview); @@ -1054,7 +1051,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" end; end; - local procedure ReverseAdvancePaymentVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; SourceCode: Code[10]; PostDescription: Text[100]; CurrencyFactor: Decimal; DocumentNo: Code[20]; ExternalDocumentNo: Code[35]; PostingDate: Date; VATDate: Date; OriginalDocumentVATDate: Date; ReverseAmount: Decimal; UsageEntryNo: Integer; InvoiceNo: Code[20]; EntryType: enum "Advance Letter Entry Type CZZ"; AutoPostVATUsage: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; Preview: Boolean) + local procedure ReverseAdvancePaymentVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; SourceCode: Code[10]; PostDescription: Text[100]; CurrencyFactor: Decimal; DocumentType: Enum "Gen. Journal Document Type"; DocumentNo: Code[20]; ExternalDocumentNo: Code[35]; PostingDate: Date; VATDate: Date; OriginalDocumentVATDate: Date; ReverseAmount: Decimal; UsageEntryNo: Integer; InvoiceNo: Code[20]; EntryType: enum "Advance Letter Entry Type CZZ"; AutoPostVATUsage: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; Preview: Boolean) var PurchAdvLetterEntryCZZ2: Record "Purch. Adv. Letter Entry CZZ"; TempAdvancePostingBufferCZZ1: Record "Advance Posting Buffer CZZ" temporary; @@ -1146,6 +1143,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" VATPostingSetup.TestField("Purch. Adv.Letter VAT Acc. CZZ"); InitGenJnlLineFromAdvance(PurchAdvLetterHeaderCZZ, PurchAdvLetterEntryCZZ, DocumentNo, ExternalDocumentNo, SourceCode, PostDescription, GenJournalLine); + GenJournalLine."Document Type" := DocumentType; GenJournalLine.Validate("Posting Date", PostingDate); #if not CLEAN22 #pragma warning disable AL0432 @@ -1389,14 +1387,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" if AdvancePostingBufferCZZ.FindSet() then repeat - if (PurchAdvLetterEntryCZZ."Currency Code" <> '') and (CurrencyFactor <> 0) then begin - AdvancePostingBufferCZZ."Amount (ACY)" := Round(AdvancePostingBufferCZZ.Amount / CurrencyFactor); - AdvancePostingBufferCZZ."VAT Amount (ACY)" := Round(AdvancePostingBufferCZZ."VAT Amount" / CurrencyFactor); - end else begin - AdvancePostingBufferCZZ."Amount (ACY)" := AdvancePostingBufferCZZ.Amount; - AdvancePostingBufferCZZ."VAT Amount (ACY)" := AdvancePostingBufferCZZ."VAT Amount"; - end; - AdvancePostingBufferCZZ."VAT Base Amount (ACY)" := AdvancePostingBufferCZZ."Amount (ACY)" - AdvancePostingBufferCZZ."VAT Amount (ACY)"; + AdvancePostingBufferCZZ.UpdateLCYAmounts(PurchAdvLetterEntryCZZ."Currency Code", CurrencyFactor); AdvancePostingBufferCZZ.Modify(); until AdvancePostingBufferCZZ.Next() = 0; end; @@ -1438,7 +1429,11 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" else CurrencyFactor := VendorLedgerEntry."Original Currency Factor"; - ReverseAdvancePaymentVAT(PurchAdvLetterEntryCZZ2, VendorLedgerEntry."Source Code", VendorLedgerEntry.Description, CurrencyFactor, PurchAdvLetterEntryCZZ."Document No.", VendorLedgerEntry."External Document No.", VendorLedgerEntry."Posting Date", VendorLedgerEntry."VAT Date CZL", VendorLedgerEntry."VAT Date CZL", -PurchAdvLetterEntryCZZ.Amount, PurchAdvLetterEntryCZZ."Entry No.", VendorLedgerEntry."Document No.", "Advance Letter Entry Type CZZ"::"VAT Usage", false, GenJnlPostLine, false); + ReverseAdvancePaymentVAT(PurchAdvLetterEntryCZZ2, VendorLedgerEntry."Source Code", VendorLedgerEntry.Description, + CurrencyFactor, Enum::"Gen. Journal Document Type"::Invoice, PurchAdvLetterEntryCZZ."Document No.", + VendorLedgerEntry."External Document No.", VendorLedgerEntry."Posting Date", VendorLedgerEntry."VAT Date CZL", + VendorLedgerEntry."VAT Date CZL", -PurchAdvLetterEntryCZZ.Amount, PurchAdvLetterEntryCZZ."Entry No.", + VendorLedgerEntry."Document No.", "Advance Letter Entry Type CZZ"::"VAT Usage", false, GenJnlPostLine, false); end; local procedure PostExchangeRate(ExchRateAmount: Decimal; ExchRateVATAmount: Decimal; var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; @@ -1684,8 +1679,36 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" end; procedure CloseAdvanceLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + var + AdvPaymentCloseDialogCZZ: Page "Adv. Payment Close Dialog CZZ"; + OriginalDocumentVATDate: Date; + PostingDate: Date; + VATDate: Date; + CurrencyFactor: Decimal; + begin + if PurchAdvLetterHeaderCZZ.Status = PurchAdvLetterHeaderCZZ.Status::Closed then + exit; + + if PurchAdvLetterHeaderCZZ.Status = PurchAdvLetterHeaderCZZ.Status::New then begin + UpdateStatus(PurchAdvLetterHeaderCZZ, PurchAdvLetterHeaderCZZ.Status::Closed); + exit; + end; + + AdvPaymentCloseDialogCZZ.SetValues(WorkDate(), WorkDate(), PurchAdvLetterHeaderCZZ."Currency Code", 0, '', true); + if AdvPaymentCloseDialogCZZ.RunModal() <> Action::OK then + exit; + + AdvPaymentCloseDialogCZZ.GetValues(PostingDate, VATDate, OriginalDocumentVATDate, CurrencyFactor); + if (PostingDate = 0D) or (VATDate = 0D) then + Error(DateEmptyErr); + + CloseAdvanceLetter(PurchAdvLetterHeaderCZZ, PostingDate, VATDate, OriginalDocumentVATDate, CurrencyFactor, AdvPaymentCloseDialogCZZ.GetExternalDocumentNo()); + end; + + procedure CloseAdvanceLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; PostingDate: Date; VATDate: Date; OriginalDocumentVATDate: Date; CurrencyFactor: Decimal; ExternalDocumentNo: Code[35]) var AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + CurrencyExchangeRate: Record "Currency Exchange Rate"; PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; GenJournalLine: Record "Gen. Journal Line"; VendorLedgerEntry1: Record "Vendor Ledger Entry"; @@ -1694,18 +1717,11 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" PurchasesPayablesSetup: Record "Purchases & Payables Setup"; GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; NoSeriesManagement: Codeunit NoSeriesManagement; - AdvPaymentCloseDialogCZZ: Page "Adv. Payment Close Dialog CZZ"; ApplId: Code[50]; - ExternalDocumentNo: Code[35]; VATDocumentNo: Code[20]; - PostingDate: Date; - VATDate: Date; - OriginalDocumentVATDate: Date; - CurrencyFactor: Decimal; RemAmount: Decimal; RemAmountLCY: Decimal; UsageEntryNo: Integer; - DateEmptyErr: Label 'Posting Date and VAT Date cannot be empty.'; begin if PurchAdvLetterHeaderCZZ.Status = PurchAdvLetterHeaderCZZ.Status::Closed then exit; @@ -1715,124 +1731,126 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" exit; end; - AdvPaymentCloseDialogCZZ.SetValues(WorkDate(), WorkDate(), PurchAdvLetterHeaderCZZ."Currency Code", 0, '', true); - if AdvPaymentCloseDialogCZZ.RunModal() = Action::OK then begin - AdvPaymentCloseDialogCZZ.GetValues(PostingDate, VATDate, OriginalDocumentVATDate, CurrencyFactor); - if (PostingDate = 0D) or (VATDate = 0D) then - Error(DateEmptyErr); - if PurchAdvLetterHeaderCZZ."Currency Code" = '' then - CurrencyFactor := 1; - ExternalDocumentNo := AdvPaymentCloseDialogCZZ.GetExternalDocumentNo(); - PurchasesPayablesSetup.Get(); - if PurchasesPayablesSetup."Ext. Doc. No. Mandatory" and (ExternalDocumentNo = '') then - Error(ExternalDocumentNoEmptyErr); + if PostingDate = 0D then + PostingDate := WorkDate(); + if VATDate = 0D then + VATDate := WorkDate(); + if OriginalDocumentVATDate = 0D then + OriginalDocumentVATDate := WorkDate(); + if CurrencyFactor = 0 then + CurrencyFactor := CurrencyExchangeRate.ExchangeRate(PostingDate, PurchAdvLetterHeaderCZZ."Currency Code"); + PurchasesPayablesSetup.Get(); + if PurchasesPayablesSetup."Ext. Doc. No. Mandatory" and (ExternalDocumentNo = '') then + Error(ExternalDocumentNoEmptyErr); - VATDocumentNo := ''; + VATDocumentNo := ''; - PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); - PurchAdvLetterEntryCZZ.SetRange(Cancelled, false); - if PurchAdvLetterEntryCZZ.FindSet() then - repeat - RemAmount := GetRemAmtPurchAdvPayment(PurchAdvLetterEntryCZZ, 0D); - RemAmountLCY := GetRemAmtLCYPurchAdvPayment(PurchAdvLetterEntryCZZ, 0D); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + PurchAdvLetterEntryCZZ.SetRange(Cancelled, false); + if PurchAdvLetterEntryCZZ.FindSet() then + repeat + RemAmount := GetRemAmtPurchAdvPayment(PurchAdvLetterEntryCZZ, 0D); + RemAmountLCY := GetRemAmtLCYPurchAdvPayment(PurchAdvLetterEntryCZZ, 0D); + + if RemAmount <> 0 then begin + if VATDocumentNo = '' then begin + AdvanceLetterTemplateCZZ.Get(PurchAdvLetterHeaderCZZ."Advance Letter Code"); + AdvanceLetterTemplateCZZ.TestField("Advance Letter Cr. Memo Nos."); + VATDocumentNo := NoSeriesManagement.GetNextNo(AdvanceLetterTemplateCZZ."Advance Letter Cr. Memo Nos.", PostingDate, true); + end; + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterEntryCZZ."Purch. Adv. Letter No."); + VendorLedgerEntry1.Get(PurchAdvLetterEntryCZZ."Vendor Ledger Entry No."); if RemAmount <> 0 then begin - if VATDocumentNo = '' then begin - AdvanceLetterTemplateCZZ.Get(PurchAdvLetterHeaderCZZ."Advance Letter Code"); - AdvanceLetterTemplateCZZ.TestField("Advance Letter Cr. Memo Nos."); - VATDocumentNo := NoSeriesManagement.GetNextNo(AdvanceLetterTemplateCZZ."Advance Letter Cr. Memo Nos.", PostingDate, true); - end; - - PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterEntryCZZ."Purch. Adv. Letter No."); - VendorLedgerEntry1.Get(PurchAdvLetterEntryCZZ."Vendor Ledger Entry No."); - if RemAmount <> 0 then begin - InitGenJnlLineFromVendLedgEntry(VendorLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::" "); - GenJournalLine."Adv. Letter Template Code CZZ" := PurchAdvLetterHeaderCZZ."Advance Letter Code"; - GenJournalLine.Correction := true; - GenJournalLine."External Document No." := ExternalDocumentNo; - GenJournalLine."Document No." := VATDocumentNo; - GenJournalLine."Posting Date" := PostingDate; - GenJournalLine."Document Date" := PostingDate; + InitGenJnlLineFromVendLedgEntry(VendorLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::" "); + GenJournalLine."Adv. Letter Template Code CZZ" := PurchAdvLetterHeaderCZZ."Advance Letter Code"; + GenJournalLine.Correction := true; + GenJournalLine."External Document No." := ExternalDocumentNo; + GenJournalLine."Document No." := VATDocumentNo; + GenJournalLine."Posting Date" := PostingDate; + GenJournalLine."Document Date" := PostingDate; #if not CLEAN22 #pragma warning disable AL0432 - if not ReplaceVATDateMgtCZL.IsEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else + if not ReplaceVATDateMgtCZL.IsEnabled() then + GenJournalLine.Validate("VAT Date CZL", VATDate) + else #pragma warning restore AL0432 #endif GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine.Validate("Original Doc. VAT Date CZL", OriginalDocumentVATDate); - GenJournalLine."Adv. Letter No. (Entry) CZZ" := PurchAdvLetterEntryCZZ."Purch. Adv. Letter No."; - GenJournalLine."Use Advance G/L Account CZZ" := true; - GenJournalLine.SetCurrencyFactor(PurchAdvLetterEntryCZZ."Currency Code", CurrencyFactor); - GenJournalLine.Validate(Amount, -RemAmount); - - ApplId := CopyStr(VendorLedgerEntry1."Document No." + Format(VendorLedgerEntry1."Entry No.", 0, ''), 1, MaxStrLen(ApplId)); - VendorLedgerEntry1.Prepayment := false; - VendorLedgerEntry1."Advance Letter No. CZZ" := PurchAdvLetterEntryCZZ."Purch. Adv. Letter No."; - VendorLedgerEntry1.Modify(); - VendorLedgerEntry1.CalcFields("Remaining Amount"); - VendorLedgerEntry1."Amount to Apply" := VendorLedgerEntry1."Remaining Amount"; - VendorLedgerEntry1."Applies-to ID" := ApplId; - Codeunit.Run(Codeunit::"Vend. Entry-Edit", VendorLedgerEntry1); - GenJournalLine."Applies-to ID" := ApplId; - - OnBeforePostClosePayment(GenJournalLine, PurchAdvLetterHeaderCZZ); - GenJnlPostLine.RunWithCheck(GenJournalLine); - OnAfterPostClosePayment(GenJournalLine, PurchAdvLetterHeaderCZZ); - - VendorLedgerEntry2.FindLast(); - AdvEntryInit(false); - AdvEntryInitVendLedgEntryNo(VendorLedgerEntry2."Entry No."); - AdvEntryInitRelatedEntry(PurchAdvLetterEntryCZZ."Entry No."); - AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, GenJournalLine."Adv. Letter No. (Entry) CZZ", GenJournalLine."Posting Date", - GenJournalLine.Amount, -RemAmountLCY, - GenJournalLine."Currency Code", GenJournalLine."Currency Factor", GenJournalLine."Document No.", GenJournalLine."External Document No.", - GenJournalLine."Shortcut Dimension 1 Code", GenJournalLine."Shortcut Dimension 2 Code", GenJournalLine."Dimension Set ID", false); - - UsageEntryNo := PurchAdvLetterEntryCZZGlob."Entry No."; - end else begin - VendorLedgerEntry2.Init(); - UsageEntryNo := 0; - end; + GenJournalLine.Validate("Original Doc. VAT Date CZL", OriginalDocumentVATDate); + GenJournalLine."Adv. Letter No. (Entry) CZZ" := PurchAdvLetterEntryCZZ."Purch. Adv. Letter No."; + GenJournalLine."Use Advance G/L Account CZZ" := true; + GenJournalLine.SetCurrencyFactor(PurchAdvLetterEntryCZZ."Currency Code", CurrencyFactor); + GenJournalLine.Validate(Amount, -RemAmount); + + ApplId := CopyStr(VendorLedgerEntry1."Document No." + Format(VendorLedgerEntry1."Entry No.", 0, ''), 1, MaxStrLen(ApplId)); + VendorLedgerEntry1.Prepayment := false; + VendorLedgerEntry1."Advance Letter No. CZZ" := PurchAdvLetterEntryCZZ."Purch. Adv. Letter No."; + VendorLedgerEntry1.Modify(); + VendorLedgerEntry1.CalcFields("Remaining Amount"); + VendorLedgerEntry1."Amount to Apply" := VendorLedgerEntry1."Remaining Amount"; + VendorLedgerEntry1."Applies-to ID" := ApplId; + Codeunit.Run(Codeunit::"Vend. Entry-Edit", VendorLedgerEntry1); + GenJournalLine."Applies-to ID" := ApplId; - ReverseAdvancePaymentVAT(PurchAdvLetterEntryCZZ, VendorLedgerEntry1."Source Code", PurchAdvLetterHeaderCZZ."Posting Description", CurrencyFactor, VATDocumentNo, ExternalDocumentNo, PostingDate, VATDate, OriginalDocumentVATDate, 0, UsageEntryNo, '', "Advance Letter Entry Type CZZ"::"VAT Close", true, GenJnlPostLine, false); + OnBeforePostClosePayment(GenJournalLine, PurchAdvLetterHeaderCZZ); + GenJnlPostLine.RunWithCheck(GenJournalLine); + OnAfterPostClosePayment(GenJournalLine, PurchAdvLetterHeaderCZZ); - if RemAmount <> 0 then begin - InitGenJnlLineFromVendLedgEntry(VendorLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::Payment); - GenJournalLine.Correction := true; - GenJournalLine."External Document No." := ExternalDocumentNo; - GenJournalLine."Document No." := VATDocumentNo; - GenJournalLine."Posting Date" := PostingDate; - GenJournalLine."Document Date" := PostingDate; + VendorLedgerEntry2.FindLast(); + AdvEntryInit(false); + AdvEntryInitVendLedgEntryNo(VendorLedgerEntry2."Entry No."); + AdvEntryInitRelatedEntry(PurchAdvLetterEntryCZZ."Entry No."); + AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, GenJournalLine."Adv. Letter No. (Entry) CZZ", GenJournalLine."Posting Date", + GenJournalLine.Amount, -RemAmountLCY, + GenJournalLine."Currency Code", GenJournalLine."Currency Factor", GenJournalLine."Document No.", GenJournalLine."External Document No.", + GenJournalLine."Shortcut Dimension 1 Code", GenJournalLine."Shortcut Dimension 2 Code", GenJournalLine."Dimension Set ID", false); + + UsageEntryNo := PurchAdvLetterEntryCZZGlob."Entry No."; + end else begin + VendorLedgerEntry2.Init(); + UsageEntryNo := 0; + end; + + ReverseAdvancePaymentVAT(PurchAdvLetterEntryCZZ, VendorLedgerEntry1."Source Code", + PurchAdvLetterHeaderCZZ."Posting Description", CurrencyFactor, Enum::"Gen. Journal Document Type"::"Credit Memo", + VATDocumentNo, ExternalDocumentNo, PostingDate, VATDate, OriginalDocumentVATDate, 0, UsageEntryNo, '', + "Advance Letter Entry Type CZZ"::"VAT Close", true, GenJnlPostLine, false); + + if RemAmount <> 0 then begin + InitGenJnlLineFromVendLedgEntry(VendorLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::Payment); + GenJournalLine.Correction := true; + GenJournalLine."External Document No." := ExternalDocumentNo; + GenJournalLine."Document No." := VATDocumentNo; + GenJournalLine."Posting Date" := PostingDate; + GenJournalLine."Document Date" := PostingDate; #if not CLEAN22 #pragma warning disable AL0432 - if not ReplaceVATDateMgtCZL.IsEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else + if not ReplaceVATDateMgtCZL.IsEnabled() then + GenJournalLine.Validate("VAT Date CZL", VATDate) + else #pragma warning restore AL0432 #endif GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine.Validate("Original Doc. VAT Date CZL", OriginalDocumentVATDate); - GenJournalLine.SetCurrencyFactor(PurchAdvLetterEntryCZZ."Currency Code", CurrencyFactor); - GenJournalLine.Validate(Amount, RemAmount); - GenJournalLine."Variable Symbol CZL" := PurchAdvLetterHeaderCZZ."Variable Symbol"; - OnBeforePostClosePaymentRepos(GenJournalLine, PurchAdvLetterHeaderCZZ); - GenJnlPostLine.RunWithCheck(GenJournalLine); - OnAfterPostClosePaymentRepos(GenJournalLine, PurchAdvLetterHeaderCZZ); - end; + GenJournalLine.Validate("Original Doc. VAT Date CZL", OriginalDocumentVATDate); + GenJournalLine.SetCurrencyFactor(PurchAdvLetterEntryCZZ."Currency Code", CurrencyFactor); + GenJournalLine.Validate(Amount, RemAmount); + GenJournalLine."Variable Symbol CZL" := PurchAdvLetterHeaderCZZ."Variable Symbol"; + OnBeforePostClosePaymentRepos(GenJournalLine, PurchAdvLetterHeaderCZZ); + GenJnlPostLine.RunWithCheck(GenJournalLine); + OnAfterPostClosePaymentRepos(GenJournalLine, PurchAdvLetterHeaderCZZ); end; - until PurchAdvLetterEntryCZZ.Next() = 0; + end; + until PurchAdvLetterEntryCZZ.Next() = 0; - CancelInitEntry(PurchAdvLetterHeaderCZZ, PostingDate, false); - PurchAdvLetterHeaderCZZ.Find(); - UpdateStatus(PurchAdvLetterHeaderCZZ, PurchAdvLetterHeaderCZZ.Status::Closed); + CancelInitEntry(PurchAdvLetterHeaderCZZ, PostingDate, false); + PurchAdvLetterHeaderCZZ.Find(); + UpdateStatus(PurchAdvLetterHeaderCZZ, PurchAdvLetterHeaderCZZ.Status::Closed); - AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Purchase); - AdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", PurchAdvLetterHeaderCZZ."No."); - AdvanceLetterApplicationCZZ.DeleteAll(true); - end; + AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Purchase); + AdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", PurchAdvLetterHeaderCZZ."No."); + AdvanceLetterApplicationCZZ.DeleteAll(true); end; procedure PostAdvanceCreditMemoVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") @@ -1918,7 +1936,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" BufferAdvanceVATLines(PurchAdvLetterEntryCZZ3, TempAdvancePostingBufferCZZ2, 0D, true); end; - PurchAdvLetterEntryCZZ2.FindSet(true, true); + PurchAdvLetterEntryCZZ2.FindSet(true); repeat TempAdvancePostingBufferCZZ1.Reset(); TempAdvancePostingBufferCZZ1.SetRange("VAT Bus. Posting Group", PurchAdvLetterEntryCZZ2."VAT Bus. Posting Group"); @@ -1931,6 +1949,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" VATPostingSetup.TestField("Purch. Adv.Letter VAT Acc. CZZ"); InitGenJnlLineFromAdvance(PurchAdvLetterHeaderCZZ, PurchAdvLetterEntryCZZ, DocumentNo, ExternalDocumentNo, VATEntry."Source Code", PurchAdvLetterHeaderCZZ."Posting Description", GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::"Credit Memo"; GenJournalLine.Validate("Posting Date", PostingDate); #if not CLEAN22 #pragma warning disable AL0432 @@ -2280,6 +2299,7 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" VATPostingSetup.Get(PurchAdvLetterEntryCZZ."VAT Bus. Posting Group", PurchAdvLetterEntryCZZ."VAT Prod. Posting Group"); InitGenJnlLineFromAdvance(PurchAdvLetterHeaderCZZ, PurchAdvLetterEntryCZZ, PurchAdvLetterEntryCZZ."Document No.", PurchAdvLetterEntryCZZ."External Document No.", PurchInvHeader."Source Code", PurchInvHeader."Posting Description", GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::Invoice; GenJournalLine.Validate("Posting Date", PurchAdvLetterEntryCZZ."Posting Date"); #if not CLEAN22 #pragma warning disable AL0432 @@ -2492,10 +2512,11 @@ codeunit 31019 "PurchAdvLetterManagement CZZ" ApplyAdvanceLetterQst: Label 'Apply Advance Letter?'; CannotApplyErr: Label 'You cannot apply more than %1.', Comment = '%1 = Remaining amount to apply'; begin - LinkAdvanceLetter("Adv. Letter Usage Doc.Type CZZ"::"Posted Purchase Invoice", PurchInvHeader."No.", PurchInvHeader."Pay-to Vendor No.", PurchInvHeader."Posting Date", PurchInvHeader."Currency Code"); - AdvanceLetterApplication.SetRange("Document Type", AdvanceLetterApplication."Document Type"::"Posted Purchase Invoice"); AdvanceLetterApplication.SetRange("Document No.", PurchInvHeader."No."); + if AdvanceLetterApplication.IsEmpty() then + LinkAdvanceLetter("Adv. Letter Usage Doc.Type CZZ"::"Posted Purchase Invoice", PurchInvHeader."No.", PurchInvHeader."Pay-to Vendor No.", PurchInvHeader."Posting Date", PurchInvHeader."Currency Code"); + if AdvanceLetterApplication.IsEmpty() then exit; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterPrinted.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterPrintedCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterPrinted.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchAdvLetterPrintedCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostAdvanceLetter.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostAdvanceLetterCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostAdvanceLetter.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostAdvanceLetterCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostHandlerCZZ.Codeunit.al similarity index 97% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostHandlerCZZ.Codeunit.al index 8b2a8c7b6f..a86863b362 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchPostHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchaseHeaderHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchaseHeaderHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchaseHeaderHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/PurchaseHeaderHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDoc.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDocCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDoc.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDocCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelSalesAdvLetterDoc.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelSalesAdvLetterDocCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelSalesAdvLetterDoc.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelSalesAdvLetterDocCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ReportSelectionHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ReportSelectionHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ReportSelectionHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ReportSelectionHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManRelease.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManReleaseCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManRelease.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManReleaseCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManReopen.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManReopenCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManReopen.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SAdvLetDocManReopenCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterManagement.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterManagementCZZ.Codeunit.al similarity index 93% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterManagement.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterManagementCZZ.Codeunit.al index 31598504dc..571c37a692 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterManagement.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterManagementCZZ.Codeunit.al @@ -7,7 +7,9 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.Currency; using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Finance.GeneralLedger.Posting; +#if not CLEAN22 using Microsoft.Finance.VAT.Calculation; +#endif using Microsoft.Finance.VAT.Ledger; using Microsoft.Finance.VAT.Setup; using Microsoft.Foundation.AuditCodes; @@ -227,12 +229,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" procedure LinkAdvancePayment(var CustLedgerEntry: Record "Cust. Ledger Entry") var TempAdvanceLetterLinkBufferCZZ: Record "Advance Letter Link Buffer CZZ" temporary; - TempSalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ" temporary; - SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; AdvanceLetterLinkCZZ: Page "Advance Letter Link CZZ"; - InsertedEntryNo: Integer; PostingDate: Date; begin AdvanceLetterLinkCZZ.SetCVEntry(CustLedgerEntry.RecordId); @@ -240,25 +237,38 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" if AdvanceLetterLinkCZZ.RunModal() = Action::LookupOK then begin AdvanceLetterLinkCZZ.GetLetterLink(TempAdvanceLetterLinkBufferCZZ); TempAdvanceLetterLinkBufferCZZ.SetFilter(Amount, '>0'); - if TempAdvanceLetterLinkBufferCZZ.FindSet() then begin + if not TempAdvanceLetterLinkBufferCZZ.IsEmpty() then begin PostingDate := GetPostingDateUI(CustLedgerEntry."Posting Date"); if PostingDate = 0D then Error(PostingDateEmptyErr); + LinkAdvancePayment(CustLedgerEntry, TempAdvanceLetterLinkBufferCZZ, PostingDate); + end; + end; + end; - repeat - InsertedEntryNo := PostAdvancePayment(CustLedgerEntry, TempAdvanceLetterLinkBufferCZZ."Advance Letter No.", TempAdvanceLetterLinkBufferCZZ.Amount, GenJnlPostLine, PostingDate); - SalesAdvLetterEntryCZZ.Get(InsertedEntryNo); - TempSalesAdvLetterEntryCZZ := SalesAdvLetterEntryCZZ; - TempSalesAdvLetterEntryCZZ.Insert(); - until TempAdvanceLetterLinkBufferCZZ.Next() = 0; + procedure LinkAdvancePayment(var CustLedgerEntry: Record "Cust. Ledger Entry"; var TempAdvanceLetterLinkBufferCZZ: Record "Advance Letter Link Buffer CZZ" temporary; PostingDate: Date) + var + TempSalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ" temporary; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; + InsertedEntryNo: Integer; + begin + TempAdvanceLetterLinkBufferCZZ.SetFilter(Amount, '>0'); + if TempAdvanceLetterLinkBufferCZZ.FindSet() then begin + repeat + InsertedEntryNo := PostAdvancePayment(CustLedgerEntry, TempAdvanceLetterLinkBufferCZZ."Advance Letter No.", TempAdvanceLetterLinkBufferCZZ.Amount, GenJnlPostLine, PostingDate); + SalesAdvLetterEntryCZZ.Get(InsertedEntryNo); + TempSalesAdvLetterEntryCZZ := SalesAdvLetterEntryCZZ; + TempSalesAdvLetterEntryCZZ.Insert(); + until TempAdvanceLetterLinkBufferCZZ.Next() = 0; - if TempSalesAdvLetterEntryCZZ.FindSet() then - repeat - SalesAdvLetterHeaderCZZ.Get(TempSalesAdvLetterEntryCZZ."Sales Adv. Letter No."); - if SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" then - PostAdvancePaymentVAT(TempSalesAdvLetterEntryCZZ, 0D); - until TempSalesAdvLetterEntryCZZ.Next() = 0; - end; + if TempSalesAdvLetterEntryCZZ.FindSet() then + repeat + SalesAdvLetterHeaderCZZ.Get(TempSalesAdvLetterEntryCZZ."Sales Adv. Letter No."); + if SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" then + PostAdvancePaymentVAT(TempSalesAdvLetterEntryCZZ, 0D); + until TempSalesAdvLetterEntryCZZ.Next() = 0; end; end; @@ -475,6 +485,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" Error(SettingErr, VATPostingSetup.FieldCaption("Sales Adv. Letter VAT Acc. CZZ"), VATPostingSetup.TableCaption, VATPostingSetup."VAT Bus. Posting Group", VATPostingSetup."VAT Prod. Posting Group"); InitGenJnlLineFromAdvance(SalesAdvLetterHeaderCZZ, SalesAdvLetterEntryCZZ, DocumentNo, CustLedgerEntry."Source Code", SalesAdvLetterHeaderCZZ."Posting Description", GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::Invoice; GenJournalLine.Validate("Posting Date", PostingDate); #if not CLEAN22 #pragma warning disable AL0432 @@ -588,28 +599,11 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" AdvancePostingBufferCZZ."VAT Amount" := 0; end; AdvancePostingBufferCZZ."VAT Base Amount" := AdvancePostingBufferCZZ.Amount - AdvancePostingBufferCZZ."VAT Amount"; - CalculateAmountLCY(AdvancePostingBufferCZZ, SalesAdvLetterHeaderCZZ."Currency Code", CurrencyFactor); + AdvancePostingBufferCZZ.UpdateLCYAmounts(SalesAdvLetterHeaderCZZ."Currency Code", CurrencyFactor); AdvancePostingBufferCZZ.Insert(); until TempAdvancePostingBufferCZZ.Next() = 0; end; - local procedure CalculateAmountLCY(var AdvancePostingBufferCZZ: Record "Advance Posting Buffer CZZ"; CurrencyCode: Code[10]; CurrencyFactor: Decimal) - var - CurrencyExchangeRate: Record "Currency Exchange Rate"; - begin - if (CurrencyCode = '') or (CurrencyFactor = 0) then begin - AdvancePostingBufferCZZ."Amount (ACY)" := AdvancePostingBufferCZZ.Amount; - AdvancePostingBufferCZZ."VAT Base Amount (ACY)" := AdvancePostingBufferCZZ."VAT Base Amount"; - AdvancePostingBufferCZZ."VAT Amount (ACY)" := AdvancePostingBufferCZZ."VAT Amount"; - exit; - end; - - AdvancePostingBufferCZZ."Amount (ACY)" := Round(CurrencyExchangeRate.ExchangeAmtFCYToLCY(0D, CurrencyCode, AdvancePostingBufferCZZ.Amount, CurrencyFactor)); - AdvancePostingBufferCZZ."VAT Base Amount (ACY)" := Round(CurrencyExchangeRate.ExchangeAmtFCYToLCY(0D, CurrencyCode, AdvancePostingBufferCZZ."VAT Base Amount", CurrencyFactor)); - AdvancePostingBufferCZZ."VAT Amount (ACY)" := AdvancePostingBufferCZZ."Amount (ACY)" - AdvancePostingBufferCZZ."VAT Base Amount (ACY)"; - end; - - procedure PostAndSendAdvancePaymentVAT(var SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ") var SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; @@ -807,6 +801,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" VATPostingSetup.TestField("Sales Adv. Letter VAT Acc. CZZ"); InitGenJnlLineFromAdvance(SalesAdvLetterHeaderCZZ, SalesAdvLetterEntryCZZ2, SalesAdvLetterEntryCZZ2."Document No.", '', '', GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::Invoice; GenJournalLine.Validate("Posting Date", SalesAdvLetterEntryCZZ2."Posting Date"); GenJournalLine."Account No." := VATPostingSetup."Sales Adv. Letter Account CZZ"; GenJournalLine.SetCurrencyFactor(SalesAdvLetterEntryCZZ2."Currency Code", SalesAdvLetterEntryCZZ2."Currency Factor"); @@ -1164,7 +1159,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" OnAfterPostReversePaymentRepos(GenJournalLine, SalesAdvLetterHeaderCZZ); end; - InitGenJnlLineFromCustLedgEntry(CustLedgerEntry, GenJournalLine, GenJournalLine."Document Type"::" "); + InitGenJnlLineFromCustLedgEntry(CustLedgerEntry, GenJournalLine, GenJournalLine."Document Type"::Invoice); GenJournalLine."Adv. Letter Template Code CZZ" := SalesAdvLetterHeaderCZZ."Advance Letter Code"; GenJournalLine."Adv. Letter No. (Entry) CZZ" := SalesAdvLetterEntryCZZ."Sales Adv. Letter No."; GenJournalLine."Use Advance G/L Account CZZ" := true; @@ -1201,7 +1196,10 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" GenJournalLine."Shortcut Dimension 1 Code", GenJournalLine."Shortcut Dimension 2 Code", GenJournalLine."Dimension Set ID", Preview); if SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" then - ReverseAdvancePaymentVAT(SalesAdvLetterEntryCZZ, CustLedgerEntry."Source Code", CustLedgerEntry.Description, ReverseAmount, CustLedgerEntry."Original Currency Factor", DocumentNo, CustLedgerEntry."Posting Date", CustLedgerEntry."VAT Date CZL", SalesAdvLetterEntryCZZGlob."Entry No.", CustLedgerEntry."Document No.", "Advance Letter Entry Type CZZ"::"VAT Usage", GenJnlPostLine, Preview); + ReverseAdvancePaymentVAT(SalesAdvLetterEntryCZZ, CustLedgerEntry."Source Code", CustLedgerEntry.Description, + ReverseAmount, CustLedgerEntry."Original Currency Factor", Enum::"Gen. Journal Document Type"::Invoice, + DocumentNo, CustLedgerEntry."Posting Date", CustLedgerEntry."VAT Date CZL", SalesAdvLetterEntryCZZGlob."Entry No.", + CustLedgerEntry."Document No.", "Advance Letter Entry Type CZZ"::"VAT Usage", GenJnlPostLine, Preview); if not Preview then begin SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterEntryCZZ."Sales Adv. Letter No."); @@ -1209,7 +1207,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" end; end; - local procedure ReverseAdvancePaymentVAT(var SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; SourceCode: Code[10]; PostDescription: Text[100]; ReverseAmount: Decimal; CurrencyFactor: Decimal; DocumentNo: Code[20]; PostingDate: Date; VATDate: Date; UsageEntryNo: Integer; InvoiceNo: Code[20]; EntryType: enum "Advance Letter Entry Type CZZ"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; Preview: Boolean) + local procedure ReverseAdvancePaymentVAT(var SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; SourceCode: Code[10]; PostDescription: Text[100]; ReverseAmount: Decimal; CurrencyFactor: Decimal; DocumentType: Enum "Gen. Journal Document Type"; DocumentNo: Code[20]; PostingDate: Date; VATDate: Date; UsageEntryNo: Integer; InvoiceNo: Code[20]; EntryType: enum "Advance Letter Entry Type CZZ"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; Preview: Boolean) var SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; TempAdvancePostingBufferCZZ1: Record "Advance Posting Buffer CZZ" temporary; @@ -1260,6 +1258,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" VATPostingSetup.TestField("Sales Adv. Letter VAT Acc. CZZ"); InitGenJnlLineFromAdvance(SalesAdvLetterHeaderCZZ, SalesAdvLetterEntryCZZ, DocumentNo, SourceCode, PostDescription, GenJournalLine); + GenJournalLine."Document Type" := DocumentType; GenJournalLine.Validate("Posting Date", PostingDate); #if not CLEAN22 #pragma warning disable AL0432 @@ -1517,7 +1516,11 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" else CurrencyFactor := CustLedgerEntry."Original Currency Factor"; - ReverseAdvancePaymentVAT(SalesAdvLetterEntry2, CustLedgerEntry."Source Code", CustLedgerEntry.Description, SalesAdvLetterEntryCZZ.Amount, CurrencyFactor, SalesAdvLetterEntryCZZ."Document No.", CustLedgerEntry."Posting Date", CustLedgerEntry."VAT Date CZL", SalesAdvLetterEntryCZZ."Entry No.", CustLedgerEntry."Document No.", "Advance Letter Entry Type CZZ"::"VAT Usage", GenJnlPostLine, false); + ReverseAdvancePaymentVAT(SalesAdvLetterEntry2, CustLedgerEntry."Source Code", CustLedgerEntry.Description, + SalesAdvLetterEntryCZZ.Amount, CurrencyFactor, Enum::"Gen. Journal Document Type"::Invoice, + SalesAdvLetterEntryCZZ."Document No.", CustLedgerEntry."Posting Date", CustLedgerEntry."VAT Date CZL", + SalesAdvLetterEntryCZZ."Entry No.", CustLedgerEntry."Document No.", + "Advance Letter Entry Type CZZ"::"VAT Usage", GenJnlPostLine, false); end; local procedure PostExchangeRate(ExchRateAmount: Decimal; ExchRateVATAmount: Decimal; var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; @@ -1761,8 +1764,35 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" end; procedure CloseAdvanceLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + var + AdvPaymentCloseDialogCZZ: Page "Adv. Payment Close Dialog CZZ"; + PostingDate: Date; + VATDate: Date; + CurrencyFactor: Decimal; + begin + if SalesAdvLetterHeaderCZZ.Status = SalesAdvLetterHeaderCZZ.Status::Closed then + exit; + + if SalesAdvLetterHeaderCZZ.Status = SalesAdvLetterHeaderCZZ.Status::New then begin + UpdateStatus(SalesAdvLetterHeaderCZZ, SalesAdvLetterHeaderCZZ.Status::Closed); + exit; + end; + + AdvPaymentCloseDialogCZZ.SetValues(WorkDate(), WorkDate(), SalesAdvLetterHeaderCZZ."Currency Code", 0, '', false); + if AdvPaymentCloseDialogCZZ.RunModal() <> Action::OK then + exit; + + AdvPaymentCloseDialogCZZ.GetValues(PostingDate, VATDate, CurrencyFactor); + if (PostingDate = 0D) or (VATDate = 0D) then + Error(DateEmptyErr); + + CloseAdvanceLetter(SalesAdvLetterHeaderCZZ, PostingDate, VATDate, CurrencyFactor); + end; + + procedure CloseAdvanceLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; PostingDate: Date; VATDate: Date; CurrencyFactor: Decimal) var AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + CurrencyExchangeRate: Record "Currency Exchange Rate"; SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; GenJournalLine: Record "Gen. Journal Line"; CustLedgerEntry1: Record "Cust. Ledger Entry"; @@ -1772,12 +1802,8 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; NoSeriesManagement: Codeunit NoSeriesManagement; - AdvPaymentCloseDialogCZZ: Page "Adv. Payment Close Dialog CZZ"; ApplId: Code[50]; VATDocumentNo: Code[20]; - PostingDate: Date; - VATDate: Date; - CurrencyFactor: Decimal; RemAmount: Decimal; RemAmountLCY: Decimal; begin @@ -1789,114 +1815,116 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" exit; end; - AdvPaymentCloseDialogCZZ.SetValues(WorkDate(), WorkDate(), SalesAdvLetterHeaderCZZ."Currency Code", 0, '', false); - if AdvPaymentCloseDialogCZZ.RunModal() = Action::OK then begin - AdvPaymentCloseDialogCZZ.GetValues(PostingDate, VATDate, CurrencyFactor); - if (PostingDate = 0D) or (VATDate = 0D) then - Error(DateEmptyErr); - if SalesAdvLetterHeaderCZZ."Currency Code" = '' then - CurrencyFactor := 1; - VATDocumentNo := ''; + if PostingDate = 0D then + PostingDate := WorkDate(); + if VATDate = 0D then + VATDate := WorkDate(); + if CurrencyFactor = 0 then + CurrencyFactor := CurrencyExchangeRate.ExchangeRate(PostingDate, SalesAdvLetterHeaderCZZ."Currency Code"); + VATDocumentNo := ''; - SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); - SalesAdvLetterEntryCZZ.SetRange(Cancelled, false); - if SalesAdvLetterEntryCZZ.FindSet() then - repeat - RemAmount := GetRemAmtSalAdvPayment(SalesAdvLetterEntryCZZ, 0D); - RemAmountLCY := GetRemAmtLCYSalAdvPayment(SalesAdvLetterEntryCZZ, 0D); - if RemAmount <> 0 then begin - if VATDocumentNo = '' then begin - AdvanceLetterTemplateCZZ.Get(SalesAdvLetterHeaderCZZ."Advance Letter Code"); - AdvanceLetterTemplateCZZ.TestField("Advance Letter Cr. Memo Nos."); - VATDocumentNo := NoSeriesManagement.GetNextNo(AdvanceLetterTemplateCZZ."Advance Letter Cr. Memo Nos.", PostingDate, true); - end; + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); + SalesAdvLetterEntryCZZ.SetRange(Cancelled, false); + if SalesAdvLetterEntryCZZ.FindSet() then + repeat + RemAmount := GetRemAmtSalAdvPayment(SalesAdvLetterEntryCZZ, 0D); + RemAmountLCY := GetRemAmtLCYSalAdvPayment(SalesAdvLetterEntryCZZ, 0D); + if RemAmount <> 0 then begin + if VATDocumentNo = '' then begin + AdvanceLetterTemplateCZZ.Get(SalesAdvLetterHeaderCZZ."Advance Letter Code"); + AdvanceLetterTemplateCZZ.TestField("Advance Letter Cr. Memo Nos."); + VATDocumentNo := NoSeriesManagement.GetNextNo(AdvanceLetterTemplateCZZ."Advance Letter Cr. Memo Nos.", PostingDate, true); + end; - SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterEntryCZZ."Sales Adv. Letter No."); - Customer.Get(SalesAdvLetterHeaderCZZ."Bill-to Customer No."); - CustLedgerEntry1.Get(SalesAdvLetterEntryCZZ."Cust. Ledger Entry No."); + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterEntryCZZ."Sales Adv. Letter No."); + Customer.Get(SalesAdvLetterHeaderCZZ."Bill-to Customer No."); + CustLedgerEntry1.Get(SalesAdvLetterEntryCZZ."Cust. Ledger Entry No."); - InitGenJnlLineFromCustLedgEntry(CustLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::" "); - GenJournalLine."Adv. Letter Template Code CZZ" := SalesAdvLetterHeaderCZZ."Advance Letter Code"; - GenJournalLine.Correction := true; - GenJournalLine."Document No." := VATDocumentNo; - GenJournalLine."Posting Date" := PostingDate; - GenJournalLine."Document Date" := PostingDate; + InitGenJnlLineFromCustLedgEntry(CustLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::" "); + GenJournalLine."Adv. Letter Template Code CZZ" := SalesAdvLetterHeaderCZZ."Advance Letter Code"; + GenJournalLine.Correction := true; + GenJournalLine."Document No." := VATDocumentNo; + GenJournalLine."Posting Date" := PostingDate; + GenJournalLine."Document Date" := PostingDate; #if not CLEAN22 #pragma warning disable AL0432 - if not ReplaceVATDateMgtCZL.IsEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else + if not ReplaceVATDateMgtCZL.IsEnabled() then + GenJournalLine.Validate("VAT Date CZL", VATDate) + else #pragma warning restore AL0432 #endif GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine."Adv. Letter No. (Entry) CZZ" := SalesAdvLetterEntryCZZ."Sales Adv. Letter No."; - GenJournalLine."Use Advance G/L Account CZZ" := true; - GenJournalLine.SetCurrencyFactor(SalesAdvLetterEntryCZZ."Currency Code", CurrencyFactor); - GenJournalLine.Validate(Amount, RemAmount); - - ApplId := CopyStr(CustLedgerEntry1."Document No." + Format(CustLedgerEntry1."Entry No.", 0, ''), 1, MaxStrLen(ApplId)); - CustLedgerEntry1.Prepayment := false; - CustLedgerEntry1."Advance Letter No. CZZ" := SalesAdvLetterEntryCZZ."Sales Adv. Letter No."; - CustLedgerEntry1.Modify(); - CustLedgerEntry1.CalcFields("Remaining Amount"); - CustLedgerEntry1."Amount to Apply" := CustLedgerEntry1."Remaining Amount"; - CustLedgerEntry1."Applies-to ID" := ApplId; - Codeunit.Run(Codeunit::"Cust. Entry-Edit", CustLedgerEntry1); - GenJournalLine."Applies-to ID" := ApplId; - - OnBeforePostClosePayment(GenJournalLine, SalesAdvLetterHeaderCZZ); - GenJnlPostLine.RunWithCheck(GenJournalLine); - OnAfterPostClosePayment(GenJournalLine, SalesAdvLetterHeaderCZZ); - - CustLedgerEntry2.FindLast(); - AdvEntryInit(false); - AdvEntryInitCustLedgEntryNo(CustLedgerEntry2."Entry No."); - AdvEntryInitRelatedEntry(SalesAdvLetterEntryCZZ."Entry No."); - AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, GenJournalLine."Adv. Letter No. (Entry) CZZ", GenJournalLine."Posting Date", - GenJournalLine.Amount, RemAmountLCY, - GenJournalLine."Currency Code", GenJournalLine."Currency Factor", GenJournalLine."Document No.", - GenJournalLine."Shortcut Dimension 1 Code", GenJournalLine."Shortcut Dimension 2 Code", GenJournalLine."Dimension Set ID", false); - - ReverseAdvancePaymentVAT(SalesAdvLetterEntryCZZ, CustLedgerEntry1."Source Code", SalesAdvLetterHeaderCZZ."Posting Description", RemAmount, CurrencyFactor, VATDocumentNo, PostingDate, VATDate, SalesAdvLetterEntryCZZGlob."Entry No.", '', "Advance Letter Entry Type CZZ"::"VAT Close", GenJnlPostLine, false); - - InitGenJnlLineFromCustLedgEntry(CustLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::Payment); - GenJournalLine.Correction := true; - GenJournalLine."Document No." := VATDocumentNo; - GenJournalLine."Posting Date" := PostingDate; - GenJournalLine."Document Date" := PostingDate; + GenJournalLine."Adv. Letter No. (Entry) CZZ" := SalesAdvLetterEntryCZZ."Sales Adv. Letter No."; + GenJournalLine."Use Advance G/L Account CZZ" := true; + GenJournalLine.SetCurrencyFactor(SalesAdvLetterEntryCZZ."Currency Code", CurrencyFactor); + GenJournalLine.Validate(Amount, RemAmount); + + ApplId := CopyStr(CustLedgerEntry1."Document No." + Format(CustLedgerEntry1."Entry No.", 0, ''), 1, MaxStrLen(ApplId)); + CustLedgerEntry1.Prepayment := false; + CustLedgerEntry1."Advance Letter No. CZZ" := SalesAdvLetterEntryCZZ."Sales Adv. Letter No."; + CustLedgerEntry1.Modify(); + CustLedgerEntry1.CalcFields("Remaining Amount"); + CustLedgerEntry1."Amount to Apply" := CustLedgerEntry1."Remaining Amount"; + CustLedgerEntry1."Applies-to ID" := ApplId; + Codeunit.Run(Codeunit::"Cust. Entry-Edit", CustLedgerEntry1); + GenJournalLine."Applies-to ID" := ApplId; + + OnBeforePostClosePayment(GenJournalLine, SalesAdvLetterHeaderCZZ); + GenJnlPostLine.RunWithCheck(GenJournalLine); + OnAfterPostClosePayment(GenJournalLine, SalesAdvLetterHeaderCZZ); + + CustLedgerEntry2.FindLast(); + AdvEntryInit(false); + AdvEntryInitCustLedgEntryNo(CustLedgerEntry2."Entry No."); + AdvEntryInitRelatedEntry(SalesAdvLetterEntryCZZ."Entry No."); + AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, GenJournalLine."Adv. Letter No. (Entry) CZZ", GenJournalLine."Posting Date", + GenJournalLine.Amount, RemAmountLCY, + GenJournalLine."Currency Code", GenJournalLine."Currency Factor", GenJournalLine."Document No.", + GenJournalLine."Shortcut Dimension 1 Code", GenJournalLine."Shortcut Dimension 2 Code", GenJournalLine."Dimension Set ID", false); + + ReverseAdvancePaymentVAT(SalesAdvLetterEntryCZZ, CustLedgerEntry1."Source Code", + SalesAdvLetterHeaderCZZ."Posting Description", RemAmount, CurrencyFactor, + Enum::"Gen. Journal Document Type"::"Credit Memo", VATDocumentNo, PostingDate, + VATDate, SalesAdvLetterEntryCZZGlob."Entry No.", '', + "Advance Letter Entry Type CZZ"::"VAT Close", GenJnlPostLine, false); + + InitGenJnlLineFromCustLedgEntry(CustLedgerEntry1, GenJournalLine, GenJournalLine."Document Type"::Payment); + GenJournalLine.Correction := true; + GenJournalLine."Document No." := VATDocumentNo; + GenJournalLine."Posting Date" := PostingDate; + GenJournalLine."Document Date" := PostingDate; #if not CLEAN22 #pragma warning disable AL0432 - if not ReplaceVATDateMgtCZL.IsEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else + if not ReplaceVATDateMgtCZL.IsEnabled() then + GenJournalLine.Validate("VAT Date CZL", VATDate) + else #pragma warning restore AL0432 #endif GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine.SetCurrencyFactor(SalesAdvLetterEntryCZZ."Currency Code", CurrencyFactor); - GenJournalLine.Validate(Amount, -RemAmount); - GenJournalLine."Variable Symbol CZL" := SalesAdvLetterHeaderCZZ."Variable Symbol"; - if CustomerBankAccount.Get(Customer."No.", Customer."Preferred Bank Account Code") then begin - GenJournalLine."Bank Account Code CZL" := CustomerBankAccount.Code; - GenJournalLine."Bank Account No. CZL" := CustomerBankAccount."Bank Account No."; - GenJournalLine."Transit No. CZL" := CustomerBankAccount."Transit No."; - GenJournalLine."IBAN CZL" := CustomerBankAccount.IBAN; - GenJournalLine."SWIFT Code CZL" := CustomerBankAccount."SWIFT Code"; - end; - OnBeforePostClosePaymentRepos(GenJournalLine, SalesAdvLetterHeaderCZZ); - GenJnlPostLine.RunWithCheck(GenJournalLine); - OnAfterPostClosePaymentRepos(GenJournalLine, SalesAdvLetterHeaderCZZ); + GenJournalLine.SetCurrencyFactor(SalesAdvLetterEntryCZZ."Currency Code", CurrencyFactor); + GenJournalLine.Validate(Amount, -RemAmount); + GenJournalLine."Variable Symbol CZL" := SalesAdvLetterHeaderCZZ."Variable Symbol"; + if CustomerBankAccount.Get(Customer."No.", Customer."Preferred Bank Account Code") then begin + GenJournalLine."Bank Account Code CZL" := CustomerBankAccount.Code; + GenJournalLine."Bank Account No. CZL" := CustomerBankAccount."Bank Account No."; + GenJournalLine."Transit No. CZL" := CustomerBankAccount."Transit No."; + GenJournalLine."IBAN CZL" := CustomerBankAccount.IBAN; + GenJournalLine."SWIFT Code CZL" := CustomerBankAccount."SWIFT Code"; end; - until SalesAdvLetterEntryCZZ.Next() = 0; + OnBeforePostClosePaymentRepos(GenJournalLine, SalesAdvLetterHeaderCZZ); + GenJnlPostLine.RunWithCheck(GenJournalLine); + OnAfterPostClosePaymentRepos(GenJournalLine, SalesAdvLetterHeaderCZZ); + end; + until SalesAdvLetterEntryCZZ.Next() = 0; - CancelInitEntry(SalesAdvLetterHeaderCZZ, PostingDate, false); - SalesAdvLetterHeaderCZZ.Find(); - UpdateStatus(SalesAdvLetterHeaderCZZ, SalesAdvLetterHeaderCZZ.Status::Closed); + CancelInitEntry(SalesAdvLetterHeaderCZZ, PostingDate, false); + SalesAdvLetterHeaderCZZ.Find(); + UpdateStatus(SalesAdvLetterHeaderCZZ, SalesAdvLetterHeaderCZZ.Status::Closed); - AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Sales); - AdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", SalesAdvLetterHeaderCZZ."No."); - AdvanceLetterApplicationCZZ.DeleteAll(true); - end; + AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Sales); + AdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", SalesAdvLetterHeaderCZZ."No."); + AdvanceLetterApplicationCZZ.DeleteAll(true); end; procedure PostAdvanceCreditMemoVAT(var SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ") @@ -1950,7 +1978,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" SalesAdvLetterEntryCZZ2.CalcSums(Amount); Coef := SalesAdvLetterEntryCZZ2.Amount / SalesAdvLetterEntryCZZ3.Amount; - SalesAdvLetterEntryCZZ2.FindSet(true, true); + SalesAdvLetterEntryCZZ2.FindSet(true); repeat TempAdvancePostingBufferCZZ.SetRange("VAT Bus. Posting Group", SalesAdvLetterEntryCZZ2."VAT Bus. Posting Group"); TempAdvancePostingBufferCZZ.SetRange("VAT Prod. Posting Group", SalesAdvLetterEntryCZZ2."VAT Prod. Posting Group"); @@ -1964,6 +1992,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" VATPostingSetup.TestField("Sales Adv. Letter VAT Acc. CZZ"); InitGenJnlLineFromAdvance(SalesAdvLetterHeaderCZZ, SalesAdvLetterEntryCZZ, DocumentNo, VATEntry."Source Code", SalesAdvLetterHeaderCZZ."Posting Description", GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::"Credit Memo"; GenJournalLine.Validate("Posting Date", PostingDate); #if not CLEAN22 #pragma warning disable AL0432 @@ -2170,6 +2199,7 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" VATPostingSetup.Get(SalesAdvLetterEntryCZZ."VAT Bus. Posting Group", SalesAdvLetterEntryCZZ."VAT Prod. Posting Group"); InitGenJnlLineFromAdvance(SalesAdvLetterHeaderCZZ, SalesAdvLetterEntryCZZ, SalesAdvLetterEntryCZZ."Document No.", SalesInvoiceHeader."Source Code", SalesInvoiceHeader."Posting Description", GenJournalLine); + GenJournalLine."Document Type" := GenJournalLine."Document Type"::Invoice; GenJournalLine.Validate("Posting Date", SalesAdvLetterEntryCZZ."Posting Date"); #if not CLEAN22 #pragma warning disable AL0432 @@ -2376,10 +2406,11 @@ codeunit 31002 "SalesAdvLetterManagement CZZ" ApplyAdvanceLetterQst: Label 'Apply Advance Letter?'; CannotApplyErr: Label 'You cannot apply more than %1.', Comment = '%1 = Remaining amount to apply'; begin - SalesAdvLetterManagement.LinkAdvanceLetter("Adv. Letter Usage Doc.Type CZZ"::"Posted Sales Invoice", SalesInvoiceHeader."No.", SalesInvoiceHeader."Bill-to Customer No.", SalesInvoiceHeader."Posting Date", SalesInvoiceHeader."Currency Code"); - AdvanceLetterApplication.SetRange("Document Type", AdvanceLetterApplication."Document Type"::"Posted Sales Invoice"); AdvanceLetterApplication.SetRange("Document No.", SalesInvoiceHeader."No."); + if AdvanceLetterApplication.IsEmpty() then + SalesAdvLetterManagement.LinkAdvanceLetter("Adv. Letter Usage Doc.Type CZZ"::"Posted Sales Invoice", SalesInvoiceHeader."No.", SalesInvoiceHeader."Bill-to Customer No.", SalesInvoiceHeader."Posting Date", SalesInvoiceHeader."Currency Code"); + if AdvanceLetterApplication.IsEmpty() then exit; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterPrinted.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterPrintedCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterPrinted.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesAdvLetterPrintedCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesHeaderHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesHeaderHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesHeaderHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesHeaderHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostAdvanceLetter.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostAdvanceLetterCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostAdvanceLetter.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostAdvanceLetterCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostHandlerCZZ.Codeunit.al similarity index 97% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostHandlerCZZ.Codeunit.al index 2e5504b04e..fbd6687703 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostHandler.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SalesPostHandlerCZZ.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ShowPreviewHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ShowPreviewHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ShowPreviewHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/ShowPreviewHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SuggWkshLinesHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SuggWkshLinesHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SuggWkshLinesHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/SuggWkshLinesHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeApplicationCZZ.Codeunit.al similarity index 97% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeApplicationCZZ.Codeunit.al index 4b02a457a1..1f83d371c2 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeApplicationCZZ.Codeunit.al @@ -128,16 +128,13 @@ codeunit 31088 "Upgrade Application CZZ" begin case AdvanceLetterType of AdvanceLetterType::Purchase: - begin - PurchAdvLetterHeader.Get(AdvanceLetterNo); + if PurchAdvLetterHeader.Get(AdvanceLetterNo) then exit(PurchAdvLetterHeader."Currency Factor"); - end; AdvanceLetterType::Sales: - begin - SalesAdvLetterHeader.Get(AdvanceLetterNo); + if SalesAdvLetterHeader.Get(AdvanceLetterNo) then exit(SalesAdvLetterHeader."Currency Factor"); - end; end; + exit(0); end; local procedure SetDatabaseUpgradeTags(); diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATEntryHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATEntryHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATEntryHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATEntryHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATPostingSetupHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATPostingSetupHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATPostingSetupHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATPostingSetupHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATRepDateMgtHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATRepDateMgtHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATRepDateMgtHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VATRepDateMgtHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendEntryEditHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendEntryEditHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendEntryEditHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendEntryEditHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendorLedgEntryHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendorLedgEntryHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendorLedgEntryHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/VendorLedgEntryHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/WorkflowHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/WorkflowHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CashFlowSourceType.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CashFlowSourceTypeCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CashFlowSourceType.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CashFlowSourceTypeCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CustomReportSelSales.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CustomReportSelSalesCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CustomReportSelSales.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/CustomReportSelSalesCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EETAppliedDocumentType.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EETAppliedDocumentTypeCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EETAppliedDocumentType.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EETAppliedDocumentTypeCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EmailScenario.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EmailScenarioCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EmailScenario.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/EmailScenarioCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/FeatureToUpdate.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/FeatureToUpdate.EnumExt.al deleted file mode 100644 index 3170c28519..0000000000 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/FeatureToUpdate.EnumExt.al +++ /dev/null @@ -1,14 +0,0 @@ -#if not CLEAN21 -#pragma warning disable AS0098 -enumextension 31001 "Feature To Update - CZZ" extends "Feature To Update" -{ - value(31000; AdvancePaymentsLocalizationForCzech) - { - Caption = 'Advance Payments Localization for Czech'; - Implementation = "Feature Data Update" = "Feature Advance Payments CZZ"; - ObsoleteState = Pending; - ObsoleteReason = 'AdvancePaymentsLocalizationForCzech removed from Feature Management.'; - ObsoleteTag = '21.0'; - } -} -#endif diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/IncomingRelatedDocType.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/IncomingRelatedDocTypeCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/IncomingRelatedDocType.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/IncomingRelatedDocTypeCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ManualSetupCategoryCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ManualSetupCategoryCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsagePurchase.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsagePurchaseCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsagePurchase.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsagePurchaseCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsageSales.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsageSalesCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsageSales.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelUsageSalesCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelectionUsage.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelectionUsageCZZ.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelectionUsage.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/ReportSelectionUsageCZZ.EnumExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/SearchScope.EnumExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/SearchScopeCZZ.EnumExt.al similarity index 82% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/SearchScope.EnumExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/SearchScopeCZZ.EnumExt.al index 2ddbd24c80..8d815ba319 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/SearchScope.EnumExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/EnumExtensions/SearchScopeCZZ.EnumExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvDeductionExchRate.Enum.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvDeductionExchRateCZZ.Enum.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvDeductionExchRate.Enum.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvDeductionExchRateCZZ.Enum.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvLetterUsageDocType.Enum.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvLetterUsageDocTypeCZZ.Enum.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvLetterUsageDocType.Enum.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvLetterUsageDocTypeCZZ.Enum.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterDocStatus.Enum.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterDocStatusCZZ.Enum.al similarity index 87% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterDocStatus.Enum.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterDocStatusCZZ.Enum.al index 0ba4d01011..1fd0153b04 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterDocStatus.Enum.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterDocStatusCZZ.Enum.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterEntryType.Enum.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterEntryTypeCZZ.Enum.al similarity index 90% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterEntryType.Enum.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterEntryTypeCZZ.Enum.al index f7f652a7be..dc6c9b14cd 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterEntryType.Enum.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterEntryTypeCZZ.Enum.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterType.Enum.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterTypeCZZ.Enum.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterType.Enum.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Enums/AdvanceLetterTypeCZZ.Enum.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccScheduleExtensions.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccScheduleExtensionsCZZ.PageExt.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccScheduleExtensions.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccScheduleExtensionsCZZ.PageExt.al index 396b125684..1fa6c29f20 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccScheduleExtensions.PageExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccScheduleExtensionsCZZ.PageExt.al @@ -27,7 +27,6 @@ pageextension 31216 "Acc. Schedule Extensions CZZ" extends "Acc. Schedule Extens end; var - [InDataSet] AdvancePaymentsVisibleCZZ: Boolean; local procedure UpdateControls() diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantRoleCenter.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantRoleCenterCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantRoleCenter.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/AccountantRoleCenterCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CFForecastStatFactBox.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CFForecastStatFactBoxCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CFForecastStatFactBox.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CFForecastStatFactBoxCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashDocumentSubform.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashDocumentSubformCZZ.PageExt.al similarity index 87% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashDocumentSubform.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashDocumentSubformCZZ.PageExt.al index 2d64dea1c0..6895c55d21 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashDocumentSubform.PageExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashDocumentSubformCZZ.PageExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowAvailLines.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowAvailLinesCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowAvailLines.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowAvailLinesCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowForecastStat.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowForecastStatCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowForecastStat.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowForecastStatCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowSetup.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowSetupCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowSetup.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowSetupCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowWorksheet.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowWorksheetCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowWorksheet.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CashFlowWorksheetCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerCard.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerCardCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerCard.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerCardCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerLedgerEntriesCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerLedgerEntriesCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerList.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerListCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerList.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerListCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerStatFactBox.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerStatFactBoxCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerStatFactBox.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/CustomerStatFactBoxCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralJournal.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralJournalCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralJournal.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralJournalCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralLedgerSetupCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/GeneralLedgerSetupCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/IssPaymentOrderSubform.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/IssPaymentOrderSubformCZZ.PageExt.al similarity index 87% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/IssPaymentOrderSubform.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/IssPaymentOrderSubformCZZ.PageExt.al index a49b9481af..fdeb506327 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/IssPaymentOrderSubform.PageExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/IssPaymentOrderSubformCZZ.PageExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemCard.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemCardCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemCard.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemCardCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemList.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemListCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemList.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/ItemListCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/OrderProcessorRC.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/OrderProcessorRCCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/OrderProcessorRC.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/OrderProcessorRCCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentJournal.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentJournalCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentJournal.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentJournalCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentOrderSubform.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentOrderSubformCZZ.PageExt.al similarity index 87% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentOrderSubform.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentOrderSubformCZZ.PageExt.al index 86b1c29b33..a05b2280c9 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentOrderSubform.PageExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PaymentOrderSubformCZZ.PageExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedCashDocumentSubf.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedCashDocumentSubfCZZ.PageExt.al similarity index 87% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedCashDocumentSubf.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedCashDocumentSubfCZZ.PageExt.al index 1cdb80706f..f24d0ae226 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedCashDocumentSubf.PageExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedCashDocumentSubfCZZ.PageExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedPurchaseInvoice.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedPurchaseInvoiceCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedPurchaseInvoice.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedPurchaseInvoiceCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedSalesInvoice.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedSalesInvoiceCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedSalesInvoice.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PostedSalesInvoiceCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseInvoice.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseInvoiceCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseInvoice.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseInvoiceCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrder.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrder.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderList.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderListCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderList.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderListCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderStatistics.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderStatisticsCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderStatistics.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderStatisticsCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderSubform.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderSubformCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderSubform.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchaseOrderSubformCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchasesPayablesSetup.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchasesPayablesSetupCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchasesPayablesSetup.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/PurchasesPayablesSetupCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistBilltoFactBox.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistBilltoFactBoxCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistBilltoFactBox.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistBilltoFactBoxCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistSelltoFactBox.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistSelltoFactBoxCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistSelltoFactBox.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesHistSelltoFactBoxCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesInvoice.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesInvoiceCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesInvoice.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesInvoiceCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrder.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrder.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderList.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderListCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderList.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderListCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderStatistics.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderStatisticsCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderStatistics.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderStatisticsCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderSubform.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderSubformCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderSubform.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesOrderSubformCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesReceivablesSetup.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesReceivablesSetupCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesReceivablesSetup.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/SalesReceivablesSetupCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATEntries.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATEntriesCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATEntries.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATEntriesCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetup.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetupCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetup.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetupCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetupCard.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetupCardCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetupCard.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VATPostingSetupCardCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistBuyfromFactBox.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistBuyfromFactBoxCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistBuyfromFactBox.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistBuyfromFactBoxCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistPaytoFactBox.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistPaytoFactBoxCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistPaytoFactBox.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendHistPaytoFactBoxCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorCard.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorCardCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorCard.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorCardCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorLedgerEntriesCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorLedgerEntriesCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorList.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorListCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorList.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorListCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorStatFactBox.PageExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorStatFactBoxCZZ.PageExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorStatFactBox.PageExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/PageExtensions/VendorStatFactBoxCZZ.PageExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvPaymentCloseDialog.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvPaymentCloseDialogCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvPaymentCloseDialog.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvPaymentCloseDialogCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplEdit.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplEditCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplEdit.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplEditCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplication.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplicationCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplication.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterApplicationCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterLink.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterLinkCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterLink.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterLinkCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterTemplates.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterTemplatesCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterTemplates.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/AdvanceLetterTemplatesCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/GetPostingDate.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/GetPostingDateCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/GetPostingDate.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/GetPostingDateCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PreviewAdvVATEntries.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PreviewAdvVATEntriesCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PreviewAdvVATEntries.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PreviewAdvVATEntriesCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurAdvLetterEntPrev.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurAdvLetterEntPrevCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurAdvLetterEntPrev.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurAdvLetterEntPrevCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterEntries.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterEntriesCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterEntries.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterEntriesCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterFactBox.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterFactBoxCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterFactBox.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterFactBoxCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterLines.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterLinesCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterLines.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvLetterLinesCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvUsageFactBox.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvUsageFactBoxCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvUsageFactBox.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvUsageFactBoxCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetter.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetter.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterLine.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterLineCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterLine.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterLineCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetters.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLettersCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetters.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLettersCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalAdvLetterEntPrev.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalAdvLetterEntPrevCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalAdvLetterEntPrev.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalAdvLetterEntPrevCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterEntries.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterEntriesCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterEntries.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterEntriesCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterFactBox.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterFactBoxCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterFactBox.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterFactBoxCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterLines.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterLinesCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterLines.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvLetterLinesCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvUsageFactBox.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvUsageFactBoxCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvUsageFactBox.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvUsageFactBoxCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetter.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetter.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLine.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLineCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLine.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLineCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetters.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLettersCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetters.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLettersCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SuggestedUsage.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SuggestedUsageCZZ.Page.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SuggestedUsage.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SuggestedUsageCZZ.Page.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocument.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentCZZ.Page.al similarity index 94% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocument.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentCZZ.Page.al index 75f45de24a..269861299d 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocument.Page.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentCZZ.Page.al @@ -6,10 +6,12 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.Currency; using Microsoft.Finance.GeneralLedger.Setup; +#if not CLEAN22 using Microsoft.Finance.VAT.Calculation; -using Microsoft.Foundation.NoSeries; -using Microsoft.Purchases.Setup; using Microsoft.Sales.Setup; +using Microsoft.Purchases.Setup; +#endif +using Microsoft.Foundation.NoSeries; # pragma warning disable AW0006 page 31185 "VAT Document CZZ" @@ -152,14 +154,6 @@ page 31185 "VAT Document CZZ" DocumentNoEditable: Boolean; IsSalesDocument: Boolean; -#if not CLEAN21 - [Obsolete('Replaced by InitDocument function with NewDocumentDate parameter.', '21.0')] - procedure InitDocument(NewNoSeriesCode: Code[20]; NewDocumentNo: Code[20]; NewPostingDate: Date; NewVATDate: Date; NewOriginalDocumentVATDate: Date; NewCurrencyCode: Code[10]; NewCurrencyFactor: Decimal; NewExternalDocumentNo: Code[35]; var AdvancePostingBufferCZZ: Record "Advance Posting Buffer CZZ") - begin - InitDocument(NewNoSeriesCode, NewDocumentNo, NewPostingDate, NewPostingDate, NewVATDate, NewOriginalDocumentVATDate, NewCurrencyCode, NewCurrencyFactor, NewExternalDocumentNo, AdvancePostingBufferCZZ); - end; - -#endif procedure InitDocument(NewNoSeriesCode: Code[20]; NewDocumentNo: Code[20]; NewDocumentDate: Date; NewPostingDate: Date; NewVATDate: Date; NewOriginalDocumentVATDate: Date; NewCurrencyCode: Code[10]; NewCurrencyFactor: Decimal; NewExternalDocumentNo: Code[35]; var AdvancePostingBufferCZZ: Record "Advance Posting Buffer CZZ") var GeneralLedgerSetup: Record "General Ledger Setup"; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentLine.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentLineCZZ.Page.al similarity index 88% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentLine.Page.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentLineCZZ.Page.al index 2d13402686..d6f0e6e545 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentLine.Page.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/VATDocumentLineCZZ.Page.al @@ -188,30 +188,7 @@ page 31186 "VAT Document Line CZZ" Rec."VAT Base Amount" := Rec.Amount - Rec."VAT Amount"; - UpdateLCYAmounts(); - end; - - local procedure UpdateLCYAmounts() - var - CurrencyExchangeRate: Record "Currency Exchange Rate"; - begin - if CurrencyCode = '' then begin - Rec."VAT Base Amount (ACY)" := Rec."VAT Base Amount"; - Rec."VAT Amount (ACY)" := Rec."VAT Amount"; - Rec."Amount (ACY)" := Rec.Amount; - end else begin - Rec."Amount (ACY)" := - Round( - CurrencyExchangeRate.ExchangeAmtFCYToLCY( - 0D, CurrencyCode, - Rec.Amount, CurrencyFactor)); - Rec."VAT Amount (ACY)" := - Round( - CurrencyExchangeRate.ExchangeAmtFCYToLCY( - 0D, CurrencyCode, - Rec."VAT Amount", CurrencyFactor)); - Rec."VAT Base Amount (ACY)" := Rec."Amount (ACY)" - Rec."VAT Amount (ACY)"; - end; + Rec.UpdateLCYAmounts(CurrencyCode, CurrencyFactor); end; procedure InitDocumentLines(NewCurrencyCode: Code[10]; NewCurrencyFactor: Decimal; var AdvancePostingBufferCZZ: Record "Advance Posting Buffer CZZ") @@ -254,11 +231,7 @@ page 31186 "VAT Document Line CZZ" if Rec.FindSet() then repeat - if CurrencyFactor <> 0 then - Rec."Amount (ACY)" := Round(Rec.Amount / CurrencyFactor) - else - Rec."Amount (ACY)" := Round(Rec.Amount); - UpdateLCYAmounts(); + Rec.UpdateLCYAmounts(CurrencyCode, CurrencyFactor); Rec.Modify(); until Rec.Next() = 0; end; @@ -285,27 +258,29 @@ page 31186 "VAT Document Line CZZ" Rec."VAT Base Amount" := Rec.Amount - Rec."VAT Amount"; - UpdateLCYAmounts(); + Rec.UpdateLCYAmounts(CurrencyCode, CurrencyFactor); end; local procedure ValidateVATAmountLCY() var - CalcVATAmount: Decimal; + CalcAdvancePostingBuffer: Record "Advance Posting Buffer CZZ"; begin GetCurrency(''); - Rec.TestField("Amount (ACY)"); + Rec.TestField(Amount); Rec.TestField("VAT Calculation Type", Rec."VAT Calculation Type"::"Normal VAT"); Rec."VAT Amount (ACY)" := Round(Rec."VAT Amount (ACY)", Currency."Amount Rounding Precision"); + CalcAdvancePostingBuffer := Rec; + CalcAdvancePostingBuffer.UpdateLCYAmounts(CurrencyCode, CurrencyFactor); + if Rec."VAT Amount (ACY)" * Rec."Amount (ACY)" < 0 then if Rec."VAT Amount (ACY)" > 0 then Error(MustBeNegativeErr, Rec.FieldCaption("VAT Amount (ACY)")) else Error(MustBePositiveErr, Rec.FieldCaption("VAT Amount (ACY)")); - CalcVATAmount := Round(Rec."Amount (ACY)" * Rec."VAT %" / (100 + Rec."VAT %"), Currency."Amount Rounding Precision", Currency.VATRoundingDirection()); - if Abs(CalcVATAmount - Rec."VAT Amount (ACY)") > Currency."Max. VAT Difference Allowed" then + if Abs(CalcAdvancePostingBuffer."VAT Amount (ACY)" - Rec."VAT Amount (ACY)") > Currency."Max. VAT Difference Allowed" then Error(MustNotBeMoreErr, Currency."Max. VAT Difference Allowed"); Rec."VAT Base Amount (ACY)" := Rec."Amount (ACY)" - Rec."VAT Amount (ACY)"; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsEdit.PermissionSet.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsEditCZZ.PermissionSet.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsEdit.PermissionSet.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsEditCZZ.PermissionSet.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsObj.PermissionSet.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsObjCZZ.PermissionSet.al similarity index 94% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsObj.PermissionSet.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsObjCZZ.PermissionSet.al index fed5d5f5ae..f0399ed899 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsObj.PermissionSet.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsObjCZZ.PermissionSet.al @@ -6,12 +6,6 @@ Permissions = Codeunit "Acc. Sched. Ext. Handler CZZ" = X, Codeunit "Advance Letter Doc. Totals CZZ" = X, -#if not CLEAN21 -#pragma warning disable AL0432 - Codeunit "Adj. Exch. Rates Handler CZZ" = X, - Codeunit "Advance Payments Mgt. CZZ" = X, -#pragma warning restore AL0432 -#endif Codeunit "Adv. Payments Approv. Mgt. CZZ" = X, Codeunit "Calc. And Post VAT Handler CZZ" = X, Codeunit "Calculate Customer Stats. CZZ" = X, @@ -25,11 +19,6 @@ Codeunit "Data Class. Eval. Handler CZZ" = X, Codeunit "Doc. Attachment Handler CZZ" = X, Codeunit "EET Management Handler CZZ" = X, -#if not CLEAN21 -#pragma warning disable AL0432 - Codeunit "Feature Advance Payments CZZ" = X, -#pragma warning restore AL0432 -#endif Codeunit "Gen.Jnl.-Check Ln. Handler CZZ" = X, Codeunit "Gen.Jnl-Post Batch Handler CZZ" = X, Codeunit "Gen.Jnl.-Post Line Handler CZZ" = X, diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsRead.PermissionSet.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsReadCZZ.PermissionSet.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsRead.PermissionSet.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/CZAdvancePaymentsReadCZZ.PermissionSet.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365Automation.PermissionSetExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365AUTOMATIONCZZ.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365Automation.PermissionSetExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365AUTOMATIONCZZ.PermissionSetExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365Basic.PermissionSetExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365BASICCZZ.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365Basic.PermissionSetExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365BASICCZZ.PermissionSetExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365BasicIsv.PermissionSetExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365BASICISVCZZ.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365BasicIsv.PermissionSetExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365BASICISVCZZ.PermissionSetExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365Read.PermissionSetExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365READCZZ.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365Read.PermissionSetExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365READCZZ.PermissionSetExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365TeamMember.PermissionSetExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365TEAMMEMBERCZZ.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365TeamMember.PermissionSetExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/D365TEAMMEMBERCZZ.PermissionSetExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/IntelligentCloud.PermissionSetExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZZ.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/IntelligentCloud.PermissionSetExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZZ.PermissionSetExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/Local.PermissionSetExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/LOCALCZZ.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/Local.PermissionSetExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Permissions/LOCALCZZ.PermissionSetExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CalcandPostVATSettl.ReportExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CalcandPostVATSettlCZZ.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CalcandPostVATSettl.ReportExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CalcandPostVATSettlCZZ.ReportExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CashFlowDateList.ReportExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CashFlowDateListCZZ.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CashFlowDateList.ReportExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CashFlowDateListCZZ.ReportExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CopyVATPostingSetup.ReportExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CopyVATPostingSetupCZZ.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CopyVATPostingSetup.ReportExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/CopyVATPostingSetupCZZ.ReportExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenCustEntriestoDate.ReportExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenCustEntriestoDateCZZ.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenCustEntriestoDate.ReportExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenCustEntriestoDateCZZ.ReportExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenVendEntriestoDate.ReportExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenVendEntriestoDateCZZ.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenVendEntriestoDate.ReportExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/OpenVendEntriestoDateCZZ.ReportExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestPayments.ReportExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestPaymentsCZZ.ReportExt.al similarity index 97% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestPayments.ReportExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestPaymentsCZZ.ReportExt.al index e9d48fc863..6b15898bf0 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestPayments.ReportExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestPaymentsCZZ.ReportExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestWorksheetLines.ReportExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestWorksheetLinesCZZ.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestWorksheetLines.ReportExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/ReportExtensions/SuggestWorksheetLinesCZZ.ReportExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/AdjustAdvExchRates.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/AdjustAdvExchRatesCZZ.Report.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/AdjustAdvExchRates.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/AdjustAdvExchRatesCZZ.Report.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetter.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetterCZZ.Report.al similarity index 99% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetter.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetterCZZ.Report.al index c01549bc9f..0f073739bf 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetter.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetterCZZ.Report.al @@ -5,7 +5,9 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.Currency; +#if not CLEAN22 using Microsoft.Finance.VAT.Calculation; +#endif using Microsoft.Purchases.Document; using Microsoft.Purchases.Posting; using System.Utilities; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetter.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetterCZZ.Report.al similarity index 99% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetter.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetterCZZ.Report.al index 0e16ebc4b9..4a0d7ae4ea 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetter.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetterCZZ.Report.al @@ -5,7 +5,9 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.Currency; +#if not CLEAN22 using Microsoft.Finance.VAT.Calculation; +#endif using Microsoft.Sales.Document; using Microsoft.Sales.Posting; using System.Utilities; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvLettersRecap.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvLettersRecapCZZ.Report.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvLettersRecap.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvLettersRecapCZZ.Report.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLetters.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLettersCZZ.Report.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLetters.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLettersCZZ.Report.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLettersVAT.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLettersVATCZZ.Report.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLettersVAT.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchAdvanceLettersVATCZZ.Report.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceLetter.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceLetterCZZ.Report.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceLetter.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceLetterCZZ.Report.al index 0df2474466..bfcb2bac3b 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceLetter.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceLetterCZZ.Report.al @@ -287,8 +287,8 @@ report 31016 "Purchase - Advance Letter CZZ" trigger OnAfterGetRecord() begin - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); if "Currency Code" = '' then "Currency Code" := "General Ledger Setup"."LCY Code"; @@ -338,7 +338,7 @@ report 31016 "Purchase - Advance Letter CZZ" var PaymentTerms: Record "Payment Terms"; PaymentMethod: Record "Payment Method"; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; FormatAddress: Codeunit "Format Address"; FormatDocument: Codeunit "Format Document"; FormatDocumentMgtCZL: Codeunit "Format Document Mgt. CZL"; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceVATDoc.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceVATDocCZZ.Report.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceVATDoc.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceVATDocCZZ.Report.al index 3b43229b45..4e5c0a7c8a 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceVATDoc.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseAdvanceVATDocCZZ.Report.al @@ -372,8 +372,8 @@ report 31017 "Purchase - Advance VAT Doc.CZZ" trigger OnAfterGetRecord() begin - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); if IsCreditMemo(TempPurchAdvLetterEntry) then DocumentLabel := CrMemoDocumentLbl @@ -458,7 +458,7 @@ report 31017 "Purchase - Advance VAT Doc.CZZ" PaymentMethod: Record "Payment Method"; CurrencyExchangeRate: Record "Currency Exchange Rate"; DocumentFooterCZL: Record "Document Footer CZL"; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; FormatAddress: Codeunit "Format Address"; ExchRateText: Text[50]; CompanyAddr: array[8] of Text[100]; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseInvoiceWithAdv.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseInvoicewithAdvCZZ.Report.al similarity index 99% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseInvoiceWithAdv.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseInvoicewithAdvCZZ.Report.al index 2f36ae03b3..bbec8ed234 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseInvoiceWithAdv.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/PurchaseInvoicewithAdvCZZ.Report.al @@ -5,6 +5,7 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.CRM.Contact; +using Microsoft.CRM.Interaction; using Microsoft.CRM.Segment; using Microsoft.CRM.Team; using Microsoft.Finance.Currency; @@ -832,8 +833,8 @@ report 31028 "Purchase-Invoice with Adv. CZZ" trigger OnAfterGetRecord() begin - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); FormatAddressFields("Purch. Inv. Header"); FormatDocumentFields("Purch. Inv. Header"); @@ -941,7 +942,7 @@ report 31028 "Purchase-Invoice with Adv. CZZ" Contact: Record Contact; Contact2: Record Contact; PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; FormatAddress: Codeunit "Format Address"; FormatDocument: Codeunit "Format Document"; SegManagement: Codeunit SegManagement; @@ -974,7 +975,6 @@ report 31028 "Purchase-Invoice with Adv. CZZ" AllowVATDisctxt: Text[30]; VATAmountText: Text[30]; PurchInLineTypeNo: Integer; - [InDataSet] LogInteractionEnable: Boolean; TotalSubTotal: Decimal; TotalAmount: Decimal; @@ -1042,7 +1042,7 @@ report 31028 "Purchase-Invoice with Adv. CZZ" local procedure InitLogInteraction() begin - LogInter := SegManagement.FindInteractionTemplateCode(14) <> ''; + LogInter := SegManagement.FindInteractionTemplateCode(Enum::"Interaction Log Entry Document Type"::"Purch. Inv.") <> ''; end; procedure InitializeRequest(NewNoOfCopies: Integer; NewShowInternalInfo: Boolean; NewLogInteraction: Boolean) diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvLettersRecap.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvLettersRecapCZZ.Report.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvLettersRecap.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvLettersRecapCZZ.Report.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetter.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetterCZZ.Report.al similarity index 97% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetter.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetterCZZ.Report.al index 2cd6d7c080..b0aac6626d 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetter.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetterCZZ.Report.al @@ -71,7 +71,7 @@ report 31014 "Sales - Advance Letter CZZ" } dataitem("General Ledger Setup"; "General Ledger Setup") { - DataItemTableView = SORTING("Primary Key"); + DataItemTableView = sorting("Primary Key"); column(LCYCode_GeneralLedgerSetup; "LCY Code") { } @@ -227,7 +227,7 @@ report 31014 "Sales - Advance Letter CZZ" } dataitem(CopyLoop; "Integer") { - DataItemTableView = SORTING(Number); + DataItemTableView = sorting(Number); column(CopyNo; CopyNo) { } @@ -235,7 +235,7 @@ report 31014 "Sales - Advance Letter CZZ" { DataItemLink = Code = field("Salesperson Code"); DataItemLinkReference = "Sales Advance Letter Header"; - DataItemTableView = SORTING(Code); + DataItemTableView = sorting(Code); column(Name_SalespersonPurchaser; Name) { } @@ -326,8 +326,8 @@ report 31014 "Sales - Advance Letter CZZ" var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; begin - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); FormatDocumentFields("Sales Advance Letter Header"); @@ -369,7 +369,7 @@ report 31014 "Sales - Advance Letter CZZ" var PaymentTerms: Record "Payment Terms"; PaymentMethod: Record "Payment Method"; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; FormatAddress: Codeunit "Format Address"; FormatDocumentMgtCZL: Codeunit "Format Document Mgt. CZL"; FormatDocument: Codeunit "Format Document"; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetters.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLettersCZZ.Report.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLetters.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLettersCZZ.Report.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLettersVAT.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLettersVATCZZ.Report.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLettersVAT.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceLettersVATCZZ.Report.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceVATDoc.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceVATDocCZZ.Report.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceVATDoc.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceVATDocCZZ.Report.al index 8fc7476408..d4e7972613 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceVATDoc.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesAdvanceVATDocCZZ.Report.al @@ -395,8 +395,8 @@ report 31015 "Sales - Advance VAT Doc. CZZ" var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; begin - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); if IsCreditMemo(TempSalesAdvLetterEntry) then DocumentLabel := CrMemoDocumentLbl @@ -485,7 +485,7 @@ report 31015 "Sales - Advance VAT Doc. CZZ" PaymentMethod: Record "Payment Method"; CurrencyExchangeRate: Record "Currency Exchange Rate"; DocumentFooterCZL: Record "Document Footer CZL"; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; FormatAddress: Codeunit "Format Address"; ExchRateText: Text[50]; CompanyAddr: array[8] of Text[100]; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesInvoiceWithAdv.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesInvoicewithAdvCZZ.Report.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesInvoiceWithAdv.Report.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesInvoicewithAdvCZZ.Report.al index 77f4df94d5..3ffa95cdec 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesInvoiceWithAdv.Report.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/SalesInvoicewithAdvCZZ.Report.al @@ -6,6 +6,7 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Bank.BankAccount; using Microsoft.CRM.Contact; +using Microsoft.CRM.Interaction; using Microsoft.CRM.Segment; using Microsoft.CRM.Team; using Microsoft.Finance.Currency; @@ -530,7 +531,7 @@ report 31018 "Sales - Invoice with Adv. CZZ" } dataitem(LineFee; "Integer") { - DataItemTableView = sorting(Number) ORDER(Ascending) where(Number = filter(1 ..)); + DataItemTableView = sorting(Number) order(ascending) where(Number = filter(1 ..)); column(LineFeeCaptionLbl; TempLineFeeNoteOnReportHist.ReportText) { } @@ -593,8 +594,8 @@ report 31018 "Sales - Invoice with Adv. CZZ" var SalesInvLine: Record "Sales Invoice Line"; begin - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); FormatAddressFields("Sales Invoice Header"); FormatDocumentFields("Sales Invoice Header"); @@ -719,7 +720,7 @@ report 31018 "Sales - Invoice with Adv. CZZ" CurrencyExchangeRate: Record "Currency Exchange Rate"; VATClause: Record "VAT Clause"; SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; FormatAddress: Codeunit "Format Address"; FormatDocument: Codeunit "Format Document"; FormatDocumentMgtCZL: Codeunit "Format Document Mgt. CZL"; @@ -771,13 +772,12 @@ report 31018 "Sales - Invoice with Adv. CZZ" ClosingLbl: Label 'Sincerely'; BodyLbl: Label 'Thank you for your business. Your invoice is attached to this message.'; DocumentNoLbl: Label 'No.'; - [InDataSet] LogInteractionEnable: Boolean; DisplayAddFeeNote: Boolean; procedure InitLogInteraction() begin - LogInteract := SegManagement.FindInteractionTemplateCode(4) <> ''; + LogInteract := SegManagement.FindInteractionTemplateCode(Enum::"Interaction Log Entry Document Type"::"Sales Inv.") <> ''; end; local procedure GetLineFeeNoteOnReportHist(SalesInvoiceHeaderNo: Code[20]) @@ -803,7 +803,7 @@ report 31018 "Sales - Invoice with Adv. CZZ" TempLineFeeNoteOnReportHist.Insert(); until LineFeeNoteOnReportHist.Next() = 0 else begin - LineFeeNoteOnReportHist.SetRange("Language Code", Language.GetUserLanguageCode()); + LineFeeNoteOnReportHist.SetRange("Language Code", LanguageMgt.GetUserLanguageCode()); if LineFeeNoteOnReportHist.FindSet() then repeat TempLineFeeNoteOnReportHist.Init(); diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/AccScheduleExtension.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/AccScheduleExtensionCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/AccScheduleExtension.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/AccScheduleExtensionCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CVLedgerEntryBuffer.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CVLedgerEntryBufferCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CVLedgerEntryBuffer.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CVLedgerEntryBufferCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashDocumentLine.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashDocumentLineCZZ.TableExt.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashDocumentLine.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashDocumentLineCZZ.TableExt.al index f50eec5287..f8c580444d 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashDocumentLine.TableExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashDocumentLineCZZ.TableExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowAvailBuffer.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowAvailBufferCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowAvailBuffer.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowAvailBufferCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowSetup.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowSetupCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowSetup.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CashFlowSetupCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustLedgerEntry.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustLedgerEntryCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustLedgerEntry.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustLedgerEntryCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/Customer.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustomerCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/Customer.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustomerCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GenJournalLine.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GenJournalLineCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GenJournalLine.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GenJournalLineCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GeneralLedgerSetup.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GeneralLedgerSetupCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GeneralLedgerSetup.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/GeneralLedgerSetupCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IncomingDocument.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IncomingDocumentCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IncomingDocument.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IncomingDocumentCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IssPaymentOrderLine.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IssPaymentOrderLineCZZ.TableExt.al similarity index 87% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IssPaymentOrderLine.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IssPaymentOrderLineCZZ.TableExt.al index f8eef1fa09..49c6675204 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IssPaymentOrderLine.TableExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/IssPaymentOrderLineCZZ.TableExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/MatchBankPaymentBuffer.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/MatchBankPaymentBufferCZZ.TableExt.al similarity index 97% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/MatchBankPaymentBuffer.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/MatchBankPaymentBufferCZZ.TableExt.al index 8758fd6508..d3a057e309 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/MatchBankPaymentBuffer.TableExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/MatchBankPaymentBufferCZZ.TableExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PaymentOrderLine.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PaymentOrderLineCZZ.TableExt.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PaymentOrderLine.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PaymentOrderLineCZZ.TableExt.al index f9a5b51099..3b54a89a94 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PaymentOrderLine.TableExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PaymentOrderLineCZZ.TableExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PostedCashDocumentLine.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PostedCashDocumentLineCZZ.TableExt.al similarity index 85% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PostedCashDocumentLine.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PostedCashDocumentLineCZZ.TableExt.al index 2b578d75a7..671d2bf110 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PostedCashDocumentLine.TableExt.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PostedCashDocumentLineCZZ.TableExt.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PurchaseHeader.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PurchaseHeaderCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PurchaseHeader.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/PurchaseHeaderCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/SalesHeader.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/SalesHeaderCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/SalesHeader.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/SalesHeaderCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATEntry.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATEntryCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATEntry.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATEntryCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATPostingSetup.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATPostingSetupCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATPostingSetup.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VATPostingSetupCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/Vendor.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VendorCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/Vendor.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VendorCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VendorLedgerEntry.TableExt.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VendorLedgerEntryCZZ.TableExt.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VendorLedgerEntry.TableExt.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/VendorLedgerEntryCZZ.TableExt.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplication.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplicationCZZ.Table.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplication.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplicationCZZ.Table.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterLinkBuffer.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterLinkBufferCZZ.Table.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterLinkBuffer.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterLinkBufferCZZ.Table.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterTemplate.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterTemplateCZZ.Table.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterTemplate.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterTemplateCZZ.Table.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvancePostingBuffer.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvancePostingBufferCZZ.Table.al similarity index 68% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvancePostingBuffer.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvancePostingBufferCZZ.Table.al index 0846df27c2..0165ba0e93 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvancePostingBuffer.Table.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvancePostingBufferCZZ.Table.al @@ -6,6 +6,7 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.VAT.Setup; using Microsoft.Foundation.Enums; +using Microsoft.Finance.Currency; table 31013 "Advance Posting Buffer CZZ" { @@ -68,4 +69,27 @@ table 31013 "Advance Posting Buffer CZZ" Clustered = true; } } + + procedure UpdateLCYAmounts(CurrencyCode: Code[10]; CurrencyFactor: Decimal) + var + CurrencyExchangeRate: Record "Currency Exchange Rate"; + begin + if (CurrencyCode = '') or (CurrencyFactor = 0) then begin + Rec."VAT Base Amount (ACY)" := Rec."VAT Base Amount"; + Rec."VAT Amount (ACY)" := Rec."VAT Amount"; + Rec."Amount (ACY)" := Rec.Amount; + end else begin + Rec."Amount (ACY)" := + Round( + CurrencyExchangeRate.ExchangeAmtFCYToLCY( + 0D, CurrencyCode, + Rec.Amount, CurrencyFactor)); + Rec."VAT Amount (ACY)" := + Round( + CurrencyExchangeRate.ExchangeAmtFCYToLCY( + 0D, CurrencyCode, + Rec."VAT Amount", CurrencyFactor)); + Rec."VAT Base Amount (ACY)" := Rec."Amount (ACY)" - Rec."VAT Amount (ACY)"; + end; + end; } diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterEntry.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterEntryCZZ.Table.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterEntry.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterEntryCZZ.Table.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeader.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeaderCZZ.Table.al similarity index 98% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeader.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeaderCZZ.Table.al index 404e0766b1..7f5ae0e3ae 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeader.Table.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeaderCZZ.Table.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -17,7 +17,9 @@ using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Finance.ReceivablesPayables; using Microsoft.Finance.VAT.Calculation; using Microsoft.Finance.VAT.Setup; +#if not CLEAN23 using Microsoft.FixedAssets.Journal; +#endif using Microsoft.Foundation.Address; using Microsoft.Foundation.Attachment; using Microsoft.Foundation.AuditCodes; @@ -1058,41 +1060,6 @@ table 31008 "Purch. Adv. Letter Header CZZ" exit((not HasPayToAddress()) and PayToVendor.HasAddress()); end; -#if not CLEAN21 -#pragma warning disable AL0432 - [Obsolete('Replaced by CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])', '21.0')] - procedure CreateDim(Type1: Integer; No1: Code[20]; Type2: Integer; No2: Code[20]; Type3: Integer; No3: Code[20]) - var - SourceCodeSetup: Record "Source Code Setup"; - DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; - OldDimSetID: Integer; - IsHandled: Boolean; - begin - IsHandled := false; - OnBeforeCreateDim(Rec, IsHandled); - if IsHandled then - exit; - - SourceCodeSetup.Get(); - DimensionManagement.AddDimSource(DefaultDimSource, Type1, No1); - DimensionManagement.AddDimSource(DefaultDimSource, Type2, No2); - DimensionManagement.AddDimSource(DefaultDimSource, Type3, No3); - - RunEventOnAfterCreateDimTableIDs(DefaultDimSource); - - "Shortcut Dimension 1 Code" := ''; - "Shortcut Dimension 2 Code" := ''; - OldDimSetID := "Dimension Set ID"; - "Dimension Set ID" := - DimensionManagement.GetRecDefaultDimID( - Rec, CurrFieldNo, DefaultDimSource, SourceCodeSetup.Purchases, "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code", 0, 0); - - if (OldDimSetID <> "Dimension Set ID") and LinesExist() then - Modify(); - end; - -#pragma warning restore AL0432 -#endif #if not CLEAN23 #pragma warning disable AL0432 [Obsolete('Temporary fix to convert Dim Arrays to Dictionary', '23.0')] diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterLine.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterLineCZZ.Table.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterLine.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterLineCZZ.Table.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterEntry.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterEntryCZZ.Table.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterEntry.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterEntryCZZ.Table.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeader.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al similarity index 96% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeader.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al index f7997173a1..545a2196f3 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeader.Table.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al @@ -16,7 +16,6 @@ using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Finance.VAT.Calculation; using Microsoft.Finance.VAT.Registration; using Microsoft.Finance.VAT.Setup; -using Microsoft.FixedAssets.Journal; using Microsoft.Foundation.Address; using Microsoft.Foundation.Attachment; using Microsoft.Foundation.AuditCodes; @@ -1455,63 +1454,6 @@ table 31004 "Sales Adv. Letter Header CZZ" OnAfterUpdateLinesByFieldNo(Rec, xRec, ChangedFieldNo); end; -#if not CLEAN21 -#pragma warning disable AL0432 - [Obsolete('Replaced by CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])', '21.0')] - procedure CreateDim(Type1: Integer; No1: Code[20]; Type2: Integer; No2: Code[20]; Type3: Integer; No3: Code[20]) - var - SourceCodeSetup: Record "Source Code Setup"; - DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; - OldDimSetID: Integer; - IsHandled: Boolean; - begin - IsHandled := false; - OnBeforeCreateDim(Rec, IsHandled); - if IsHandled then - exit; - - SourceCodeSetup.Get(); - DimensionManagement.AddDimSource(DefaultDimSource, Type1, No1); - DimensionManagement.AddDimSource(DefaultDimSource, Type2, No2); - DimensionManagement.AddDimSource(DefaultDimSource, Type3, No3); - RunEventOnAfterCreateDimTableIDs(DefaultDimSource); - - "Shortcut Dimension 1 Code" := ''; - "Shortcut Dimension 2 Code" := ''; - OldDimSetID := "Dimension Set ID"; - "Dimension Set ID" := - DimensionManagement.GetRecDefaultDimID( - Rec, CurrFieldNo, DefaultDimSource, SourceCodeSetup.Sales, "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code", 0, 0); - - if (OldDimSetID <> "Dimension Set ID") and LinesExist() then - Modify(); - end; - - local procedure RunEventOnAfterCreateDimTableIDs(var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]) - var - TableID: array[10] of Integer; - No: array[10] of Code[20]; - begin - CreateDimTableIDs(DefaultDimSource, TableID, No); - OnAfterCreateDimTableIDs(Rec, CurrFieldNo, TableID, No); - CreateDefaultDimSourcesFromDimArray(DefaultDimSource, TableID, No); - end; - - local procedure CreateDimTableIDs(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; var TableID: array[10] of Integer; var No: array[10] of Code[20]) - var - DimArrayConversionHelper: Codeunit "Dim. Array Conversion Helper"; - begin - DimArrayConversionHelper.CreateDimTableIDs(Database::"FA Journal Line", DefaultDimSource, TableID, No); - end; - - local procedure CreateDefaultDimSourcesFromDimArray(var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; TableID: array[10] of Integer; No: array[10] of Code[20]) - var - DimArrayConversionHelper: Codeunit "Dim. Array Conversion Helper"; - begin - DimArrayConversionHelper.CreateDefaultDimSourcesFromDimArray(Database::"FA Journal Line", DefaultDimSource, TableID, No); - end; -#pragma warning restore AL0432 -#endif procedure CreateDimFromDefaultDim(FieldNo: Integer) var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterLine.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterLineCZZ.Table.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterLine.Table.al rename to Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterLineCZZ.Table.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/app.json b/Apps/CZ/AdvancePaymentsLocalization/app/app.json index a816067378..970fe0f180 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/app.json +++ b/Apps/CZ/AdvancePaymentsLocalization/app/app.json @@ -2,7 +2,7 @@ "id": "d6636d6f-155e-4490-9979-ec323a6b7c81", "name": "Advance Payments Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides functionality for advance payments in Business Central for the Czech Republic.", "description": "The Advance Payments solution helps companies meet regulatory requirements for registration and posting advanced payments (prepayments) include VAT requirements in the Czech Republic.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,26 +16,26 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "bc0899d1-2cc9-4091-93f8-032538dbb70f", "name": "Cash Desk Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "8730dafb-13cd-42c9-987c-decb6354269d", "name": "Banking Documents Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/IncomingDocuments.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/IncomingDocumentsCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/test/Src/IncomingDocuments.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/test/Src/IncomingDocumentsCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryPurchAdvances.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryPurchAdvancesCZZ.Codeunit.al similarity index 57% rename from Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryPurchAdvances.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryPurchAdvancesCZZ.Codeunit.al index 9ed0dd1fc5..db7a5baa6f 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryPurchAdvances.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryPurchAdvancesCZZ.Codeunit.al @@ -1,10 +1,11 @@ codeunit 148008 "Library - Purch. Advances CZZ" { var - LibraryUtility: Codeunit "Library - Utility"; + LibraryERM: Codeunit "Library - ERM"; + LibraryJournals: Codeunit "Library - Journals"; LibraryPurchase: Codeunit "Library - Purchase"; LibraryRandom: Codeunit "Library - Random"; - LibraryERM: Codeunit "Library - ERM"; + LibraryUtility: Codeunit "Library - Utility"; procedure CreatePurchAdvanceLetterTemplate(var AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ") begin @@ -70,18 +71,26 @@ codeunit 148008 "Library - Purch. Advances CZZ" LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Order, Vendor."No."); PurchaseHeader.Validate("Posting Date", WorkDate()); - PurchaseHeader.Validate("Prepayment %", 100); + PurchaseHeader.Validate("Prices Including VAT", true); PurchaseHeader.Modify(true); LibraryPurchase.CreatePurchaseLine( - PurchaseLine, PurchaseHeader, PurchaseLine.Type::"G/L Account", GLAccount."No.", 1); + PurchaseLine, PurchaseHeader, PurchaseLine.Type::"G/L Account", GLAccount."No.", LibraryRandom.RandIntInRange(2, 10)); PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDec(1000, 2)); PurchaseLine.Modify(true); end; procedure CreatePurchInvoice(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; VendorNo: Code[20]; PostingDate: Date; VATBusPostingGroupCode: Code[20]; VATProdPostingGroupCode: Code[20]; CurrencyCode: Code[10]; ExchangeRate: Decimal; PricesIncVAT: Boolean; Amount: Decimal) + begin + CreatePurchInvoice(PurchaseHeader, PurchaseLine, VendorNo, PostingDate, PostingDate, VATBusPostingGroupCode, VATProdPostingGroupCode, CurrencyCode, ExchangeRate, PricesIncVAT, Amount); + end; + + procedure CreatePurchInvoice(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; VendorNo: Code[20]; PostingDate: Date; VATDate: Date; VATBusPostingGroupCode: Code[20]; VATProdPostingGroupCode: Code[20]; CurrencyCode: Code[10]; ExchangeRate: Decimal; PricesIncVAT: Boolean; Amount: Decimal) var GLAccount: Record "G/L Account"; +#if not CLEAN22 + ReplaceVATDateMgtCZL: Codeunit "Replace VAT Date Mgt. CZL"; +#endif begin CreateGLAccount(GLAccount); GLAccount.Validate("VAT Bus. Posting Group", VATBusPostingGroupCode); @@ -90,6 +99,12 @@ codeunit 148008 "Library - Purch. Advances CZZ" LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, VendorNo); PurchaseHeader.Validate("Posting Date", PostingDate); +#if not CLEAN22 + if not ReplaceVATDateMgtCZL.IsEnabled() then + PurchaseHeader.Validate("VAT Date CZL", VATDate) + else +#endif + PurchaseHeader.Validate("VAT Reporting Date", VATDate); PurchaseHeader.Validate("Prepayment %", 100); PurchaseHeader.Validate("Prices Including VAT", PricesIncVAT); if CurrencyCode <> '' then @@ -128,6 +143,93 @@ codeunit 148008 "Library - Purch. Advances CZZ" VendorPostingGroup.Modify(true); end; + procedure ReleasePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + Codeunit.Run(Codeunit::"Rel. Purch.Adv.Letter Doc. CZZ", PurchAdvLetterHeaderCZZ); + end; + + procedure LinkPurchAdvanceLetterToDocument(PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; AdvLetterUsageDocTypeCZZ: Enum "Adv. Letter Usage Doc.Type CZZ"; DocumentNo: Code[20]; Amount: Decimal; AmountLCY: Decimal) + var + LibrarySalesAdvancesCZZ: Codeunit "Library - Sales Advances CZZ"; + begin + LibrarySalesAdvancesCZZ.LinkAdvanceLetterToDocument( + Enum::"Advance Letter Type CZZ"::Purchase, PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterHeaderCZZ."Posting Date", + AdvLetterUsageDocTypeCZZ, DocumentNo, Amount, AmountLCY); + end; + + procedure LinkPurchAdvancePayment(PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; VendorLedgerEntry: Record "Vendor Ledger Entry") + var + TempAdvanceLetterLinkBufferCZZ: Record "Advance Letter Link Buffer CZZ" temporary; + PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; + begin + VendorLedgerEntry.CalcFields("Remaining Amount"); + TempAdvanceLetterLinkBufferCZZ.Init(); + TempAdvanceLetterLinkBufferCZZ."Advance Letter Type" := Enum::"Advance Letter Type CZZ"::Purchase; + TempAdvanceLetterLinkBufferCZZ."CV Ledger Entry No." := VendorLedgerEntry."Entry No."; + TempAdvanceLetterLinkBufferCZZ."Advance Letter No." := PurchAdvLetterHeaderCZZ."No."; + TempAdvanceLetterLinkBufferCZZ.Amount := VendorLedgerEntry."Remaining Amount"; + TempAdvanceLetterLinkBufferCZZ.Insert(); + PurchAdvLetterManagementCZZ.LinkAdvancePayment(VendorLedgerEntry, TempAdvanceLetterLinkBufferCZZ, VendorLedgerEntry."Posting Date"); + end; + + procedure UnlinkPurchAdvancePayment(PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") + var + PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; + begin + PurchAdvLetterManagementCZZ.UnlinkAdvancePayment(PurchAdvLetterEntryCZZ, WorkDate()); + end; + + procedure ApplyPurchAdvanceLetter(PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchInvHeader: Record "Purch. Inv. Header") + var + PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; + begin + PurchAdvLetterHeaderCZZ.CalcFields("Amount Including VAT", "Amount Including VAT (LCY)"); + LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Posted Purchase Invoice", PurchInvHeader."No.", + PurchAdvLetterHeaderCZZ."Amount Including VAT", PurchAdvLetterHeaderCZZ."Amount Including VAT (LCY)"); + PurchAdvLetterManagementCZZ.ApplyAdvanceLetter(PurchInvHeader); + end; + + procedure UnapplyAdvanceLetter(var PurchInvHeader: Record "Purch. Inv. Header") + var + PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; + begin + PurchAdvLetterManagementCZZ.UnapplyAdvanceLetter(PurchInvHeader); + end; + + procedure UnApplyVendLedgEntry(VendLedgEntryNo: Integer) + var + VendEntryApplyPostedEntries: Codeunit "VendEntry-Apply Posted Entries"; + begin + VendEntryApplyPostedEntries.UnApplyVendLedgEntry(VendLedgEntryNo); + end; + + procedure PostPurchAdvancePaymentVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") + var + PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; + begin + PurchAdvLetterManagementCZZ.PostAdvancePaymentVAT(PurchAdvLetterEntryCZZ, 0D); + end; + + procedure PostPurchAdvancePaymentUsageVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") + var + PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; + begin + PurchAdvLetterManagementCZZ.PostAdvancePaymentUsageVAT(PurchAdvLetterEntryCZZ); + end; + + procedure ClosePurchAdvanceLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + ClosePurchAdvanceLetter(PurchAdvLetterHeaderCZZ, WorkDate(), WorkDate(), WorkDate(), 0, PurchAdvLetterHeaderCZZ."No."); + end; + + procedure ClosePurchAdvanceLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; PostingDate: Date; VATDate: Date; OriginalDocumentVATDate: Date; CurrencyFactor: Decimal; ExternalDocumentNo: Code[35]) + var + PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; + begin + PurchAdvLetterManagementCZZ.CloseAdvanceLetter(PurchAdvLetterHeaderCZZ, PostingDate, VATDate, OriginalDocumentVATDate, CurrencyFactor, PurchAdvLetterHeaderCZZ."No."); + end; + local procedure CreateGLAccount(var GLAccount: Record "G/L Account") var GeneralPostingSetup: Record "General Posting Setup"; @@ -166,27 +268,41 @@ codeunit 148008 "Library - Purch. Advances CZZ" local procedure AddAdvLetterAccounsToVATPostingSetup(var VATPostingSetup: Record "VAT Posting Setup") begin - LibraryERM.FindVATPostingSetup(VATPostingSetup, VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT"); VATPostingSetup.Validate("Purch. Adv. Letter Account CZZ", GetNewGLAccountNo()); VATPostingSetup.Validate("Purch. Adv.Letter VAT Acc. CZZ", GetNewGLAccountNo()); + VATPostingSetup.Validate("Purch. VAT Curr. Exch. Acc CZL", GetNewGLAccountNo()); VATPostingSetup.Modify(true); end; - procedure CreatePurchAdvancePayment(var GenJournalLine: Record "Gen. Journal Line"; VendorNo: Code[20]; Amount: Decimal; CurrencyCode: Code[10]; AdvanceLetterNo: Code[20]; ExchangeRate: Decimal) + procedure CreatePurchAdvanceLetterFromOrder(var PurchaseHeader: Record "Purchase Header") + var + CreatePurchAdvLetterCZZ: Report "Create Purch. Adv. Letter CZZ"; + begin + CreatePurchAdvLetterCZZ.SetPurchHeader(PurchaseHeader); + CreatePurchAdvLetterCZZ.Run(); + end; + + procedure CreatePurchAdvancePayment(var GenJournalLine: Record "Gen. Journal Line"; VendorNo: Code[20]; Amount: Decimal; CurrencyCode: Code[10]; AdvanceLetterNo: Code[20]; ExchangeRate: Decimal; PostingDate: Date) begin - GenJournalLine.Init(); - GenJournalLine.Validate("Posting Date", WorkDate()); - GenJournalLine.Validate("Account Type", GenJournalLine."Account Type"::Vendor); - GenJournalLine.Validate("Account No.", VendorNo); - GenJournalLine.Validate("Document Type", GenJournalLine."Document Type"::Payment); - GenJournalLine.Validate("Document No.", LibraryRandom.RandText(20)); - GenJournalLine.Validate(Amount, Amount); + LibraryJournals.CreateGenJournalLineWithBatch( + GenJournalLine, GenJournalLine."Document Type"::Payment, GenJournalLine."Account Type"::Vendor, VendorNO, Amount); if CurrencyCode <> '' then GenJournalLine.Validate("Currency Code", CurrencyCode); if ExchangeRate <> 0 then GenJournalLine.Validate("Currency Factor", GenJournalLine."Currency Factor" * ExchangeRate); - GenJournalLine."Bal. Account Type" := GenJournalLine."Bal. Account Type"::"G/L Account"; - GenJournalLine."Bal. Account No." := LibraryERM.CreateGLAccountNoWithDirectPosting(); + if PostingDate <> 0D then + GenJournalLine.Validate("Posting Date", PostingDate); GenJournalLine.Validate("Advance Letter No. CZZ", AdvanceLetterNo); + GenJournalLine.Modify(true); + end; + + procedure CreatePurchAdvancePayment(var GenJournalLine: Record "Gen. Journal Line"; VendorNo: Code[20]; Amount: Decimal; CurrencyCode: Code[10]; AdvanceLetterNo: Code[20]; ExchangeRate: Decimal) + begin + CreatePurchAdvancePayment(GenJournalLine, VendorNo, Amount, CurrencyCode, AdvanceLetterNo, ExchangeRate, 0D); + end; + + procedure PostPurchAdvancePayment(var GenJournalLine: Record "Gen. Journal Line") + begin + LibraryERM.PostGeneralJnlLine(GenJournalLine); end; } diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryRepSelHandler.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryRepSelHandlerCZZ.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryRepSelHandler.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/test/Src/LibraryRepSelHandlerCZZ.Codeunit.al diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibrarySalesAdvances.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibrarySalesAdvancesCZZ.Codeunit.al similarity index 56% rename from Apps/CZ/AdvancePaymentsLocalization/test/Src/LibrarySalesAdvances.Codeunit.al rename to Apps/CZ/AdvancePaymentsLocalization/test/Src/LibrarySalesAdvancesCZZ.Codeunit.al index edf25b92de..27ae0555da 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibrarySalesAdvances.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/test/Src/LibrarySalesAdvancesCZZ.Codeunit.al @@ -1,6 +1,7 @@ codeunit 148009 "Library - Sales Advances CZZ" { var + LibraryJournals: Codeunit "Library - Journals"; LibraryUtility: Codeunit "Library - Utility"; LibrarySales: Codeunit "Library - Sales"; LibraryRandom: Codeunit "Library - Random"; @@ -69,11 +70,11 @@ codeunit 148009 "Library - Sales Advances CZZ" LibrarySales.CreateSalesHeader(SalesHeader, SalesHeader."Document Type"::Order, Customer."No."); SalesHeader.Validate("Posting Date", WorkDate()); - SalesHeader.Validate("Prepayment %", 100); + SalesHeader.Validate("Prices Including VAT", true); SalesHeader.Modify(true); LibrarySales.CreateSalesLine( - SalesLine, SalesHeader, SalesLine.Type::"G/L Account", GLAccount."No.", 1); + SalesLine, SalesHeader, SalesLine.Type::"G/L Account", GLAccount."No.", LibraryRandom.RandIntInRange(2, 10)); SalesLine.Validate("Unit Price", LibraryRandom.RandDec(1000, 2)); SalesLine.Modify(true); end; @@ -89,7 +90,6 @@ codeunit 148009 "Library - Sales Advances CZZ" LibrarySales.CreateSalesHeader(SalesHeader, SalesHeader."Document Type"::Invoice, CustomerNo); SalesHeader.Validate("Posting Date", PostingDate); - SalesHeader.Validate("Prepayment %", 100); SalesHeader.Validate("Prices Including VAT", PricesIncVAT); if CurrencyCode <> '' then SalesHeader.Validate("Currency Code", CurrencyCode); @@ -127,6 +127,104 @@ codeunit 148009 "Library - Sales Advances CZZ" CustomerPostingGroup.Modify(true); end; + procedure ReleaseSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + Codeunit.Run(Codeunit::"Rel. Sales Adv.Letter Doc. CZZ", SalesAdvLetterHeaderCZZ); + end; + + procedure GetPossibleSalesAdvance(AdvLetterUsageDocTypeCZZ: Enum "Adv. Letter Usage Doc.Type CZZ"; DocumentNo: Code[20]; BillToCustomerNo: Code[20]; PostingDate: Date; CurrencyCode: Code[10]; var TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary) + begin + TempAdvanceLetterApplicationCZZ.GetPossibleSalesAdvance(AdvLetterUsageDocTypeCZZ, DocumentNo, BillToCustomerNo, PostingDate, CurrencyCode, TempAdvanceLetterApplicationCZZ); + end; + + procedure LinkAdvanceLetterToDocument(AdvanceLetterTypeCZZ: Enum "Advance Letter Type CZZ"; AdvanceLetterNo: Code[20]; PostingDate: Date; AdvLetterUsageDocTypeCZZ: Enum "Adv. Letter Usage Doc.Type CZZ"; DocumentNo: Code[20]; Amount: Decimal; AmountLCY: Decimal) + var + AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + begin + AdvanceLetterApplicationCZZ.Init(); + AdvanceLetterApplicationCZZ."Advance Letter Type" := AdvanceLetterTypeCZZ; + AdvanceLetterApplicationCZZ."Advance Letter No." := AdvanceLetterNo; + AdvanceLetterApplicationCZZ."Posting Date" := PostingDate; + AdvanceLetterApplicationCZZ."Document Type" := AdvLetterUsageDocTypeCZZ; + AdvanceLetterApplicationCZZ."Document No." := DocumentNo; + AdvanceLetterApplicationCZZ.Amount := Amount; + AdvanceLetterApplicationCZZ."Amount (LCY)" := AmountLCY; + AdvanceLetterApplicationCZZ.Insert(); + end; + + procedure LinkSalesAdvanceLetterToDocument(SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; AdvLetterUsageDocTypeCZZ: Enum "Adv. Letter Usage Doc.Type CZZ"; DocumentNo: Code[20]; Amount: Decimal; AmountLCY: Decimal) + begin + LinkAdvanceLetterToDocument( + Enum::"Advance Letter Type CZZ"::Sales, SalesAdvLetterHeaderCZZ."No.", SalesAdvLetterHeaderCZZ."Posting Date", + AdvLetterUsageDocTypeCZZ, DocumentNo, Amount, AmountLCY); + end; + + procedure LinkSalesAdvancePayment(SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; CustLedgerEntry: Record "Cust. Ledger Entry") + var + TempAdvanceLetterLinkBufferCZZ: Record "Advance Letter Link Buffer CZZ" temporary; + SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; + begin + CustLedgerEntry.CalcFields("Remaining Amount"); + TempAdvanceLetterLinkBufferCZZ.Init(); + TempAdvanceLetterLinkBufferCZZ."Advance Letter Type" := Enum::"Advance Letter Type CZZ"::Sales; + TempAdvanceLetterLinkBufferCZZ."CV Ledger Entry No." := CustLedgerEntry."Entry No."; + TempAdvanceLetterLinkBufferCZZ."Advance Letter No." := SalesAdvLetterHeaderCZZ."No."; + TempAdvanceLetterLinkBufferCZZ.Amount := -CustLedgerEntry."Remaining Amount"; + TempAdvanceLetterLinkBufferCZZ.Insert(); + SalesAdvLetterManagementCZZ.LinkAdvancePayment(CustLedgerEntry, TempAdvanceLetterLinkBufferCZZ, CustLedgerEntry."Posting Date"); + end; + + procedure UnlinkSalesAdvancePayment(SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ") + var + SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; + begin + SalesAdvLetterManagementCZZ.UnlinkAdvancePayment(SalesAdvLetterEntryCZZ, WorkDate()); + end; + + procedure ApplySalesAdvanceLetter(SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesInvoiceHeader: Record "Sales Invoice Header") + var + SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; + begin + SalesAdvLetterHeaderCZZ.CalcFields("Amount Including VAT", "Amount Including VAT (LCY)"); + LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Posted Sales Invoice", SalesInvoiceHeader."No.", + SalesAdvLetterHeaderCZZ."Amount Including VAT", SalesAdvLetterHeaderCZZ."Amount Including VAT (LCY)"); + SalesAdvLetterManagementCZZ.ApplyAdvanceLetter(SalesInvoiceHeader); + end; + + procedure UnapplyAdvanceLetter(var SalesInvoiceHeader: Record "Sales Invoice Header") + var + SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; + begin + SalesAdvLetterManagementCZZ.UnapplyAdvanceLetter(SalesInvoiceHeader); + end; + + procedure PostSalesAdvancePaymentVAT(SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ") + var + SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; + begin + SalesAdvLetterManagementCZZ.PostAdvancePaymentVAT(SalesAdvLetterEntryCZZ, 0D, true); + end; + + procedure PostSalesAdvancePaymentUsageVAT(var SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ") + var + SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; + begin + SalesAdvLetterManagementCZZ.PostAdvancePaymentUsageVAT(SalesAdvLetterEntryCZZ); + end; + + procedure CloseSalesAdvanceLetter(var SalesAdvLetterHeader: Record "Sales Adv. Letter Header CZZ") + begin + CloseSalesAdvanceLetter(SalesAdvLetterHeader, WorkDate(), WorkDate(), 0); + end; + + procedure CloseSalesAdvanceLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; PostingDate: Date; VATDate: Date; CurrencyFactor: Decimal) + var + SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; + begin + SalesAdvLetterManagementCZZ.CloseAdvanceLetter(SalesAdvLetterHeaderCZZ, PostingDate, VATDate, CurrencyFactor); + end; + local procedure CreateGLAccount(var GLAccount: Record "G/L Account") var GeneralPostingSetup: Record "General Posting Setup"; @@ -143,6 +241,13 @@ codeunit 148009 "Library - Sales Advances CZZ" GLAccount.Modify(true); end; + procedure UnApplyCustLedgEntry(CustLedgEntryNo: Integer) + var + CustEntryApplyPostedEntries: Codeunit "CustEntry-Apply Posted Entries"; + begin + CustEntryApplyPostedEntries.UnApplyCustLedgEntry(CustLedgEntryNo); + end; + local procedure GetNewGLAccountNo(): Code[20] var GLAccount: Record "G/L Account"; @@ -165,27 +270,40 @@ codeunit 148009 "Library - Sales Advances CZZ" local procedure AddAdvLetterAccounsToVATPostingSetup(var VATPostingSetup: Record "VAT Posting Setup") begin - LibraryERM.FindVATPostingSetup(VATPostingSetup, VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT"); VATPostingSetup.Validate("Sales Adv. Letter Account CZZ", GetNewGLAccountNo()); VATPostingSetup.Validate("Sales Adv. Letter VAT Acc. CZZ", GetNewGLAccountNo()); VATPostingSetup.Modify(true); end; - procedure CreateSalesAdvancePayment(var GenJournalLine: Record "Gen. Journal Line"; CustomerNo: Code[20]; Amount: Decimal; CurrencyCode: Code[10]; AdvanceLetterNo: Code[20]; ExchangeRate: Decimal) + procedure CreateSalesAdvanceLetterFromOrder(var SalesHeader: Record "Sales Header") + var + CreateSalesAdvLetterCZZ: Report "Create Sales Adv. Letter CZZ"; + begin + CreateSalesAdvLetterCZZ.SetSalesHeader(SalesHeader); + CreateSalesAdvLetterCZZ.Run(); + end; + + procedure CreateSalesAdvancePayment(var GenJournalLine: Record "Gen. Journal Line"; CustomerNo: Code[20]; Amount: Decimal; CurrencyCode: Code[10]; AdvanceLetterNo: Code[20]; ExchangeRate: Decimal; PostingDate: Date) begin - GenJournalLine.Init(); - GenJournalLine.Validate("Posting Date", WorkDate()); - GenJournalLine.Validate("Account Type", GenJournalLine."Account Type"::Customer); - GenJournalLine.Validate("Account No.", CustomerNo); - GenJournalLine.Validate("Document Type", GenJournalLine."Document Type"::Payment); - GenJournalLine.Validate("Document No.", LibraryRandom.RandText(20)); - GenJournalLine.Validate(Amount, Amount); + LibraryJournals.CreateGenJournalLineWithBatch( + GenJournalLine, GenJournalLine."Document Type"::Payment, GenJournalLine."Account Type"::Customer, CustomerNo, Amount); if CurrencyCode <> '' then GenJournalLine.Validate("Currency Code", CurrencyCode); if ExchangeRate <> 0 then GenJournalLine.Validate("Currency Factor", GenJournalLine."Currency Factor" * ExchangeRate); - GenJournalLine."Bal. Account Type" := GenJournalLine."Bal. Account Type"::"G/L Account"; - GenJournalLine."Bal. Account No." := LibraryERM.CreateGLAccountNoWithDirectPosting(); + if PostingDate <> 0D then + GenJournalLine.Validate("Posting Date", PostingDate); GenJournalLine.Validate("Advance Letter No. CZZ", AdvanceLetterNo); + GenJournalLine.Modify(true); + end; + + procedure CreateSalesAdvancePayment(var GenJournalLine: Record "Gen. Journal Line"; CustomerNo: Code[20]; Amount: Decimal; CurrencyCode: Code[10]; AdvanceLetterNo: Code[20]; ExchangeRate: Decimal) + begin + CreateSalesAdvancePayment(GenJournalLine, CustomerNo, Amount, CurrencyCode, AdvanceLetterNo, ExchangeRate, 0D); + end; + + procedure PostSalesAdvancePayment(var GenJournalLine: Record "Gen. Journal Line") + begin + LibraryERM.PostGeneralJnlLine(GenJournalLine); end; } diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchAdvPaymentsFCYCZZ.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchAdvPaymentsFCYCZZ.Codeunit.al new file mode 100644 index 0000000000..6ab02e884d --- /dev/null +++ b/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchAdvPaymentsFCYCZZ.Codeunit.al @@ -0,0 +1,1318 @@ +codeunit 148123 "Purch. Adv. Payments FCY CZZ" +{ + Subtype = Test; + TestPermissions = Disabled; + + trigger OnRun() + begin + // [FEATURE] [Advance Payments] [Purchase] [Foreign Currency] + isInitialized := false; + end; + + var + AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; + GeneralLedgerSetup: Record "General Ledger Setup"; + Assert: Codeunit Assert; + LibraryDialogHandler: Codeunit "Library - Dialog Handler"; + LibraryERM: Codeunit "Library - ERM"; + LibraryPurchAdvancesCZZ: Codeunit "Library - Purch. Advances CZZ"; + LibraryPurchase: Codeunit "Library - Purchase"; + LibraryRandom: Codeunit "Library - Random"; + LibraryReportDataset: Codeunit "Library - Report Dataset"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; + isInitialized: Boolean; + CannotBeFoundErr: Label 'The field Advance Letter No. of table Gen. Journal Line contains a value (%1) that cannot be found in the related table (%2).', Comment = '%1 = advance letter no., %2 = table name'; + ExceededVATDifferenceErr: Label 'The VAT Differnce must not be more than %1.', Comment = '%1 = max VAT difference allowed'; + UnapplyAdvLetterQst: Label 'Unapply advance letter: %1\Continue?', Comment = '%1 = Advance Letters'; + CurrExchRateAdjustedMsg: Label 'One or more currency exchange rates have been adjusted.'; + + local procedure Initialize() + var + LibraryTestInitialize: Codeunit "Library - Test Initialize"; +#if not CLEAN22 + ReplaceVATDateMgtCZL: Codeunit "Replace VAT Date Mgt. CZL"; +#endif + begin + LibraryTestInitialize.OnTestInitialize(Codeunit::"Purch. Adv. Payments FCY CZZ"); + LibraryRandom.Init(); + LibraryVariableStorage.Clear(); + LibraryDialogHandler.ClearVariableStorage(); + if isInitialized then + exit; + LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::"Purch. Adv. Payments FCY CZZ"); + + GeneralLedgerSetup.Get(); +#if not CLEAN22 + if not ReplaceVATDateMgtCZL.IsEnabled() then + GeneralLedgerSetup."Use VAT Date CZL" := true + else +#endif + GeneralLedgerSetup."VAT Reporting Date Usage" := GeneralLedgerSetup."VAT Reporting Date Usage"::Enabled; + GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL" := GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL"::"VAT Date"; + GeneralLedgerSetup."Max. VAT Difference Allowed" := 0.5; + GeneralLedgerSetup.Modify(); + + LibraryPurchAdvancesCZZ.CreatePurchAdvanceLetterTemplate(AdvanceLetterTemplateCZZ); + UpdateCurrency(); + + isInitialized := true; + Commit(); + LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::"Purch. Adv. Payments FCY CZZ"); + end; + + [Test] + procedure PurchAdvLetterInFCYPaidInLCY() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + GenJournalLine: Record "Gen. Journal Line"; + begin + // [SCENARIO] Create purchase advance letter in foreign currency and paid in local currency + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [WHEN] Create payment journal + asserterror LibraryPurchAdvancesCZZ.CreatePurchAdvancePayment( + GenJournalLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterLineCZZ."Amount Including VAT", '', + PurchAdvLetterHeaderCZZ."No.", 0, 0D); + + // [THEN] The error will occur + Assert.ExpectedError(StrSubstNo(CannotBeFoundErr, PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterHeaderCZZ.TableCaption())); + end; + + [Test] + procedure PurchAdvLetterInFCYPaidInFCY() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + begin + // [SCENARIO] Create purchase advance letter in foreign currency and paid in foreign currency + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [WHEN] Create and post payment advance letter + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [THEN] Purchase advance letter will be changed to status = "To Use" + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Purchase advance letter entry with entry type = Payment will be exist + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkPurchAdvLetterInFCYToInvoiceInLCY() + var + AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + TempAdvanceLetterApplication: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Create purchase advance letter in foreign currency and link to invoice in local currency + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice in local currency has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get list of advance letter available for linking + AdvanceLetterApplicationCZZ.GetPossiblePurchAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", PurchaseHeader."Pay-to Vendor No.", + PurchaseHeader."Posting Date", PurchaseHeader."Currency Code", TempAdvanceLetterApplication); + + // [THEN] Purchase advance letter won't be available for linking + TempAdvanceLetterApplication.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Purchase); + TempAdvanceLetterApplication.SetRange("Advance Letter No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsEmpty(TempAdvanceLetterApplication); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkPurchAdvLetterInFCYToInvoiceInFCY() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create purchase advance letter in foreign currency and link to invoice in foreign currency + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice in foreign currency has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", PurchAdvLetterHeaderCZZ."Currency Code", 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure ClosePurchAdvLetterInFCYWithoutPaymentVAT() + var + PurchAdvLetterEntryCZZ1: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterEntryCZZ2: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + ClosingDate: Date; + begin + // [SCENARIO] Purchase advance letter in foreign currency without payment VAT can be closed + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Close advance letter + ClosingDate := WorkDate() + 1; + LibraryPurchAdvancesCZZ.ClosePurchAdvanceLetter( + PurchAdvLetterHeaderCZZ, ClosingDate, ClosingDate, ClosingDate, 0, PurchAdvLetterHeaderCZZ."No."); + + // [THEN] Purchase advance letter entry of "Close" type will be created and will have the same amount as entry of "Payment" type with opposite sign + PurchAdvLetterEntryCZZ1.Reset(); + PurchAdvLetterEntryCZZ1.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ1.SetRange("Entry Type", PurchAdvLetterEntryCZZ1."Entry Type"::Payment); + PurchAdvLetterEntryCZZ1.FindFirst(); + + PurchAdvLetterEntryCZZ2.Reset(); + PurchAdvLetterEntryCZZ2.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ2.SetRange("Entry Type", PurchAdvLetterEntryCZZ2."Entry Type"::Close); + PurchAdvLetterEntryCZZ2.FindFirst(); + Assert.AreEqual(PurchAdvLetterEntryCZZ1."Entry No.", PurchAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + Assert.AreEqual(-PurchAdvLetterEntryCZZ1.Amount, PurchAdvLetterEntryCZZ2.Amount, 'The entry must have the opposite amount as related entry.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure ClosePurchAdvLetterInFCYWithPaymentVAT() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + ClosingDate: Date; + begin + // [SCENARIO] Purchase advance letter in foreign currency with payment VAT can be closed + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [WHEN] Close advance letter + ClosingDate := WorkDate() + 1; + LibraryPurchAdvancesCZZ.ClosePurchAdvanceLetter( + PurchAdvLetterHeaderCZZ, ClosingDate, ClosingDate, ClosingDate, 0, PurchAdvLetterHeaderCZZ."No."); + + // [THEN] Purchase advance letter entry of "Close" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Close); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Close" type will be created + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Close"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Rate" type will be created + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] The sum of amounts of purchase advance letter entries will be zero + PurchAdvLetterEntryCZZ.SetFilter("Entry Type", '<>%1', PurchAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + PurchAdvLetterEntryCZZ.CalcSums("Amount (LCY)"); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."Amount (LCY)", 'The sum of amounts must be zero.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkPurchAdvLetterInFCYToInvoiceWithDiffCurrExchRate() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create purchase advance letter in foreign currency and link to invoice with different currency exchange rate + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice in foreign currency has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date" + 1, + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", PurchAdvLetterHeaderCZZ."Currency Code", 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreNearlyEqual(0, VATEntry.Base, 1, 'The sum of base amount in VAT entries must be zero.'); + Assert.AreNearlyEqual(0, VATEntry.Amount, 1, 'The sum of amount in VAT entries must be zero.'); + + // [THEN] Purchase advance letter entry of "Usage" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Usage" type will be created + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Usage"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Rate" type will be created + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkPurchAdvLetterInFCYToInvoiceWithDiffVATCurrExchRate() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create purchase advance letter in foreign currency and link to invoice with different VAT currency exchange rate + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice in foreign currency has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", + PurchAdvLetterHeaderCZZ."Posting Date" + 2, PurchAdvLetterHeaderCZZ."Posting Date" + 1, + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", + PurchAdvLetterHeaderCZZ."Currency Code", 0, true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreNearlyEqual(0, VATEntry.Base, 1, 'The sum of base amount in VAT entries must be zero.'); + Assert.AreNearlyEqual(0, VATEntry.Amount, 1, 'The sum of amount in VAT entries must be zero.'); + + // [THEN] Purchase advance letter entry of "Usage" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Usage" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Usage"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Rate" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentExceededVATCorrFCYHandler')] + procedure VATCorrectionFCYOnPurchaseAdvancePaymentVATExceeded() + var + Currency: Record Currency; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + begin + // [SCENARIO] Correction of the VAT amount on the payment VAT for the purchase advance in foreign currency with an exceeded VAT difference + Initialize(); + FindForeignCurrency(Currency); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Set VAT correction with an exceeded VAT difference on payment VAT + FindLastPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ); + LibraryVariableStorage.Enqueue(WorkDate()); // original document vat date + LibraryVariableStorage.Enqueue(PurchAdvLetterEntryCZZ."Document No."); // external document no. + LibraryVariableStorage.Enqueue(PurchAdvLetterLineCZZ."VAT Amount" + (Currency."Max. VAT Difference Allowed" * 2)); // VAT correction more than allowed + LibraryPurchAdvancesCZZ.PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + + // [THEN] Error occurs + Assert.ExpectedError(StrSubstNo(ExceededVATDifferenceErr, Currency."Max. VAT Difference Allowed")); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentVATCorrFCYHandler')] + procedure VATCorrectionFCYOnPurchaseAdvancePaymentVAT() + var + Currency: Record Currency; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + CorrectedVATAmount: Decimal; + begin + // [SCENARIO] Correction of the VAT amount on the payment VAT for the purchase advance in foreign currency within VAT difference + Initialize(); + FindForeignCurrency(Currency); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Set VAT correction within VAT difference on payment VAT + // CorrectedVATAmount := Round(PurchAdvLetterLineCZZ."VAT Amount", + // Currency."Amount Rounding Precision", Currency.VATRoundingDirection()) + + // GeneralLedgerSetup."Max. VAT Difference Allowed"; + CorrectedVATAmount := PurchAdvLetterLineCZZ."VAT Amount" + Currency."Max. VAT Difference Allowed"; + FindLastPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ); + LibraryVariableStorage.Enqueue(WorkDate()); // original document vat date + LibraryVariableStorage.Enqueue(PurchAdvLetterEntryCZZ."Document No."); // external document no. + LibraryVariableStorage.Enqueue(CorrectedVATAmount); // VAT correction + LibraryPurchAdvancesCZZ.PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Payment" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] VAT amount of the purchase advance letter entry will be equal to corrected VAT amount + PurchAdvLetterEntryCZZ.FindFirst(); + Assert.AreEqual( + CorrectedVATAmount, + PurchAdvLetterEntryCZZ."VAT Amount", 'VAT amount must be equal to corrected VAT amount.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentVATCorrLCYHandler')] + procedure VATCorrectionLCYOnPurchaseAdvancePaymentVAT() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + CorrectedVATAmount: Decimal; + begin + // [SCENARIO] Correction of the VAT amount (LCY) on the payment VAT for the purchase advance in foreign currency within VAT difference + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Set VAT correction within VAT difference on payment VAT + CorrectedVATAmount := PurchAdvLetterLineCZZ."VAT Amount (LCY)" + GeneralLedgerSetup."Max. VAT Difference Allowed"; + FindLastPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ); + LibraryVariableStorage.Enqueue(WorkDate()); // original document vat date + LibraryVariableStorage.Enqueue(PurchAdvLetterEntryCZZ."Document No."); // external document no. + LibraryVariableStorage.Enqueue(CorrectedVATAmount); // VAT correction + LibraryPurchAdvancesCZZ.PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Payment" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] VAT amount (LCY) of the purchase advance letter entry will be equal to corrected VAT amount + PurchAdvLetterEntryCZZ.FindFirst(); + Assert.AreEqual( + CorrectedVATAmount, + PurchAdvLetterEntryCZZ."VAT Amount (LCY)", 'VAT amount (LCY) must be equal to corrected VAT amount.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure ClosePurchAdvLetterInFCYPartiallyDeducted() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + ClosingDate: Date; + begin + // [SCENARIO] Close purchase advance letter in foreign currency and partially deducted by purchase invoice + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice in foreign currency and different exchange rate as advance letter has been created + // [GIVEN] Purchase invoice line with a lower amount than advance letter line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date" + 1, + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", + PurchAdvLetterHeaderCZZ."Currency Code", 0, true, PurchAdvLetterLineCZZ."Amount Including VAT" / 2); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostPurchaseDocument(PurchaseHeader); + + // [WHEN] Close purchase advance letter + ClosingDate := WorkDate() + 1; + LibraryPurchAdvancesCZZ.ClosePurchAdvanceLetter(PurchAdvLetterHeaderCZZ, ClosingDate, ClosingDate, ClosingDate, 0, PurchAdvLetterHeaderCZZ."No."); + + // [THEN] Purchase advance letter entry of "Close" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Close); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Close" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Close"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of "VAT Rate" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] The sum of amounts of purchase advance letter entries will be zero + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetFilter("Entry Type", '<>%1', PurchAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + PurchAdvLetterEntryCZZ.CalcSums("Amount (LCY)"); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."Amount (LCY)", 'The sum of amounts must be zero.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure MultipleAdvancePaymentInFCY() + var + Currency: Record Currency; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + FirstPaymentAmount: Decimal; + SecondPaymentAmount: Decimal; + ThirdPaymentAmount: Decimal; + begin + // [SCENARIO] The payment of the purchase advance letter in foreign currency can be split into several payments + Initialize(); + FindForeignCurrency(Currency); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been partially paid + FirstPaymentAmount := Round(PurchAdvLetterLineCZZ."Amount Including VAT" / 3, + Currency."Amount Rounding Precision", Currency.VATRoundingDirection()); + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, FirstPaymentAmount); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been partially paid + SecondPaymentAmount := FirstPaymentAmount; + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, SecondPaymentAmount); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been partially paid + ThirdPaymentAmount := PurchAdvLetterLineCZZ."Amount Including VAT" - FirstPaymentAmount - SecondPaymentAmount; + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, ThirdPaymentAmount, 0, PurchAdvLetterHeaderCZZ."Posting Date" + 1); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice in foreign currency and different exchange rate as advance letter has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date" + 5, + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", + PurchAdvLetterHeaderCZZ."Currency Code", 0, true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts of VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreNearlyEqual(0, VATEntry.Base, 1, 'The sum of base amount in VAT entries must be zero.'); + Assert.AreNearlyEqual(0, VATEntry.Amount, 1, 'The sum of amount in VAT entries must be zero.'); + + // [THEN] Three purchase advance letter entry of "VAT Payment" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + Assert.RecordCount(PurchAdvLetterEntryCZZ, 3); + + // [THEN] Three purchase advance letter entry of "VAT Usage" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Usage"); + Assert.RecordCount(PurchAdvLetterEntryCZZ, 3); + + // [THEN] Three purchase advance letter entry of "VAT Rate" type will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordCount(PurchAdvLetterEntryCZZ, 3); + + // [THEN] Sum of VAT base and VAT amount of purchase advance letter entries will be zero + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount", 'The sum of VAT base amount in purchase adv. letter entries must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in purchase adv. letter entries must be zero.'); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkMultipleAdvanceLettersInFCYToOneInvoice() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ1: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterHeaderCZZ2: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ1: Record "Purch. Adv. Letter Line CZZ"; + PurchAdvLetterLineCZZ2: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine1: Record "Purchase Line"; + PurchaseLine2: Record "Purchase Line"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Multiple advance letters in foreign currency can be linked to a one purchase invoice + Initialize(); + + // [GIVEN] First purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ1, PurchAdvLetterLineCZZ1); + + // [GIVEN] First purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ1); + + // [GIVEN] First purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ1, PurchAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ1); + + // [GIVEN] Second purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ2, PurchAdvLetterLineCZZ2, PurchAdvLetterHeaderCZZ1."Pay-to Vendor No."); + + // [GIVEN] Second purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ2); + + // [GIVEN] Second purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ2, PurchAdvLetterLineCZZ2."Amount Including VAT"); + + // [GIVEN] Second purchase VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ2); + + // [GIVEN] Purchase invoice in foreign currency and different exchange rate as advance letters has been created + // [GIVEN] First purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine1, PurchAdvLetterHeaderCZZ1."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ1."Posting Date" + 5, + PurchAdvLetterLineCZZ1."VAT Bus. Posting Group", PurchAdvLetterLineCZZ1."VAT Prod. Posting Group", + PurchAdvLetterHeaderCZZ1."Currency Code", 0, true, PurchAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Second purchase invoice line has been created + LibraryPurchase.CreatePurchaseLine(PurchaseLine2, PurchaseHeader, PurchaseLine2.Type::"G/L Account", PurchaseLine1."No.", 1); + PurchaseLine2.Validate("Direct Unit Cost", PurchAdvLetterLineCZZ2."Amount Including VAT"); + PurchaseLine2.Modify(true); + + // [GIVEN] Whole first advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ1, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ1."Amount Including VAT", PurchAdvLetterLineCZZ1."Amount Including VAT (LCY)"); + + // [GIVEN] Whole second advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ2, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ2."Amount Including VAT", PurchAdvLetterLineCZZ2."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] Purchase advance letter entry of Usage type for the first purchase advance letter will be created + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ1."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + PurchAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry of Usage type for the second purchase advance letter will be created + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ2."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + PurchAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure UnlinkPurchAdvLetterInFCYFromPayment() + var + PurchAdvLetterEntryCZZ1: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterEntryCZZ2: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + VendorLedgerEntry: Record "Vendor Ledger Entry"; + begin + // [SCENARIO] Unlink purchase advance letter in foreign currency from payment + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [WHEN] Unlink advance letter from payment + FindLastPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ1); + LibraryPurchAdvancesCZZ.UnlinkPurchAdvancePayment(PurchAdvLetterEntryCZZ1); + + // [THEN] Purchase advance letter entries will be created. One of the type "Payment" and the other of the "VAT Payment". + PurchAdvLetterEntryCZZ2.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ2.Find('+'); + Assert.AreEqual(PurchAdvLetterEntryCZZ2."Entry Type"::Payment, PurchAdvLetterEntryCZZ2."Entry Type", 'The purchase advance letter entry must be of type "Payment".'); + Assert.AreEqual(-PurchAdvLetterEntryCZZ1.Amount, PurchAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ1."Entry No.", PurchAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + PurchAdvLetterEntryCZZ2.Next(-1); + Assert.AreEqual(PurchAdvLetterEntryCZZ2."Entry Type"::"VAT Payment", PurchAdvLetterEntryCZZ2."Entry Type", 'The purchase advance letter entry must be of type "VAT Payment".'); + Assert.AreEqual(-PurchAdvLetterEntryCZZ1.Amount, PurchAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ1."Entry No.", PurchAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + // [THEN] Last opened vendor ledger entry won't be related to advance letter. The "Advance Letter No." field will be empty. + VendorLedgerEntry.SetRange(Open, true); + VendorLedgerEntry.FindLast(); + Assert.AreEqual('', VendorLedgerEntry."Advance Letter No. CZZ", 'The advance letter no. must be empty.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler,ConfirmHandler')] + procedure UnlinkPurchAdvLetterInFCYFromPostedInvoice() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchInvHeader: Record "Purch. Inv. Header"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Unlink purchase advance letter in foreign currency from posted invoice + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice in foreign currency has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", + PurchAdvLetterHeaderCZZ."Currency Code", 0, true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [WHEN] Unlink purchase advance letter from posted purchase invoice + PurchInvHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, PurchAdvLetterHeaderCZZ."No."), true); + LibraryPurchAdvancesCZZ.UnapplyAdvanceLetter(PurchInvHeader); + + // [THEN] Purchase advance letter will be changed to status = "To Use" + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Sum amounts of purchase advance letter entries for posted purchase invoice must be zero + PurchAdvLetterEntryCZZ.SetRange("Document No.", PurchInvHeader."No."); + PurchAdvLetterEntryCZZ.CalcSums(Amount, "Amount (LCY)", "VAT Base Amount", "VAT Base Amount (LCY)", "VAT Amount", "VAT Amount (LCY)"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ.Amount, 'The Amount must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."Amount (LCY)", 'The Amount LCY must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount", 'The VAT Base Amount must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount (LCY)", 'The VAT Base Amount LCY must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount", 'The VAT Amount must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount (LCY)", 'The VAT Amount LCY must be zero.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler,RequestPageAdjustExchangeRatesHandler,MessageHandler')] + procedure AdjustCurrExchRateWithoutAffectedPaymentPurchAdvLetterInFCY() + var + DetailedVendorLedgEntry: Record "Detailed Vendor Ledg. Entry"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + VendorLedgerEntry: Record "Vendor Ledger Entry"; + EntryCount: Integer; + begin + // [SCENARIO] Adjust currency exchange rate without affected payment purchase advance letter in foreign currency + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Count of purchase advance letter entry has been saved + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + EntryCount := PurchAdvLetterEntryCZZ.Count(); + + // [WHEN] Run adjust exchange rate + Commit(); + SetExpectedMessage(CurrExchRateAdjustedMsg); + RunAdjustExchangeRates( + PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Currency Code", + CalcDate('<-CY>', WorkDate()), CalcDate('', WorkDate()), CalcDate('', WorkDate()), + PurchAdvLetterHeaderCZZ."No.", false, true, false, true, false); + + // [THEN] Detailed vendor ledger entry with of "Unrealized Gain" or "Unrealized Loss" type will be created + VendorLedgerEntry.Reset(); + VendorLedgerEntry.SetRange("Vendor No.", PurchAdvLetterHeaderCZZ."Pay-to Vendor No."); + VendorLedgerEntry.FindLast(); + DetailedVendorLedgEntry.SetCurrentKey("Vendor Ledger Entry No."); + DetailedVendorLedgEntry.SetRange("Vendor Ledger Entry No.", VendorLedgerEntry."Entry No."); + DetailedVendorLedgEntry.SetFilter("Entry Type", '%1|%2', + DetailedVendorLedgEntry."Entry Type"::"Unrealized Gain", + DetailedVendorLedgEntry."Entry Type"::"Unrealized Loss"); + Assert.RecordIsNotEmpty(DetailedVendorLedgEntry); + + // [THEN] Count of the purchase advance letter entries is the same as before adjust running + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordCount(PurchAdvLetterEntryCZZ, EntryCount); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler,RequestPageAdjustExchangeRatesHandler,MessageHandler,RequestPageAdjustAdvExchRatesHandler')] + procedure AdjustCurrExchRateWithAffectedPaymentPurchAdvLetterInFCY() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + AdjustedDate: Date; + begin + // [SCENARIO] Adjust currency exchange rate with affected payment purchase advance letter in foreign currency + Initialize(); + + // [GIVEN] Purchase advance letter in foreign currency has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Adjust exchange rate has been ran + Commit(); + SetExpectedMessage(CurrExchRateAdjustedMsg); + RunAdjustExchangeRates( + PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Currency Code", + CalcDate('<-CY>', WorkDate()), CalcDate('', WorkDate()), CalcDate('', WorkDate()), + PurchAdvLetterHeaderCZZ."No.", false, true, false, true, false); + + // [WHEN] Run adjust adv. exch. rates + Commit(); + AdjustedDate := CalcDate('', WorkDate()); + RunAdjustAdvExchRates( + PurchAdvLetterHeaderCZZ."No.", AdjustedDate, PurchAdvLetterHeaderCZZ."No.", false, true); + + // [THEN] Purchase advance letter entries of type "VAT Adjustment" will be created + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Adjustment"); + PurchAdvLetterEntryCZZ.SetRange("Posting Date", AdjustedDate); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + end; + + local procedure UpdateCurrency() + var + Currency: Record Currency; + begin + FindForeignCurrency(Currency); + Currency.Validate("Invoice Rounding Precision", 0.01); + Currency.Validate("Max. VAT Difference Allowed", 0.5); + Currency.Modify(); + + LibraryERM.CreateExchangeRate(Currency.Code, WorkDate(), 1 / 25, 1 / 25); + LibraryERM.CreateExchangeRate(Currency.Code, WorkDate() + 1, 1 / 25.5, 1 / 25.5); + LibraryERM.CreateExchangeRate(Currency.Code, WorkDate() + 2, 1 / 26.2, 1 / 26.2); + LibraryERM.CreateExchangeRate(Currency.Code, CalcDate('', WorkDate()), 1 / 27, 1 / 27); + end; + + local procedure CreatePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; VendorNo: Code[20]) + var + Currency: Record Currency; + VATPostingSetup: Record "VAT Posting Setup"; + Vendor: Record Vendor; + begin + LibraryPurchAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + + if VendorNo = '' then begin + LibraryPurchAdvancesCZZ.CreateVendor(Vendor); + Vendor.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); + Vendor.Modify(true); + VendorNo := Vendor."No."; + end; + + FindForeignCurrency(Currency); + LibraryPurchAdvancesCZZ.CreatePurchAdvLetterHeader(PurchAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, VendorNo, Currency.Code); + LibraryPurchAdvancesCZZ.CreatePurchAdvLetterLine(PurchAdvLetterLineCZZ, PurchAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); + end; + + local procedure CreatePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ") + begin + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, ''); + end; + + local procedure CreateAndPostPaymentPurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal; PostingDate: Date) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibraryPurchAdvancesCZZ.CreatePurchAdvancePayment( + GenJournalLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", Amount, PurchAdvLetterHeaderCZZ."Currency Code", + PurchAdvLetterHeaderCZZ."No.", ExchangeRate, PostingDate); + LibraryPurchAdvancesCZZ.PostPurchAdvancePayment(GenJournalLine); + end; + + local procedure CreateAndPostPaymentPurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; Amount: Decimal) + begin + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, Amount, 0, 0D); + end; + + local procedure FindForeignCurrency(var Currency: Record Currency) + begin + Currency.SetFilter(Code, '<>%1', GeneralLedgerSetup."LCY Code"); + LibraryERM.FindCurrency(Currency); + end; + + local procedure ReleasePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + end; + + local procedure PostGenJournalLine(var GenJournalLine: Record "Gen. Journal Line") + begin + Codeunit.Run(Codeunit::"Gen. Jnl.-Post Line", GenJournalLine); + end; + + local procedure PostPurchaseDocument(var PurchaseHeader: Record "Purchase Header"): Code[20] + begin + exit(LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true)); + end; + + local procedure FindLastPaymentAdvanceLetterEntry(AdvanceLetterNo: Code[20]; var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") + begin + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", AdvanceLetterNo); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + PurchAdvLetterEntryCZZ.FindLast(); + end; + + local procedure PostPurchAdvancePaymentVAT(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"); + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + begin + FindLastPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ); + PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + end; + + local procedure PostPurchAdvancePaymentVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"); + begin + LibraryVariableStorage.Enqueue(WorkDate()); // original document vat date + LibraryVariableStorage.Enqueue(PurchAdvLetterEntryCZZ."Document No."); // external document no. + LibraryPurchAdvancesCZZ.PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + end; + + local procedure RunAdjustExchangeRates(VendorNo: Code[20]; CurrencyCode: Code[10]; StartDate: Date; EndDate: Date; PostingDate: Date; DocumentNo: Code[20]; AdjCust: Boolean; AdjVend: Boolean; AdjBank: Boolean; Post: Boolean; SkipAdvancePayments: Boolean) + var + Currency: Record Currency; + XmlParameters: Text; + begin + LibraryVariableStorage.Enqueue(StartDate); + LibraryVariableStorage.Enqueue(EndDate); + LibraryVariableStorage.Enqueue(PostingDate); + LibraryVariableStorage.Enqueue(DocumentNo); + LibraryVariableStorage.Enqueue(AdjCust); + LibraryVariableStorage.Enqueue(AdjVend); + LibraryVariableStorage.Enqueue(AdjBank); + LibraryVariableStorage.Enqueue(Post); + LibraryVariableStorage.Enqueue(SkipAdvancePayments); + LibraryVariableStorage.Enqueue(VendorNo); + + Currency.SetRange(Code, CurrencyCode); + XmlParameters := Report.RunRequestPage(Report::"Adjust Exchange Rates CZL"); + LibraryReportDataset.RunReportAndLoad(Report::"Adjust Exchange Rates CZL", Currency, XmlParameters); + end; + + local procedure RunAdjustAdvExchRates(PurchAdvLetterNo: Code[20]; AdjustToDate: Date; DocumentNo: Code[20]; AdjCust: Boolean; AdjVend: Boolean) + begin + LibraryVariableStorage.Enqueue(AdjustToDate); + LibraryVariableStorage.Enqueue(DocumentNo); + LibraryVariableStorage.Enqueue(AdjCust); + LibraryVariableStorage.Enqueue(AdjVend); + LibraryVariableStorage.Enqueue(PurchAdvLetterNo); + Report.RunModal(Report::"Adjust Adv. Exch. Rates CZZ", true, false); + end; + + local procedure SetExpectedConfirm(Question: Text; Reply: Boolean) + begin + LibraryDialogHandler.SetExpectedConfirm(Question, Reply); + end; + + local procedure SetExpectedMessage(Message: Text) + begin + LibraryDialogHandler.SetExpectedMessage(Message); + end; + + [RequestPageHandler] + procedure RequestPageAdjustExchangeRatesHandler(var AdjustExchangeRatesCZL: TestRequestPage "Adjust Exchange Rates CZL") + var + FieldVariant: Variant; + begin + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.StartingDate.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.EndingDate.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.PostingDateField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.DocumentNo.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.AdjCustField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.AdjVendField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.AdjBankField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.PostField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.SkipAdvancePaymentsField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.Vendor.SetFilter("No.", FieldVariant); + AdjustExchangeRatesCZL.OK().Invoke(); + end; + + [RequestPageHandler] + procedure RequestPageAdjustAdvExchRatesHandler(var AdjustAdvExchRatesCZZ: TestRequestPage "Adjust Adv. Exch. Rates CZZ") + var + FieldVariant: Variant; + begin + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.AdjustToDateField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.DocumentNoField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.AdjustCustomerField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.AdjustVendorField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ."Purch. Adv. Letter Header CZZ".SetFilter("No.", FieldVariant); + AdjustAdvExchRatesCZZ.OK().Invoke(); + end; + + [ModalPageHandler] + procedure ModalVATDocumentHandler(var VATDocument: TestPage "VAT Document CZZ") + begin + VATDocument.OriginalDocumentVATDate.SetValue(LibraryVariableStorage.DequeueDate()); + VATDocument.ExternalDocumentNo.SetValue(LibraryVariableStorage.DequeueText()); + VATDocument.OK().Invoke(); + end; + + [ModalPageHandler] + procedure ModalVATDocumentExceededVATCorrFCYHandler(var VATDocument: TestPage "VAT Document CZZ") + begin + VATDocument.OriginalDocumentVATDate.SetValue(LibraryVariableStorage.DequeueDate()); + VATDocument.ExternalDocumentNo.SetValue(LibraryVariableStorage.DequeueText()); + asserterror VATDocument.Lines."VAT Amount".SetValue(LibraryVariableStorage.DequeueDecimal()); + VATDocument.OK().Invoke(); + end; + + [ModalPageHandler] + procedure ModalVATDocumentVATCorrFCYHandler(var VATDocument: TestPage "VAT Document CZZ") + begin + VATDocument.OriginalDocumentVATDate.SetValue(LibraryVariableStorage.DequeueDate()); + VATDocument.ExternalDocumentNo.SetValue(LibraryVariableStorage.DequeueText()); + VATDocument.Lines."VAT Amount".SetValue(LibraryVariableStorage.DequeueDecimal()); + VATDocument.OK().Invoke(); + end; + + [ModalPageHandler] + procedure ModalVATDocumentVATCorrLCYHandler(var VATDocument: TestPage "VAT Document CZZ") + begin + VATDocument.OriginalDocumentVATDate.SetValue(LibraryVariableStorage.DequeueDate()); + VATDocument.ExternalDocumentNo.SetValue(LibraryVariableStorage.DequeueText()); + VATDocument.Lines."VAT Amount (ACY)".SetValue(LibraryVariableStorage.DequeueDecimal()); + VATDocument.OK().Invoke(); + end; + + [ConfirmHandler] + procedure ConfirmHandler(Question: Text[1024]; var Reply: Boolean) + begin + LibraryDialogHandler.HandleConfirm(Question, Reply); + end; + + [MessageHandler] + procedure MessageHandler(Message: Text[1024]) + begin + LibraryDialogHandler.HandleMessage(Message); + end; +} diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePayments.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePayments.Codeunit.al deleted file mode 100644 index 7598a17864..0000000000 --- a/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePayments.Codeunit.al +++ /dev/null @@ -1,314 +0,0 @@ -codeunit 148108 "Purchase Advance Payments CZZ" -{ - Subtype = Test; - TestPermissions = Disabled; - - trigger OnRun() - begin - // [FEATURE] [Advance Payments] [Purchase] - isInitialized := false; - end; - - var - GeneralLedgerSetup: Record "General Ledger Setup"; - AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; - Assert: Codeunit Assert; - LibraryRandom: Codeunit "Library - Random"; - LibraryPurchAdvancesCZZ: Codeunit "Library - Purch. Advances CZZ"; - LibraryPurchase: Codeunit "Library - Purchase"; - LibraryERM: Codeunit "Library - ERM"; - isInitialized: Boolean; - - local procedure Initialize() - var - LibraryTestInitialize: Codeunit "Library - Test Initialize"; - begin - LibraryTestInitialize.OnTestInitialize(Codeunit::"Purchase Advance Payments CZZ"); - LibraryRandom.Init(); - if isInitialized then - exit; - LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::"Purchase Advance Payments CZZ"); - - GeneralLedgerSetup.Get(); - UpdatePurchaseSetup(); - LibraryPurchAdvancesCZZ.CreatePurchAdvanceLetterTemplate(AdvanceLetterTemplateCZZ); - - isInitialized := true; - Commit(); - LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::"Purchase Advance Payments CZZ"); - end; - - [Test] - procedure CreatePurchAdvLetter() - var - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; - begin - // [SCENARIO] Test if the system allows to create a new Purchase Advance Letter - Initialize(); - - // [WHEN] Create purchase advance letter - CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, ''); - - // [THEN] Purchase advance letter will be created - PurchAdvLetterLineCZZ.SetRange("Document No.", PurchAdvLetterHeaderCZZ."No."); - Assert.IsFalse(PurchAdvLetterLineCZZ.IsEmpty(), 'Advance Letter was not created.'); - end; - - [Test] - [HandlerFunctions('CreatePurchAdvLetterHandler,OpenAdvanceLetterHandler')] - procedure CreatePurchAdvLetterFromPurchOrder() - var - PurchaseHeader: Record "Purchase Header"; - PurchaseLine: Record "Purchase Line"; - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; - begin - // [SCENARIO] Test if the system allows to create a new Purchase Advance Letter from Purchase order - Initialize(); - - // [GIVEN] Purchase order has been created - LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); - - // [WHEN] Create purchase advance letter from purchase order - CreatePurchAdvLetterFromPurchDoc(PurchAdvLetterHeaderCZZ, PurchaseHeader); - - // [THEN] Purchase advance letter will be created - PurchAdvLetterLineCZZ.SetRange("Document No.", PurchAdvLetterHeaderCZZ."No."); - Assert.IsFalse(PurchAdvLetterLineCZZ.IsEmpty(), 'Advance Letter was not created.'); - end; - - [Test] - [HandlerFunctions('CreatePurchAdvLetterHandler,OpenAdvanceLetterHandler')] - procedure ReleasePurchAdvLetter() - var - PurchaseHeader: Record "Purchase Header"; - PurchaseLine: Record "Purchase Line"; - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - begin - // [SCENARIO] Test the release of Purchase Advance Letter - Initialize(); - - // [GIVEN] Purchase advance letter from purchase order has been created - LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); - CreatePurchAdvLetterFromPurchDoc(PurchAdvLetterHeaderCZZ, PurchaseHeader); - - // [WHEN] Release purchase advance - ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); - - // [THEN] Purchase advance letter ststus will be To Pay - PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Pay"); - end; - - [Test] - procedure PaymentPurchAdvLetter() - var - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; - PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; - AmountInclVAT, AmountInclVATLCY : Decimal; - begin - // [SCENARIO] Test the payment of Purchase Advance Letter - Initialize(); - - // [GIVEN] Purchase advance letter bas been created - CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, ''); - - // [GIVEN] Purchase advance letter bas been released - ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); - AmountInclVAT := PurchAdvLetterLineCZZ."Amount Including VAT"; - - // [WHEN] Post purchase advance payment - AmountInclVATLCY := PostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, AmountInclVAT, 0); - - // [THEN] Purchase advance letter status will be To Use - PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); - - // [THEN] Purchase advance letter entry Payment will be created - PurchAdvLetterEntryCZZ.SetCurrentKey("Purch. Adv. Letter No."); - PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); - Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); - - // [THEN] Purchase advance letter entry Payment entry has correct amounts - PurchAdvLetterEntryCZZ.FindFirst(); - Assert.AreEqual(PurchAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); - Assert.AreEqual(PurchAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); - end; - - [Test] - [HandlerFunctions('CreatePurchAdvLetterHandler,OpenAdvanceLetterHandler')] - procedure PostPurchOrderWithPurchAdvLetter() - var - PurchaseHeader: Record "Purchase Header"; - PurchaseLine: Record "Purchase Line"; - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; - PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; - PurchInvHeader: Record "Purch. Inv. Header"; - VendorLedgerEntry: Record "Vendor Ledger Entry"; - PostedDocNo: Code[20]; - begin - // [SCENARIO] Test the posting of Purchase Order from which Purchase Advance Letter was created - Initialize(); - - // [GIVEN] Purchase advance letter from purchase order has been created - LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); - CreatePurchAdvLetterFromPurchDoc(PurchAdvLetterHeaderCZZ, PurchaseHeader); - - // [GIVEN] Purchase advance letter has been released - ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); - - // [GIVEN] Purchase advance has been paid - PostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT", 0); - - // [WHEN] Post purchase order - PostedDocNo := PostPurchaseDocument(PurchaseHeader); - - // [THEN] Purchance advance letter status will be Closed - PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); - - // [THEN] Purchase Advance letter entry type Usage will be created - PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); - PurchAdvLetterEntryCZZ.FindFirst(); - Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); - - // [THEN] Purchase invoice will be non zero amount - PurchInvHeader.Get(PostedDocNo); - PurchInvHeader.CalcFields(Amount, "Amount Including VAT"); - PurchInvHeader.TestField(Amount, PurchaseLine.Amount); - PurchInvHeader.TestField("Amount Including VAT", PurchaseLine."Amount Including VAT"); - - // [THEN] Vedor ledger entry will be closed - VendorLedgerEntry.SetRange("Vendor No.", PurchaseHeader."Pay-to Vendor No."); - VendorLedgerEntry.SetRange("Document No.", PostedDocNo); - VendorLedgerEntry.FindLast(); - VendorLedgerEntry.TestField(Open, false); - end; - - [Test] - procedure PaymentPurchAdvLetterWithForeignCurrency() - var - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; - PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; - Currency: Record Currency; - AmountInclVAT, AmountInclVATLCY : Decimal; - begin - // [SCENARIO] Test creation Purchase Advance Letter with foreign currency, changing exchange rate and posting payment - Initialize(); - - // [GIVEN] Foreign currency has been created - FindForeignCurrency(Currency); - - // [GIVEN] Purchases advance letter with foreign currency has been crrated and released - CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, Currency.Code); - ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); - AmountInclVAT := PurchAdvLetterLineCZZ."Amount Including VAT"; - - // [WHEN] Post purchase advance payment with different exchange rate - AmountInclVATLCY := PostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, AmountInclVAT, 0.9); - - // [THEN] Purchase advance letter status will be To Use - PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); - - // [THEN] Purchase advance letter entry Payment has correct amounts - PurchAdvLetterEntryCZZ.SetCurrentKey("Purch. Adv. Letter No."); - PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); - PurchAdvLetterEntryCZZ.FindFirst(); - Assert.AreEqual(PurchAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); - Assert.AreEqual(PurchAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); - end; - - local procedure CreatePurchAdvLetterBase(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; CurrencyCode: Code[10]) - var - VATPostingSetup: Record "VAT Posting Setup"; - Vendor: Record Vendor; - begin - LibraryPurchAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); - LibraryPurchAdvancesCZZ.CreateVendor(Vendor); - Vendor.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); - Vendor.Modify(true); - - LibraryPurchAdvancesCZZ.CreatePurchAdvLetterHeader(PurchAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, Vendor."No.", CurrencyCode); - LibraryPurchAdvancesCZZ.CreatePurchAdvLetterLine(PurchAdvLetterLineCZZ, PurchAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); - end; - - local procedure CreatePurchAdvLetterFromPurchDoc(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; PurchaseHeader: Record "Purchase Header") - var - AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; - CreatePurchAdvLetterCZZ: Report "Create Purch. Adv. Letter CZZ"; - begin - Commit(); - CreatePurchAdvLetterCZZ.SetPurchHeader(PurchaseHeader); - CreatePurchAdvLetterCZZ.Run(); - - AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Purchase); - AdvanceLetterApplicationCZZ.SetRange("Document Type", AdvanceLetterApplicationCZZ."Document Type"::"Purchase Order"); - AdvanceLetterApplicationCZZ.SetRange("Document No.", PurchaseHeader."No."); - AdvanceLetterApplicationCZZ.FindFirst(); - PurchAdvLetterHeaderCZZ.Get(AdvanceLetterApplicationCZZ."Advance Letter No."); - end; - - local procedure PostPaymentPurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal): Decimal - var - GenJournalLine: Record "Gen. Journal Line"; - begin - LibraryPurchAdvancesCZZ.CreatePurchAdvancePayment(GenJournalLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", Amount, PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."No.", ExchangeRate); - PostGenJournalLine(GenJournalLine); - exit(GenJournalLine."Amount (LCY)"); - end; - - local procedure FindForeignCurrency(var Currency: Record Currency) - begin - Currency.SetFilter(Code, '<>%1', GeneralLedgerSetup."LCY Code"); - LibraryERM.FindCurrency(Currency); - end; - - local procedure UpdatePurchaseSetup() - var - PurchasesPayablesSetup: Record "Purchases & Payables Setup"; - begin - PurchasesPayablesSetup.Get(); - PurchasesPayablesSetup.Validate("Allow VAT Difference", true); - PurchasesPayablesSetup.Modify(true); - end; - - local procedure ReleasePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") - begin - Codeunit.Run(Codeunit::"Rel. Purch.Adv.Letter Doc. CZZ", PurchAdvLetterHeaderCZZ); - end; - - local procedure PostGenJournalLine(var GenJournalLine: Record "Gen. Journal Line") - begin - Codeunit.Run(Codeunit::"Gen. Jnl.-Post Line", GenJournalLine); - end; - - local procedure PostPurchaseDocument(var PurchaseHeader: Record "Purchase Header"): Code[20] - begin - exit(LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true)); - end; - - [RequestPageHandler] - procedure CreatePurchAdvLetterHandler(var CreatePurchAdvLetterCZZ: TestRequestPage "Create Purch. Adv. Letter CZZ") - begin - CreatePurchAdvLetterCZZ.AdvLetterCode.SetValue := AdvanceLetterTemplateCZZ.Code; - CreatePurchAdvLetterCZZ.AdvPer.SetValue := 100; - CreatePurchAdvLetterCZZ.SuggByLine.SetValue := false; - CreatePurchAdvLetterCZZ.OK().Invoke(); - end; - - [ConfirmHandler] - procedure OpenAdvanceLetterHandler(Question: Text; var Reply: Boolean) - var - OpenAdvanceLetterQst: Label 'Do you want to open created Advance Letter?'; - begin - if Question = OpenAdvanceLetterQst then - Reply := false; - end; -} diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePaymentsCZZ.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePaymentsCZZ.Codeunit.al new file mode 100644 index 0000000000..2b7765922d --- /dev/null +++ b/Apps/CZ/AdvancePaymentsLocalization/test/Src/PurchaseAdvancePaymentsCZZ.Codeunit.al @@ -0,0 +1,2069 @@ +codeunit 148108 "Purchase Advance Payments CZZ" +{ + Subtype = Test; + TestPermissions = Disabled; + + trigger OnRun() + begin + // [FEATURE] [Advance Payments] [Purchase] + isInitialized := false; + end; + + var + AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; + GeneralLedgerSetup: Record "General Ledger Setup"; + Assert: Codeunit Assert; + LibraryCashDeskCZP: Codeunit "Library - Cash Desk CZP"; + LibraryCashDocumentCZP: Codeunit "Library - Cash Document CZP"; + LibraryDialogHandler: Codeunit "Library - Dialog Handler"; + LibraryERM: Codeunit "Library - ERM"; + LibraryJournals: Codeunit "Library - Journals"; + LibraryPurchAdvancesCZZ: Codeunit "Library - Purch. Advances CZZ"; + LibraryPurchase: Codeunit "Library - Purchase"; + LibraryRandom: Codeunit "Library - Random"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; + isInitialized: Boolean; + AppliedToAdvanceLetterErr: Label 'The entry is applied to advance letter and cannot be used to applying or unapplying.'; + ApplyAdvanceLetterQst: Label 'Apply Advance Letter?'; + LaterAdvancePaymentQst: Label 'The linked advance letter %1 is paid after %2. If you continue, the advance letter won''t be deducted.\\Do you want to continue?', Comment = '%1 = advance letter no., %2 = posting date'; + OpenAdvanceLetterQst: Label 'Do you want to open created Advance Letter?'; + NoApplicationEntryErr: Label 'Vendor Ledger Entry No. %1 does not have an application entry.', Comment = '%1 = advance letter no.'; + UnapplyAdvLetterQst: Label 'Unapply advance letter: %1\Continue?', Comment = '%1 = Advance Letters'; + UsageNoPossibleQst: Label 'Usage all applicated advances is not possible.\Continue?'; + PostCashDocumentQst: Label 'Do you want to post Cash Document Header %1?', Comment = '%1 = Cash Document No.'; + + local procedure Initialize() + var + LibraryTestInitialize: Codeunit "Library - Test Initialize"; + begin + LibraryTestInitialize.OnTestInitialize(Codeunit::"Purchase Advance Payments CZZ"); + LibraryRandom.Init(); + LibraryVariableStorage.Clear(); + LibraryDialogHandler.ClearVariableStorage(); + if isInitialized then + exit; + LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::"Purchase Advance Payments CZZ"); + + GeneralLedgerSetup.Get(); + UpdatePurchaseSetup(); + LibraryPurchAdvancesCZZ.CreatePurchAdvanceLetterTemplate(AdvanceLetterTemplateCZZ); + + isInitialized := true; + Commit(); + LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::"Purchase Advance Payments CZZ"); + end; + + [Test] + procedure CreatePurchAdvLetter() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + begin + // [SCENARIO] Test if the system allows to create a new Purchase Advance Letter + Initialize(); + + // [WHEN] Create purchase advance letter + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, ''); + + // [THEN] Purchase advance letter will be created + PurchAdvLetterLineCZZ.SetRange("Document No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(PurchAdvLetterLineCZZ); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure CreatePurchAdvLetterFromPurchOrder() + var + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + begin + // [SCENARIO] Test if the system allows to create a new Purchase Advance Letter from Purchase order + Initialize(); + + // [GIVEN] Purchase order has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [WHEN] Create purchase advance letter from purchase order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [THEN] Purchase advance letter will be created + PurchAdvLetterLineCZZ.SetRange("Document No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(PurchAdvLetterLineCZZ); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure ReleasePurchAdvLetter() + var + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + begin + // [SCENARIO] Test the release of Purchase Advance Letter + Initialize(); + + // [GIVEN] Purchase advance letter from purchase order has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [WHEN] Release purchase advance + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [THEN] Purchase advance letter ststus will be To Pay + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Pay"); + end; + + [Test] + procedure PaymentPurchAdvLetter() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + AmountInclVAT, AmountInclVATLCY : Decimal; + begin + // [SCENARIO] Test the payment of Purchase Advance Letter + Initialize(); + + // [GIVEN] Purchase advance letter bas been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter bas been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + AmountInclVAT := PurchAdvLetterLineCZZ."Amount Including VAT"; + + // [WHEN] Post purchase advance payment + AmountInclVATLCY := CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, AmountInclVAT); + + // [THEN] Purchase advance letter status will be To Use + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Purchase advance letter entry Payment will be created + PurchAdvLetterEntryCZZ.SetCurrentKey("Purch. Adv. Letter No."); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter entry Payment entry has correct amounts + PurchAdvLetterEntryCZZ.FindFirst(); + Assert.AreEqual(PurchAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure PostPurchOrderWithPurchAdvLetter() + var + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchInvHeader: Record "Purch. Inv. Header"; + VendorLedgerEntry: Record "Vendor Ledger Entry"; + PostedDocNo: Code[20]; + begin + // [SCENARIO] Test the posting of Purchase Order from which Purchase Advance Letter was created + Initialize(); + + // [GIVEN] Purchase advance letter from purchase order has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance has been paid + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Post purchase order + PostedDocNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] Purchaseance advance letter status will be Closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + + // [THEN] Purchase Advance letter entry type Usage will be created + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + PurchAdvLetterEntryCZZ.FindFirst(); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase invoice will be non zero amount + PurchInvHeader.Get(PostedDocNo); + PurchInvHeader.CalcFields(Amount, "Amount Including VAT"); + PurchInvHeader.TestField(Amount, PurchaseLine.Amount); + PurchInvHeader.TestField("Amount Including VAT", PurchaseLine."Amount Including VAT"); + + // [THEN] Vedor ledger entry will be closed + VendorLedgerEntry.SetRange("Vendor No.", PurchaseHeader."Pay-to Vendor No."); + VendorLedgerEntry.SetRange("Document No.", PostedDocNo); + VendorLedgerEntry.FindLast(); + VendorLedgerEntry.TestField(Open, false); + end; + + [Test] + procedure PaymentPurchAdvLetterWithForeignCurrency() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + Currency: Record Currency; + AmountInclVAT, AmountInclVATLCY : Decimal; + begin + // [SCENARIO] Test creation Purchase Advance Letter with foreign currency, changing exchange rate and posting payment + Initialize(); + + // [GIVEN] Foreign currency has been created + FindForeignCurrency(Currency); + + // [GIVEN] Purchases advance letter with foreign currency has been crrated and released + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, Currency.Code); + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + AmountInclVAT := PurchAdvLetterLineCZZ."Amount Including VAT"; + + // [WHEN] Post purchase advance payment with different exchange rate + AmountInclVATLCY := CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, AmountInclVAT, 0.9, 0D); + + // [THEN] Purchase advance letter status will be To Use + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Purchase advance letter entry Payment has correct amounts + PurchAdvLetterEntryCZZ.SetCurrentKey("Purch. Adv. Letter No."); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + PurchAdvLetterEntryCZZ.FindFirst(); + Assert.AreEqual(PurchAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkPurchAdvLetterToInvoice() + var + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create purchase advance letter and link to invoice + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkPurchAdvLetterToInvoiceWithOlderDate() + var + AdvanceLetterApplication: Record "Advance Letter Application CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + TempAdvanceLetterApplication: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Create purchase advance letter and link to invoice with older date + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + PurchAdvLetterEntryCZZ.FindFirst(); + PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date" - 1, + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get list of advance letter available for linking + AdvanceLetterApplication.GetPossiblePurchAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", PurchaseHeader."Pay-to Vendor No.", + PurchaseHeader."Posting Date", PurchaseHeader."Currency Code", TempAdvanceLetterApplication); + + // [THEN] Purchase advance letter won't be available for linking + TempAdvanceLetterApplication.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Purchase); + TempAdvanceLetterApplication.SetRange("Advance Letter No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsEmpty(TempAdvanceLetterApplication); + end; + + [Test] + procedure AdditionalLinkPurchAdvLetterToPayment() + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + begin + // [SCENARIO] Additional link purchase advance letter to payment + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Payment has been posted + CreateAndPostPayment(PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Link advance letter to payment + VendorLedgerEntry.FindLast(); // entry of payment + LibraryPurchAdvancesCZZ.LinkPurchAdvancePayment(PurchAdvLetterHeaderCZZ, VendorLedgerEntry); + + // [THEN] Purchase advance letter will be paid + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Purchase advance letter entries will be created. One of the type "Payment" and the other of the "VAT Payment". + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.FindLast(); + Assert.AreEqual(PurchAdvLetterEntryCZZ."Entry Type"::Payment, PurchAdvLetterEntryCZZ."Entry Type", 'The purchase advance letter entry must be of type "Payment".'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure UnlinkPurchAdvLetterFromPayment() + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + PurchAdvLetterEntryCZZ1: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterEntryCZZ2: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + begin + // [SCENARIO] Unlink purchase advance letter from payment + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [WHEN] Unlink advance letter from payment + FindLastPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ1); + LibraryPurchAdvancesCZZ.UnlinkPurchAdvancePayment(PurchAdvLetterEntryCZZ1); + + // [THEN] Purchase advance letter entries will be create. One of the type "Payment" and the other of the "VAT Payment". + PurchAdvLetterEntryCZZ2.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ2.Find('+'); + Assert.AreEqual(PurchAdvLetterEntryCZZ2."Entry Type"::Payment, PurchAdvLetterEntryCZZ2."Entry Type", 'The purchase advance letter entry must be of type "Payment".'); + Assert.AreEqual(-PurchAdvLetterEntryCZZ1.Amount, PurchAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ1."Entry No.", PurchAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + PurchAdvLetterEntryCZZ2.Next(-1); + Assert.AreEqual(PurchAdvLetterEntryCZZ2."Entry Type"::"VAT Payment", PurchAdvLetterEntryCZZ2."Entry Type", 'The purchase advance letter entry must be of type "VAT Payment".'); + Assert.AreEqual(-PurchAdvLetterEntryCZZ1.Amount, PurchAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ1."Entry No.", PurchAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + // [THEN] Last opened vendor ledger entry won't be related to advance letter. The "Advance Letter No." field will be empty. + VendorLedgerEntry.SetRange(Open, true); + VendorLedgerEntry.FindLast(); + Assert.AreEqual('', VendorLedgerEntry."Advance Letter No. CZZ", 'The advance letter no. must be empty.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler,ConfirmHandler')] + procedure AdditionalLinkPurchaseAdvLetterToInvoice() + var + PurchaseHeader: Record "Purchase Header"; + PurchInvHeader: Record "Purch. Inv. Header"; + PurchaseLine: Record "Purchase Line"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create purchase advance letter and additionally link to invoice + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Purchase invoice has been posted + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [WHEN] Link advance letter to posted purchase invoice + PurchInvHeader.Get(PostedDocumentNo); + SetExpectedConfirm(ApplyAdvanceLetterQst, true); + LibraryPurchAdvancesCZZ.ApplyPurchAdvanceLetter(PurchAdvLetterHeaderCZZ, PurchInvHeader); + + // [THEN] Purchase advance letter entries for posted purchase invoice are created + PurchAdvLetterEntryCZZ.SetRange("Document No.", PurchInvHeader."No."); + PurchAdvLetterEntryCZZ.SetRange(Cancelled, false); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Usage"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler,ConfirmHandler')] + procedure AdditionalUnlinkPurchAdvLetterFromPostedInvoice() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchInvHeader: Record "Purch. Inv. Header"; + PurchaseLine: Record "Purchase Line"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create purchase advance letter, link to invoice, post the invoice and unlink the purchase advance letter + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [WHEN] Unlink purchase advance letter from posted purchase invoice + PurchInvHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, PurchAdvLetterHeaderCZZ."No."), true); + LibraryPurchAdvancesCZZ.UnapplyAdvanceLetter(PurchInvHeader); + + // [THEN] Purchase advance letter will be changed to status = "To Use" + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Sum amounts of purchase advance letter entries for posted purchase invoice must be zero + PurchAdvLetterEntryCZZ.SetRange("Document No.", PurchInvHeader."No."); + PurchAdvLetterEntryCZZ.CalcSums(Amount, "Amount (LCY)", "VAT Base Amount", "VAT Base Amount (LCY)", "VAT Amount", "VAT Amount (LCY)"); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ.Amount, 'The Amount must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."Amount (LCY)", 'The Amount LCY must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount", 'The VAT Base Amount must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount (LCY)", 'The VAT Base Amount LCY must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount", 'The VAT Amount must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount (LCY)", 'The VAT Amount LCY must be zero.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure ManualPaymentVATUsageInPurchaseAdvanceLetter() + var + PurchAdvLetterEntryCZZ1: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterEntryCZZ2: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + begin + // [SCENARIO] Manual payment VAT usage in purchase advance letter + Initialize(); + + // [GIVEN] Purchase advance letter without automatic post VAT usage has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + PurchAdvLetterHeaderCZZ."Automatic Post VAT Usage" := false; + PurchAdvLetterHeaderCZZ.Modify(); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostPurchaseDocument(PurchaseHeader); + + // [WHEN] Post advance payment usage VAT from advance letter entry of "Usage" type + PurchAdvLetterEntryCZZ1.Reset(); + PurchAdvLetterEntryCZZ1.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ1.SetRange("Entry Type", PurchAdvLetterEntryCZZ1."Entry Type"::Usage); + PurchAdvLetterEntryCZZ1.FindFirst(); + PostPurchAdvancePaymentUsageVAT(PurchAdvLetterEntryCZZ1); + + // [THEN] Purchase advance letter entry of "VAT Usage" type will be created + PurchAdvLetterEntryCZZ2.Reset(); + PurchAdvLetterEntryCZZ2.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ2.SetRange("Entry Type", PurchAdvLetterEntryCZZ2."Entry Type"::"VAT Usage"); + PurchAdvLetterEntryCZZ2.FindFirst(); + Assert.AreEqual(PurchAdvLetterEntryCZZ1."Posting Date", PurchAdvLetterEntryCZZ2."Posting Date", 'The entry must have the same posting date as related entry.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ1.Amount, PurchAdvLetterEntryCZZ2.Amount, 'The entry must have the same amount as related entry.'); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure ClosePurchaseAdvanceLetterWithoutVATPayment() + var + PurchAdvLetterEntryCZZ1: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterEntryCZZ2: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + begin + // [SCENARIO] It must be possible to close the purchase advance letter without VAT payment + Initialize(); + + // [GIVEN] Purchase advance letter without automatic post VAT usage has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + PurchAdvLetterHeaderCZZ."Automatic Post VAT Usage" := false; + PurchAdvLetterHeaderCZZ.Modify(); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Close advance letter + LibraryPurchAdvancesCZZ.ClosePurchAdvanceLetter(PurchAdvLetterHeaderCZZ); + + // [THEN] Purchase advance letter entry of "Close" type will be created + PurchAdvLetterEntryCZZ1.Reset(); + PurchAdvLetterEntryCZZ1.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ1.SetRange("Entry Type", PurchAdvLetterEntryCZZ1."Entry Type"::Payment); + PurchAdvLetterEntryCZZ1.FindFirst(); + + PurchAdvLetterEntryCZZ2.Reset(); + PurchAdvLetterEntryCZZ2.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ2.SetRange("Entry Type", PurchAdvLetterEntryCZZ2."Entry Type"::Close); + PurchAdvLetterEntryCZZ2.FindFirst(); + Assert.AreEqual(PurchAdvLetterEntryCZZ1."Entry No.", PurchAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + Assert.AreEqual(-PurchAdvLetterEntryCZZ1.Amount, PurchAdvLetterEntryCZZ2.Amount, 'The entry must have the opposite amount as related entry.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure LinkPurchAdvanceLetterWithReverseChargeToInvoice() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Link purchase advance letter with reverse charge to invoice + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with reverse charge has been created + CreatePurchAdvLetterWithReverseCharge(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Sum of base and VAT amounts in advance letter entries will be zero + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount", 'The sum of base amount in advance letter entries must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in VAT advance letter must be zero.'); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure MultipleAdvancePayment() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + FirstPaymentAmount: Decimal; + SecondPaymentAmount: Decimal; + begin + // [SCENARIO] The payment of the purchase advance letter can be split into several payments + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been partially paid + FirstPaymentAmount := Round(PurchAdvLetterLineCZZ."Amount Including VAT" / 2); + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, FirstPaymentAmount); + + // [WHEN] Purchase advance letter has been paid in full by the general journal + SecondPaymentAmount := PurchAdvLetterLineCZZ."Amount Including VAT" - FirstPaymentAmount; + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, SecondPaymentAmount); + + // [THEN] Sum of amounts of advance letter entries with type Init and Payment will be zero + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetFilter("Entry Type", '%1|%2', PurchAdvLetterEntryCZZ."Entry Type"::"Initial Entry", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + PurchAdvLetterEntryCZZ.CalcSums(Amount); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ.Amount, 'The sum of amount in advance letter entries must be zero.'); + end; + + [Test] + procedure MultipleAdvancePaymentWithTimeShift() + var + AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + FirstPaymentAmount: Decimal; + SecondPaymentAmount: Decimal; + begin + // [SCENARIO] Only advance payments paid up to the posting date of purchase invoice can be assigned to the invoice + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been partially paid + FirstPaymentAmount := Round(PurchAdvLetterLineCZZ."Amount Including VAT" / 2); + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, FirstPaymentAmount); + + // [GIVEN] Purchase advance letter has been paid in full a month later + SecondPaymentAmount := PurchAdvLetterLineCZZ."Amount Including VAT" - FirstPaymentAmount; + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, SecondPaymentAmount, 0, CalcDate('<+1M>', PurchAdvLetterHeaderCZZ."Posting Date")); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get possible purchase advance to link + AdvanceLetterApplicationCZZ.GetPossiblePurchAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", PurchaseHeader."Pay-to Vendor No.", + PurchaseHeader."Posting Date", PurchaseHeader."Currency Code", AdvanceLetterApplicationCZZ); + + // [THEN] Only first payment amount is possible to use for link + AdvanceLetterApplicationCZZ.Get( + Enum::"Advance Letter Type CZZ"::Purchase, PurchAdvLetterHeaderCZZ."No.", + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No."); + Assert.AreEqual(FirstPaymentAmount, AdvanceLetterApplicationCZZ.Amount, 'Only first payment amount can be used.'); + end; + + [Test] + procedure LinkMultipleAdvanceLettersToOneInvoice() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ1: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ1: Record "Purch. Adv. Letter Line CZZ"; + PurchAdvLetterHeaderCZZ2: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ2: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine1: Record "Purchase Line"; + PurchaseLine2: Record "Purchase Line"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Multiple advance letters can be linked to a one purchase invoice + Initialize(); + + // [GIVEN] First purchase advance letter has been created + // [GIVEN] First purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ1, PurchAdvLetterLineCZZ1); + + // [GIVEN] First purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ1); + + // [GIVEN] First purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ1, PurchAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Second purchase advance letter has been created + // [GIVEN] Second purchase advance letter line with normal VAT has been created + CreatePurchAdvLetterWithVendor(PurchAdvLetterHeaderCZZ2, PurchAdvLetterLineCZZ2, PurchAdvLetterHeaderCZZ1."Pay-to Vendor No."); + + // [GIVEN] Second Purch advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ2); + + // [GIVEN] Second Purch advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ2, PurchAdvLetterLineCZZ2."Amount Including VAT"); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] First purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine1, PurchAdvLetterHeaderCZZ1."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ1."Posting Date", + PurchAdvLetterLineCZZ1."VAT Bus. Posting Group", PurchAdvLetterLineCZZ1."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Second purchase invoice line has been created + LibraryPurchase.CreatePurchaseLine(PurchaseLine2, PurchaseHeader, PurchaseLine2.Type::"G/L Account", PurchaseLine1."No.", 1); + PurchaseLine2.Validate("Direct Unit Cost", PurchAdvLetterLineCZZ2."Amount Including VAT"); + PurchaseLine2.Modify(true); + + // [GIVEN] Whole first advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ1, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ1."Amount Including VAT", PurchAdvLetterLineCZZ1."Amount Including VAT (LCY)"); + + // [GIVEN] Whole second advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ2, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ2."Amount Including VAT", PurchAdvLetterLineCZZ2."Amount Including VAT (LCY)"); + + // [WHEN] Post purchase invoice + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] The first advance letter will be used by invoice + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ1."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + PurchAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] The second advance letter will be used by invoice + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ2."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + PurchAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + end; + + [Test] + procedure CancelApplicationOfVendorLedgerEntryForAdvancePayment() + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + LastVendLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of vendor ledger entry for advance payment must fail + Initialize(); + + VendorLedgerEntry.FindLast(); + LastVendLedgerEntryNo := VendorLedgerEntry."Entry No."; + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + Commit(); + + // [WHEN] Unapply all vendor ledger entries created by advance payment + UnApplyVendLedgerEntries(LastVendLedgerEntryNo, true); + + // [THEN] The three vendor ledger entries will be created + VerifyVendLedgerEntryCount(LastVendLedgerEntryNo, 3); + + // [THEN] The error will occurs when attempting to unapply vendor ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfVendorLedgerEntryForClosedAdvanceLetter() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + LastVendLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of vendor ledger entry for closed advance letter must fail + Initialize(); + + LastVendLedgerEntryNo := GetLastVendLedgerEntryNo(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Purchase advance letter has been closed + LibraryPurchAdvancesCZZ.ClosePurchAdvanceLetter(PurchAdvLetterHeaderCZZ); + Commit(); + + // [WHEN] Unapply all vendor ledger entries created by advance payment + UnApplyVendLedgerEntries(LastVendLedgerEntryNo, true); + + // [THEN] The five vendor ledger entries will be created + VerifyVendLedgerEntryCount(LastVendLedgerEntryNo, 5); + + // [THEN] The error will occurs when attempting to unapply vendor ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfVendorLedgerEntryForUnappliedPaymentFromAdvanceLetter() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + LastVendLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of vendor ledger entry for an unapplied payment from advance letter must fail + Initialize(); + + LastVendLedgerEntryNo := GetLastVendLedgerEntryNo(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Purchase advance payment has been unlinked + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", Enum::"Advance Letter Entry Type CZZ"::Payment); + PurchAdvLetterEntryCZZ.FindFirst(); + LibraryPurchAdvancesCZZ.UnlinkPurchAdvancePayment(PurchAdvLetterEntryCZZ); + Commit(); + + // [WHEN] Unapply all vendor ledger entries created by advance payment + UnApplyVendLedgerEntries(LastVendLedgerEntryNo, true); + + // [THEN] The five vendor ledger entries will be created + VerifyVendLedgerEntryCount(LastVendLedgerEntryNo, 5); + + // [THEN] The error will occurs when attempting to unapply vendor ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfVendorLedgerEntryForReappliedPaymentToAdvanceLetter() + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + LastVendLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of vendor ledger entry for a reapplied payment to advance letter must fail + Initialize(); + + LastVendLedgerEntryNo := GetLastVendLedgerEntryNo(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Purchase advance payment has been unlinked + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", Enum::"Advance Letter Entry Type CZZ"::Payment); + PurchAdvLetterEntryCZZ.FindFirst(); + LibraryPurchAdvancesCZZ.UnlinkPurchAdvancePayment(PurchAdvLetterEntryCZZ); + + // [GIVEN] Purchase advance payment has been relinked to advance letter + VendorLedgerEntry.Reset(); + VendorLedgerEntry.SetFilter("Entry No.", '>%1', LastVendLedgerEntryNo); + VendorLedgerEntry.SetRange("Document Type", VendorLedgerEntry."Document Type"::Payment); + VendorLedgerEntry.SetRange(Open, true); + VendorLedgerEntry.FindLast(); + LibraryPurchAdvancesCZZ.LinkPurchAdvancePayment(PurchAdvLetterHeaderCZZ, VendorLedgerEntry); + Commit(); + + // [WHEN] Unapply all vendor ledger entries created by advance payment + UnApplyVendLedgerEntries(LastVendLedgerEntryNo, true); + + // [THEN] The seven vendor ledger entries will be created + VerifyVendLedgerEntryCount(LastVendLedgerEntryNo, 7); + + // [THEN] The error will occurs when attempting to unapply vendor ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfVendorLedgerEntryForLinkedAdvanceLetterToInvoice() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + LastVendLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of vendor ledger entry for a linked advance letter to invoice must fail + Initialize(); + + LastVendLedgerEntryNo := GetLastVendLedgerEntryNo(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to Purch invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostPurchaseDocument(PurchaseHeader); + Commit(); + + // [WHEN] Unapply all vendor ledger entries created by advance payment + UnApplyVendLedgerEntries(LastVendLedgerEntryNo, true); + + // [THEN] The seven vendor ledger entries will be created + VerifyVendLedgerEntryCount(LastVendLedgerEntryNo, 6); + + // [THEN] The error will occurs when attempting to unapply vendor ledger entries + VerifyErrors(); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure CancelApplicationOfVendLedgerEntryForUnlinkedAdvanceLetterFromInvoice() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchInvHeader: Record "Purch. Inv. Header"; + PostedDocumentNo: Code[20]; + LastVendLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of vendor ledger entry for an unlinked advance letter to invoice must fail + Initialize(); + + LastVendLedgerEntryNo := GetLastVendLedgerEntryNo(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [GIVEN] Unlink purchase advance letter from posted purchase invoice + PurchInvHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, PurchAdvLetterHeaderCZZ."No."), true); + LibraryPurchAdvancesCZZ.UnapplyAdvanceLetter(PurchInvHeader); + Commit(); + + // [WHEN] Unapply all vendor ledger entries created by advance payment + UnApplyVendLedgerEntries(LastVendLedgerEntryNo, true); + + // [THEN] The seven vendor ledger entries will be created + VerifyVendLedgerEntryCount(LastVendLedgerEntryNo, 8); + + // [THEN] The error will occurs when attempting to unapply vendor ledger entries + VerifyErrors(); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure CancelApplicationOfVendLedgerEntryForRelinkedAdvanceLetterToInvoice() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchInvHeader: Record "Purch. Inv. Header"; + PostedDocumentNo: Code[20]; + LastVendLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of vendor ledger entry for a relinked advance letter to invoice must fail + Initialize(); + + LastVendLedgerEntryNo := GetLastVendLedgerEntryNo(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchaseHeader, PurchaseLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchaseHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [GIVEN] Unlink purchase advance letter from posted purchase invoice + PurchInvHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, PurchAdvLetterHeaderCZZ."No."), true); + LibraryPurchAdvancesCZZ.UnapplyAdvanceLetter(PurchInvHeader); + + // [GIVEN] Link advance letter to posted purchase invoice + SetExpectedConfirm(ApplyAdvanceLetterQst, true); + LibraryPurchAdvancesCZZ.ApplyPurchAdvanceLetter(PurchAdvLetterHeaderCZZ, PurchInvHeader); + Commit(); + + // [WHEN] Unapply all vendor ledger entries created by advance payment + UnApplyVendLedgerEntries(LastVendLedgerEntryNo, true); + + // [THEN] The seven vendor ledger entries will be created + VerifyVendLedgerEntryCount(LastVendLedgerEntryNo, 10); + + // [THEN] The error will occurs when attempting to unapply vendor ledger entries + VerifyErrors(); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure CreatePurchAdvanceLetterFromOrderFor100Per() + begin + // [SCENARIO] Create purchase advance letter from order for 100% of amount + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + // [GIVEN] Purchase advance letter for 100% has been created from order + // [WHEN] Release purchase advance letter + // [THEN] Purchase advance letter will be created for 100% of order amount + // [THEN] Purchase advance letter will be linked with purchase order + CreatePurchAdvanceLetterFromOrderForAdvancePer(100); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure CreatePurchAdvanceLetterFromOrderFor80Per() + begin + // [SCENARIO] Create purchase advance letter from order for 80% of amount + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + // [GIVEN] Purchase advance letter for 80% has been created from order + // [WHEN] Release purchase advance letter + // [THEN] Purchase advance letter will be created for 80% of order amount + // [THEN] Purchase advance letter will be linked with purchase order + CreatePurchAdvanceLetterFromOrderForAdvancePer(80); + end; + + procedure CreatePurchAdvanceLetterFromOrderForAdvancePer(AdvancePer: Decimal) + var + Currency: Record Currency; + TempAdvanceLetterApplication: Record "Advance Letter Application CZZ" temporary; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + AdvanceAmount: Decimal; + begin + Initialize(); + + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + PurchaseHeader.CalcFields("Amount Including VAT"); + + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, AdvancePer, false, PurchAdvLetterHeaderCZZ); + Currency.InitRoundingPrecision(); + AdvanceAmount := Round(PurchaseHeader."Amount Including VAT" * (AdvancePer / 100), Currency."Amount Rounding Precision"); + + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + PurchAdvLetterHeaderCZZ.CalcFields("Amount Including VAT"); + PurchAdvLetterHeaderCZZ.TestField("Amount Including VAT", AdvanceAmount); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Pay"); + + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + PurchAdvLetterEntryCZZ.SetRange(Amount, -AdvanceAmount); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + TempAdvanceLetterApplication.GetAssignedAdvance(Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Order", PurchaseHeader."No.", TempAdvanceLetterApplication); + TempAdvanceLetterApplication.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Purchase); + TempAdvanceLetterApplication.SetRange("Advance Letter No.", PurchAdvLetterHeaderCZZ."No."); + TempAdvanceLetterApplication.SetRange(Amount, AdvanceAmount); + Assert.RecordIsNotEmpty(TempAdvanceLetterApplication); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure CreatePurchAdvanceLetterFromOrderForAdvanceAmount() + var + Currency: Record Currency; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + AdvanceAmount: Decimal; + begin + // [SCENARIO] Create purchase advance letter from order for specified advance amount + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + PurchaseHeader.CalcFields("Amount Including VAT"); + + // [GIVEN] Purchase advance letter for specified amount has been created from order + Currency.InitRoundingPrecision(); + AdvanceAmount := Round(PurchaseHeader."Amount Including VAT" * (LibraryRandom.RandIntInRange(1, 99) / 100), Currency."Amount Rounding Precision"); + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvanceAmount(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, AdvanceAmount, false, PurchAdvLetterHeaderCZZ); + + // [WHEN] Release purchase advance letter + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [THEN] Purchase advance letter will be created for specified amount of order + PurchAdvLetterHeaderCZZ.CalcFields("Amount Including VAT"); + PurchAdvLetterHeaderCZZ.TestField("Amount Including VAT", AdvanceAmount); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Pay"); + + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + PurchAdvLetterEntryCZZ.SetRange(Amount, -AdvanceAmount); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure CreatePurchAdvanceLetterFromOrderByLines() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine1: Record "Purchase Line"; + PurchaseLine2: Record "Purchase Line"; + PurchaseLine3: Record "Purchase Line"; + begin + // [SCENARIO] Create purchase advance letter from order by lines + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] First purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine1); + + // [GIVEN] Second purchase order line has been created + LibraryPurchase.CreatePurchaseLine( + PurchaseLine2, PurchaseHeader, PurchaseLine2.Type::"G/L Account", PurchaseLine1."No.", 1); + PurchaseLine2.Validate("Direct Unit Cost", LibraryRandom.RandDec(1000, 2)); + PurchaseLine2.Modify(true); + + // [GIVEN] Third purchase order line has been created + LibraryPurchase.CreatePurchaseLine( + PurchaseLine3, PurchaseHeader, PurchaseLine3.Type::"G/L Account", PurchaseLine1."No.", 1); + PurchaseLine3.Validate("Direct Unit Cost", LibraryRandom.RandDec(1000, 2)); + PurchaseLine3.Modify(true); + + // [WHEN] Create purchase advance letter from order and suggest by lines + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, true, PurchAdvLetterHeaderCZZ); + + // [THEN] Purchase advance letter will have the same lines as purchase order + PurchAdvLetterLineCZZ.SetRange("Document No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordCount(PurchAdvLetterLineCZZ, 3); + + // [THEN] Separate purchase advance line will be created for each line from purchase order + PurchAdvLetterLineCZZ.SetRange("Line No.", PurchaseLine1."Line No."); + PurchAdvLetterLineCZZ.SetRange("Amount Including VAT", PurchaseLine1."Amount Including VAT"); + Assert.RecordIsNotEmpty(PurchAdvLetterLineCZZ); + + PurchAdvLetterLineCZZ.SetRange("Line No.", PurchaseLine2."Line No."); + PurchAdvLetterLineCZZ.SetRange("Amount Including VAT", PurchaseLine2."Amount Including VAT"); + Assert.RecordIsNotEmpty(PurchAdvLetterLineCZZ); + + PurchAdvLetterLineCZZ.SetRange("Line No.", PurchaseLine3."Line No."); + PurchAdvLetterLineCZZ.SetRange("Amount Including VAT", PurchaseLine3."Amount Including VAT"); + Assert.RecordIsNotEmpty(PurchAdvLetterLineCZZ); + end; + + [Test] + procedure LinkUnpaidAdvanceLetterToPurchOrder() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Link unpaid purchase advance letter to purchase order + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetterWithVendor(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, PurchaseHeader."Pay-to Vendor No."); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [WHEN] Get list of advance letter available for linking + TempAdvanceLetterApplicationCZZ.GetPossiblePurchAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Order", PurchaseHeader."No.", PurchaseHeader."Pay-to Vendor No.", + PurchaseHeader."Posting Date", PurchaseHeader."Currency Code", TempAdvanceLetterApplicationCZZ); + + // [THEN] Purchase advance letter won't be available for linking + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Purchase); + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + procedure LinkPaidAdvanceLetterToPurchOrder() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Link paid purchase advance letter to purchase order + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetterWithVendor(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, PurchaseHeader."Pay-to Vendor No."); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get list of advance letter available for linking + TempAdvanceLetterApplicationCZZ.GetPossiblePurchAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Order", PurchaseHeader."No.", PurchaseHeader."Pay-to Vendor No.", + PurchaseHeader."Posting Date", PurchaseHeader."Currency Code", TempAdvanceLetterApplicationCZZ); + + // [THEN] Purchase advance letter will be available for linking + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Purchase); + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure CloseLinkedAdvanceLetterWithPurchOrder() + var + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + begin + // [SCENARIO] Close linked purchase advance letter with purchase order + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [WHEN] Close purchase advance letter + LibraryPurchAdvancesCZZ.ClosePurchAdvanceLetter(PurchAdvLetterHeaderCZZ); + + // [THEN] Purchase advance letter won't be linked with purchase order + TempAdvanceLetterApplicationCZZ.GetAssignedAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Order", PurchaseHeader."No.", TempAdvanceLetterApplicationCZZ); + TempAdvanceLetterApplicationCZZ.Reset(); + Assert.RecordIsEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure AdvancePaymentByCashDesk() + var + CashDocumentHeaderCZP: Record "Cash Document Header CZP"; + CashDocumentLineCZP: Record "Cash Document Line CZP"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + begin + // [SCENARIO] Advance payment by cash desk + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Cash document has been created + CreateCashDocument(CashDocumentHeaderCZP, CashDocumentLineCZP, + Enum::"Cash Document Type CZP"::Withdrawal, PurchAdvLetterHeaderCZZ); + + // [WHEN] Post cash document + SetExpectedConfirm(StrSubstNo(PostCashDocumentQst, CashDocumentHeaderCZP."No."), true); + PostCashDocument(CashDocumentHeaderCZP); + + // [THEN] Purchase advance letter will be paid in full by cash document + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Purchase advance letter will be to use + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler,ModalVATDocumentHandler')] + procedure PurchInvoiceWithAdvanceLetterPostedFromPurchOrder() + var + CashDocumentHeaderCZP: Record "Cash Document Header CZP"; + CashDocumentLineCZP: Record "Cash Document Line CZP"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Purchase invoice with advance letter posted from purchase order + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Cash document has been created + CreateCashDocument(CashDocumentHeaderCZP, CashDocumentLineCZP, + Enum::"Cash Document Type CZP"::Withdrawal, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Cash document has been posted + SetExpectedConfirm(StrSubstNo(PostCashDocumentQst, CashDocumentHeaderCZP."No."), true); + PostCashDocument(CashDocumentHeaderCZP); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [WHEN] Post purchase order + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Purchase advance letter will exist + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Sum of base and VAT amounts in advance letter entries will be zero + PurchAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount", 'The sum of base amount in advance letter entries must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in VAT advance letter must be zero.'); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler,ModalVATDocumentHandler')] + procedure AdvancePaymentWithLaterDateThanOrderDate() + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Advance payment with later date than order date + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT", 0, WorkDate() + 1); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [WHEN] Post purchase order + SetExpectedConfirm(StrSubstNo(LaterAdvancePaymentQst, PurchAdvLetterHeaderCZZ."No.", PurchaseHeader."Posting Date"), true); + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] Vendor ledger entry created by invoice will be unapplied + VendorLedgerEntry.SetRange("Document No.", PostedDocumentNo); + VendorLedgerEntry.FindLast(); + VendorLedgerEntry.CalcFields("Remaining Amount"); + Assert.AreNotEqual(0, VendorLedgerEntry."Remaining Amount", 'The remaining amount in vendor ledger entry must be not zero.'); + + // [THEN] Purchase advance lettere won't be deducted + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsEmpty(PurchAdvLetterEntryCZZ); + + TempAdvanceLetterApplicationCZZ.GetAssignedAdvance(Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Order", PurchaseHeader."No.", TempAdvanceLetterApplicationCZZ); + Assert.RecordIsEmpty(TempAdvanceLetterApplicationCZZ); + + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler')] + procedure NoticeToUnpaidPurchAdvanceLetter() + var + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + begin + // [SCENARIO] Notice to unpaid purchase advance letter + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [WHEN] Post purchase order + SetExpectedConfirm(StrSubstNo(UsageNoPossibleQst), true); + PostPurchaseDocument(PurchaseHeader); + + // [THEN] Confirm handler will be called + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler,ModalVATDocumentHandler')] + procedure DeductAdvanceLetterByQuantityToInvoice() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchInvHeader: Record "Purch. Inv. Header"; + PurchaseLine: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Deduct advance letter by quantity to invoice + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine); + + // [GIVEN] Purchase advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] "Qty. to Invoice" and "Qty. to Ship" fields in purchase order line have been modified to 1 + PurchaseLine.Validate("Qty. to Invoice", 1); + PurchaseLine.Validate("Qty. to Receive", 1); + PurchaseLine.Modify(true); + + // [WHEN] Post Purch order + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of Purch invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Purchase advance letter entry with usage will exist + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + PurchInvHeader.Get(PostedDocumentNo); + PurchInvHeader.CalcFields("Amount Including VAT"); + PurchAdvLetterEntryCZZ.FindFirst(); + PurchAdvLetterEntryCZZ.TestField(Amount, -PurchInvHeader."Amount Including VAT"); + + // [THEN] Purchase advance letter will be to use + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::"To Use"); + end; + + [Test] + [HandlerFunctions('CreatePurchAdvLetterHandler,ConfirmHandler,ModalVATDocumentHandler')] + procedure NegativeLineInPurchOrder() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine1: Record "Purchase Line"; + PurchaseLine2: Record "Purchase Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Negative line in purchase order + Initialize(); + + // [GIVEN] Purchase order has been created + // [GIVEN] Purchase order line has been created + LibraryPurchAdvancesCZZ.CreatePurchOrder(PurchaseHeader, PurchaseLine1); + + // [GIVEN] Second purchase order line has been created + LibraryPurchase.CreatePurchaseLine( + PurchaseLine2, PurchaseHeader, PurchaseLine2.Type::"G/L Account", PurchaseLine1."No.", -1); + PurchaseLine2.Validate("Direct Unit Cost", PurchaseLine1."Direct Unit Cost" / 2); + PurchaseLine2.Modify(true); + + // [GIVEN] Purchase advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreatePurchAdvLetterFromOrderWithAdvancePer(PurchaseHeader, AdvanceLetterTemplateCZZ.Code, 100, false, PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [WHEN] Post purchase order + PostedDocumentNo := PostPurchaseDocument(PurchaseHeader); + + // [THEN] VAT entries of purchase invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", PurchaseHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreNearlyEqual(0, VATEntry.Base, 0.1, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreNearlyEqual(0, VATEntry.Amount, 0.1, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Purchase advance letter will exist + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(PurchAdvLetterEntryCZZ); + + // [THEN] Sum of base and VAT amounts in advance letter entries will be zero + PurchAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Base Amount", 'The sum of base amount in advance letter entries must be zero.'); + Assert.AreEqual(0, PurchAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in VAT advance letter must be zero.'); + + // [THEN] Purchase advance letter will be closed + PurchAdvLetterHeaderCZZ.Get(PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterHeaderCZZ.TestField(Status, PurchAdvLetterHeaderCZZ.Status::Closed); + end; + + local procedure CreatePurchAdvLetterBase(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; VendorNo: Code[20]; CurrencyCode: Code[10]; VATPostingSetup: Record "VAT Posting Setup") + var + Vendor: Record Vendor; + begin + if VendorNo = '' then begin + LibraryPurchAdvancesCZZ.CreateVendor(Vendor); + Vendor.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); + Vendor.Modify(true); + VendorNo := Vendor."No."; + end; + + LibraryPurchAdvancesCZZ.CreatePurchAdvLetterHeader(PurchAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, VendorNo, CurrencyCode); + LibraryPurchAdvancesCZZ.CreatePurchAdvLetterLine(PurchAdvLetterLineCZZ, PurchAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); + end; + + local procedure CreatePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; CurrencyCode: Code[10]) + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + LibraryPurchAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, '', CurrencyCode, VATPostingSetup); + end; + + local procedure CreatePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ") + begin + CreatePurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, ''); + end; + + local procedure CreatePurchAdvLetterWithVendor(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; VendorNo: Code[20]) + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + LibraryPurchAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, VendorNo, '', VATPostingSetup); + end; + + local procedure CreatePurchAdvLetterWithReverseCharge(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ") + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + LibraryPurchAdvancesCZZ.FindVATPostingSetupEU(VATPostingSetup); + CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, '', '', VATPostingSetup); + end; + + local procedure CreatePurchAdvLetterFromOrderWithAdvanceAmount(var PurchaseHeader: Record "Purchase Header"; AdvanceLetterCode: Code[20]; AdvanceAmount: Decimal; SuggestByLine: Boolean; var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + CreatePurchAdvLetterFromOrder(PurchaseHeader, AdvanceLetterCode, 0, AdvanceAmount, SuggestByLine, PurchAdvLetterHeaderCZZ); + end; + + local procedure CreatePurchAdvLetterFromOrderWithAdvancePer(var PurchaseHeader: Record "Purchase Header"; AdvanceLetterCode: Code[20]; AdvancePer: Decimal; SuggestByLine: Boolean; var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + CreatePurchAdvLetterFromOrder(PurchaseHeader, AdvanceLetterCode, AdvancePer, 0, SuggestByLine, PurchAdvLetterHeaderCZZ); + end; + + local procedure CreatePurchAdvLetterFromOrder(var PurchaseHeader: Record "Purchase Header"; AdvanceLetterCode: Code[20]; AdvancePer: Decimal; AdvanceAmount: Decimal; SuggestByLine: Boolean; var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + var + AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + begin + Commit(); + LibraryVariableStorage.Enqueue(AdvanceLetterCode); + LibraryVariableStorage.Enqueue(AdvancePer); + LibraryVariableStorage.Enqueue(AdvanceAmount); + LibraryVariableStorage.Enqueue(SuggestByLine); + LibraryPurchAdvancesCZZ.CreatePurchAdvanceLetterFromOrder(PurchaseHeader); + + AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Purchase); + AdvanceLetterApplicationCZZ.SetRange("Document Type", AdvanceLetterApplicationCZZ."Document Type"::"Purchase Order"); + AdvanceLetterApplicationCZZ.SetRange("Document No.", PurchaseHeader."No."); + AdvanceLetterApplicationCZZ.FindFirst(); + PurchAdvLetterHeaderCZZ.Get(AdvanceLetterApplicationCZZ."Advance Letter No."); + end; + + local procedure CreateAndPostPaymentPurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal; PostingDate: Date): Decimal + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibraryPurchAdvancesCZZ.CreatePurchAdvancePayment(GenJournalLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", Amount, PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."No.", ExchangeRate, PostingDate); + PostGenJournalLine(GenJournalLine); + exit(GenJournalLine."Amount (LCY)"); + end; + + local procedure CreateAndPostPaymentPurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; Amount: Decimal): Decimal + begin + exit(CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, Amount, 0, 0D)); + end; + + local procedure CreateAndPostPayment(VendorNo: Code[20]; Amount: Decimal) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibraryJournals.CreateGenJournalLineWithBatch( + GenJournalLine, GenJournalLine."Document Type"::Payment, GenJournalLine."Account Type"::Vendor, VendorNo, Amount); + LibraryERM.PostGeneralJnlLine(GenJournalLine); + end; + + local procedure CreateCashDocument(var CashDocumentHeaderCZP: Record "Cash Document Header CZP"; var CashDocumentLineCZP: Record "Cash Document Line CZP"; CashDocType: Enum "Cash Document Type CZP"; PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + var + CashDeskCZP: Record "Cash Desk CZP"; + CashDeskUserCZP: Record "Cash Desk User CZP"; + begin + LibraryCashDeskCZP.CreateCashDeskCZP(CashDeskCZP); + LibraryCashDeskCZP.SetupCashDeskCZP(CashDeskCZP, false); + LibraryCashDeskCZP.CreateCashDeskUserCZP(CashDeskUserCZP, CashDeskCZP."No.", true, true, true); + LibraryCashDocumentCZP.CreateCashDocumentHeaderCZP(CashDocumentHeaderCZP, CashDocType, CashDeskCZP."No."); + LibraryCashDocumentCZP.CreateCashDocumentLineCZP(CashDocumentLineCZP, CashDocumentHeaderCZP, + Enum::"Cash Document Account Type CZP"::Vendor, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", 0); + CashDocumentLineCZP.Validate("Advance Letter No. CZZ", PurchAdvLetterHeaderCZZ."No."); + CashDocumentLineCZP.Modify(); + end; + + local procedure FindForeignCurrency(var Currency: Record Currency) + begin + Currency.SetFilter(Code, '<>%1', GeneralLedgerSetup."LCY Code"); + LibraryERM.FindCurrency(Currency); + end; + + local procedure UpdatePurchaseSetup() + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + begin + PurchasesPayablesSetup.Get(); + PurchasesPayablesSetup.Validate("Allow VAT Difference", true); + PurchasesPayablesSetup.Modify(true); + end; + + local procedure ReleasePurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + end; + + local procedure PostGenJournalLine(var GenJournalLine: Record "Gen. Journal Line") + begin + Codeunit.Run(Codeunit::"Gen. Jnl.-Post Line", GenJournalLine); + end; + + local procedure PostPurchaseDocument(var PurchaseHeader: Record "Purchase Header"): Code[20] + begin + exit(LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true)); + end; + + local procedure FindLastPaymentAdvanceLetterEntry(AdvanceLetterNo: Code[20]; var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") + begin + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", AdvanceLetterNo); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + PurchAdvLetterEntryCZZ.FindLast(); + end; + + local procedure PostPurchAdvancePaymentVAT(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"); + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + begin + FindLastPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ); + PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + end; + + local procedure PostPurchAdvancePaymentVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"); + begin + LibraryVariableStorage.Enqueue(WorkDate()); // original document vat date + LibraryVariableStorage.Enqueue(PurchAdvLetterEntryCZZ."Document No."); // external document no. + LibraryPurchAdvancesCZZ.PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + end; + + local procedure PostPurchAdvancePaymentUsageVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") + begin + LibraryVariableStorage.Enqueue(WorkDate()); // original document vat date + LibraryVariableStorage.Enqueue(PurchAdvLetterEntryCZZ."Document No."); // external document no. + LibraryPurchAdvancesCZZ.PostPurchAdvancePaymentUsageVAT(PurchAdvLetterEntryCZZ); + end; + + local procedure GetLastVendLedgerEntryNo(): Integer + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + begin + VendorLedgerEntry.FindLast(); + exit(VendorLedgerEntry."Entry No."); + end; + + local procedure UnApplyVendLedgerEntries(FromEntryNo: Integer; IsErrorExpected: Boolean) + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + begin + VendorLedgerEntry.SetFilter("Entry No.", '>%1', FromEntryNo); + if VendorLedgerEntry.FindSet() then + repeat + if not IsErrorExpected then + LibraryPurchAdvancesCZZ.UnApplyVendLedgEntry(VendorLedgerEntry."Entry No.") + else begin + asserterror LibraryPurchAdvancesCZZ.UnApplyVendLedgEntry(VendorLedgerEntry."Entry No."); + LibraryVariableStorage.Enqueue(VendorLedgerEntry); + LibraryVariableStorage.Enqueue(GetLastErrorText()); + end; + until VendorLedgerEntry.Next() = 0; + end; + + local procedure VerifyVendLedgerEntryCount(FromEntryNo: Integer; ExpectedCount: Integer) + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + begin + VendorLedgerEntry.SetFilter("Entry No.", '>%1', FromEntryNo); + Assert.RecordCount(VendorLedgerEntry, ExpectedCount); + end; + + local procedure VerifyErrors() + var + VendorLedgerEntry: Record "Vendor Ledger Entry"; + Variant: Variant; + ErrorText: Text; + i: Integer; + begin + for i := 1 to LibraryVariableStorage.Length() / 2 do begin + LibraryVariableStorage.Dequeue(Variant); + VendorLedgerEntry := Variant; + LibraryVariableStorage.Dequeue(Variant); + ErrorText := Variant; + if VendorLedgerEntry.Open then + Assert.AreEqual(StrSubstNo(NoApplicationEntryErr, VendorLedgerEntry."Entry No."), ErrorText, 'Unexpected error occur.') + else + Assert.AreEqual(AppliedToAdvanceLetterErr, ErrorText, 'Unexpected error occur.'); + end; + end; + + local procedure PostCashDocument(var CashDocumentHeaderCZP: Record "Cash Document Header CZP") + begin + LibraryCashDocumentCZP.PostCashDocumentCZP(CashDocumentHeaderCZP); + end; + + local procedure SetExpectedConfirm(Question: Text; Reply: Boolean) + begin + LibraryDialogHandler.SetExpectedConfirm(Question, Reply); + end; + + [ModalPageHandler] + procedure ModalVATDocumentHandler(var VATDocument: TestPage "VAT Document CZZ") + begin + VATDocument.OriginalDocumentVATDate.SetValue(LibraryVariableStorage.DequeueDate()); + VATDocument.ExternalDocumentNo.SetValue(LibraryVariableStorage.DequeueText()); + VATDocument.OK().Invoke(); + end; + + [RequestPageHandler] + procedure CreatePurchAdvLetterHandler(var CreatePurchAdvLetterCZZ: TestRequestPage "Create Purch. Adv. Letter CZZ") + var + DecimalValue: Decimal; + begin + CreatePurchAdvLetterCZZ.AdvLetterCode.SetValue(LibraryVariableStorage.DequeueText()); + CreatePurchAdvLetterCZZ.AdvPer.SetValue := 100; + DecimalValue := LibraryVariableStorage.DequeueDecimal(); + if DecimalValue <> 0 then + CreatePurchAdvLetterCZZ.AdvPer.SetValue(DecimalValue); + DecimalValue := LibraryVariableStorage.DequeueDecimal(); + if DecimalValue <> 0 then + CreatePurchAdvLetterCZZ.AdvAmount.SetValue(DecimalValue); + CreatePurchAdvLetterCZZ.SuggByLine.SetValue(LibraryVariableStorage.DequeueBoolean()); + CreatePurchAdvLetterCZZ.OK().Invoke(); + end; + + [ConfirmHandler] + procedure ConfirmHandler(Question: Text[1024]; var Reply: Boolean) + begin + LibraryDialogHandler.HandleConfirm(Question, Reply); + end; +} diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvPaymentsFCYCZZ.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvPaymentsFCYCZZ.Codeunit.al new file mode 100644 index 0000000000..8844b53c7d --- /dev/null +++ b/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvPaymentsFCYCZZ.Codeunit.al @@ -0,0 +1,995 @@ +codeunit 148124 "Sales Adv. Payments FCY CZZ" +{ + Subtype = Test; + TestPermissions = Disabled; + + trigger OnRun() + begin + // [FEATURE] [Advance Payments] [Sales] [Foreign Currency] + isInitialized := false; + end; + + var + AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; + GeneralLedgerSetup: Record "General Ledger Setup"; + Assert: Codeunit Assert; + LibraryDialogHandler: Codeunit "Library - Dialog Handler"; + LibraryERM: Codeunit "Library - ERM"; + LibrarySalesAdvancesCZZ: Codeunit "Library - Sales Advances CZZ"; + LibrarySales: Codeunit "Library - Sales"; + LibraryRandom: Codeunit "Library - Random"; + LibraryReportDataset: Codeunit "Library - Report Dataset"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; + isInitialized: Boolean; + CannotBeFoundErr: Label 'The field Advance Letter No. of table Gen. Journal Line contains a value (%1) that cannot be found in the related table (%2).', Comment = '%1 = advance letter no., %2 = table name'; + UnapplyAdvLetterQst: Label 'Unapply advance letter: %1\Continue?', Comment = '%1 = Advance Letters'; + CurrExchRateAdjustedMsg: Label 'One or more currency exchange rates have been adjusted.'; + + local procedure Initialize() + var + LibraryTestInitialize: Codeunit "Library - Test Initialize"; +#if not CLEAN22 + ReplaceVATDateMgtCZL: Codeunit "Replace VAT Date Mgt. CZL"; +#endif + begin + LibraryTestInitialize.OnTestInitialize(Codeunit::"Sales Adv. Payments FCY CZZ"); + LibraryRandom.Init(); + LibraryVariableStorage.Clear(); + LibraryDialogHandler.ClearVariableStorage(); + if isInitialized then + exit; + LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::"Sales Adv. Payments FCY CZZ"); + + GeneralLedgerSetup.Get(); +#if not CLEAN22 + if not ReplaceVATDateMgtCZL.IsEnabled() then + GeneralLedgerSetup."Use VAT Date CZL" := true + else +#endif + GeneralLedgerSetup."VAT Reporting Date Usage" := GeneralLedgerSetup."VAT Reporting Date Usage"::Enabled; + GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL" := GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL"::"VAT Date"; + GeneralLedgerSetup."Max. VAT Difference Allowed" := 0.5; + GeneralLedgerSetup.Modify(); + + LibrarySalesAdvancesCZZ.CreateSalesAdvanceLetterTemplate(AdvanceLetterTemplateCZZ); + UpdateCurrency(); + + isInitialized := true; + Commit(); + LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::"Sales Adv. Payments FCY CZZ"); + end; + + [Test] + procedure SalesAdvLetterInFCYPaidInLCY() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + GenJournalLine: Record "Gen. Journal Line"; + begin + // [SCENARIO] Create sales advance letter in foreign currency and paid in local currency + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [WHEN] Create payment journal + asserterror LibrarySalesAdvancesCZZ.CreateSalesAdvancePayment( + GenJournalLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterLineCZZ."Amount Including VAT", '', + SalesAdvLetterHeaderCZZ."No.", 0); + + // [THEN] The error will occur + Assert.ExpectedError(StrSubstNo(CannotBeFoundErr, SalesAdvLetterHeaderCZZ."No.", SalesAdvLetterHeaderCZZ.TableCaption())); + end; + + [Test] + procedure SalesAdvLetterInFCYPaidInFCY() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + begin + // [SCENARIO] Create sales advance letter in foreign currency and paid in foreign currency + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [WHEN] Create and post payment advance letter + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [THEN] Sales advance letter will be changed to status = "To Use" + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Sales advance letter entry with entry type = Payment will be exist + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + end; + + [Test] + procedure LinkSalesAdvLetterInFCYToInvoiceInLCY() + var + AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + TempAdvanceLetterApplication: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Create sales advance letter in foreign currency and link to invoice in local currency + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice in local currency has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get list of advance letter available for linking + AdvanceLetterApplicationCZZ.GetPossibleSalesAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", SalesHeader."Bill-to Customer No.", + SalesHeader."Posting Date", SalesHeader."Currency Code", TempAdvanceLetterApplication); + + // [THEN] Sales advance letter won't be available for linking + TempAdvanceLetterApplication.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Sales); + TempAdvanceLetterApplication.SetRange("Advance Letter No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsEmpty(TempAdvanceLetterApplication); + end; + + [Test] + procedure LinkSalesAdvLetterInFCYToInvoiceInFCY() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create sales advance letter in foreign currency and link to invoice in foreign currency + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice in foreign currency has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", + SalesAdvLetterHeaderCZZ."Currency Code", 0, true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to Sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post sales invoice + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure CloseSalesAdvLetterInFCYWithoutPaymentVAT() + var + SalesAdvLetterEntryCZZ1: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + ClosingDate: Date; + begin + // [SCENARIO] Sales advance letter in foreign currency without payment VAT can be closed + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency without automatic post VAT document has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" := false; + SalesAdvLetterHeaderCZZ.Modify(); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Close advance letter + ClosingDate := WorkDate() + 1; + LibrarySalesAdvancesCZZ.CloseSalesAdvanceLetter( + SalesAdvLetterHeaderCZZ, ClosingDate, ClosingDate, 0); + + // [THEN] Sales advance letter entry of "Close" type will be created and will have the same amount as entry of "Payment" type with opposite sign + SalesAdvLetterEntryCZZ1.Reset(); + SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ1.SetRange("Entry Type", SalesAdvLetterEntryCZZ1."Entry Type"::Payment); + SalesAdvLetterEntryCZZ1.FindFirst(); + + SalesAdvLetterEntryCZZ2.Reset(); + SalesAdvLetterEntryCZZ2.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ2.SetRange("Entry Type", SalesAdvLetterEntryCZZ2."Entry Type"::Close); + SalesAdvLetterEntryCZZ2.FindFirst(); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Entry No.", SalesAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + Assert.AreEqual(-SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The entry must have the opposite amount as related entry.'); + end; + + [Test] + procedure CloseSalesAdvLetterInFCYWithPaymentVAT() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + ClosingDate: Date; + begin + // [SCENARIO] Sales advance letter in foreign currency with payment VAT can be closed + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Close advance letter + ClosingDate := WorkDate() + 1; + LibrarySalesAdvancesCZZ.CloseSalesAdvanceLetter( + SalesAdvLetterHeaderCZZ, ClosingDate, ClosingDate, 0); + + // [THEN] Sales advance letter entry of "Close" type will be created + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Close); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry of "VAT Close" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Close"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry of "VAT Rate" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] The sum of amounts of sales advance letter entries will be zero + SalesAdvLetterEntryCZZ.SetFilter("Entry Type", '<>%1', SalesAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + SalesAdvLetterEntryCZZ.CalcSums("Amount (LCY)"); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."Amount (LCY)", 'The sum of amounts must be zero.'); + end; + + [Test] + procedure LinkSalesAdvLetterInFCYToInvoiceWithDiffCurrExchRate() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create sales advance letter in foreign currency and link to invoice with different currency exchange rate + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice in foreign currency has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date" + 1, + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", SalesAdvLetterHeaderCZZ."Currency Code", 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post sales invoice + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreNearlyEqual(0, VATEntry.Base, 1, 'The sum of base amount in VAT entries must be zero.'); + Assert.AreNearlyEqual(0, VATEntry.Amount, 1, 'The sum of amount in VAT entries must be zero.'); + + // [THEN] Sales advance letter entry of "Usage" type will be created + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry of "VAT Usage" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Usage"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry of "VAT Rate" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure CloseSalesAdvLetterInFCYPartiallyDeducted() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + ClosingDate: Date; + begin + // [SCENARIO] Close sales advance letter in foreign currency and partially deducted by sales invoice + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice in foreign currency and different exchange rate as advance letter has been created + // [GIVEN] Sales invoice line with a lower amount than advance letter line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date" + 1, + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", + SalesAdvLetterHeaderCZZ."Currency Code", 0, true, SalesAdvLetterLineCZZ."Amount Including VAT" / 2); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostSalesDocument(SalesHeader); + + // [WHEN] Close sales advance letter + ClosingDate := WorkDate() + 1; + LibrarySalesAdvancesCZZ.CloseSalesAdvanceLetter(SalesAdvLetterHeaderCZZ, ClosingDate, ClosingDate, 0); + + // [THEN] Sales advance letter entry of "Close" type will be created + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Close); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry of "VAT Close" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Close"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry of "VAT Rate" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] The sum of amounts of sales advance letter entries will be zero + SalesAdvLetterEntryCZZ.SetFilter("Entry Type", '<>%1', SalesAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + SalesAdvLetterEntryCZZ.CalcSums("Amount (LCY)"); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."Amount (LCY)", 'The sum of amounts must be zero.'); + end; + + [Test] + procedure MultipleAdvancePaymentInFCY() + var + Currency: Record Currency; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + FirstPaymentAmount: Decimal; + SecondPaymentAmount: Decimal; + ThirdPaymentAmount: Decimal; + begin + // [SCENARIO] The payment of the sales advance letter in foreign currency can be split into several payments + Initialize(); + FindForeignCurrency(Currency); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been partially paid + FirstPaymentAmount := Round(SalesAdvLetterLineCZZ."Amount Including VAT" / 3, + Currency."Amount Rounding Precision", Currency.VATRoundingDirection()); + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -FirstPaymentAmount); + + // [GIVEN] Sales advance letter has been partially paid + SecondPaymentAmount := FirstPaymentAmount; + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SecondPaymentAmount); + + // [GIVEN] Sales advance letter has been partially paid + ThirdPaymentAmount := SalesAdvLetterLineCZZ."Amount Including VAT" - FirstPaymentAmount - SecondPaymentAmount; + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -ThirdPaymentAmount, 0, SalesAdvLetterHeaderCZZ."Posting Date" + 1); + + // [GIVEN] Sales invoice in foreign currency and different exchange rate as advance letter has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date" + 5, + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", + SalesAdvLetterHeaderCZZ."Currency Code", 0, true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post sales invoice + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts of VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreNearlyEqual(0, VATEntry.Base, 1, 'The sum of base amount in VAT entries must be zero.'); + Assert.AreNearlyEqual(0, VATEntry.Amount, 1, 'The sum of amount in VAT entries must be zero.'); + + // [THEN] Three sales advance letter entry of "VAT Payment" type will be created + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + Assert.RecordCount(SalesAdvLetterEntryCZZ, 3); + + // [THEN] Three sales advance letter entry of "VAT Usage" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Usage"); + Assert.RecordCount(SalesAdvLetterEntryCZZ, 3); + + // [THEN] Three sales advance letter entry of "VAT Rate" type will be created + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Rate"); + Assert.RecordCount(SalesAdvLetterEntryCZZ, 3); + + // [THEN] Sum of VAT base and VAT amount of sales advance letter entries will be zero + SalesAdvLetterEntryCZZ.SetFilter("Entry Type", '<>%1', SalesAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + SalesAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount", 'The sum of VAT base amount in sales adv. letter entries must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in sales adv. letter entries must be zero.'); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure LinkMultipleAdvanceLettersInFCYToOneInvoice() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ1: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterHeaderCZZ2: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ1: Record "Sales Adv. Letter Line CZZ"; + SalesAdvLetterLineCZZ2: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine1: Record "Sales Line"; + SalesLine2: Record "Sales Line"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Multiple advance letters in foreign currency can be linked to a one sales invoice + Initialize(); + + // [GIVEN] First sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ1, SalesAdvLetterLineCZZ1); + + // [GIVEN] First sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ1); + + // [GIVEN] First sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ1, -SalesAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Second sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ2, SalesAdvLetterLineCZZ2, SalesAdvLetterHeaderCZZ1."Bill-to Customer No."); + + // [GIVEN] Second sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ2); + + // [GIVEN] Second sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ2, -SalesAdvLetterLineCZZ2."Amount Including VAT"); + + // [GIVEN] Sales invoice in foreign currency and different exchange rate as advance letters has been created + // [GIVEN] First sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine1, SalesAdvLetterHeaderCZZ1."Bill-to Customer No.", SalesAdvLetterHeaderCZZ1."Posting Date" + 5, + SalesAdvLetterLineCZZ1."VAT Bus. Posting Group", SalesAdvLetterLineCZZ1."VAT Prod. Posting Group", + SalesAdvLetterHeaderCZZ1."Currency Code", 0, true, SalesAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Second sales invoice line has been created + LibrarySales.CreateSalesLine(SalesLine2, SalesHeader, SalesLine2.Type::"G/L Account", SalesLine1."No.", 1); + SalesLine2.Validate("Unit Price", SalesAdvLetterLineCZZ2."Amount Including VAT"); + SalesLine2.Modify(true); + + // [GIVEN] Whole first advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ1, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ1."Amount Including VAT", SalesAdvLetterLineCZZ1."Amount Including VAT (LCY)"); + + // [GIVEN] Whole second advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ2, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ2."Amount Including VAT", SalesAdvLetterLineCZZ2."Amount Including VAT (LCY)"); + + // [WHEN] Post sales invoice + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] Sales advance letter entry of Usage type for the first sales advance letter will be created + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ1."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + SalesAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry of Usage type for the second sales advance letter will be created + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ2."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + SalesAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + end; + + [Test] + procedure UnlinkSalesAdvLetterInFCYFromPayment() + var + SalesAdvLetterEntryCZZ1: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + CustLedgerEntry: Record "Cust. Ledger Entry"; + begin + // [SCENARIO] Unlink sales advance letter in foreign currency from payment + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Unlink advance letter from payment + FindLastPaymentAdvanceLetterEntry(SalesAdvLetterHeaderCZZ."No.", SalesAdvLetterEntryCZZ1); + LibrarySalesAdvancesCZZ.UnlinkSalesAdvancePayment(SalesAdvLetterEntryCZZ1); + + // [THEN] Sales advance letter entries will be created. One of the type "Payment" and the other of the type "VAT Payment". + SalesAdvLetterEntryCZZ2.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ2.Find('+'); + Assert.AreEqual(SalesAdvLetterEntryCZZ2."Entry Type"::Payment, SalesAdvLetterEntryCZZ2."Entry Type", 'The sales advance letter entry must be of type "Payment".'); + Assert.AreEqual(-SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Entry No.", SalesAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + SalesAdvLetterEntryCZZ2.Next(-1); + Assert.AreEqual(SalesAdvLetterEntryCZZ2."Entry Type"::"VAT Payment", SalesAdvLetterEntryCZZ2."Entry Type", 'The sales advance letter entry must be of type "VAT Payment".'); + Assert.AreEqual(-SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Entry No.", SalesAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + // [THEN] Last opened customer ledger entry won't be related to advance letter. The "Advance Letter No." field will be empty. + CustLedgerEntry.SetRange(Open, true); + CustLedgerEntry.FindLast(); + Assert.AreEqual('', CustLedgerEntry."Advance Letter No. CZZ", 'The advance letter no. must be empty.'); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure UnlinkSalesAdvLetterInFCYFromPostedInvoice() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesInvoiceHeader: Record "Sales Invoice Header"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Unlink sales advance letter in foreign currency from posted invoice + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice in foreign currency has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", + SalesAdvLetterHeaderCZZ."Currency Code", 0, true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [WHEN] Unlink sales advance letter from posted sales invoice + SalesInvoiceHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, SalesAdvLetterHeaderCZZ."No."), true); + LibrarySalesAdvancesCZZ.UnapplyAdvanceLetter(SalesInvoiceHeader); + + // [THEN] Sales advance letter will be changed to status = "To Use" + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Sum amounts of sales advance letter entries for posted sales invoice must be zero + SalesAdvLetterEntryCZZ.SetRange("Document No.", SalesInvoiceHeader."No."); + SalesAdvLetterEntryCZZ.CalcSums(Amount, "Amount (LCY)", "VAT Base Amount", "VAT Base Amount (LCY)", "VAT Amount", "VAT Amount (LCY)"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ.Amount, 'The Amount must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."Amount (LCY)", 'The Amount LCY must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount", 'The VAT Base Amount must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount (LCY)", 'The VAT Base Amount LCY must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount", 'The VAT Amount must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount (LCY)", 'The VAT Amount LCY must be zero.'); + end; + + [Test] + [HandlerFunctions('RequestPageAdjustExchangeRatesHandler,MessageHandler')] + procedure AdjustCurrExchRateWithoutAffectedPaymentSalesAdvLetterInFCY() + var + DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + CustLedgerEntry: Record "Cust. Ledger Entry"; + EntryCount: Integer; + begin + // [SCENARIO] Adjust currency exchange rate without affected payment sales advance letter in foreign currency + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Count of sales advance letter entry has been saved + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + EntryCount := SalesAdvLetterEntryCZZ.Count(); + + // [WHEN] Run adjust exchange rate + Commit(); + SetExpectedMessage(CurrExchRateAdjustedMsg); + RunAdjustExchangeRates( + SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Currency Code", + CalcDate('<-CY>', WorkDate()), CalcDate('', WorkDate()), CalcDate('', WorkDate()), + SalesAdvLetterHeaderCZZ."No.", true, false, false, true, false); + + // [THEN] Detailed customer ledger entry with of "Unrealized Gain" or "Unrealized Loss" type will be created + CustLedgerEntry.Reset(); + CustLedgerEntry.SetRange("Customer No.", SalesAdvLetterHeaderCZZ."Bill-to Customer No."); + CustLedgerEntry.FindLast(); + DetailedCustLedgEntry.SetCurrentKey("Cust. Ledger Entry No."); + DetailedCustLedgEntry.SetRange("Cust. Ledger Entry No.", CustLedgerEntry."Entry No."); + DetailedCustLedgEntry.SetFilter("Entry Type", '%1|%2', + DetailedCustLedgEntry."Entry Type"::"Unrealized Gain", + DetailedCustLedgEntry."Entry Type"::"Unrealized Loss"); + Assert.RecordIsNotEmpty(DetailedCustLedgEntry); + + // [THEN] Count of the sales advance letter entries is the same as before adjust running + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordCount(SalesAdvLetterEntryCZZ, EntryCount); + end; + + [Test] + [HandlerFunctions('RequestPageAdjustExchangeRatesHandler,MessageHandler,RequestPageAdjustAdvExchRatesHandler')] + procedure AdjustCurrExchRateWithAffectedPaymentSalesAdvLetterInFCY() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + AdjustedDate: Date; + begin + // [SCENARIO] Adjust currency exchange rate with affected payment sales advance letter in foreign currency + Initialize(); + + // [GIVEN] Sales advance letter in foreign currency has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Adjust exchange rate has been ran + Commit(); + SetExpectedMessage(CurrExchRateAdjustedMsg); + RunAdjustExchangeRates( + SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Currency Code", + CalcDate('<-CY>', WorkDate()), CalcDate('', WorkDate()), CalcDate('', WorkDate()), + SalesAdvLetterHeaderCZZ."No.", true, false, false, true, false); + + // [WHEN] Run adjust adv. exch. rates + Commit(); + AdjustedDate := CalcDate('', WorkDate()); + RunAdjustAdvExchRates( + SalesAdvLetterHeaderCZZ."No.", AdjustedDate, SalesAdvLetterHeaderCZZ."No.", true, false); + + // [THEN] Sales advance letter entries of type "VAT Adjustment" will be created + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Adjustment"); + SalesAdvLetterEntryCZZ.SetRange("Posting Date", AdjustedDate); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + end; + + local procedure UpdateCurrency() + var + Currency: Record Currency; + begin + FindForeignCurrency(Currency); + Currency.Validate("Invoice Rounding Precision", 0.01); + Currency.Validate("Max. VAT Difference Allowed", 0.5); + Currency.Modify(); + + LibraryERM.CreateExchangeRate(Currency.Code, WorkDate(), 1 / 25, 1 / 25); + LibraryERM.CreateExchangeRate(Currency.Code, WorkDate() + 1, 1 / 25.5, 1 / 25.5); + LibraryERM.CreateExchangeRate(Currency.Code, WorkDate() + 2, 1 / 26.2, 1 / 26.2); + LibraryERM.CreateExchangeRate(Currency.Code, CalcDate('', WorkDate()), 1 / 27, 1 / 27); + end; + + local procedure CreateSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; CustomerNo: Code[20]) + var + Currency: Record Currency; + VATPostingSetup: Record "VAT Posting Setup"; + Customer: Record Customer; + begin + LibrarySalesAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + + if CustomerNo = '' then begin + LibrarySalesAdvancesCZZ.CreateCustomer(Customer); + Customer.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); + Customer.Modify(true); + CustomerNo := Customer."No."; + end; + + FindForeignCurrency(Currency); + LibrarySalesAdvancesCZZ.CreateSalesAdvLetterHeader(SalesAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, CustomerNo, Currency.Code); + LibrarySalesAdvancesCZZ.CreateSalesAdvLetterLine(SalesAdvLetterLineCZZ, SalesAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); + end; + + local procedure CreateSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ") + begin + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, ''); + end; + + local procedure CreateAndPostPaymentSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal; PostingDate: Date) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibrarySalesAdvancesCZZ.CreateSalesAdvancePayment( + GenJournalLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", Amount, SalesAdvLetterHeaderCZZ."Currency Code", + SalesAdvLetterHeaderCZZ."No.", ExchangeRate, PostingDate); + LibrarySalesAdvancesCZZ.PostSalesAdvancePayment(GenJournalLine); + end; + + local procedure CreateAndPostPaymentSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Amount: Decimal) + begin + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, Amount, 0, 0D); + end; + + local procedure FindForeignCurrency(var Currency: Record Currency) + begin + Currency.SetFilter(Code, '<>%1', GeneralLedgerSetup."LCY Code"); + LibraryERM.FindCurrency(Currency); + end; + + local procedure ReleaseSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + end; + + local procedure PostSalesDocument(var SalesHeader: Record "Sales Header"): Code[20] + begin + exit(LibrarySales.PostSalesDocument(SalesHeader, true, true)); + end; + + local procedure FindLastPaymentAdvanceLetterEntry(AdvanceLetterNo: Code[20]; var SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ") + begin + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", AdvanceLetterNo); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); + SalesAdvLetterEntryCZZ.FindLast(); + end; + + local procedure RunAdjustExchangeRates(CustomerNo: Code[20]; CurrencyCode: Code[10]; StartDate: Date; EndDate: Date; PostingDate: Date; DocumentNo: Code[20]; AdjCust: Boolean; AdjVend: Boolean; AdjBank: Boolean; Post: Boolean; SkipAdvancePayments: Boolean) + var + Currency: Record Currency; + XmlParameters: Text; + begin + LibraryVariableStorage.Enqueue(StartDate); + LibraryVariableStorage.Enqueue(EndDate); + LibraryVariableStorage.Enqueue(PostingDate); + LibraryVariableStorage.Enqueue(DocumentNo); + LibraryVariableStorage.Enqueue(AdjCust); + LibraryVariableStorage.Enqueue(AdjVend); + LibraryVariableStorage.Enqueue(AdjBank); + LibraryVariableStorage.Enqueue(Post); + LibraryVariableStorage.Enqueue(SkipAdvancePayments); + LibraryVariableStorage.Enqueue(CustomerNo); + + Currency.SetRange(Code, CurrencyCode); + XmlParameters := Report.RunRequestPage(Report::"Adjust Exchange Rates CZL"); + LibraryReportDataset.RunReportAndLoad(Report::"Adjust Exchange Rates CZL", Currency, XmlParameters); + end; + + local procedure RunAdjustAdvExchRates(SalesAdvLetterNo: Code[20]; AdjustToDate: Date; DocumentNo: Code[20]; AdjCust: Boolean; AdjVend: Boolean) + begin + LibraryVariableStorage.Enqueue(AdjustToDate); + LibraryVariableStorage.Enqueue(DocumentNo); + LibraryVariableStorage.Enqueue(AdjCust); + LibraryVariableStorage.Enqueue(AdjVend); + LibraryVariableStorage.Enqueue(SalesAdvLetterNo); + Report.RunModal(Report::"Adjust Adv. Exch. Rates CZZ", true, false); + end; + + local procedure SetExpectedConfirm(Question: Text; Reply: Boolean) + begin + LibraryDialogHandler.SetExpectedConfirm(Question, Reply); + end; + + local procedure SetExpectedMessage(Message: Text) + begin + LibraryDialogHandler.SetExpectedMessage(Message); + end; + + [RequestPageHandler] + procedure RequestPageAdjustExchangeRatesHandler(var AdjustExchangeRatesCZL: TestRequestPage "Adjust Exchange Rates CZL") + var + FieldVariant: Variant; + begin + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.StartingDate.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.EndingDate.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.PostingDateField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.DocumentNo.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.AdjCustField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.AdjVendField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.AdjBankField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.PostField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.SkipAdvancePaymentsField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustExchangeRatesCZL.Customer.SetFilter("No.", FieldVariant); + AdjustExchangeRatesCZL.OK().Invoke(); + end; + + [RequestPageHandler] + procedure RequestPageAdjustAdvExchRatesHandler(var AdjustAdvExchRatesCZZ: TestRequestPage "Adjust Adv. Exch. Rates CZZ") + var + FieldVariant: Variant; + begin + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.AdjustToDateField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.DocumentNoField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.AdjustCustomerField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ.AdjustVendorField.SetValue(FieldVariant); + LibraryVariableStorage.Dequeue(FieldVariant); + AdjustAdvExchRatesCZZ."Sales Adv. Letter Header CZZ".SetFilter("No.", FieldVariant); + AdjustAdvExchRatesCZZ.OK().Invoke(); + end; + + [ConfirmHandler] + procedure ConfirmHandler(Question: Text[1024]; var Reply: Boolean) + begin + LibraryDialogHandler.HandleConfirm(Question, Reply); + end; + + [MessageHandler] + procedure MessageHandler(Message: Text[1024]) + begin + LibraryDialogHandler.HandleMessage(Message); + end; +} diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePayments.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePayments.Codeunit.al deleted file mode 100644 index cbfbc7cd7f..0000000000 --- a/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePayments.Codeunit.al +++ /dev/null @@ -1,305 +0,0 @@ -codeunit 148109 "Sales Advance Payments CZZ" -{ - Subtype = Test; - TestPermissions = Disabled; - - trigger OnRun() - begin - // [FEATURE] [Advance Payments] [Sales] - isInitialized := false; - end; - - var - GeneralLedgerSetup: Record "General Ledger Setup"; - AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; - Assert: Codeunit Assert; - LibraryRandom: Codeunit "Library - Random"; - LibrarySalesAdvancesCZZ: Codeunit "Library - Sales Advances CZZ"; - LibrarySales: Codeunit "Library - Sales"; - LibraryERM: Codeunit "Library - ERM"; - isInitialized: Boolean; - - local procedure Initialize() - var - LibraryTestInitialize: Codeunit "Library - Test Initialize"; - begin - LibraryTestInitialize.OnTestInitialize(Codeunit::"Sales Advance Payments CZZ"); - LibraryRandom.Init(); - if isInitialized then - exit; - LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::"Sales Advance Payments CZZ"); - - GeneralLedgerSetup.Get(); - LibrarySalesAdvancesCZZ.CreateSalesAdvanceLetterTemplate(AdvanceLetterTemplateCZZ); - - isInitialized := true; - Commit(); - LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::"Sales Advance Payments CZZ"); - end; - - [Test] - procedure CreateSalesAdvLetter() - var - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; - begin - // [SCENARIO] Test if the system allows to create a new Sales Advance Letter - Initialize(); - - // [WHEN] Create sales advance letter - CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, ''); - - // [THEN] Sales advance letter will be created - SalesAdvLetterLineCZZ.SetRange("Document No.", SalesAdvLetterHeaderCZZ."No."); - Assert.IsFalse(SalesAdvLetterLineCZZ.IsEmpty(), 'Advance Letter was not created.'); - end; - - [Test] - [HandlerFunctions('CreateSalesAdvLetterHandler,OpenAdvanceLetterHandler')] - procedure CreateSalesAdvLetterFromSalesOrder() - var - SalesHeader: Record "Sales Header"; - SalesLine: Record "Sales Line"; - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; - begin - // [SCENARIO] Test if the system allows to create a new Sales Advance Letter from Sales order - Initialize(); - - // [GIVEN] Sales order has been created - LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); - - // [WHEN] Create sales advance letter from sales order - CreateSalesAdvLetterFromSalesDoc(SalesAdvLetterHeaderCZZ, SalesHeader); - - // [THEN] Sales advance letter will be created - SalesAdvLetterLineCZZ.SetRange("Document No.", SalesAdvLetterHeaderCZZ."No."); - Assert.IsFalse(SalesAdvLetterLineCZZ.IsEmpty(), 'Advance Letter was not created.'); - end; - - [Test] - [HandlerFunctions('CreateSalesAdvLetterHandler,OpenAdvanceLetterHandler')] - procedure ReleaseSalesAdvLetter() - var - SalesHeader: Record "Sales Header"; - SalesLine: Record "Sales Line"; - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - begin - // [SCENARIO] Test the release of Sales Advance Letter - Initialize(); - - // [GIVEN] Sales advance letter from sales order has been created - LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); - CreateSalesAdvLetterFromSalesDoc(SalesAdvLetterHeaderCZZ, SalesHeader); - - // [WHEN] Release sales advance - ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); - - // [THEN] Sales advance letter ststus will be To Pay - SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Pay"); - end; - - [Test] - procedure PaymentSalesAdvLetter() - var - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; - SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; - AmountInclVAT, AmountInclVATLCY : Decimal; - begin - // [SCENARIO] Test the payment of Sales Advance Letter - Initialize(); - - // [GIVEN] Sales advance letter has been created - CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, ''); - - // [GIVEN] Sales advance letter bas been released - ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); - AmountInclVAT := -SalesAdvLetterLineCZZ."Amount Including VAT"; - - // [WHEN] Post sales advance payment - AmountInclVATLCY := PostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, AmountInclVAT, 0); - - // [THEN] Sales advance letter status will be To Use - SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); - - // [THEN] Sales advance letter entry Payment will be created - SalesAdvLetterEntryCZZ.SetCurrentKey("Sales Adv. Letter No."); - SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); - Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); - - // [THEN] Sales advance letter entry Payment has correct amounts - SalesAdvLetterEntryCZZ.FindFirst(); - Assert.AreEqual(SalesAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); - Assert.AreEqual(SalesAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); - end; - - [Test] - [HandlerFunctions('CreateSalesAdvLetterHandler,OpenAdvanceLetterHandler')] - procedure PostSalesOrderWithSalesAdvLetter() - var - SalesHeader: Record "Sales Header"; - SalesLine: Record "Sales Line"; - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; - SalesAdvLetterEntry: Record "Sales Adv. Letter Entry CZZ"; - SalesInvoiceHeader: Record "Sales Invoice Header"; - CustLedgerEntry: Record "Cust. Ledger Entry"; - PostedDocNo: Code[20]; - begin - // [SCENARIO] Test the posting of Sales Order from which Sales Advance Letter was created - Initialize(); - - // [GIVEN] Sales advance letter from sales order has been created - LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); - CreateSalesAdvLetterFromSalesDoc(SalesAdvLetterHeaderCZZ, SalesHeader); - - // [GIVEN] Sales advance letter has been released - ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); - - // [GIVEN] Sales advance has been paid - PostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT", 0); - - // [WHEN] Post sales order - PostedDocNo := PostSalesDocument(SalesHeader); - - // [THEN] Sales advance letter status will be Closed - SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); - - // [THEN] Sales Advance letter entry type Usage will be created - SalesAdvLetterEntry.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterEntry.SetRange("Entry Type", SalesAdvLetterEntry."Entry Type"::Usage); - SalesAdvLetterEntry.FindFirst(); - Assert.RecordIsNotEmpty(SalesAdvLetterEntry); - - // [THEN] Sales invoice will be non zero amount - SalesInvoiceHeader.Get(PostedDocNo); - SalesInvoiceHeader.CalcFields(Amount, "Amount Including VAT"); - SalesInvoiceHeader.TestField(Amount, SalesLine.Amount); - SalesInvoiceHeader.TestField("Amount Including VAT", SalesLine."Amount Including VAT"); - - // [THEN] Customer ledger entry will be closed - CustLedgerEntry.SetRange("Customer No.", SalesHeader."Bill-to Customer No."); - CustLedgerEntry.SetRange("Document No.", PostedDocNo); - CustLedgerEntry.FindLast(); - CustLedgerEntry.TestField(Open, false); - end; - - [Test] - procedure PaymentSalesAdvLetterWithForeignCurrency() - var - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; - SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; - Currency: Record Currency; - AmountInclVAT, AmountInclVATLCY : Decimal; - begin - // [SCENARIO] Test creation Sales Advance Letter with foreign currency, changing exchange rate and posting payment - Initialize(); - - // [GIVEN] Foreign currency has been created - FindForeignCurrency(Currency); - - // [GIVEN] Sales advance letter with foreign currency has been crrated and released - CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, Currency.Code); - ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); - AmountInclVAT := -SalesAdvLetterLineCZZ."Amount Including VAT"; - - // [WHEN] Post sales advance payment with different exchange rate - AmountInclVATLCY := PostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, AmountInclVAT, 0.9); - - // [THEN] Sales advance letter status will be To Use - SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); - - // [THEN] Sales advance letter entry Payment has correct amounts - SalesAdvLetterEntryCZZ.SetCurrentKey("Sales Adv. Letter No."); - SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); - SalesAdvLetterEntryCZZ.FindFirst(); - Assert.AreEqual(SalesAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); - Assert.AreEqual(SalesAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); - end; - - local procedure CreateSalesAdvLetterBase(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; CurrencyCode: Code[10]) - var - VATPostingSetup: Record "VAT Posting Setup"; - Customer: Record Customer; - begin - LibrarySalesAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); - LibrarySalesAdvancesCZZ.CreateCustomer(Customer); - Customer.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); - Customer.Modify(true); - - LibrarySalesAdvancesCZZ.CreateSalesAdvLetterHeader(SalesAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, Customer."No.", CurrencyCode); - LibrarySalesAdvancesCZZ.CreateSalesAdvLetterLine(SalesAdvLetterLineCZZ, SalesAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); - end; - - local procedure CreateSalesAdvLetterFromSalesDoc(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; SalesHeader: Record "Sales Header") - var - AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; - CreateSalesAdvLetterCZZ: Report "Create Sales Adv. Letter CZZ"; - begin - Commit(); - CreateSalesAdvLetterCZZ.SetSalesHeader(SalesHeader); - CreateSalesAdvLetterCZZ.RunModal(); - - AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Sales); - AdvanceLetterApplicationCZZ.SetRange("Document Type", AdvanceLetterApplicationCZZ."Document Type"::"Sales Order"); - AdvanceLetterApplicationCZZ.SetRange("Document No.", SalesHeader."No."); - AdvanceLetterApplicationCZZ.FindFirst(); - SalesAdvLetterHeaderCZZ.Get(AdvanceLetterApplicationCZZ."Advance Letter No."); - end; - - local procedure PostPaymentSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal): Decimal - var - GenJournalLine: Record "Gen. Journal Line"; - begin - LibrarySalesAdvancesCZZ.CreateSalesAdvancePayment(GenJournalLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", Amount, SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."No.", ExchangeRate); - PostGenJournalLine(GenJournalLine); - exit(GenJournalLine."Amount (LCY)"); - end; - - - local procedure FindForeignCurrency(var Currency: Record Currency) - begin - Currency.SetFilter(Code, '<>%1', GeneralLedgerSetup."LCY Code"); - LibraryERM.FindCurrency(Currency); - end; - - local procedure ReleaseSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") - begin - Codeunit.Run(Codeunit::"Rel. Sales Adv.Letter Doc. CZZ", SalesAdvLetterHeaderCZZ); - end; - - local procedure PostGenJournalLine(var GenJournalLine: Record "Gen. Journal Line") - begin - Codeunit.Run(Codeunit::"Gen. Jnl.-Post Line", GenJournalLine); - end; - - local procedure PostSalesDocument(var SalesHeader: Record "Sales Header"): Code[20] - begin - exit(LibrarySales.PostSalesDocument(SalesHeader, true, true)); - end; - - [RequestPageHandler] - procedure CreateSalesAdvLetterHandler(var CreateSalesAdvLetterCZZ: TestRequestPage "Create Sales Adv. Letter CZZ") - begin - CreateSalesAdvLetterCZZ.AdvLetterCode.SetValue := AdvanceLetterTemplateCZZ.Code; - CreateSalesAdvLetterCZZ.AdvPer.SetValue := 100; - CreateSalesAdvLetterCZZ.SuggByLine.SetValue := false; - CreateSalesAdvLetterCZZ.OK().Invoke(); - end; - - [ConfirmHandler] - procedure OpenAdvanceLetterHandler(Question: Text; var Reply: Boolean) - var - OpenAdvanceLetterQst: Label 'Do you want to open created Advance Letter?'; - begin - if Question = OpenAdvanceLetterQst then - Reply := false; - end; -} diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al new file mode 100644 index 0000000000..6746795ad3 --- /dev/null +++ b/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al @@ -0,0 +1,2012 @@ +codeunit 148109 "Sales Advance Payments CZZ" +{ + Subtype = Test; + TestPermissions = Disabled; + + trigger OnRun() + begin + // [FEATURE] [Advance Payments] [Sales] + isInitialized := false; + end; + + var + GeneralLedgerSetup: Record "General Ledger Setup"; + AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; + Assert: Codeunit Assert; + LibraryCashDeskCZP: Codeunit "Library - Cash Desk CZP"; + LibraryCashDocumentCZP: Codeunit "Library - Cash Document CZP"; + LibraryDialogHandler: Codeunit "Library - Dialog Handler"; + LibraryJournals: Codeunit "Library - Journals"; + LibraryERM: Codeunit "Library - ERM"; + LibraryRandom: Codeunit "Library - Random"; + LibrarySalesAdvancesCZZ: Codeunit "Library - Sales Advances CZZ"; + LibrarySales: Codeunit "Library - Sales"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; + isInitialized: Boolean; + AppliedToAdvanceLetterErr: Label 'The entry is applied to advance letter and cannot be used to applying or unapplying.'; + ApplyAdvanceLetterQst: Label 'Apply Advance Letter?'; + LaterAdvancePaymentQst: Label 'The linked advance letter %1 is paid after %2. If you continue, the advance letter won''t be deducted.\\Do you want to continue?', Comment = '%1 = advance letter no., %2 = posting date'; + OpenAdvanceLetterQst: Label 'Do you want to open created Advance Letter?'; + NoApplicationEntryErr: Label 'Cust. Ledger Entry No. %1 does not have an application entry.', Comment = '%1 = advance letter no.'; + UnapplyAdvLetterQst: Label 'Unapply advance letter: %1\Continue?', Comment = '%1 = Advance Letters'; + UsageNoPossibleQst: Label 'Usage all applicated advances is not possible.\Continue?'; + PostCashDocumentQst: Label 'Do you want to post Cash Document Header %1?', Comment = '%1 = Cash Document No.'; + + local procedure Initialize() + var + LibraryTestInitialize: Codeunit "Library - Test Initialize"; + begin + LibraryTestInitialize.OnTestInitialize(Codeunit::"Sales Advance Payments CZZ"); + LibraryRandom.Init(); + LibraryVariableStorage.Clear(); + LibraryDialogHandler.ClearVariableStorage(); + if isInitialized then + exit; + LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::"Sales Advance Payments CZZ"); + + GeneralLedgerSetup.Get(); + LibrarySalesAdvancesCZZ.CreateSalesAdvanceLetterTemplate(AdvanceLetterTemplateCZZ); + + isInitialized := true; + Commit(); + LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::"Sales Advance Payments CZZ"); + end; + + [Test] + procedure CreateSalesAdvLetter() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + begin + // [SCENARIO] Test if the system allows to create a new Sales Advance Letter + Initialize(); + + // [WHEN] Create sales advance letter + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [THEN] Sales advance letter will be created + SalesAdvLetterLineCZZ.SetRange("Document No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(SalesAdvLetterLineCZZ); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure CreateSalesAdvLetterFromSalesOrder() + var + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + begin + // [SCENARIO] Test if the system allows to create a new Sales Advance Letter from Sales order + Initialize(); + + // [GIVEN] Sales order has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [WHEN] Create sales advance letter from sales order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [THEN] Sales advance letter will be created + SalesAdvLetterLineCZZ.SetRange("Document No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(salesAdvLetterLineCZZ); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure ReleaseSalesAdvLetter() + var + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + begin + // [SCENARIO] Test the release of Sales Advance Letter + Initialize(); + + // [GIVEN] Sales advance letter from sales order has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [WHEN] Release sales advance + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [THEN] Sales advance letter ststus will be To Pay + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Pay"); + end; + + [Test] + procedure PaymentSalesAdvLetter() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + AmountInclVAT, AmountInclVATLCY : Decimal; + begin + // [SCENARIO] Test the payment of Sales Advance Letter + Initialize(); + + // [GIVEN] Sales advance letter has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + AmountInclVAT := -SalesAdvLetterLineCZZ."Amount Including VAT"; + + // [WHEN] Post sales advance payment + AmountInclVATLCY := CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, AmountInclVAT); + + // [THEN] Sales advance letter status will be To Use + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Sales advance letter entry Payment will be created + SalesAdvLetterEntryCZZ.SetCurrentKey("Sales Adv. Letter No."); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter entry Payment has correct amounts + SalesAdvLetterEntryCZZ.FindFirst(); + Assert.AreEqual(SalesAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure PostSalesOrderWithSalesAdvLetter() + var + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesAdvLetterEntry: Record "Sales Adv. Letter Entry CZZ"; + SalesInvoiceHeader: Record "Sales Invoice Header"; + CustLedgerEntry: Record "Cust. Ledger Entry"; + PostedDocNo: Code[20]; + begin + // [SCENARIO] Test the posting of Sales Order from which Sales Advance Letter was created + Initialize(); + + // [GIVEN] Sales advance letter from sales order has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance has been paid + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Post sales order + PostedDocNo := PostSalesDocument(SalesHeader); + + // [THEN] Sales advance letter status will be Closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + + // [THEN] Sales Advance letter entry type Usage will be created + SalesAdvLetterEntry.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntry.SetRange("Entry Type", SalesAdvLetterEntry."Entry Type"::Usage); + SalesAdvLetterEntry.FindFirst(); + Assert.RecordIsNotEmpty(SalesAdvLetterEntry); + + // [THEN] Sales invoice will be non zero amount + SalesInvoiceHeader.Get(PostedDocNo); + SalesInvoiceHeader.CalcFields(Amount, "Amount Including VAT"); + SalesInvoiceHeader.TestField(Amount, SalesLine.Amount); + SalesInvoiceHeader.TestField("Amount Including VAT", SalesLine."Amount Including VAT"); + + // [THEN] Customer ledger entry will be closed + CustLedgerEntry.SetRange("Customer No.", SalesHeader."Bill-to Customer No."); + CustLedgerEntry.SetRange("Document No.", PostedDocNo); + CustLedgerEntry.FindLast(); + CustLedgerEntry.TestField(Open, false); + end; + + [Test] + procedure PaymentSalesAdvLetterWithForeignCurrency() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + Currency: Record Currency; + AmountInclVAT, AmountInclVATLCY : Decimal; + begin + // [SCENARIO] Test creation Sales Advance Letter with foreign currency, changing exchange rate and posting payment + Initialize(); + + // [GIVEN] Foreign currency has been created + FindForeignCurrency(Currency); + + // [GIVEN] Sales advance letter with foreign currency has been crrated and released + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, Currency.Code); + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + AmountInclVAT := -SalesAdvLetterLineCZZ."Amount Including VAT"; + + // [WHEN] Post sales advance payment with different exchange rate + AmountInclVATLCY := CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, AmountInclVAT, 0.9, 0D); + + // [THEN] Sales advance letter status will be To Use + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Sales advance letter entry Payment has correct amounts + SalesAdvLetterEntryCZZ.SetCurrentKey("Sales Adv. Letter No."); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); + SalesAdvLetterEntryCZZ.FindFirst(); + Assert.AreEqual(SalesAdvLetterEntryCZZ.Amount, AmountInclVAT, 'Wrong payment entry Amount.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ."Amount (LCY)", AmountInclVATLCY, 'Wrong payment entry Amount (LCY).'); + end; + + [Test] + procedure LinkSalesAdvLetterToInvoice() + var + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create sales advance letter and link to invoice + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post sales invoice + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + VATEntry.SetRange("Advance Letter No. CZZ", ''); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] VAT entries of advance letter will exist + VATEntry.SetRange("Advance Letter No. CZZ", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.SetRange("Advance Letter No. CZZ"); + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure LinkSalesAdvLetterToInvoiceWithOlderDate() + var + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Create sales advance letter and link to invoice with older date + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date" - 1, + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get list of advance letter available for linking + LibrarySalesAdvancesCZZ.GetPossibleSalesAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", SalesHeader."Bill-to Customer No.", + SalesHeader."Posting Date", SalesHeader."Currency Code", TempAdvanceLetterApplicationCZZ); + + // [THEN] Sales advance letter won't be available for linking + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Sales); + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + procedure AdditionalLinkSalesAdvLetterToPayment() + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + begin + // [SCENARIO] Additional link sales advance letter to payment + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Payment has been posted + CreateAndPostPayment(SalesAdvLetterHeaderCZZ."Bill-to Customer No.", -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Link advance letter to payment + CustLedgerEntry.FindLast(); // entry of payment + LibrarySalesAdvancesCZZ.LinkSalesAdvancePayment(SalesAdvLetterHeaderCZZ, CustLedgerEntry); + + // [THEN] Sales advance letter will be paid + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + + // [THEN] Sales advance letter entries will be created. One of the type "Payment" and the other of the "VAT Payment". + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.Find('+'); + Assert.AreEqual(SalesAdvLetterEntryCZZ."Entry Type"::"VAT Payment", SalesAdvLetterEntryCZZ."Entry Type", 'The sales advance letter entry must be of type "VAT Payment".'); + + SalesAdvLetterEntryCZZ.Next(-1); + Assert.AreEqual(SalesAdvLetterEntryCZZ."Entry Type"::Payment, SalesAdvLetterEntryCZZ."Entry Type", 'The sales advance letter entry must be of type "Payment".'); + end; + + [Test] + procedure UnlinkSalesAdvLetterFromPayment() + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesAdvLetterEntryCZZ1: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; + begin + // [SCENARIO] Unlink sales advance letter from payment + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Unlink advance letter from payment + SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ1.SetRange("Entry Type", Enum::"Advance Letter Entry Type CZZ"::Payment); + SalesAdvLetterEntryCZZ1.FindFirst(); + LibrarySalesAdvancesCZZ.UnlinkSalesAdvancePayment(SalesAdvLetterEntryCZZ1); + + // [THEN] Sales advance letter entries will be create. One of the type "Payment" and the other of the "VAT Payment". + SalesAdvLetterEntryCZZ2.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ2.Find('+'); + Assert.AreEqual(SalesAdvLetterEntryCZZ2."Entry Type"::Payment, SalesAdvLetterEntryCZZ2."Entry Type", 'The sales advance letter entry must be of type "Payment".'); + Assert.AreEqual(-SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Entry No.", SalesAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + SalesAdvLetterEntryCZZ2.Next(-1); + Assert.AreEqual(SalesAdvLetterEntryCZZ2."Entry Type"::"VAT Payment", SalesAdvLetterEntryCZZ2."Entry Type", 'The sales advance letter entry must be of type "VAT Payment".'); + Assert.AreEqual(-SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The amount must have the opposite sign.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Entry No.", SalesAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + + // [THEN] Last opened customer ledger entry won't be related to advance letter. The "Advance Letter No." field will be empty. + CustLedgerEntry.SetRange(Open, true); + CustLedgerEntry.FindLast(); + Assert.AreEqual('', CustLedgerEntry."Advance Letter No. CZZ", 'The advance letter no. must be empty.'); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure AdditionalLinkSalesAdvLetterToInvoice() + var + SalesInvoiceHeader: Record "Sales Invoice Header"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create sales advance letter and additionally link to invoice + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been posted + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [WHEN] Link advance letter to posted sales invoice + SalesInvoiceHeader.Get(PostedDocumentNo); + SetExpectedConfirm(ApplyAdvanceLetterQst, true); + LibrarySalesAdvancesCZZ.ApplySalesAdvanceLetter(SalesAdvLetterHeaderCZZ, SalesInvoiceHeader); + + // [THEN] Sales advance letter entries for posted sales invoice are created + SalesAdvLetterEntryCZZ.SetRange("Document No.", SalesInvoiceHeader."No."); + SalesAdvLetterEntryCZZ.SetRange(Cancelled, false); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Usage"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure AdditionalUnlinkSalesAdvLetterFromPostedInvoice() + var + SalesInvoiceHeader: Record "Sales Invoice Header"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Create sales advance letter, link to invoice, post the invoice and unlink the sales advance letter + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [WHEN] Unlink sales advance letter from posted sales invoice + SalesInvoiceHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, SalesAdvLetterHeaderCZZ."No."), true); + LibrarySalesAdvancesCZZ.UnapplyAdvanceLetter(SalesInvoiceHeader); + + // [THEN] Sum amounts of sales advance letter entries for posted sales invoice must be zero + SalesAdvLetterEntryCZZ.SetRange("Document No.", SalesInvoiceHeader."No."); + SalesAdvLetterEntryCZZ.CalcSums(Amount, "Amount (LCY)", "VAT Base Amount", "VAT Base Amount (LCY)", "VAT Amount", "VAT Amount (LCY)"); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ.Amount, 'The Amount must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."Amount (LCY)", 'The Amount LCY must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount", 'The VAT Base Amount must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount (LCY)", 'The VAT Base Amount LCY must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount", 'The VAT Amount must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount (LCY)", 'The VAT Amount LCY must be zero.'); + end; + + [Test] + procedure ManualVATPaymentInSalesAdvLetter() + var + SalesAdvLetterEntryCZZ1: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + begin + // [SCENARIO] Manual VAT payment in sales advance letter + Initialize(); + + // [GIVEN] Sales advance letter without automatic post VAT document has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" := false; + SalesAdvLetterHeaderCZZ.Modify(); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Post advance letter payment VAT + SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ1.SetRange("Entry Type", SalesAdvLetterEntryCZZ1."Entry Type"::Payment); + SalesAdvLetterEntryCZZ1.FindFirst(); + LibrarySalesAdvancesCZZ.PostSalesAdvancePaymentVAT(SalesAdvLetterEntryCZZ1); + + // [THEN] Sales advance letter entry of "VAT Payment" type will be created + SalesAdvLetterEntryCZZ2.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ2.SetRange("Entry Type", SalesAdvLetterEntryCZZ2."Entry Type"::"VAT Payment"); + SalesAdvLetterEntryCZZ2.FindFirst(); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Posting Date", SalesAdvLetterEntryCZZ2."Posting Date", 'The entry must have the same posting date as related entry.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The entry must have the same amount as related entry.'); + end; + + [Test] + procedure ManualPaymentVATUsageInSalesAdvanceLetter() + var + SalesAdvLetterEntryCZZ1: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + begin + // [SCENARIO] Manual payment VAT usage in sales advance letter + Initialize(); + + // [GIVEN] Sales advance letter without automatic post VAT document has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" := false; + SalesAdvLetterHeaderCZZ.Modify(); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Advance letter payment VAT has been posted + SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ1.SetRange("Entry Type", SalesAdvLetterEntryCZZ1."Entry Type"::Payment); + SalesAdvLetterEntryCZZ1.FindFirst(); + LibrarySalesAdvancesCZZ.PostSalesAdvancePaymentVAT(SalesAdvLetterEntryCZZ1); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostSalesDocument(SalesHeader); + + // [WHEN] Post advance payment usage VAT from advance letter entry of "Usage" type + SalesAdvLetterEntryCZZ1.Reset(); + SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ1.SetRange("Entry Type", SalesAdvLetterEntryCZZ1."Entry Type"::Usage); + SalesAdvLetterEntryCZZ1.FindFirst(); + LibrarySalesAdvancesCZZ.PostSalesAdvancePaymentUsageVAT(SalesAdvLetterEntryCZZ1); + + // [THEN] Sales advance letter entry of "VAT Usage" type will be created + SalesAdvLetterEntryCZZ2.Reset(); + SalesAdvLetterEntryCZZ2.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ2.SetRange("Entry Type", SalesAdvLetterEntryCZZ2."Entry Type"::"VAT Usage"); + SalesAdvLetterEntryCZZ2.FindFirst(); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Posting Date", SalesAdvLetterEntryCZZ2."Posting Date", 'The entry must have the same posting date as related entry.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The entry must have the same amount as related entry.'); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure CloseSalesAdvanceLetterWithoutVATPayment() + var + SalesAdvLetterEntryCZZ1: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + begin + // [SCENARIO] It must be possible to close the sales advance letter without VAT payment + Initialize(); + + // [GIVEN] Sales advance letter without automatic post VAT document has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" := false; + SalesAdvLetterHeaderCZZ.Modify(); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Close advance letter + LibrarySalesAdvancesCZZ.CloseSalesAdvanceLetter(SalesAdvLetterHeaderCZZ); + + // [THEN] Sales advance letter entry of "Close" type will be created + SalesAdvLetterEntryCZZ1.Reset(); + SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ1.SetRange("Entry Type", SalesAdvLetterEntryCZZ1."Entry Type"::Payment); + SalesAdvLetterEntryCZZ1.FindFirst(); + + SalesAdvLetterEntryCZZ2.Reset(); + SalesAdvLetterEntryCZZ2.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ2.SetRange("Entry Type", SalesAdvLetterEntryCZZ2."Entry Type"::Close); + SalesAdvLetterEntryCZZ2.FindFirst(); + Assert.AreEqual(SalesAdvLetterEntryCZZ1."Entry No.", SalesAdvLetterEntryCZZ2."Related Entry", 'The entry must be related to entry of "Payment" type'); + Assert.AreEqual(-SalesAdvLetterEntryCZZ1.Amount, SalesAdvLetterEntryCZZ2.Amount, 'The entry must have the opposite amount as related entry.'); + end; + + [Test] + procedure LinkSalesAdvanceLetterWithReverseChargeToInvoice() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Link sales advance letter with reverse charge to invoice + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with reverse charge has been created + CreateSalesAdvLetterWithReverseCharge(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [WHEN] Post sales invoice + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Sum of base and VAT amounts in advance letter entries will be zero + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount", 'The sum of base amount in advance letter entries must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in VAT advance letter must be zero.'); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + procedure MultipleAdvancePayment() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + FirstPaymentAmount: Decimal; + SecondPaymentAmount: Decimal; + begin + // [SCENARIO] The payment of the sales advance letter can be split into several payments + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been partially paid + FirstPaymentAmount := Round(SalesAdvLetterLineCZZ."Amount Including VAT" / 2); + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -FirstPaymentAmount); + + // [WHEN] Sales advance letter has been paid in full by the general journal + SecondPaymentAmount := SalesAdvLetterLineCZZ."Amount Including VAT" - FirstPaymentAmount; + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SecondPaymentAmount); + + // [THEN] Sum of amounts of advance letter entries with type Init and Payment will be zero + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetFilter("Entry Type", '%1|%2', SalesAdvLetterEntryCZZ."Entry Type"::"Initial Entry", SalesAdvLetterEntryCZZ."Entry Type"::Payment); + SalesAdvLetterEntryCZZ.CalcSums(Amount); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ.Amount, 'The sum of amount in advance letter entries must be zero.'); + end; + + [Test] + procedure MultipleAdvancePaymentWithTimeShift() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + FirstPaymentAmount: Decimal; + SecondPaymentAmount: Decimal; + begin + // [SCENARIO] Only advance payments paid up to the posting date of sales invoice can be assigned to the invoice + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been partially paid + FirstPaymentAmount := Round(SalesAdvLetterLineCZZ."Amount Including VAT" / 2); + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -FirstPaymentAmount); + + // [GIVEN] Sales advance letter has been paid in full a month later + SecondPaymentAmount := SalesAdvLetterLineCZZ."Amount Including VAT" - FirstPaymentAmount; + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SecondPaymentAmount, 0, CalcDate('<+1M>', SalesAdvLetterHeaderCZZ."Posting Date")); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get possible sales advance to link + LibrarySalesAdvancesCZZ.GetPossibleSalesAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", SalesHeader."Bill-to Customer No.", + SalesHeader."Posting Date", SalesHeader."Currency Code", TempAdvanceLetterApplicationCZZ); + + // [THEN] Only first payment amount is possible to use for link + TempAdvanceLetterApplicationCZZ.Get( + Enum::"Advance Letter Type CZZ"::Sales, SalesAdvLetterHeaderCZZ."No.", + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No."); + Assert.AreEqual(FirstPaymentAmount, TempAdvanceLetterApplicationCZZ.Amount, 'Only first payment amount can be used.'); + end; + + [Test] + procedure LinkMultipleAdvanceLetterToOneInvoice() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ1: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ1: Record "Sales Adv. Letter Line CZZ"; + SalesAdvLetterHeaderCZZ2: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ2: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine1: Record "Sales Line"; + SalesLine2: Record "Sales Line"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Multiple advance letters can be linked to a sales invoice + Initialize(); + + // [GIVEN] First sales advance letter has been created + // [GIVEN] First sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ1, SalesAdvLetterLineCZZ1); + + // [GIVEN] First sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ1); + + // [GIVEN] First sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ1, -SalesAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Second sales advance letter has been created + // [GIVEN] Second sales advance letter line with normal VAT has been created + CreateSalesAdvLetterWithCustomer(SalesAdvLetterHeaderCZZ2, SalesAdvLetterLineCZZ2, SalesAdvLetterHeaderCZZ1."Bill-to Customer No."); + + // [GIVEN] Second sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ2); + + // [GIVEN] Second sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ2, -SalesAdvLetterLineCZZ2."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] First sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine1, SalesAdvLetterHeaderCZZ1."Bill-to Customer No.", SalesAdvLetterHeaderCZZ1."Posting Date", + SalesAdvLetterLineCZZ1."VAT Bus. Posting Group", SalesAdvLetterLineCZZ1."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ1."Amount Including VAT"); + + // [GIVEN] Second sales invoice line has been created + LibrarySales.CreateSalesLine(SalesLine2, SalesHeader, SalesLine2.Type::"G/L Account", SalesLine1."No.", 1); + SalesLine2.Validate("Unit Price", SalesAdvLetterHeaderCZZ2."Amount Including VAT"); + SalesLine2.Modify(true); + + // [GIVEN] Whole first advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ1, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ1."Amount Including VAT", SalesAdvLetterLineCZZ1."Amount Including VAT (LCY)"); + + // [GIVEN] Whole second advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ2, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ2."Amount Including VAT", SalesAdvLetterLineCZZ2."Amount Including VAT (LCY)"); + + // [WHEN] Post sales invoice + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] The first advance letter will be used by invoice + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ1."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + SalesAdvLetterEntryCZZ.FindFirst(); + SalesAdvLetterEntryCZZ.TestField("Document No.", PostedDocumentNo); + + // [THEN] The second advance letter will be used by invoice + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ2."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + SalesAdvLetterEntryCZZ.FindFirst(); + SalesAdvLetterEntryCZZ.TestField("Document No.", PostedDocumentNo); + end; + + [Test] + procedure CancelApplicationOfCustLedgerEntryForAdvancePayment() + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + LastCustLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of customer ledger entry for advance payment must fail + Initialize(); + + CustLedgerEntry.FindLast(); + LastCustLedgerEntryNo := CustLedgerEntry."Entry No."; + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + Commit(); + + // [WHEN] Unapply all customer ledger entries created by advance payment + UnApplyCustLedgerEntries(LastCustLedgerEntryNo, true); + + // [THEN] The three customer ledger entries will be created + VerifyCustLedgerEntryCount(LastCustLedgerEntryNo, 3); + + // [THEN] The error will occurs when attempting to unapply customer ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfCustLedgerEntryForClosedAdvanceLetter() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + LastCustLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of customer ledger entry for closed advance letter must fail + Initialize(); + + LastCustLedgerEntryNo := GetLastCustLedgerEntryNo(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales advance letter has been closed + LibrarySalesAdvancesCZZ.CloseSalesAdvanceLetter(SalesAdvLetterHeaderCZZ); + Commit(); + + // [WHEN] Unapply all customer ledger entries created by advance payment + UnApplyCustLedgerEntries(LastCustLedgerEntryNo, true); + + // [THEN] The five customer ledger entries will be created + VerifyCustLedgerEntryCount(LastCustLedgerEntryNo, 5); + + // [THEN] The error will occurs when attempting to unapply customer ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfCustLedgerEntryForUnappliedPaymentFromAdvanceLetter() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + LastCustLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of customer ledger entry for an unapplied payment from advance letter must fail + Initialize(); + + LastCustLedgerEntryNo := GetLastCustLedgerEntryNo(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales advance payment has been unlinked + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", Enum::"Advance Letter Entry Type CZZ"::Payment); + SalesAdvLetterEntryCZZ.FindFirst(); + LibrarySalesAdvancesCZZ.UnlinkSalesAdvancePayment(SalesAdvLetterEntryCZZ); + Commit(); + + // [WHEN] Unapply all customer ledger entries created by advance payment + UnApplyCustLedgerEntries(LastCustLedgerEntryNo, true); + + // [THEN] The five customer ledger entries will be created + VerifyCustLedgerEntryCount(LastCustLedgerEntryNo, 5); + + // [THEN] The error will occurs when attempting to unapply customer ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfCustLedgerEntryForReappliedPaymentToAdvanceLetter() + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + LastCustLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of customer ledger entry for a reapplied payment to advance letter must fail + Initialize(); + + LastCustLedgerEntryNo := GetLastCustLedgerEntryNo(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales advance payment has been unlinked + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", Enum::"Advance Letter Entry Type CZZ"::Payment); + SalesAdvLetterEntryCZZ.FindFirst(); + LibrarySalesAdvancesCZZ.UnlinkSalesAdvancePayment(SalesAdvLetterEntryCZZ); + + // [GIVEN] Sales advance payment has been relinked to advance letter + CustLedgerEntry.Reset(); + CustLedgerEntry.SetFilter("Entry No.", '>%1', LastCustLedgerEntryNo); + CustLedgerEntry.SetRange("Document Type", CustLedgerEntry."Document Type"::Payment); + CustLedgerEntry.SetRange(Open, true); + CustLedgerEntry.FindLast(); + LibrarySalesAdvancesCZZ.LinkSalesAdvancePayment(SalesAdvLetterHeaderCZZ, CustLedgerEntry); + Commit(); + + // [WHEN] Unapply all customer ledger entries created by advance payment + UnApplyCustLedgerEntries(LastCustLedgerEntryNo, true); + + // [THEN] The seven customer ledger entries will be created + VerifyCustLedgerEntryCount(LastCustLedgerEntryNo, 7); + + // [THEN] The error will occurs when attempting to unapply customer ledger entries + VerifyErrors(); + end; + + [Test] + procedure CancelApplicationOfCustLedgerEntryForLinkedAdvanceLetterToInvoice() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + LastCustLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of customer ledger entry for a linked advance letter to invoice must fail + Initialize(); + + LastCustLedgerEntryNo := GetLastCustLedgerEntryNo(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostSalesDocument(SalesHeader); + Commit(); + + // [WHEN] Unapply all customer ledger entries created by advance payment + UnApplyCustLedgerEntries(LastCustLedgerEntryNo, true); + + // [THEN] The seven customer ledger entries will be created + VerifyCustLedgerEntryCount(LastCustLedgerEntryNo, 6); + + // [THEN] The error will occurs when attempting to unapply customer ledger entries + VerifyErrors(); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure CancelApplicationOfCustLedgerEntryForUnlinkedAdvanceLetterFromInvoice() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesInvoiceHeader: Record "Sales Invoice Header"; + SalesLine: Record "Sales Line"; + PostedDocumentNo: Code[20]; + LastCustLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of customer ledger entry for an unlinked advance letter to invoice must fail + Initialize(); + + LastCustLedgerEntryNo := GetLastCustLedgerEntryNo(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [GIVEN] Unlink sales advance letter from posted sales invoice + SalesInvoiceHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, SalesAdvLetterHeaderCZZ."No."), true); + LibrarySalesAdvancesCZZ.UnapplyAdvanceLetter(SalesInvoiceHeader); + Commit(); + + // [WHEN] Unapply all customer ledger entries created by advance payment + UnApplyCustLedgerEntries(LastCustLedgerEntryNo, true); + + // [THEN] The seven customer ledger entries will be created + VerifyCustLedgerEntryCount(LastCustLedgerEntryNo, 8); + + // [THEN] The error will occurs when attempting to unapply customer ledger entries + VerifyErrors(); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure CancelApplicationOfCustLedgerEntryForRelinkedAdvanceLetterToInvoice() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesInvoiceHeader: Record "Sales Invoice Header"; + SalesLine: Record "Sales Line"; + PostedDocumentNo: Code[20]; + LastCustLedgerEntryNo: Integer; + begin + // [SCENARIO] Cancellation of application of customer ledger entry for a relinked advance letter to invoice must fail + Initialize(); + + LastCustLedgerEntryNo := GetLastCustLedgerEntryNo(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [GIVEN] Unlink sales advance letter from posted sales invoice + SalesInvoiceHeader.Get(PostedDocumentNo); + SetExpectedConfirm(StrSubstNo(UnapplyAdvLetterQst, SalesAdvLetterHeaderCZZ."No."), true); + LibrarySalesAdvancesCZZ.UnapplyAdvanceLetter(SalesInvoiceHeader); + + // [GIVEN] Link advance letter to posted sales invoice + SetExpectedConfirm(ApplyAdvanceLetterQst, true); + LibrarySalesAdvancesCZZ.ApplySalesAdvanceLetter(SalesAdvLetterHeaderCZZ, SalesInvoiceHeader); + Commit(); + + // [WHEN] Unapply all customer ledger entries created by advance payment + UnApplyCustLedgerEntries(LastCustLedgerEntryNo, true); + + // [THEN] The seven customer ledger entries will be created + VerifyCustLedgerEntryCount(LastCustLedgerEntryNo, 10); + + // [THEN] The error will occurs when attempting to unapply customer ledger entries + VerifyErrors(); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure CreateSalesAdvanceLetterFromOrderFor100Per() + begin + // [SCENARIO] Create sales advance letter from order for 100% of amount + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + // [GIVEN] Sales advance letter for 100% has been created from order + // [WHEN] Release sales advance letter + // [THEN] Sales advance letter will be created for 100% of order amount + // [THEN] Sales advance letter will be linked with sales order + CreateSalesAdvanceLetterFromOrderForAdvancePer(100); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure CreateSalesAdvanceLetterFromOrderFor80Per() + begin + // [SCENARIO] Create sales advance letter from order for 80% of amount + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + // [GIVEN] Sales advance letter for 80% has been created from order + // [WHEN] Release sales advance letter + // [THEN] Sales advance letter will be created for 80% of order amount + // [THEN] Sales advance letter will be linked with sales order + CreateSalesAdvanceLetterFromOrderForAdvancePer(80); + end; + + procedure CreateSalesAdvanceLetterFromOrderForAdvancePer(AdvancePer: Decimal) + var + Currency: Record Currency; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + AdvanceAmount: Decimal; + begin + Initialize(); + + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + SalesHeader.CalcFields("Amount Including VAT"); + + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, AdvancePer, false, SalesAdvLetterHeaderCZZ); + Currency.InitRoundingPrecision(); + AdvanceAmount := Round(SalesHeader."Amount Including VAT" * (AdvancePer / 100), Currency."Amount Rounding Precision"); + + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + SalesAdvLetterHeaderCZZ.CalcFields("Amount Including VAT"); + SalesAdvLetterHeaderCZZ.TestField("Amount Including VAT", AdvanceAmount); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Pay"); + + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + SalesAdvLetterEntryCZZ.SetRange(Amount, AdvanceAmount); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + TempAdvanceLetterApplicationCZZ.GetAssignedAdvance(Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Order", SalesHeader."No.", TempAdvanceLetterApplicationCZZ); + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Sales); + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", SalesAdvLetterHeaderCZZ."No."); + TempAdvanceLetterApplicationCZZ.SetRange(Amount, AdvanceAmount); + Assert.RecordIsNotEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure CreateSalesAdvanceLetterFromOrderForAdvanceAmount() + var + Currency: Record Currency; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + AdvanceAmount: Decimal; + begin + // [SCENARIO] Create sales advance letter from order for specified advance amount + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + SalesHeader.CalcFields("Amount Including VAT"); + + // [GIVEN] Sales advance letter for specified amount has been created from order + Currency.InitRoundingPrecision(); + AdvanceAmount := Round(SalesHeader."Amount Including VAT" * (LibraryRandom.RandIntInRange(1, 99) / 100), Currency."Amount Rounding Precision"); + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvanceAmount(SalesHeader, AdvanceLetterTemplateCZZ.Code, AdvanceAmount, false, SalesAdvLetterHeaderCZZ); + + // [WHEN] Release sales advance letter + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [THEN] Sales advance letter will be created for specified amount of order + SalesAdvLetterHeaderCZZ.CalcFields("Amount Including VAT"); + SalesAdvLetterHeaderCZZ.TestField("Amount Including VAT", AdvanceAmount); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Pay"); + + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"Initial Entry"); + SalesAdvLetterEntryCZZ.SetRange(Amount, AdvanceAmount); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure CreateSalesAdvanceLetterFromOrderByLines() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine1: Record "Sales Line"; + SalesLine2: Record "Sales Line"; + SalesLine3: Record "Sales Line"; + begin + // [SCENARIO] Create sales advance letter from order by lines + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] First sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine1); + + // [GIVEN] Second sales order line has been created + LibrarySales.CreateSalesLine( + SalesLine2, SalesHeader, SalesLine2.Type::"G/L Account", SalesLine1."No.", 1); + SalesLine2.Validate("Unit Price", LibraryRandom.RandDec(1000, 2)); + SalesLine2.Modify(true); + + // [GIVEN] Third sales order line has been created + LibrarySales.CreateSalesLine( + SalesLine3, SalesHeader, SalesLine3.Type::"G/L Account", SalesLine1."No.", 1); + SalesLine3.Validate("Unit Price", LibraryRandom.RandDec(1000, 2)); + SalesLine3.Modify(true); + + // [WHEN] Create sales advance letter from order and suggest by lines + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, true, SalesAdvLetterHeaderCZZ); + + // [THEN] Sales advance letter will have the same lines as sales order + SalesAdvLetterLineCZZ.SetRange("Document No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordCount(SalesAdvLetterLineCZZ, 3); + + // [THEN] Separate sales advance line will be created for each line from sales order + SalesAdvLetterLineCZZ.SetRange("Line No.", SalesLine1."Line No."); + SalesAdvLetterLineCZZ.SetRange("Amount Including VAT", SalesLine1."Amount Including VAT"); + Assert.RecordIsNotEmpty(SalesAdvLetterLineCZZ); + + SalesAdvLetterLineCZZ.SetRange("Line No.", SalesLine2."Line No."); + SalesAdvLetterLineCZZ.SetRange("Amount Including VAT", SalesLine2."Amount Including VAT"); + Assert.RecordIsNotEmpty(SalesAdvLetterLineCZZ); + + SalesAdvLetterLineCZZ.SetRange("Line No.", SalesLine3."Line No."); + SalesAdvLetterLineCZZ.SetRange("Amount Including VAT", SalesLine3."Amount Including VAT"); + Assert.RecordIsNotEmpty(SalesAdvLetterLineCZZ); + end; + + [Test] + procedure LinkUnpaidAdvanceLetterToSalesOrder() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Link unpaid sales advance letter to sales order + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetterWithCustomer(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, SalesHeader."Bill-to Customer No."); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [WHEN] Get list of advance letter available for linking + TempAdvanceLetterApplicationCZZ.GetPossibleSalesAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Order", SalesHeader."No.", SalesHeader."Bill-to Customer No.", + SalesHeader."Posting Date", SalesHeader."Currency Code", TempAdvanceLetterApplicationCZZ); + + // [THEN] Sales advance letter won't be available for linking + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Sales); + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + procedure LinkPaidAdvanceLetterToSalesOrder() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + begin + // [SCENARIO] Link paid sales advance letter to sales order + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetterWithCustomer(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, SalesHeader."Bill-to Customer No."); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Get list of advance letter available for linking + TempAdvanceLetterApplicationCZZ.GetPossibleSalesAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Order", SalesHeader."No.", SalesHeader."Bill-to Customer No.", + SalesHeader."Posting Date", SalesHeader."Currency Code", TempAdvanceLetterApplicationCZZ); + + // [THEN] Sales advance letter will be available for linking + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", Enum::"Advance Letter Type CZZ"::Sales); + TempAdvanceLetterApplicationCZZ.SetRange("Advance Letter No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure CloseLinkedAdvanceLetterWithSalesOrder() + var + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + begin + // [SCENARIO] Close linked sales advance letter with sales order + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [WHEN] Close sales advance letter + LibrarySalesAdvancesCZZ.CloseSalesAdvanceLetter(SalesAdvLetterHeaderCZZ); + + // [THEN] Sales advance letter won't be linked with sales order + TempAdvanceLetterApplicationCZZ.GetAssignedAdvance( + Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Order", SalesHeader."No.", TempAdvanceLetterApplicationCZZ); + TempAdvanceLetterApplicationCZZ.Reset(); + Assert.RecordIsEmpty(TempAdvanceLetterApplicationCZZ); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure AdvancePaymentByCashDesk() + var + CashDocumentHeaderCZP: Record "Cash Document Header CZP"; + CashDocumentLineCZP: Record "Cash Document Line CZP"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + begin + // [SCENARIO] Advance payment by cash desk + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Cash document has been created + CreateCashDocument(CashDocumentHeaderCZP, CashDocumentLineCZP, + Enum::"Cash Document Type CZP"::Receipt, SalesAdvLetterHeaderCZZ); + + // [WHEN] Post cash document + SetExpectedConfirm(StrSubstNo(PostCashDocumentQst, CashDocumentHeaderCZP."No."), true); + PostCashDocument(CashDocumentHeaderCZP); + + // [THEN] Sales advance letter will be paid in full by cash document + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Payment); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sales advance letter will be to use + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure SalesInvoiceWithAdvanceLetterPostedFromSalesOrder() + var + CashDocumentHeaderCZP: Record "Cash Document Header CZP"; + CashDocumentLineCZP: Record "Cash Document Line CZP"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Sales invoice with advance letter posted from sales order + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Cash document has been created + CreateCashDocument(CashDocumentHeaderCZP, CashDocumentLineCZP, + Enum::"Cash Document Type CZP"::Receipt, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Cash document has been posted + SetExpectedConfirm(StrSubstNo(PostCashDocumentQst, CashDocumentHeaderCZP."No."), true); + PostCashDocument(CashDocumentHeaderCZP); + + // [WHEN] Post sales order + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Sales advance letter will exist + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sum of base and VAT amounts in advance letter entries will be zero + SalesAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount", 'The sum of base amount in advance letter entries must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in VAT advance letter must be zero.'); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure AdvancePaymentWithLaterDateThanOrderDate() + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + TempAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ" temporary; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Advance payment with later date than order date + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT", 0, WorkDate() + 1); + + // [WHEN] Post sales order + SetExpectedConfirm(StrSubstNo(LaterAdvancePaymentQst, SalesAdvLetterHeaderCZZ."No.", SalesHeader."Posting Date"), true); + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] Customer ledger entry created by invoice will be unapplied + CustLedgerEntry.SetRange("Document No.", PostedDocumentNo); + CustLedgerEntry.FindLast(); + CustLedgerEntry.CalcFields("Remaining Amount"); + Assert.AreNotEqual(0, CustLedgerEntry."Remaining Amount", 'The remaining amount in customer ledger entry must be not zero.'); + + // [THEN] Sales advance lettere won't be deducted + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsEmpty(SalesAdvLetterEntryCZZ); + + TempAdvanceLetterApplicationCZZ.GetAssignedAdvance(Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Order", SalesHeader."No.", TempAdvanceLetterApplicationCZZ); + Assert.RecordIsEmpty(TempAdvanceLetterApplicationCZZ); + + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure NoticeToUnpaidSalesAdvanceLetter() + var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + begin + // [SCENARIO] Notice to unpaid sales advance letter + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [WHEN] Post sales order + SetExpectedConfirm(StrSubstNo(UsageNoPossibleQst), true); + PostSalesDocument(SalesHeader); + + // [THEN] Confirm handler will be called + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure DeductAdvanceLetterByQuantityToInvoice() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesInvoiceHeader: Record "Sales Invoice Header"; + SalesLine: Record "Sales Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Deduct advance letter by quantity to invoice + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine); + + // [GIVEN] Sales advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] "Qty. to Invoice" and "Qty. to Ship" fields in sales order line have been modified to 1 + SalesLine.Validate("Qty. to Invoice", 1); + SalesLine.Validate("Qty. to Ship", 1); + SalesLine.Modify(true); + + // [WHEN] Post sales order + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Sales advance letter entry with usage will exist + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Document No.", PostedDocumentNo); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::Usage); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + SalesInvoiceHeader.Get(PostedDocumentNo); + SalesInvoiceHeader.CalcFields("Amount Including VAT"); + SalesAdvLetterEntryCZZ.FindFirst(); + SalesAdvLetterEntryCZZ.TestField(Amount, SalesInvoiceHeader."Amount Including VAT"); + + // [THEN] Sales advance letter will be to use + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::"To Use"); + end; + + [Test] + [HandlerFunctions('CreateSalesAdvLetterHandler,ConfirmHandler')] + procedure NegativeLineInSalesOrder() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine1: Record "Sales Line"; + SalesLine2: Record "Sales Line"; + VATEntry: Record "VAT Entry"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Negative line in sales order + Initialize(); + + // [GIVEN] Sales order has been created + // [GIVEN] Sales order line has been created + LibrarySalesAdvancesCZZ.CreateSalesOrder(SalesHeader, SalesLine1); + + // [GIVEN] Second sales order line has been created + LibrarySales.CreateSalesLine( + SalesLine2, SalesHeader, SalesLine2.Type::"G/L Account", SalesLine1."No.", -1); + SalesLine2.Validate("Unit Price", SalesLine1."Unit Price" / 2); + SalesLine2.Modify(true); + + // [GIVEN] Sales advance letter for 100% has been created from order + SetExpectedConfirm(OpenAdvanceLetterQst, false); + CreateSalesAdvLetterFromOrderWithAdvancePer(SalesHeader, AdvanceLetterTemplateCZZ.Code, 100, false, SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [WHEN] Post sales order + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [THEN] VAT entries of sales invoice and advance letter will exist + VATEntry.Reset(); + VATEntry.SetRange("Document No.", PostedDocumentNo); + VATEntry.SetRange("Posting Date", SalesHeader."Posting Date"); + Assert.RecordIsNotEmpty(VATEntry); + + // [THEN] Sum of base and VAT amounts in VAT entries will be zero + VATEntry.CalcSums(Base, Amount); + Assert.AreEqual(0, VATEntry.Base, 'The sum of base amount in VAT Entries must be zero.'); + Assert.AreEqual(0, VATEntry.Amount, 'The sum of VAT amount in VAT Entries must be zero.'); + + // [THEN] Sales advance letter will exist + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + Assert.RecordIsNotEmpty(SalesAdvLetterEntryCZZ); + + // [THEN] Sum of base and VAT amounts in advance letter entries will be zero + SalesAdvLetterEntryCZZ.CalcSums("VAT Base Amount", "VAT Amount"); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Base Amount", 'The sum of base amount in advance letter entries must be zero.'); + Assert.AreEqual(0, SalesAdvLetterEntryCZZ."VAT Amount", 'The sum of VAT amount in VAT advance letter must be zero.'); + + // [THEN] Sales advance letter will be closed + SalesAdvLetterHeaderCZZ.Get(SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterHeaderCZZ.TestField(Status, SalesAdvLetterHeaderCZZ.Status::Closed); + end; + + local procedure CreateSalesAdvLetterBase(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; CustomerNo: Code[20]; CurrencyCode: Code[10]; VATPostingSetup: Record "VAT Posting Setup") + var + Customer: Record Customer; + begin + if CustomerNo = '' then begin + LibrarySalesAdvancesCZZ.CreateCustomer(Customer); + Customer.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); + Customer.Modify(true); + CustomerNo := Customer."No."; + end; + + LibrarySalesAdvancesCZZ.CreateSalesAdvLetterHeader(SalesAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, CustomerNo, CurrencyCode); + LibrarySalesAdvancesCZZ.CreateSalesAdvLetterLine(SalesAdvLetterLineCZZ, SalesAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); + end; + + local procedure CreateSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; CurrencyCode: Code[10]) + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + LibrarySalesAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, '', CurrencyCode, VATPostingSetup); + end; + + local procedure CreateSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ") + begin + CreateSalesAdvLetter(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, ''); + end; + + local procedure CreateSalesAdvLetterWithCustomer(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; CustomerNo: Code[20]) + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + LibrarySalesAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, CustomerNo, '', VATPostingSetup); + end; + + local procedure CreateSalesAdvLetterWithReverseCharge(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ") + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + LibrarySalesAdvancesCZZ.FindVATPostingSetupEU(VATPostingSetup); + CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, '', '', VATPostingSetup); + end; + + local procedure CreateSalesAdvLetterFromOrderWithAdvanceAmount(var SalesHeader: Record "Sales Header"; AdvanceLetterCode: Code[20]; AdvanceAmount: Decimal; SuggestByLine: Boolean; var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + CreateSalesAdvLetterFromOrder(SalesHeader, AdvanceLetterCode, 0, AdvanceAmount, SuggestByLine, SalesAdvLetterHeaderCZZ); + end; + + local procedure CreateSalesAdvLetterFromOrderWithAdvancePer(var SalesHeader: Record "Sales Header"; AdvanceLetterCode: Code[20]; AdvancePer: Decimal; SuggestByLine: Boolean; var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + CreateSalesAdvLetterFromOrder(SalesHeader, AdvanceLetterCode, AdvancePer, 0, SuggestByLine, SalesAdvLetterHeaderCZZ); + end; + + local procedure CreateSalesAdvLetterFromOrder(var SalesHeader: Record "Sales Header"; AdvanceLetterCode: Code[20]; AdvancePer: Decimal; AdvanceAmount: Decimal; SuggestByLine: Boolean; var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + var + AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; + begin + Commit(); + LibraryVariableStorage.Enqueue(AdvanceLetterCode); + LibraryVariableStorage.Enqueue(AdvancePer); + LibraryVariableStorage.Enqueue(AdvanceAmount); + LibraryVariableStorage.Enqueue(SuggestByLine); + LibrarySalesAdvancesCZZ.CreateSalesAdvanceLetterFromOrder(SalesHeader); + + AdvanceLetterApplicationCZZ.SetRange("Advance Letter Type", AdvanceLetterApplicationCZZ."Advance Letter Type"::Sales); + AdvanceLetterApplicationCZZ.SetRange("Document Type", AdvanceLetterApplicationCZZ."Document Type"::"Sales Order"); + AdvanceLetterApplicationCZZ.SetRange("Document No.", SalesHeader."No."); + AdvanceLetterApplicationCZZ.FindFirst(); + SalesAdvLetterHeaderCZZ.Get(AdvanceLetterApplicationCZZ."Advance Letter No."); + end; + + local procedure CreateAndPostPaymentSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal; PostingDate: Date): Decimal + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibrarySalesAdvancesCZZ.CreateSalesAdvancePayment(GenJournalLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", Amount, SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."No.", ExchangeRate, PostingDate); + LibrarySalesAdvancesCZZ.PostSalesAdvancePayment(GenJournalLine); + exit(GenJournalLine."Amount (LCY)"); + end; + + local procedure CreateAndPostPaymentSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Amount: Decimal): Decimal + begin + exit(CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, Amount, 0, 0D)); + end; + + local procedure CreateAndPostPayment(CustomerNo: Code[20]; Amount: Decimal) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibraryJournals.CreateGenJournalLineWithBatch( + GenJournalLine, GenJournalLine."Document Type"::Payment, GenJournalLine."Account Type"::Customer, CustomerNo, Amount); + LibraryERM.PostGeneralJnlLine(GenJournalLine); + end; + + local procedure CreateCashDocument(var CashDocumentHeaderCZP: Record "Cash Document Header CZP"; var CashDocumentLineCZP: Record "Cash Document Line CZP"; CashDocType: Enum "Cash Document Type CZP"; SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + var + CashDeskCZP: Record "Cash Desk CZP"; + CashDeskUserCZP: Record "Cash Desk User CZP"; + begin + LibraryCashDeskCZP.CreateCashDeskCZP(CashDeskCZP); + LibraryCashDeskCZP.SetupCashDeskCZP(CashDeskCZP, false); + LibraryCashDeskCZP.CreateCashDeskUserCZP(CashDeskUserCZP, CashDeskCZP."No.", true, true, true); + LibraryCashDocumentCZP.CreateCashDocumentHeaderCZP(CashDocumentHeaderCZP, CashDocType, CashDeskCZP."No."); + LibraryCashDocumentCZP.CreateCashDocumentLineCZP(CashDocumentLineCZP, CashDocumentHeaderCZP, + Enum::"Cash Document Account Type CZP"::Customer, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", 0); + CashDocumentLineCZP.Validate("Advance Letter No. CZZ", SalesAdvLetterHeaderCZZ."No."); + CashDocumentLineCZP.Modify(); + end; + + local procedure FindForeignCurrency(var Currency: Record Currency) + begin + Currency.SetFilter(Code, '<>%1', GeneralLedgerSetup."LCY Code"); + LibraryERM.FindCurrency(Currency); + end; + + local procedure PostSalesDocument(var SalesHeader: Record "Sales Header"): Code[20] + begin + exit(LibrarySales.PostSalesDocument(SalesHeader, true, true)); + end; + + local procedure SetExpectedConfirm(Question: Text; Reply: Boolean) + begin + LibraryDialogHandler.SetExpectedConfirm(Question, Reply); + end; + + local procedure GetLastCustLedgerEntryNo(): Integer + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + begin + CustLedgerEntry.FindLast(); + exit(CustLedgerEntry."Entry No."); + end; + + local procedure UnApplyCustLedgerEntries(FromEntryNo: Integer; IsErrorExpected: Boolean) + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + begin + CustLedgerEntry.SetFilter("Entry No.", '>%1', FromEntryNo); + if CustLedgerEntry.FindSet() then + repeat + if not IsErrorExpected then + LibrarySalesAdvancesCZZ.UnApplyCustLedgEntry(CustLedgerEntry."Entry No.") + else begin + asserterror LibrarySalesAdvancesCZZ.UnApplyCustLedgEntry(CustLedgerEntry."Entry No."); + LibraryVariableStorage.Enqueue(CustLedgerEntry); + LibraryVariableStorage.Enqueue(GetLastErrorText()); + end; + until CustLedgerEntry.Next() = 0; + end; + + local procedure VerifyCustLedgerEntryCount(FromEntryNo: Integer; ExpectedCount: Integer) + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + begin + CustLedgerEntry.SetFilter("Entry No.", '>%1', FromEntryNo); + Assert.RecordCount(CustLedgerEntry, ExpectedCount); + end; + + local procedure VerifyErrors() + var + CustLedgerEntry: Record "Cust. Ledger Entry"; + Variant: Variant; + ErrorText: Text; + i: Integer; + begin + for i := 1 to LibraryVariableStorage.Length() / 2 do begin + LibraryVariableStorage.Dequeue(Variant); + CustLedgerEntry := Variant; + LibraryVariableStorage.Dequeue(Variant); + ErrorText := Variant; + if CustLedgerEntry.Open then + Assert.AreEqual(StrSubstNo(NoApplicationEntryErr, CustLedgerEntry."Entry No."), ErrorText, 'Unexpected error occur.') + else + Assert.AreEqual(AppliedToAdvanceLetterErr, ErrorText, 'Unexpected error occur.'); + end; + end; + + local procedure PostCashDocument(var CashDocumentHeaderCZP: Record "Cash Document Header CZP") + begin + LibraryCashDocumentCZP.PostCashDocumentCZP(CashDocumentHeaderCZP); + end; + + [RequestPageHandler] + procedure CreateSalesAdvLetterHandler(var CreateSalesAdvLetterCZZ: TestRequestPage "Create Sales Adv. Letter CZZ") + var + DecimalValue: Decimal; + begin + CreateSalesAdvLetterCZZ.AdvLetterCode.SetValue(LibraryVariableStorage.DequeueText()); + DecimalValue := LibraryVariableStorage.DequeueDecimal(); + if DecimalValue <> 0 then + CreateSalesAdvLetterCZZ.AdvPer.SetValue(DecimalValue); + DecimalValue := LibraryVariableStorage.DequeueDecimal(); + if DecimalValue <> 0 then + CreateSalesAdvLetterCZZ.AdvAmount.SetValue(DecimalValue); + CreateSalesAdvLetterCZZ.SuggByLine.SetValue(LibraryVariableStorage.DequeueBoolean()); + CreateSalesAdvLetterCZZ.OK().Invoke(); + end; + + [ConfirmHandler] + procedure ConfirmHandler(Question: Text[1024]; var Reply: Boolean) + begin + LibraryDialogHandler.HandleConfirm(Question, Reply); + end; +} diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/Src/VATControlReportCZZ.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/test/Src/VATControlReportCZZ.Codeunit.al new file mode 100644 index 0000000000..a318205c76 --- /dev/null +++ b/Apps/CZ/AdvancePaymentsLocalization/test/Src/VATControlReportCZZ.Codeunit.al @@ -0,0 +1,424 @@ +codeunit 148122 "VAT Control Report CZZ" +{ + Subtype = Test; + TestPermissions = Disabled; + + trigger OnRun() + begin + // [FEATURE] [Advance Payments] [Sales] [Purchase] [VAT Control Report] + isInitialized := false; + end; + + var + SalesAdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; + PurchAdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; + Assert: Codeunit Assert; + LibraryERM: Codeunit "Library - ERM"; + LibraryPurchase: Codeunit "Library - Purchase"; + LibraryPurchAdvancesCZZ: Codeunit "Library - Purch. Advances CZZ"; + LibraryRandom: Codeunit "Library - Random"; + LibrarySales: Codeunit "Library - Sales"; + LibrarySalesAdvancesCZZ: Codeunit "Library - Sales Advances CZZ"; + LibraryTax: Codeunit "Library - Tax CZL"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; + isInitialized: Boolean; + SectionA4Tok: Label 'A4', Locked = true; + SectionB2Tok: Label 'B2', Locked = true; + + local procedure Initialize() + var + LibraryTestInitialize: Codeunit "Library - Test Initialize"; + begin + LibraryTestInitialize.OnTestInitialize(Codeunit::"VAT Control Report CZZ"); + LibraryRandom.Init(); + LibraryVariableStorage.Clear(); + if isInitialized then + exit; + LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::"VAT Control Report CZZ"); + + LibrarySalesAdvancesCZZ.CreateSalesAdvanceLetterTemplate(SalesAdvanceLetterTemplateCZZ); + LibraryPurchAdvancesCZZ.CreatePurchAdvanceLetterTemplate(PurchAdvanceLetterTemplateCZZ); + + isInitialized := true; + Commit(); + LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::"VAT Control Report CZZ"); + end; + + [Test] + procedure SalesAdvanceVATPaymentInVATControlReport() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + VATCtrlReportHeaderCZL: Record "VAT Ctrl. Report Header CZL"; + VATCtrlReportLineCZL: Record "VAT Ctrl. Report Line CZL"; + VATStatementName: Record "VAT Statement Name"; + begin + // [SCENARIO] Sales advance VAT payment has to be part of the VAT control report + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, ''); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT", 0); + + // [GIVEN] VAT statement has been created + VATStatementName := CreateVATStatement(); + CreateVATStatementLine(VATStatementName, Enum::"General Posting Type"::Sale, + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", SectionA4Tok); + + // [GIVEN] The vat control report has been created + VATCtrlReportHeaderCZL := CreateVATControlReport( + Date2DMY(SalesAdvLetterHeaderCZZ."Posting Date", 2), Date2DMY(SalesAdvLetterHeaderCZZ."Posting Date", 3), + VATStatementName."Statement Template Name", VATStatementName.Name); + + // [WHEN] Suggest VAT control report lines + SuggestVATControlReportLines(VATCtrlReportHeaderCZL); + + // [THEN] The VAT payment document will be suggested in VAT control report line + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + SalesAdvLetterEntryCZZ.FindFirst(); + + VATCtrlReportLineCZL.SetRange("VAT Ctrl. Report No.", VATCtrlReportHeaderCZL."No."); + VATCtrlReportLineCZL.SetRange("Document No.", SalesAdvLetterEntryCZZ."Document No."); + VATCtrlReportLineCZL.FindFirst(); + Assert.IsFalse(VATCtrlReportLineCZL.IsEmpty(), 'The VAT control report line for VAT payment must exist.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ."VAT Base Amount", VATCtrlReportLineCZL.Base, 'The base must be the same as in sales advance letter entry.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ."VAT Amount", VATCtrlReportLineCZL.Amount, 'The VAT amount must be the same as in sales advance letter entry'); + end; + + [Test] + procedure SalesAdvanceVATPaymentLinkedToInvoiceInVATControlReport() + var + SalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ"; + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + VATCtrlReportHeaderCZL: Record "VAT Ctrl. Report Header CZL"; + VATCtrlReportLineCZL: Record "VAT Ctrl. Report Line CZL"; + VATStatementName: Record "VAT Statement Name"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Sales advance VAT payment linked to invoice has to be part of the VAT control report + Initialize(); + + // [GIVEN] Sales advance letter has been created + // [GIVEN] Sales advance letter line with normal VAT has been created + CreateSalesAdvLetterBase(SalesAdvLetterHeaderCZZ, SalesAdvLetterLineCZZ, ''); + + // [GIVEN] Sales advance letter has been released + LibrarySalesAdvancesCZZ.ReleaseSalesAdvLetter(SalesAdvLetterHeaderCZZ); + + // [GIVEN] Sales advance letter has been paid in full by the general journal + CreateAndPostPaymentSalesAdvLetter(SalesAdvLetterHeaderCZZ, -SalesAdvLetterLineCZZ."Amount Including VAT", 0); + + // [GIVEN] Sales invoice has been created + // [GIVEN] Sales invoice line has been created + LibrarySalesAdvancesCZZ.CreateSalesInvoice( + SalesHeader, SalesLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", SalesAdvLetterHeaderCZZ."Posting Date", + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, SalesAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to sales invoice + LibrarySalesAdvancesCZZ.LinkSalesAdvanceLetterToDocument( + SalesAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Sales Invoice", SalesHeader."No.", + SalesAdvLetterLineCZZ."Amount Including VAT", SalesAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Sales invoice has been posted + PostedDocumentNo := PostSalesDocument(SalesHeader); + + // [GIVEN] VAT statement has been created + VATStatementName := CreateVATStatement(); + CreateVATStatementLine(VATStatementName, Enum::"General Posting Type"::Sale, + SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group", SectionA4Tok); + + // [GIVEN] The vat control report has been created + VATCtrlReportHeaderCZL := CreateVATControlReport( + Date2DMY(SalesAdvLetterHeaderCZZ."Posting Date", 2), Date2DMY(SalesAdvLetterHeaderCZZ."Posting Date", 3), + VATStatementName."Statement Template Name", VATStatementName.Name); + + // [WHEN] Suggest VAT control report lines + SuggestVATControlReportLines(VATCtrlReportHeaderCZL); + + // [THEN] The VAT payment document will be suggested in VAT control report line + SalesAdvLetterEntryCZZ.Reset(); + SalesAdvLetterEntryCZZ.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); + SalesAdvLetterEntryCZZ.SetRange("Entry Type", SalesAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + SalesAdvLetterEntryCZZ.FindFirst(); + + VATCtrlReportLineCZL.SetRange("VAT Ctrl. Report No.", VATCtrlReportHeaderCZL."No."); + VATCtrlReportLineCZL.SetRange("Document No.", SalesAdvLetterEntryCZZ."Document No."); + VATCtrlReportLineCZL.FindFirst(); + Assert.IsFalse(VATCtrlReportLineCZL.IsEmpty(), 'The VAT control report line for VAT payment must exist.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ."VAT Base Amount", VATCtrlReportLineCZL.Base, 'The base must be the same as in sales advance letter entry.'); + Assert.AreEqual(SalesAdvLetterEntryCZZ."VAT Amount", VATCtrlReportLineCZL.Amount, 'The VAT amount must be the same as in sales advance letter entry'); + + // [THEN] The posted invoice won't be suggested in VAT control report line + VATCtrlReportLineCZL.SetRange("VAT Ctrl. Report No.", VATCtrlReportHeaderCZL."No."); + VATCtrlReportLineCZL.SetRange("Document No.", PostedDocumentNo); + Assert.IsTrue(VATCtrlReportLineCZL.IsEmpty(), 'The posted invoice can not be suggested to VAT control report.'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure PurchAdvanceVATPaymentInVATControlReport() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + VATCtrlReportHeaderCZL: Record "VAT Ctrl. Report Header CZL"; + VATCtrlReportLineCZL: Record "VAT Ctrl. Report Line CZL"; + VATStatementName: Record "VAT Statement Name"; + begin + // [SCENARIO] Purchase advance VAT payment has to be part of the VAT control report + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, ''); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT", 0); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] VAT statement has been created + VATStatementName := CreateVATStatement(); + CreateVATStatementLine(VATStatementName, Enum::"General Posting Type"::Purchase, + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", SectionB2Tok); + + // [GIVEN] The vat control report has been created + VATCtrlReportHeaderCZL := CreateVATControlReport( + Date2DMY(PurchAdvLetterHeaderCZZ."Posting Date", 2), Date2DMY(PurchAdvLetterHeaderCZZ."Posting Date", 3), + VATStatementName."Statement Template Name", VATStatementName.Name); + + // [WHEN] Suggest VAT control report lines + SuggestVATControlReportLines(VATCtrlReportHeaderCZL); + + // [THEN] The VAT payment document will be suggested in VAT control report line + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + PurchAdvLetterEntryCZZ.FindFirst(); + + VATCtrlReportLineCZL.SetRange("VAT Ctrl. Report No.", VATCtrlReportHeaderCZL."No."); + VATCtrlReportLineCZL.SetRange("Document No.", PurchAdvLetterEntryCZZ."Document No."); + VATCtrlReportLineCZL.FindFirst(); + Assert.IsFalse(VATCtrlReportLineCZL.IsEmpty(), 'The VAT control report line for VAT payment must exist.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ."VAT Base Amount", VATCtrlReportLineCZL.Base, 'The base must be the same as in purchase advance letter entry.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ."VAT Amount", VATCtrlReportLineCZL.Amount, 'The VAT amount must be the same as in purchase advance letter entry'); + end; + + [Test] + [HandlerFunctions('ModalVATDocumentHandler')] + procedure PurchAdvanceVATPaymentLinkedToInvoiceInVATControlReport() + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + PurchHeader: Record "Purchase Header"; + PurchLine: Record "Purchase Line"; + VATCtrlReportHeaderCZL: Record "VAT Ctrl. Report Header CZL"; + VATCtrlReportLineCZL: Record "VAT Ctrl. Report Line CZL"; + VATStatementName: Record "VAT Statement Name"; + PostedDocumentNo: Code[20]; + begin + // [SCENARIO] Purchase advance VAT payment linked to invoice has to be part of the VAT control report + Initialize(); + + // [GIVEN] Purchase advance letter has been created + // [GIVEN] Purchase advance letter line with normal VAT has been created + CreatePurchAdvLetterBase(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ, ''); + + // [GIVEN] Purchase advance letter has been released + LibraryPurchAdvancesCZZ.ReleasePurchAdvLetter(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase advance letter has been paid in full by the general journal + CreateAndPostPaymentPurchAdvLetter(PurchAdvLetterHeaderCZZ, PurchAdvLetterLineCZZ."Amount Including VAT", 0); + + // [GIVEN] Payment VAT has been posted + PostPurchAdvancePaymentVAT(PurchAdvLetterHeaderCZZ); + + // [GIVEN] Purchase invoice has been created + // [GIVEN] Purchase invoice line has been created + LibraryPurchAdvancesCZZ.CreatePurchInvoice( + PurchHeader, PurchLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", PurchAdvLetterHeaderCZZ."Posting Date", + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", '', 0, + true, PurchAdvLetterLineCZZ."Amount Including VAT"); + + // [GIVEN] Whole advance letter has been linked to purchase invoice + LibraryPurchAdvancesCZZ.LinkPurchAdvanceLetterToDocument( + PurchAdvLetterHeaderCZZ, Enum::"Adv. Letter Usage Doc.Type CZZ"::"Purchase Invoice", PurchHeader."No.", + PurchAdvLetterLineCZZ."Amount Including VAT", PurchAdvLetterLineCZZ."Amount Including VAT (LCY)"); + + // [GIVEN] Purchase invoice has been posted + PostedDocumentNo := PostPurchDocument(PurchHeader); + + // [GIVEN] VAT statement has been created + VATStatementName := CreateVATStatement(); + CreateVATStatementLine(VATStatementName, Enum::"General Posting Type"::Purchase, + PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group", SectionB2Tok); + + // [GIVEN] The vat control report has been created + VATCtrlReportHeaderCZL := CreateVATControlReport( + Date2DMY(PurchAdvLetterHeaderCZZ."Posting Date", 2), Date2DMY(PurchAdvLetterHeaderCZZ."Posting Date", 3), + VATStatementName."Statement Template Name", VATStatementName.Name); + + // [WHEN] Suggest VAT control report lines + SuggestVATControlReportLines(VATCtrlReportHeaderCZL); + + // [THEN] The VAT payment document will be suggested in VAT control report line + PurchAdvLetterEntryCZZ.Reset(); + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::"VAT Payment"); + PurchAdvLetterEntryCZZ.FindFirst(); + + VATCtrlReportLineCZL.SetRange("VAT Ctrl. Report No.", VATCtrlReportHeaderCZL."No."); + VATCtrlReportLineCZL.SetRange("Document No.", PurchAdvLetterEntryCZZ."Document No."); + VATCtrlReportLineCZL.FindFirst(); + Assert.IsFalse(VATCtrlReportLineCZL.IsEmpty(), 'The VAT control report line for VAT payment must exist.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ."VAT Base Amount", VATCtrlReportLineCZL.Base, 'The base must be the same as in purchase advance letter entry.'); + Assert.AreEqual(PurchAdvLetterEntryCZZ."VAT Amount", VATCtrlReportLineCZL.Amount, 'The VAT amount must be the same as in purchase advance letter entry'); + + // [THEN] The posted invoice won't be suggested in VAT control report line + VATCtrlReportLineCZL.SetRange("VAT Ctrl. Report No.", VATCtrlReportHeaderCZL."No."); + VATCtrlReportLineCZL.SetRange("Document No.", PostedDocumentNo); + Assert.IsTrue(VATCtrlReportLineCZL.IsEmpty(), 'The posted invoice can not be suggested to VAT control report.'); + end; + + local procedure CreateSalesAdvLetterBase(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; CurrencyCode: Code[10]) + var + VATPostingSetup: Record "VAT Posting Setup"; + Customer: Record Customer; + begin + LibrarySalesAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + LibrarySalesAdvancesCZZ.CreateCustomer(Customer); + Customer.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); + Customer.Modify(true); + + LibrarySalesAdvancesCZZ.CreateSalesAdvLetterHeader(SalesAdvLetterHeaderCZZ, SalesAdvanceLetterTemplateCZZ.Code, Customer."No.", CurrencyCode); + LibrarySalesAdvancesCZZ.CreateSalesAdvLetterLine(SalesAdvLetterLineCZZ, SalesAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); + end; + + local procedure CreatePurchAdvLetterBase(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; CurrencyCode: Code[10]) + var + VATPostingSetup: Record "VAT Posting Setup"; + Vendor: Record Vendor; + begin + LibraryPurchAdvancesCZZ.FindVATPostingSetup(VATPostingSetup); + LibraryPurchAdvancesCZZ.CreateVendor(Vendor); + Vendor.Validate("VAT Bus. Posting Group", VATPostingSetup."VAT Bus. Posting Group"); + Vendor.Modify(true); + + LibraryPurchAdvancesCZZ.CreatePurchAdvLetterHeader(PurchAdvLetterHeaderCZZ, PurchAdvanceLetterTemplateCZZ.Code, Vendor."No.", CurrencyCode); + LibraryPurchAdvancesCZZ.CreatePurchAdvLetterLine(PurchAdvLetterLineCZZ, PurchAdvLetterHeaderCZZ, VATPostingSetup."VAT Prod. Posting Group", LibraryRandom.RandDec(1000, 2)); + end; + + local procedure CreateAndPostPaymentSalesAdvLetter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibrarySalesAdvancesCZZ.CreateSalesAdvancePayment(GenJournalLine, SalesAdvLetterHeaderCZZ."Bill-to Customer No.", Amount, SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."No.", ExchangeRate); + LibrarySalesAdvancesCZZ.PostSalesAdvancePayment(GenJournalLine); + end; + + local procedure CreateAndPostPaymentPurchAdvLetter(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; Amount: Decimal; ExchangeRate: Decimal) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + LibraryPurchAdvancesCZZ.CreatePurchAdvancePayment(GenJournalLine, PurchAdvLetterHeaderCZZ."Pay-to Vendor No.", Amount, PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."No.", ExchangeRate); + LibraryPurchAdvancesCZZ.PostPurchAdvancePayment(GenJournalLine); + end; + + local procedure PostSalesDocument(var SalesHeader: Record "Sales Header"): Code[20] + begin + exit(LibrarySales.PostSalesDocument(SalesHeader, true, true)); + end; + + local procedure PostPurchDocument(var PurchHeader: Record "Purchase Header"): Code[20] + begin + exit(LibraryPurchase.PostPurchaseDocument(PurchHeader, true, true)); + end; + + local procedure CreateVATStatement() VATStatementName: Record "VAT Statement Name" + begin + LibraryERM.CreateVATStatementNameWithTemplate(VATStatementName); + end; + + local procedure CreateVATStatementLine(VATStatementName: Record "VAT Statement Name"; GenPostingType: Enum "General Posting Type"; VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; SectionCode: Code[20]) VATStatementLine: Record "VAT Statement Line" + begin + VATStatementLine := CreateVATStatementLine(VATStatementName, GenPostingType, VATBusPostingGroup, VATProdPostingGroup, SectionCode, false); + end; + + local procedure CreateVATStatementLine(VATStatementName: Record "VAT Statement Name"; GenPostingType: Enum "General Posting Type"; VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; SectionCode: Code[20]; IgnoreSimpleDocLimit: Boolean) VATStatementLine: Record "VAT Statement Line" + begin + LibraryERM.CreateVATStatementLine( + VATStatementLine, VATStatementName."Statement Template Name", VATStatementName.Name); + VATStatementLine.Validate(Type, Enum::"VAT Statement Line Type"::"VAT Entry Totaling"); + VATStatementLine.Validate("Gen. Posting Type", GenPostingType); + VATStatementLine.Validate("Amount Type", Enum::"VAT Statement Line Amount Type"::Base); + VATStatementLine.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + VATStatementLine.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + VATStatementLine.Validate("VAT Ctrl. Report Section CZL", SectionCode); + VATStatementLine.Validate("Ignore Simpl. Doc. Limit CZL", IgnoreSimpleDocLimit); + VATStatementLine.Modify(); + end; + + local procedure CreateVATControlReport(PeriodNo: Integer; Year: Integer; VATStatementTemplateName: Code[10]; VATStatementName: Code[10]) VATCtrlReportHeader: Record "VAT Ctrl. Report Header CZL" + begin + LibraryTax.CreateVATControlReportWithPeriod(VATCtrlReportHeader, PeriodNo, Year); + VATCtrlReportHeader.Validate("VAT Statement Template Name", VATStatementTemplateName); + VATCtrlReportHeader.Validate("VAT Statement Name", VATStatementName); + VATCtrlReportHeader.Modify(true); + end; + + local procedure SuggestVATControlReportLines(var VATCtrlReportHeader: Record "VAT Ctrl. Report Header CZL") + var + VATCtrlReportMgtCZL: Codeunit "VAT Ctrl. Report Mgt. CZL"; + begin + VATCtrlReportMgtCZL.GetVATCtrlReportLines(VATCtrlReportHeader, VATCtrlReportHeader."Start Date", VATCtrlReportHeader."End Date", + VATCtrlReportHeader."VAT Statement Template Name", VATCtrlReportHeader."VAT Statement Name", 0, false, false); + end; + + local procedure FindPaymentAdvanceLetterEntry(AdvanceLetterNo: Code[20]; var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ") + begin + PurchAdvLetterEntryCZZ.SetRange("Purch. Adv. Letter No.", AdvanceLetterNo); + PurchAdvLetterEntryCZZ.SetRange("Entry Type", PurchAdvLetterEntryCZZ."Entry Type"::Payment); + PurchAdvLetterEntryCZZ.FindFirst(); + end; + + local procedure PostPurchAdvancePaymentVAT(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"); + var + PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"; + begin + FindPaymentAdvanceLetterEntry(PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterEntryCZZ); + PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + end; + + local procedure PostPurchAdvancePaymentVAT(var PurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ"); + begin + LibraryVariableStorage.Enqueue(WorkDate()); // original document vat date + LibraryVariableStorage.Enqueue(PurchAdvLetterEntryCZZ."Document No."); // external document no. + LibraryPurchAdvancesCZZ.PostPurchAdvancePaymentVAT(PurchAdvLetterEntryCZZ); + end; + + [ModalPageHandler] + procedure ModalVATDocumentHandler(var VATDocument: TestPage "VAT Document CZZ") + begin + VATDocument.OriginalDocumentVATDate.SetValue(LibraryVariableStorage.DequeueDate()); + VATDocument.ExternalDocumentNo.SetValue(LibraryVariableStorage.DequeueText()); + VATDocument.OK().Invoke(); + end; +} \ No newline at end of file diff --git a/Apps/CZ/AdvancePaymentsLocalization/test/app.json b/Apps/CZ/AdvancePaymentsLocalization/test/app.json index 8e4037d97a..ad7862eb86 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/test/app.json +++ b/Apps/CZ/AdvancePaymentsLocalization/test/app.json @@ -2,7 +2,7 @@ "id": "6b7964d6-2baa-4566-813f-89dabe4b33e1", "name": "Advance Payments Localization for Czech Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Advance Payments Localization for Czech application.", "description": "Tests for the Advance Payments Localization for Czech application.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,31 +16,49 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" + }, + { + "id": "6555cb10-63ea-4ec0-99aa-8e6a4db67c87", + "name": "Core Localization Pack for Czech Tests", + "publisher": "Microsoft", + "version": "24.0.0.0" }, { "id": "d6636d6f-155e-4490-9979-ec323a6b7c81", "name": "Advance Payments Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" + }, + { + "id": "bc0899d1-2cc9-4091-93f8-032538dbb70f", + "name": "Cash Desk Localization for Czech", + "publisher": "Microsoft", + "version": "24.0.0.0" + }, + { + "id": "d4a6843d-10a0-491b-bb0c-c1cca86eece2", + "name": "Cash Desk Localization for Czech Tests", + "publisher": "Microsoft", + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 148000, @@ -53,5 +71,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/AssemblyHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/AssemblyHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/AssemblyHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/AssemblyHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CalculateInventHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CalculateInventHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CalculateInventHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CalculateInventHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CancelFALdgEntHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CancelFALdgEntHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CancelFALdgEntHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/CancelFALdgEntHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DataClassEvalHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DataClassEvalHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DefaultDimensionHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DefaultDimensionHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DefaultDimensionHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DefaultDimensionHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoCreateMgt.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoCreateMgtCZA.Codeunit.al similarity index 99% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoCreateMgt.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoCreateMgtCZA.Codeunit.al index 9f16847391..cbc0536f55 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoCreateMgt.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoCreateMgtCZA.Codeunit.al @@ -94,7 +94,7 @@ codeunit 31394 "Dimension Auto.Create Mgt. CZA" GeneralLedgerSetup.Get(); DefaultDimension.SetRange("Automatic Create CZA", true); DefaultDimension.SetRange("No.", ''); - if DefaultDimension.FindSet(false, false) then + if DefaultDimension.FindSet(false) then repeat Clear(MasterRecordRef); MasterRecordRef.Open(DefaultDimension."Table ID"); diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoUpdateMgt.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoUpdateMgtCZA.Codeunit.al similarity index 98% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoUpdateMgt.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoUpdateMgtCZA.Codeunit.al index 52878bd52b..1a576be532 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoUpdateMgt.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DimensionAutoUpdateMgtCZA.Codeunit.al @@ -91,7 +91,7 @@ codeunit 31395 "Dimension Auto.Update Mgt. CZA" TempDefaultDimension.SetRange("No.", ''); TempDefaultDimension.SetFilter("Dim. Description Field ID CZA", '<>%1', 0); TempDefaultDimension.SetFilter("Dim. Description Update CZA", '<>%1', TempDefaultDimension."Dim. Description Update CZA"::" "); - if TempDefaultDimension.FindSet(false, false) then + if TempDefaultDimension.FindSet(false) then repeat IsUpdate := false; DescrFieldRef := DimValRecordRef.Field(TempDefaultDimension."Dim. Description Field ID CZA"); @@ -151,7 +151,7 @@ codeunit 31395 "Dimension Auto.Update Mgt. CZA" DefaultDimension.SetRange("No.", ''); DefaultDimension.SetFilter("Dim. Description Field ID CZA", '<>%1', 0); DefaultDimension.SetFilter("Dim. Description Update CZA", '<>%1', DefaultDimension."Dim. Description Update CZA"::" "); - if DefaultDimension.FindSet(false, false) then + if DefaultDimension.FindSet(false) then repeat if not TempChangeLogSetupTable.Get(DefaultDimension."Table ID") then begin TempChangeLogSetupTable."Table No." := DefaultDimension."Table ID"; diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DirectTransLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DirectTransLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DirectTransLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/DirectTransLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEdit.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEdit.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplication.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplicationCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplication.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplicationCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandlerCZA.Codeunit.al similarity index 97% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandlerCZA.Codeunit.al index 46598e9685..a4cbc8a7e5 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandler.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandlerCZA.Codeunit.al @@ -12,6 +12,7 @@ codeunit 31379 "Gen. Jnl.-Apply Handler CZA" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Apply", 'OnBeforeRun', '', false, false)] local procedure GLEntryPostApplicationOnBeforeRun(var GenJnlLine: Record "Gen. Journal Line"; var IsHandled: Boolean) var + CrossApplicationMgtCZL: Codeunit "Cross Application Mgt. CZL"; AccType: Enum "Gen. Journal Account Type"; AccNo: Code[20]; AccBalance: Boolean; @@ -42,6 +43,7 @@ codeunit 31379 "Gen. Jnl.-Apply Handler CZA" if AccType = AccType::"G/L Account" then begin ApplyGLEntryCZA(GenJnlLine, AccNo, AccBalance); + CrossApplicationMgtCZL.SetAppliesToID(GenJnlLine."Applies-to ID"); IsHandled := true; end; end; diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplication.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplicationCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplication.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplicationCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandlerCZA.Codeunit.al similarity index 99% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandlerCZA.Codeunit.al index 3a1bc37a88..a19585147c 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandler.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandlerCZA.Codeunit.al @@ -39,7 +39,7 @@ codeunit 31384 "ItemJnl-Check Line Handler CZA" ReservationEntry.SetSourceFilter(Database::"Item Journal Line", ItemJnlLine."Entry Type".AsInteger(), ItemJnlLine."Journal Template Name", ItemJnlLine."Line No.", true); ReservationEntry.SetSourceFilter(ItemJnlLine."Journal Batch Name", 0); ReservationEntry.SetRange("Reservation Status", ReservationEntry."Reservation Status"::Prospect); - if ReservationEntry.FindSet(false, false) then + if ReservationEntry.FindSet(false) then repeat ReservationEntry.TestField("Appl.-from Item Entry"); until ReservationEntry.Next() = 0; @@ -61,7 +61,7 @@ codeunit 31384 "ItemJnl-Check Line Handler CZA" ReservationEntry.SetSourceFilter(Database::"Item Journal Line", ItemJnlLine."Entry Type".AsInteger(), ItemJnlLine."Journal Template Name", ItemJnlLine."Line No.", true); ReservationEntry.SetSourceFilter(ItemJnlLine."Journal Batch Name", 0); ReservationEntry.SetRange("Reservation Status", ReservationEntry."Reservation Status"::Prospect); - if ReservationEntry.FindSet(false, false) then + if ReservationEntry.FindSet(false) then repeat ReservationEntry.TestField("Appl.-from Item Entry"); until ReservationEntry.Next() = 0; diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJournalLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJournalLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJournalLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJournalLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemTrackingLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemTrackingLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemTrackingLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemTrackingLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/JobJournalLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/JobJournalLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/JobJournalLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/JobJournalLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/NonstockItemHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/NonstockItemHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/NonstockItemHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/NonstockItemHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProcessDataExchHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProcessDataExchHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProcessDataExchHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProcessDataExchHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProductionOrderHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProductionOrderHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProductionOrderHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ProductionOrderHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/PurchaseLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/PurchaseLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/PurchaseLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/PurchaseLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReqWkshMakeOrdHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReqWkshMakeOrdHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReqWkshMakeOrdHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReqWkshMakeOrdHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReversalEntryHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReversalEntryHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReversalEntryHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ReversalEntryHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SalesLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SalesLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SalesLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SalesLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ServiceLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ServiceLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ServiceLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ServiceLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/StdItemJournalHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/StdItemJournalHandlerCZA.Codeunit.al similarity index 86% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/StdItemJournalHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/StdItemJournalHandlerCZA.Codeunit.al index caaf048d69..360ce513e4 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/StdItemJournalHandler.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/StdItemJournalHandlerCZA.Codeunit.al @@ -12,12 +12,6 @@ codeunit 31438 "Std. Item Journal Handler CZA" local procedure ClearNewLocationOnBeforeInsertStandardItemJournalLine(var StdItemJnlLine: Record "Standard Item Journal Line"; ItemJnlLine: Record "Item Journal Line") begin if ItemJnlLine."Entry Type" <> ItemJnlLine."Entry Type"::Transfer then -#if not CLEAN21 -#pragma warning disable AL0432 - StdItemJnlLine."New Location Code" := ''; -#pragma warning restore AL0432 -#else StdItemJnlLine."New Location Code CZA" := ''; -#endif end; } diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SubstituteReportHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SubstituteReportHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SubstituteReportHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/SubstituteReportHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferHeaderHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferHeaderHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferHeaderHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferHeaderHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferOrderPostHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferOrderPostHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferOrderPostHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/TransferOrderPostHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoRetShptLnHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoRetShptLnHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoRetShptLnHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoRetShptLnHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoShipmentLineHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoShipmentLineHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoShipmentLineHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoShipmentLineHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoTransferShipLine.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoTransferShipLineCZA.Codeunit.al similarity index 97% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoTransferShipLine.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoTransferShipLineCZA.Codeunit.al index cb5a81d565..e73f74754c 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoTransferShipLine.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UndoTransferShipLineCZA.Codeunit.al @@ -57,7 +57,7 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" var TransferShipmentHeader: Record "Transfer Shipment Header"; TransferShipmentLineGlobal: Record "Transfer Shipment Line"; - TempWarehouseJournalLine: Record "Warehouse Journal Line" temporary; + TempWarehouseJournalLineGlobal: Record "Warehouse Journal Line" temporary; TempItemLedgerEntryGlobal: Record "Item Ledger Entry" temporary; TempItemEntryRelationGlobal: Record "Item Entry Relation" temporary; InventorySetup: Record "Inventory Setup"; @@ -66,7 +66,7 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" WhseUndoQuantity: Codeunit "Whse. Undo Quantity"; InventoryAdjustment: Codeunit "Inventory Adjustment"; HideDialog: Boolean; - NextLineNo: Integer; + NextLineNoGlobal: Integer; CorrectionLineNo: Integer; procedure SetHideDialog(NewHideDialog: Boolean) @@ -101,7 +101,7 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" if Release then ReleaseTransferDocument.Reopen(TransferHeader); - TransferShipmentLineGlobal.FindSet(false, false); + TransferShipmentLineGlobal.FindSet(false); repeat TempItemLedgerEntryGlobal.Reset(); if not TempItemLedgerEntryGlobal.IsEmpty() then @@ -127,8 +127,8 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" InsertNewShipmentLine(TransferShipmentLineGlobal, ItemShptEntryNo); if PostedWhseShptLineFound then WhseUndoQuantity.UndoPostedWhseShptLine(PostedWhseShipmentLine); - TempWarehouseJournalLine.SetRange("Source Line No.", TransferShipmentLineGlobal."Line No."); - WhseUndoQuantity.PostTempWhseJnlLine(TempWarehouseJournalLine); + TempWarehouseJournalLineGlobal.SetRange("Source Line No.", TransferShipmentLineGlobal."Line No."); + WhseUndoQuantity.PostTempWhseJnlLine(TempWarehouseJournalLineGlobal); UpdateTransLine(TransferShipmentLineGlobal); if PostedWhseShptLineFound then WhseUndoQuantity.UpdateShptSourceDocLines(PostedWhseShipmentLine); @@ -224,9 +224,9 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" 0, TransferShipmentLineGlobal."Transfer Order No.", TransferShipmentLineGlobal."Line No.", - TempWarehouseJournalLine."Reference Document"::"Posted T. Shipment", - TempWarehouseJournalLine, - NextLineNo); + TempWarehouseJournalLineGlobal."Reference Document"::"Posted T. Shipment", + TempWarehouseJournalLineGlobal, + NextLineNoGlobal); if TransferShipmentLineGlobal."Item Shpt. Entry No." <> 0 then begin ItemJnlPostLine.RunWithCheck(ItemJournalLine); @@ -290,7 +290,7 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" var ItemEntryRelation: Record "Item Entry Relation"; begin - if TempItemEntryRelation.FindSet(false, false) then + if TempItemEntryRelation.FindSet(false) then repeat ItemEntryRelation := TempItemEntryRelation; ItemEntryRelation.TransferFieldsTransShptLine(NewTransferShipmentLine); @@ -388,7 +388,7 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" ExpDate: Date; DummyEntriesExist: Boolean; begin - TempApplyToItemLedgerEntry.FindSet(false, false); // Assertion: will fail if not found. + TempApplyToItemLedgerEntry.FindSet(false); // Assertion: will fail if not found. ItemJournalLine.TestField("Entry Type", ItemJournalLine."Entry Type"::Transfer); NonDistrQuantity := UndoQty; NonDistrQuantityBase := UndoQtyBase; @@ -455,7 +455,7 @@ codeunit 31425 "Undo Transfer Ship. Line CZA" TransferLine1."Quantity (Base)" := 0; TransferLineReserve.VerifyQuantity(TransferLine, TransferLine1); - if TempUndoneItemLedgerEntry.FindSet(false, false) then + if TempUndoneItemLedgerEntry.FindSet(false) then repeat if (TempUndoneItemLedgerEntry."Serial No." <> '') or (TempUndoneItemLedgerEntry."Lot No." <> '') then begin ReservationEntry.Reset(); diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplication.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZA.Codeunit.al similarity index 99% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplication.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZA.Codeunit.al index 3ac61c4f2c..9daaee3c6c 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplication.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZA.Codeunit.al @@ -8,7 +8,9 @@ using Microsoft; using Microsoft.Finance.Dimension; using Microsoft.Finance.GeneralLedger.Ledger; using Microsoft.Inventory.Item; +#if not CLEAN22 using Microsoft.Inventory.Item.Catalog; +#endif using Microsoft.Inventory.Journal; using Microsoft.Inventory.Setup; using Microsoft.Inventory.Transfer; diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitionsCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitionsCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/EnumExtensions/NonstockItemNoFormat.EnumExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/EnumExtensions/NonstockItemNoFormatCZA.EnumExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/EnumExtensions/NonstockItemNoFormat.EnumExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/EnumExtensions/NonstockItemNoFormatCZA.EnumExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountTypeDefaultDim.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountTypeDefaultDimCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountTypeDefaultDim.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountTypeDefaultDimCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenterCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenterCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrder.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrderCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrder.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrderCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrderSubform.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrderSubformCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrderSubform.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblyOrderSubformCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblySetup.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblySetupCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblySetup.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AssemblySetupCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ChartofAccounts.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ChartofAccountsCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ChartofAccounts.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ChartofAccountsCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/DataExchFieldMappPart.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/DataExchFieldMappPartCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/DataExchFieldMappPart.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/DataExchFieldMappPartCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/FinanceManagerRC.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/FinanceManagerRCCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/FinanceManagerRC.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/FinanceManagerRCCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GLEntriesPreview.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GLEntriesPreviewCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GLEntriesPreview.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GLEntriesPreviewCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntries.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntriesCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntries.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntriesCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/InventorySetup.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/InventorySetupCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/InventorySetup.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/InventorySetupCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntrPreview.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntrPreviewCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntrPreview.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntrPreviewCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntries.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntriesCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntries.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ItemLedgerEntriesCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ManufacturingSetup.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ManufacturingSetupCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ManufacturingSetup.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/ManufacturingSetupCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrder.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrderCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrder.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrderCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrderSubf.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrderSubfCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrderSubf.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedAssemblyOrderSubfCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransSub.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransSubCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransSub.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransSubCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransfer.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransferCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransfer.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedDirectTransferCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedTransferShpSubf.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedTransferShpSubfCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedTransferShpSubf.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/PostedTransferShpSubfCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/StdItemJournalSubform.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/StdItemJournalSubformCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/StdItemJournalSubform.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/StdItemJournalSubformCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrder.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrderCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrder.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrderCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrderSubform.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrderSubformCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrderSubform.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferOrderSubformCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferRouteSpec.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferRouteSpecCZA.PageExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferRouteSpec.PageExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/TransferRouteSpecCZA.PageExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/AppliedGLEntries.Page.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/AppliedGLEntriesCZA.Page.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/AppliedGLEntries.Page.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/AppliedGLEntriesCZA.Page.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntries.Page.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntriesCZA.Page.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntries.Page.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntriesCZA.Page.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/DetailedGLEntries.Page.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/DetailedGLEntriesCZA.Page.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/DetailedGLEntries.Page.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/DetailedGLEntriesCZA.Page.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/UnapplyGLEntries.Page.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/UnapplyGLEntriesCZA.Page.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/UnapplyGLEntries.Page.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/UnapplyGLEntriesCZA.Page.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackEdit.PermissionSet.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackEditCZA.PermissionSet.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackEdit.PermissionSet.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackEditCZA.PermissionSet.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjects.PermissionSet.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjectsCZA.PermissionSet.al similarity index 95% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjects.PermissionSet.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjectsCZA.PermissionSet.al index 15ec67ff7e..9d1422f4b8 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjects.PermissionSet.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjectsCZA.PermissionSet.al @@ -23,7 +23,9 @@ codeunit "Item Tracking Line Handler CZA" = X, codeunit "Job Journal Line Handler CZA" = X, #if not CLEAN22 +#pragma warning disable AL0432 codeunit "Nonstock Item Handler CZA" = X, +#pragma warning restore AL0432 #endif codeunit "Process Data Exch. Handler CZA" = X, codeunit "Production Order Handler CZA" = X, @@ -39,7 +41,9 @@ codeunit "TransferOrder-Post Handler CZA" = X, codeunit "Undo Shipment Line Handler CZA" = X, #if not CLEAN22 +#pragma warning disable AL0432 codeunit "Undo Transfer Ship. Line CZA" = X, +#pragma warning restore AL0432 #endif codeunit "Upgrade Application CZA" = X, codeunit "Upgrade Tag Definitions CZA" = X, diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackRead.PermissionSet.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackReadCZA.PermissionSet.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackRead.PermissionSet.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackReadCZA.PermissionSet.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CostAccountingAdmin.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CostAccountingAdminCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CostAccountingAdmin.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CostAccountingAdminCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365AUTOMATIONCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365AUTOMATIONCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365basic.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365BASICCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365basic.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365BASICCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365basicisv.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365BASICISVCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365basicisv.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365BASICISVCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365read.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365READCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365read.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365READCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365teammember.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365TEAMMEMBERCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/d365teammember.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/D365TEAMMEMBERCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsEdit.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsEditCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsEdit.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsEditCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsJournalsPost.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsJournalsPostCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsJournalsPost.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/FixedAssetsJournalsPostCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsEdit.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsEditCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsEdit.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsEditCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsView.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsViewCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsView.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLAccountsViewCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLJournalsPost.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLJournalsPostCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLJournalsPost.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLJournalsPostCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLRegistersRead.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLRegistersReadCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLRegistersRead.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/GLRegistersReadCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/intelligentcloud.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/INTELLIGENTCLOUDCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/intelligentcloud.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/INTELLIGENTCLOUDCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsEdit.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsEditCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsEdit.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsEditCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsView.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsViewCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsView.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/JobsViewCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOCAL.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOCALCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOCAL.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOCALCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOGIN.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOGINCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOGIN.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/LOGINCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesDocumentsPost.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesDocumentsPostCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesDocumentsPost.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesDocumentsPostCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesJournalsPost.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesJournalsPostCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesJournalsPost.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/PayablesJournalsPostCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesDocumentsPost.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesDocumentsPostCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesDocumentsPost.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesDocumentsPostCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesJournalsPost.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesJournalsPostCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesJournalsPost.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/RecievablesJournalsPostCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/VendorEdit.PermissionSetExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/VendorEditCZA.PermissionSetExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/VendorEdit.PermissionSetExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/VendorEditCZA.PermissionSetExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CalculateInventory.ReportExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CalculateInventoryCZA.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CalculateInventory.ReportExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CalculateInventoryCZA.ReportExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CarryOutActionMsgReq.ReportExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CarryOutActionMsgReqCZA.ReportExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CarryOutActionMsgReq.ReportExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/ReportExtensions/CarryOutActionMsgReqCZA.ReportExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/GLEntryApplying.Report.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/GLEntryApplyingCZA.Report.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/GLEntryApplying.Report.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/GLEntryApplyingCZA.Report.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryAccountToDate.Report.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryAccountToDateCZA.Report.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryAccountToDate.Report.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryAccountToDateCZA.Report.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryValuationWIP.Report.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryValuationWIPCZA.Report.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryValuationWIP.Report.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/InventoryValuationWIPCZA.Report.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/OpenGLEntriesToDate.Report.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/OpenGLEntriesToDateCZA.Report.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/OpenGLEntriesToDate.Report.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Reports/OpenGLEntriesToDateCZA.Report.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyHeader.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyHeaderCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyHeader.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyHeaderCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblyLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblySetup.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblySetupCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblySetup.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/AssemblySetupCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/CapacityLedgerEntry.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/CapacityLedgerEntryCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/CapacityLedgerEntry.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/CapacityLedgerEntryCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DataExchFieldMapping.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DataExchFieldMappingCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DataExchFieldMapping.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DataExchFieldMappingCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DefaultDimension.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DefaultDimensionCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DefaultDimension.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DefaultDimensionCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransHeader.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransHeaderCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransHeader.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransHeaderCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/DirectTransLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntry.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntryCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntry.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntryCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/InventorySetup.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/InventorySetupCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/InventorySetup.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/InventorySetupCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemEntryRelation.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemEntryRelationCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemEntryRelation.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemEntryRelationCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemLedgerEntry.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemLedgerEntryCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemLedgerEntry.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemLedgerEntryCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/JobJournalLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/JobJournalLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/JobJournalLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/JobJournalLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ManufacturingSetup.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ManufacturingSetupCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ManufacturingSetup.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ManufacturingSetupCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyHeader.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyHeaderCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyHeader.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyHeaderCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PostedAssemblyLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PurchaseLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PurchaseLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PurchaseLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/PurchaseLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/SalesLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/SalesLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/SalesLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/SalesLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ServiceLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ServiceLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ServiceLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ServiceLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/StdItemJournalLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/StdItemJournalLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/StdItemJournalLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/StdItemJournalLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferHeader.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferHeaderCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferHeader.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferHeaderCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptHeader.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptHeaderCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptHeader.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptHeaderCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferReceiptLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferRoute.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferRouteCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferRoute.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferRouteCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentHeader.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentHeaderCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentHeader.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentHeaderCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentLine.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentLineCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentLine.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/TransferShipmentLineCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ValueEntry.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ValueEntryCZA.TableExt.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ValueEntry.TableExt.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ValueEntryCZA.TableExt.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Tables/DetailedGLEntry.Table.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Tables/DetailedGLEntryCZA.Table.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/app/Src/Tables/DetailedGLEntry.Table.al rename to Apps/CZ/AdvancedLocalizationPack/app/Src/Tables/DetailedGLEntryCZA.Table.al diff --git a/Apps/CZ/AdvancedLocalizationPack/app/app.json b/Apps/CZ/AdvancedLocalizationPack/app/app.json index aafd8943ce..b2f45f7409 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/app.json +++ b/Apps/CZ/AdvancedLocalizationPack/app/app.json @@ -2,7 +2,7 @@ "id": "f12846ee-be97-4316-a5b3-ba789471687a", "name": "Advanced Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Advanced local functionality of Business Central for the Czech Republic", "description": "Advanced features for your Business Central in the Czech Republic.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,18 +16,18 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "Cloud", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntries.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntriesCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntries.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntriesCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/DimAutomaticCreation.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/DimAutomaticCreationCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/test/Src/DimAutomaticCreation.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/test/Src/DimAutomaticCreationCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/FieldMappingDateFormula.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/FieldMappingDateFormulaCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/test/Src/FieldMappingDateFormula.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/test/Src/FieldMappingDateFormulaCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/GenProdPostGroupSKU.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/GenProdPostGroupSKUCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/test/Src/GenProdPostGroupSKU.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/test/Src/GenProdPostGroupSKUCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/PostingGroups.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/PostingGroupsCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/test/Src/PostingGroups.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/test/Src/PostingGroupsCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/ReportsAndDocuments.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/ReportsandDocumentsCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/test/Src/ReportsAndDocuments.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/test/Src/ReportsandDocumentsCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/TestInitializeHandler.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/TestInitializeHandlerCZA.Codeunit.al similarity index 100% rename from Apps/CZ/AdvancedLocalizationPack/test/Src/TestInitializeHandler.Codeunit.al rename to Apps/CZ/AdvancedLocalizationPack/test/Src/TestInitializeHandlerCZA.Codeunit.al diff --git a/Apps/CZ/AdvancedLocalizationPack/test/app.json b/Apps/CZ/AdvancedLocalizationPack/test/app.json index d447756fb4..9317446144 100644 --- a/Apps/CZ/AdvancedLocalizationPack/test/app.json +++ b/Apps/CZ/AdvancedLocalizationPack/test/app.json @@ -2,7 +2,7 @@ "id": "6e65c292-085f-40d2-9e68-89a54c78d55d", "name": "Advanced Localization Pack for Czech Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Advanced Localization Pack for Czech application.", "description": "Tests for the Advanced Localization Pack for Czech application.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,31 +16,31 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "f12846ee-be97-4316-a5b3-ba789471687a", "name": "Advanced Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 148000, @@ -53,5 +53,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankAccReconcHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankAccReconcHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankAccReconcHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankAccReconcHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankOperationsFunctions.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankOperationsFunctionsCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankOperationsFunctions.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankOperationsFunctionsCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankStatementManagement.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankStatementManagementCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankStatementManagement.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankStatementManagementCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingApprovalsMgt.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingApprovalsMgtCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingApprovalsMgt.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingApprovalsMgtCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingDocumentTotals.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingDocumentTotalsCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingDocumentTotals.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/BankingDocumentTotalsCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CalendarManagementHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CalendarManagementHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CalendarManagementHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CalendarManagementHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CreateBankAccStmtLine.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CreateBankAccStmtLineCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CreateBankAccStmtLine.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CreateBankAccStmtLineCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CrossApplicationHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/CrossApplicationHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DataClassEvalHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DataClassEvalHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DocAttachmentHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/DocAttachmentHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExpLaunchPaymentOrder.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExpLaunchPaymentOrderCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExpLaunchPaymentOrder.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExpLaunchPaymentOrderCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExportLauncherSEPA.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExportLauncherSEPACZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExportLauncherSEPA.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ExportLauncherSEPACZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GLAccWhereUsedHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GenJournalLineHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GenJournalLineHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchBankStatement.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchBankStatementCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchBankStatement.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchBankStatementCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchPaymentOrder.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchPaymentOrderCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchPaymentOrder.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImpLaunchPaymentOrderCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImportBankStatement.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImportBankStatementCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImportBankStatement.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/ImportBankStatementCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplicationCZB.Codeunit.al similarity index 99% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplicationCZB.Codeunit.al index eefb055d51..74ff556d9e 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplicationCZB.Codeunit.al @@ -97,6 +97,7 @@ codeunit 31330 "Install Application CZB" CopyUserSetup(); CopyBankExportImportSetup(); CopyPaymentExportData(); + InitExpLauncherSEPA(); end; local procedure CopyBankAccount(); @@ -501,12 +502,21 @@ codeunit 31330 "Install Application CZB" DataClassEvalHandlerCZB: Codeunit "Data Class. Eval. Handler CZB"; UpgradeTag: Codeunit "Upgrade Tag"; begin - InitExpLauncherSEPA(); + CreateExpLauncherSEPA(); DataClassEvalHandlerCZB.ApplyEvaluationClassificationsForPrivacy(); UpgradeTag.SetAllUpgradeTags(); end; + local procedure CreateExpLauncherSEPA() + var + BankExportImportSetup: Record "Bank Export/Import Setup"; + SEPACZCodeTok: Label 'SEPACZ', Locked = true; + begin + if not BankExportImportSetup.Get(SEPACZCodeTok) then + InitExpLauncherSEPA(); + end; + local procedure InitExpLauncherSEPA() var BankExportImportSetup: Record "Bank Export/Import Setup"; diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstructionMgt.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstructionMgtCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstructionMgt.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstructionMgtCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatement.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatement.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementPrint.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementPrintCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementPrint.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementPrintCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementYesNo.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementYesNoCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementYesNo.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssueBankStatementYesNoCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrder.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrder.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderPrint.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderPrintCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderPrint.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderPrintCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderYesNo.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderYesNoCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderYesNo.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/IssuePaymentOrderYesNoCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPayment.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPaymentCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPayment.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPaymentCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NavigateHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NavigateHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NotificationHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/NotificationHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/PaymentOrderManagement.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/PaymentOrderManagementCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/PaymentOrderManagement.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/PaymentOrderManagementCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/SEPACTHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/SEPACTHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/SEPACTHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/SEPACTHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UnreliablePayerMgt.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UnreliablePayerMgtCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UnreliablePayerMgt.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UnreliablePayerMgtCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeApplicationCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeApplicationCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UserSetupAdvManagement.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UserSetupAdvManagementCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UserSetupAdvManagement.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/UserSetupAdvManagementCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/WorkflowHandlerCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/WorkflowHandlerCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/CalendarSourceType.EnumExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/CalendarSourceTypeCZB.EnumExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/CalendarSourceType.EnumExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/CalendarSourceTypeCZB.EnumExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/ManualSetupCategoryCZB.EnumExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/EnumExtensions/ManualSetupCategoryCZB.EnumExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingLineType.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingLineTypeCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingLineType.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingLineTypeCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingTransactionType.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingTransactionTypeCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingTransactionType.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/BankingTransactionTypeCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/JournalStatus.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/JournalStatusCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/JournalStatus.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/JournalStatusCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/MultipleSearchResult.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/MultipleSearchResultCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/MultipleSearchResult.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/MultipleSearchResultCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderHeadStatus.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderHeadStatusCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderHeadStatus.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderHeadStatusCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderLineStatus.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderLineStatusCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderLineStatus.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/PaymentOrderLineStatusCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchRuleAccountType.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchRuleAccountTypeCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchRuleAccountType.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchRuleAccountTypeCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchScope.Enum.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchScopeCZB.Enum.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchScope.Enum.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Enums/SearchScopeCZB.Enum.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AdministratorRC.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AdministratorRCCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AdministratorRC.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/AdministratorRCCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/ApprovalUserSetup.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/ApprovalUserSetupCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/ApprovalUserSetup.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/ApprovalUserSetupCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankAccountCard.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankAccountCardCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankAccountCard.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankAccountCardCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankExportImportSetup.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankExportImportSetupCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankExportImportSetup.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/BankExportImportSetupCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/CustomerLedgerEntriesCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/CustomerLedgerEntriesCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/EmployeeLedgerEntries.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/EmployeeLedgerEntriesCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/EmployeeLedgerEntries.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/EmployeeLedgerEntriesCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/FinanceManagerRC.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/FinanceManagerRCCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/FinanceManagerRC.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/FinanceManagerRCCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/GeneralLedgerSetupCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/GeneralLedgerSetupCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/PaymentJournal.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/PaymentJournalCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/PaymentJournal.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/PaymentJournalCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetup.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetupCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetup.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetupCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetupCard.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetupCardCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetupCard.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/UserSetupCardCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/VendorLedgerEntriesCZB.PageExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/PageExtensions/VendorLedgerEntriesCZB.PageExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatement.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatement.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementLines.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementLinesCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementLines.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementLinesCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementSubform.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementSubformCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementSubform.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementSubformCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatements.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementsCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatements.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankStatementsCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankingDocStatistics.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankingDocStatisticsCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankingDocStatistics.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/BankingDocStatisticsCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatement.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatement.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementLines.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementLinesCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementLines.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementLinesCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementSubf.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementSubfCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementSubf.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementSubfCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatements.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementsCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatements.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssBankStatementsCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrder.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrder.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderLines.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderLinesCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderLines.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderLinesCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderSubform.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderSubformCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderSubform.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrderSubformCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrders.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrdersCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrders.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/IssPaymentOrdersCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrder.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrder.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderLines.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderLinesCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderLines.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderLinesCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderSubform.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderSubformCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderSubform.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrderSubformCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrders.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrdersCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrders.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/PaymentOrdersCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleCard.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleCardCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleCard.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleCardCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineCard.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineCardCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineCard.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineCardCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineLookup.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineLookupCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineLookup.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleLineLookupCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleList.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleListCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleList.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleListCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleSubform.Page.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleSubformCZB.Page.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleSubform.Page.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Pages/SearchRuleSubformCZB.Page.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsEdit.PermissionSet.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsEditCZB.PermissionSet.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsEdit.PermissionSet.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsEditCZB.PermissionSet.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsObj.PermissionSet.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsObjCZB.PermissionSet.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsObj.PermissionSet.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsObjCZB.PermissionSet.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsRead.PermissionSet.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsReadCZB.PermissionSet.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsRead.PermissionSet.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/CZBankDocumentsReadCZB.PermissionSet.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365AUTOMATIONCZB.PermissionSetExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365AUTOMATIONCZB.PermissionSetExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASIC.PermissionSetExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASICCZB.PermissionSetExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASIC.PermissionSetExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASICCZB.PermissionSetExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASICISV.PermissionSetExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASICISVCZB.PermissionSetExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASICISV.PermissionSetExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365BASICISVCZB.PermissionSetExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365READ.PermissionSetExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365READCZB.PermissionSetExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365READ.PermissionSetExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365READCZB.PermissionSetExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365TEAMMEMBER.PermissionSetExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365TEAMMEMBERCZB.PermissionSetExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365TEAMMEMBER.PermissionSetExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/D365TEAMMEMBERCZB.PermissionSetExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/INTELLIGENTCLOUD.PermissionSetExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZB.PermissionSetExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/INTELLIGENTCLOUD.PermissionSetExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZB.PermissionSetExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/LOCAL.PermissionSetExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/LOCALCZB.PermissionSetExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/LOCAL.PermissionSetExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Permissions/LOCALCZB.PermissionSetExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/BankStatementTest.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/BankStatementTestCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/BankStatementTest.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/BankStatementTestCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CopyPaymentOrder.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CopyPaymentOrderCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CopyPaymentOrder.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CopyPaymentOrderCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreateGeneralJournal.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreateGeneralJournalCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreateGeneralJournal.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreateGeneralJournalCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreatePaymentReconJnl.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreatePaymentReconJnlCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreatePaymentReconJnl.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/CreatePaymentReconJnlCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssBankStatement.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssBankStatementCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssBankStatement.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssBankStatementCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssPaymentOrder.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssPaymentOrderCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssPaymentOrder.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/IssPaymentOrderCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/PaymentOrderTest.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/PaymentOrderTestCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/PaymentOrderTest.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/PaymentOrderTestCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/SuggestPayments.Report.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/SuggestPaymentsCZB.Report.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/SuggestPayments.Report.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Reports/SuggestPaymentsCZB.Report.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccReconciliation.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccReconciliationCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccReconciliation.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccReconciliationCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccount.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccountCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccount.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankAccountCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankExportImportSetup.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankExportImportSetupCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankExportImportSetup.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/BankExportImportSetupCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/CustLedgerEntry.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/CustLedgerEntryCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/CustLedgerEntry.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/CustLedgerEntryCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/EmployeeLedgerEntry.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/EmployeeLedgerEntryCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/EmployeeLedgerEntry.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/EmployeeLedgerEntryCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/GenJournalLine.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/GenJournalLineCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/GenJournalLine.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/GenJournalLineCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/PaymentExportData.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/PaymentExportDataCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/PaymentExportData.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/PaymentExportDataCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/UserSetup.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/UserSetupCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/UserSetup.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/UserSetupCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/VendorLedgerEntry.TableExt.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/VendorLedgerEntryCZB.TableExt.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/VendorLedgerEntry.TableExt.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/TableExtensions/VendorLedgerEntryCZB.TableExt.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementHeader.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementHeaderCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementHeader.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementHeaderCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementLine.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementLineCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementLine.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/BankStatementLineCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementHeader.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementHeaderCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementHeader.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementHeaderCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementLine.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementLineCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementLine.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssBankStatementLineCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderHeader.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderHeaderCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderHeader.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderHeaderCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLine.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLineCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLine.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLineCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBuffer.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBufferCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBuffer.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBufferCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeader.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeaderCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeader.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeaderCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLine.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLineCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLine.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLineCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRule.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRule.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLine.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLineCZB.Table.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLine.Table.al rename to Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLineCZB.Table.al diff --git a/Apps/CZ/BankingDocumentsLocalization/app/app.json b/Apps/CZ/BankingDocumentsLocalization/app/app.json index 1a0a7a0b32..3f7f4b04cd 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/app.json +++ b/Apps/CZ/BankingDocumentsLocalization/app/app.json @@ -2,7 +2,7 @@ "id": "8730dafb-13cd-42c9-987c-decb6354269d", "name": "Banking Documents Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides functionality for Banking Documents in Business Central for the Czech Republic.", "description": "Banking Documents app allows you to create payment orders and bank statements documents in a form that respects local practices. You can use an unlimited number of bank accounts of various banking institutions and in different currencies. You can import and export bank files from/to the banking software.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,18 +16,18 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "Cloud", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/BankingDocumentsLocalization/test/Src/BankingDocuments.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/test/Src/BankingDocumentsCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/test/Src/BankingDocuments.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/test/Src/BankingDocumentsCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/test/Src/ERMGLAccountWhereUsed.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/test/Src/ERMGLAccountWhereUsedCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/test/Src/ERMGLAccountWhereUsed.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/test/Src/ERMGLAccountWhereUsedCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/test/Src/LibraryBankDocuments.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/test/Src/LibraryBankDocumentsCZB.Codeunit.al similarity index 100% rename from Apps/CZ/BankingDocumentsLocalization/test/Src/LibraryBankDocuments.Codeunit.al rename to Apps/CZ/BankingDocumentsLocalization/test/Src/LibraryBankDocumentsCZB.Codeunit.al diff --git a/Apps/CZ/BankingDocumentsLocalization/test/app.json b/Apps/CZ/BankingDocumentsLocalization/test/app.json index d1dcd55775..0218bedb0a 100644 --- a/Apps/CZ/BankingDocumentsLocalization/test/app.json +++ b/Apps/CZ/BankingDocumentsLocalization/test/app.json @@ -2,7 +2,7 @@ "id": "eff588f2-dbcc-4f1d-8b47-5575b7a6ee43", "name": "Banking Documents Localization for Czech Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Banking Documents Localization for Czech application.", "description": "Tests for the Banking Documents Localization for Czech application.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,31 +16,31 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "8730dafb-13cd-42c9-987c-decb6354269d", "name": "Banking Documents Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 148000, @@ -53,5 +53,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/BankAccountHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/BankAccountHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/BankAccountHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/BankAccountHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskManagement.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskManagementCZP.Codeunit.al similarity index 99% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskManagement.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskManagementCZP.Codeunit.al index 584b7ed075..bab8408620 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskManagement.Codeunit.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskManagementCZP.Codeunit.al @@ -6,7 +6,9 @@ namespace Microsoft.Finance.CashDesk; using Microsoft.Bank.BankAccount; using Microsoft.Finance.GeneralLedger.Account; +#if not CLEAN22 using Microsoft.Finance.ReceivablesPayables; +#endif using Microsoft.FixedAssets.FixedAsset; using Microsoft.Foundation.Company; using Microsoft.HumanResources.Employee; diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskSingleInstance.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskSingleInstanceCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskSingleInstance.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDeskSingleInstanceCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentApprovMgt.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentApprovMgtCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentApprovMgt.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentApprovMgtCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPost.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostCZP.Codeunit.al similarity index 99% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPost.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostCZP.Codeunit.al index 0e941f44be..0f7b659038 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPost.Codeunit.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostCZP.Codeunit.al @@ -11,7 +11,9 @@ using Microsoft.Finance.GeneralLedger.Account; using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Finance.GeneralLedger.Posting; using Microsoft.Finance.GeneralLedger.Preview; +#if not CLEAN22 using Microsoft.Finance.VAT.Calculation; +#endif using Microsoft.FixedAssets.FixedAsset; using Microsoft.Foundation.AuditCodes; using Microsoft.HumanResources.Employee; diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostPrint.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostPrintCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostPrint.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostPrintCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostYesNo.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostYesNoCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostYesNo.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentPostYesNoCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentRelease.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentReleaseCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentRelease.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentReleaseCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentReleasePrint.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentReleasePrintCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentReleasePrint.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentReleasePrintCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentTotals.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentTotalsCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentTotals.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CashDocumentTotalsCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CopyCashDocumentMgt.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CopyCashDocumentMgtCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CopyCashDocumentMgt.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CopyCashDocumentMgtCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CrossApplicationHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/CrossApplicationHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DataClassEvalHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DataClassEvalHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DefaultDimensionHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DefaultDimensionHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DefaultDimensionHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DefaultDimensionHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DocAttachmentHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/DocAttachmentHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETCashDesk.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETCashDeskCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETCashDesk.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETCashDeskCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETManagement.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETManagementCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETManagement.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/EETManagementCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GenLedgerSetupHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GenLedgerSetupHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GenLedgerSetupHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GenLedgerSetupHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplicationCZP.Codeunit.al similarity index 99% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplicationCZP.Codeunit.al index 6c6b73b2c5..44a5fa2924 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplicationCZP.Codeunit.al @@ -129,6 +129,7 @@ codeunit 31054 "Install Application CZP" CopyUserSetup(); CopyGeneralLedgerSetup(); CopyCurrencyNominalValue(); + InitCashDeskSourceCode(); end; local procedure CopyCashDesk(); @@ -665,13 +666,23 @@ codeunit 31054 "Install Application CZP" DataClassEvalHandlerCZP: Codeunit "Data Class. Eval. Handler CZP"; UpgradeTag: Codeunit "Upgrade Tag"; begin - InitCashDeskSourceCode(); + CreateCashDeskSetupSourceCode(); InitCashDeskReportSelections(); DataClassEvalHandlerCZP.ApplyEvaluationClassificationsForPrivacy(); UpgradeTag.SetAllUpgradeTags(); end; + local procedure CreateCashDeskSetupSourceCode() + var + SourceCodeSetup: Record "Source Code Setup"; + begin + if not SourceCodeSetup.Get() then + exit; + if SourceCodeSetup."Cash Desk CZP" = '' then + InitCashDeskSourceCode(); + end; + local procedure InitCashDeskSourceCode() var CashDeskSourceCodeTxt: Label 'CASHDESK', MaxLength = 10; diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ManualCrossAppHandlerCZP.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ManualCrossAppHandlerCZP.Codeunit.al new file mode 100644 index 0000000000..9547e42f46 --- /dev/null +++ b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ManualCrossAppHandlerCZP.Codeunit.al @@ -0,0 +1,26 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.Finance.CashDesk; + +using Microsoft.Finance.ReceivablesPayables; + +codeunit 31131 "Manual Cross App. Handler CZP" +{ + EventSubscriberInstance = Manual; + + var + AppliesToIDCode: Code[50]; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Cross Application Mgt. CZL", 'OnSetAppliesToID', '', false, false)] + local procedure OnSetAppliesToIDCrossApplication(AppliesToID: Code[50]) + begin + AppliesToIDCode := AppliesToID; + end; + + procedure GetAppliesToID(): Code[50] + begin + exit(AppliesToIDCode); + end; +} diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NavigateHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NavigateHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NotificationHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/NotificationHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/PurchaseHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/PurchaseHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/PurchaseHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/PurchaseHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/SalesHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/SalesHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/SalesHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/SalesHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ServiceHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ServiceHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ServiceHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/ServiceHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplicationCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplicationCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/VATRepDateMgtHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/VATRepDateMgtHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/VATRepDateMgtHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/VATRepDateMgtHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/WorkflowHandlerCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al rename to Apps/CZ/CashDeskLocalization/app/Src/Codeunits/WorkflowHandlerCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/CommentLineTableName.EnumExt.al b/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/CommentLineTableNameCZP.EnumExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/CommentLineTableName.EnumExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/CommentLineTableNameCZP.EnumExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETAppliedDocumentType.EnumExt.al b/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETAppliedDocumentType.EnumExt.al deleted file mode 100644 index fe710d8e59..0000000000 --- a/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETAppliedDocumentType.EnumExt.al +++ /dev/null @@ -1,14 +0,0 @@ -#if not CLEAN21 -enumextension 11742 "EET Applied Document Type CZP" extends "EET Applied Document Type CZL" -{ -#pragma warning disable AS0098 - value(3; Prepayment) -#pragma warning restore AS0098 - { - Caption = 'Prepayment'; - ObsoleteState = Pending; - ObsoleteReason = 'Remove after Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '21.0'; - } -} -#endif diff --git a/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETCashRegisterType.EnumExt.al b/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETCashRegisterTypeCZP.EnumExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETCashRegisterType.EnumExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/EETCashRegisterTypeCZP.EnumExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/ManualSetupCategory.EnumExt.al b/Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/ManualSetupCategoryCZP.EnumExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/ManualSetupCategory.EnumExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/EnumExensions/ManualSetupCategoryCZP.EnumExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/BankAccountType.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/BankAccountTypeCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/BankAccountType.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/BankAccountTypeCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDeskRepSelUsage.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDeskRepSelUsageCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDeskRepSelUsage.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDeskRepSelUsageCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentAccountType.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentAccountTypeCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentAccountType.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentAccountTypeCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentAction.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentActionCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentAction.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentActionCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentFAPostType.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentFAPostTypeCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentFAPostType.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentFAPostTypeCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentGenDocType.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentGenDocTypeCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentGenDocType.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentGenDocTypeCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentPartnerType.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentPartnerTypeCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentPartnerType.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentPartnerTypeCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentStatus.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentStatusCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentStatus.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentStatusCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentType.Enum.al b/Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentTypeCZP.Enum.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentType.Enum.al rename to Apps/CZ/CashDeskLocalization/app/Src/Enums/CashDocumentTypeCZP.Enum.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/ApprovalUserSetup.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/ApprovalUserSetupCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/ApprovalUserSetup.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/ApprovalUserSetupCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountBalance.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountBalanceCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountBalance.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountBalanceCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountCard.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountCardCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountCard.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountCardCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountLedgEntries.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountLedgEntriesCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountLedgEntries.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountLedgEntriesCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountList.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountListCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountList.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BankAccountListCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BusinessManagerRC.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BusinessManagerRCCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BusinessManagerRC.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/BusinessManagerRCCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/Currencies.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/CurrenciesCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/Currencies.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/CurrenciesCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/FinanceManagerRC.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/FinanceManagerRCCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/FinanceManagerRC.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/FinanceManagerRCCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/GeneralLedgerSetupCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/GeneralLedgerSetupCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/PaymentMethods.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/PaymentMethodsCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/PaymentMethods.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/PaymentMethodsCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/SourceCodeSetup.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/SourceCodeSetupCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/SourceCodeSetup.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/SourceCodeSetupCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/UserSetup.PageExt.al b/Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/UserSetupCZP.PageExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/UserSetup.PageExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/PageExtensions/UserSetupCZP.PageExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskActivities.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskActivitiesCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskActivities.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskActivitiesCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskCard.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskCardCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskCard.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskCardCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEvents.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEventsCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEvents.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEventsCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEventsSetup.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEventsSetupCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEventsSetup.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskEventsSetupCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskFactBox.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskFactBoxCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskFactBox.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskFactBoxCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskList.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskListCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskList.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskListCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskRoleCenter.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskRoleCenterCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskRoleCenter.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskRoleCenterCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskStatistics.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskStatisticsCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskStatistics.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskStatisticsCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskUsers.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskUsersCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskUsers.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDeskUsersCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocument.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentCZP.Page.al similarity index 99% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocument.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentCZP.Page.al index f15075d474..529ce44814 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocument.Page.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentCZP.Page.al @@ -594,7 +594,7 @@ page 31160 "Cash Document CZP" { ApplicationArea = Suite; Caption = 'Send A&pproval Request'; - Enabled = NOT OpenApprovalEntriesExist; + Enabled = not OpenApprovalEntriesExist; Image = SendApprovalRequest; ToolTip = 'Relations to the workflow.'; @@ -870,7 +870,6 @@ page 31160 "Cash Document CZP" ChangeExchangeRate: Page "Change Exchange Rate"; NavigateAfterPost: Option "Posted Document","New Document","Do Nothing"; NavigateAfterRelease: Option "Released Document","New Document","Do Nothing"; - [InDataSet] DateEditable: Boolean; ReceiptEditable: Boolean; WithdrawalEditable: Boolean; diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentLines.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentLinesCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentLines.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentLinesCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentList.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentListCZP.Page.al similarity index 99% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentList.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentListCZP.Page.al index 4a34801fc6..6749811803 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentList.Page.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentListCZP.Page.al @@ -302,7 +302,7 @@ page 31162 "Cash Document List CZP" { ApplicationArea = Suite; Caption = 'Send A&pproval Request'; - Enabled = NOT OpenApprovalEntriesExist; + Enabled = not OpenApprovalEntriesExist; Image = SendApprovalRequest; ToolTip = 'Relations to the workflow.'; @@ -382,12 +382,14 @@ page 31162 "Cash Document List CZP" { } #if not CLEAN22 +#pragma warning disable AL0432 actionref(ReleaseAndPrintPromoted; "Release and &Print") { ObsoleteState = Pending; ObsoleteReason = 'The action will only be available on the card page of the cash document.'; ObsoleteTag = '22.0'; } +#pragma warning restore AL0432 #endif actionref(ReopenPromoted; "Re&open") { diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentStatistics.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentStatisticsCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentStatistics.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentStatisticsCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentSubform.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentSubformCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentSubform.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CashDocumentSubformCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/CurrencyNominalValues.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/CurrencyNominalValuesCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/CurrencyNominalValues.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/CurrencyNominalValuesCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocument.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocument.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentLines.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentLinesCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentLines.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentLinesCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentList.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentListCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentList.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentListCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentStat.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentStatCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentStat.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentStatCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentSubf.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentSubfCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentSubf.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/PostedCashDocumentSubfCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Pages/ReportSelectionCashDesk.Page.al b/Apps/CZ/CashDeskLocalization/app/Src/Pages/ReportSelectionCashDeskCZP.Page.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Pages/ReportSelectionCashDesk.Page.al rename to Apps/CZ/CashDeskLocalization/app/Src/Pages/ReportSelectionCashDeskCZP.Page.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskEdit.PermissionSet.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskEditCZP.PermissionSet.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskEdit.PermissionSet.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskEditCZP.PermissionSet.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskObjects.PermissionSet.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskObjectsCZP.PermissionSet.al similarity index 98% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskObjects.PermissionSet.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskObjectsCZP.PermissionSet.al index 72120d25de..e36c31a2f8 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskObjects.PermissionSet.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskObjectsCZP.PermissionSet.al @@ -29,6 +29,7 @@ permissionset 11782 "CZ Cash Desk - Objects CZP" Codeunit "Gen. Ledger Setup Handler CZP" = X, Codeunit "Guided Experience Handler CZP" = X, Codeunit "Install Application CZP" = X, + Codeunit "Manual Cross App. Handler CZP" = X, Codeunit "Navigate Handler CZP" = X, Codeunit "Notification Handler CZP" = X, Codeunit "Purchase Handler CZP" = X, diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskRead.PermissionSet.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskReadCZP.PermissionSet.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskRead.PermissionSet.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/CZCashDeskReadCZP.PermissionSet.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365AUTOMATIONCZP.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365AUTOMATIONCZP.PermissionSetExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASIC.PermissionSetExt.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASICCZP.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASIC.PermissionSetExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASICCZP.PermissionSetExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASICISV.PermissionSetExt.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASICISVCZP.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASICISV.PermissionSetExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365BASICISVCZP.PermissionSetExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365READ.PermissionSetExt.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365READCZP.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365READ.PermissionSetExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365READCZP.PermissionSetExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365TEAMMEMBER.PermissionSetExt.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365TEAMMEMBERCZP.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365TEAMMEMBER.PermissionSetExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/D365TEAMMEMBERCZP.PermissionSetExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/INTELLIGENTCLOUD.PermissionSetExt.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZP.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/INTELLIGENTCLOUD.PermissionSetExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZP.PermissionSetExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Permissions/LOCAL.PermissionSetExt.al b/Apps/CZ/CashDeskLocalization/app/Src/Permissions/LOCALCZP.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Permissions/LOCAL.PermissionSetExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/Permissions/LOCALCZP.PermissionSetExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Profiles/CashDeskWorker.Profile.al b/Apps/CZ/CashDeskLocalization/app/Src/Profiles/CashDeskWorkerCZP.Profile.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Profiles/CashDeskWorker.Profile.al rename to Apps/CZ/CashDeskLocalization/app/Src/Profiles/CashDeskWorkerCZP.Profile.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskAccountBook.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskAccountBookCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskAccountBook.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskAccountBookCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskBook.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskBookCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskBook.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskBookCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskHandOver.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskHandOverCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskHandOver.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskHandOverCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskInventory.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskInventoryCZP.Report.al similarity index 99% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskInventory.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskInventoryCZP.Report.al index b91d458ffe..095d5fe9e0 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskInventory.Report.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Reports/CashDeskInventoryCZP.Report.al @@ -37,7 +37,7 @@ report 11726 "Cash Desk Inventory CZP" } dataitem(CurrencyNominalValueCZP; "Currency Nominal Value CZP") { - DataItemTableView = sorting("Currency Code", "Nominal Value") order(Descending); + DataItemTableView = sorting("Currency Code", "Nominal Value") order(descending); DataItemLink = "Currency Code" = field("Currency Code"); column(NominalValue; "Nominal Value") @@ -481,7 +481,6 @@ report 11726 "Cash Desk Inventory CZP" ShowBalance: Boolean; CashDeskBalance: Decimal; CashDeskNo: Code[20]; - [InDataSet] FieldsNo: Integer; ReportFilterTxt: Label '%1, %2 to %3', Comment = '%1 = Cash Desk Name, %2 = Cash Desk Currency Code", %3 = Date'; EmptyCashDeskNoErr: Label 'Cash Desk No. cannot be empty.'; @@ -510,10 +509,10 @@ report 11726 "Cash Desk Inventory CZP" FieldsNo -= 1; end; - local procedure CheckCashDeskNo(CashDeskNo: Code[20]) + local procedure CheckCashDeskNo(CashDeskNo2: Code[20]) var CashDeskManagementCZP: Codeunit "Cash Desk Management CZP"; begin - CashDeskManagementCZP.CheckCashDesk(CashDeskNo); + CashDeskManagementCZP.CheckCashDesk(CashDeskNo2); end; } diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/CopyCashDocument.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/CopyCashDocumentCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/CopyCashDocument.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/CopyCashDocumentCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedRcptCashDocument.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedRcptCashDocumentCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedRcptCashDocument.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedRcptCashDocumentCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedWdrlCashDocument.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedWdrlCashDocumentCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedWdrlCashDocument.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/PostedWdrlCashDocumentCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/ReceiptCashDocument.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/ReceiptCashDocumentCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/ReceiptCashDocument.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/ReceiptCashDocumentCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Reports/WithdrawalCashDocument.Report.al b/Apps/CZ/CashDeskLocalization/app/Src/Reports/WithdrawalCashDocumentCZP.Report.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Reports/WithdrawalCashDocument.Report.al rename to Apps/CZ/CashDeskLocalization/app/Src/Reports/WithdrawalCashDocumentCZP.Report.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/BankAccount.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/BankAccountCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/BankAccount.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/BankAccountCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/GeneralLedgerSetup.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/GeneralLedgerSetupCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/GeneralLedgerSetup.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/GeneralLedgerSetupCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PaymentMethod.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PaymentMethodCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PaymentMethod.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PaymentMethodCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchCrMemoHdr.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchCrMemoHdrCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchCrMemoHdr.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchCrMemoHdrCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchInvHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchInvHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchInvHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchInvHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchaseHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchaseHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchaseHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/PurchaseHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesCrMemoHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesCrMemoHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesCrMemoHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesCrMemoHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesInvoiceHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesInvoiceHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesInvoiceHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SalesInvoiceHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceCrMemoHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceCrMemoHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceCrMemoHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceCrMemoHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceInvoiceHeader.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceInvoiceHeaderCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceInvoiceHeader.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/ServiceInvoiceHeaderCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SourceCodeSetup.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SourceCodeSetupCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SourceCodeSetup.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/SourceCodeSetupCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/UserSetup.TableExt.al b/Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/UserSetupCZP.TableExt.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/UserSetup.TableExt.al rename to Apps/CZ/CashDeskLocalization/app/Src/TableExtensions/UserSetupCZP.TableExt.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDesk.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDesk.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskCue.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskCueCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskCue.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskCueCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskEvent.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskEventCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskEvent.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskEventCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskRepSelections.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskRepSelectionsCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskRepSelections.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskRepSelectionsCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskUser.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskUserCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskUser.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDeskUserCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentHeader.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentHeaderCZP.Table.al similarity index 97% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentHeader.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentHeaderCZP.Table.al index a414557617..21e66bc1f6 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentHeader.Table.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentHeaderCZP.Table.al @@ -762,36 +762,6 @@ table 11732 "Cash Document Header CZP" Validate("Currency Factor", xRec."Currency Factor") end; -#if not CLEAN21 -#pragma warning disable AL0432,AS0072 - [Obsolete('Use procedure CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]) instead', '21.0')] - procedure CreateDim(Type1: Integer; No1: Code[20]; Type2: Integer; No2: Code[20]; Type3: Integer; No3: Code[20]; Type4: Integer; No4: Code[20]) - var - SourceCodeSetup: Record "Source Code Setup"; - DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; - OldDimSetID: Integer; - begin - SourceCodeSetup.Get(); - DimensionManagement.AddDimSource(DefaultDimSource, Type1, No1); - DimensionManagement.AddDimSource(DefaultDimSource, Type2, No2); - DimensionManagement.AddDimSource(DefaultDimSource, Type3, No3); - DimensionManagement.AddDimSource(DefaultDimSource, Type4, No4); - "Shortcut Dimension 1 Code" := ''; - "Shortcut Dimension 2 Code" := ''; - OldDimSetID := "Dimension Set ID"; - "Dimension Set ID" := - DimensionManagement.GetRecDefaultDimID( - Rec, CurrFieldNo, DefaultDimSource, SourceCodeSetup."Cash Desk CZP", - "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code", 0, 0); - - if (OldDimSetID <> "Dimension Set ID") and CashDocLinesExist() then begin - Modify(); - UpdateAllLineDim("Dimension Set ID", OldDimSetID); - end; - end; -#pragma warning restore AL0432,AS0072 -#endif - procedure CreateDimFromDefaultDim(FieldNo: Integer) var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLine.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLineCZP.Table.al similarity index 98% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLine.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLineCZP.Table.al index 709c54c63b..22fc951436 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLine.Table.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLineCZP.Table.al @@ -1008,32 +1008,6 @@ table 11733 "Cash Document Line CZP" DimensionManagement.UpdateGlobalDimFromDimSetID("Dimension Set ID", "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code"); end; -#if not CLEAN21 -#pragma warning disable AL0432,AS0072 - [Obsolete('Use procedure CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]) instead', '21.0')] - procedure CreateDim(Type1: Integer; No1: Code[20]; Type2: Integer; No2: Code[20]; Type3: Integer; No3: Code[20]; Type4: Integer; No4: Code[20]) - var - SourceCodeSetup: Record "Source Code Setup"; - DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; - begin - SourceCodeSetup.Get(); - DimensionManagement.AddDimSource(DefaultDimSource, Type1, No1); - DimensionManagement.AddDimSource(DefaultDimSource, Type2, No2); - DimensionManagement.AddDimSource(DefaultDimSource, Type3, No3); - DimensionManagement.AddDimSource(DefaultDimSource, Type4, No4); - "Shortcut Dimension 1 Code" := ''; - "Shortcut Dimension 2 Code" := ''; - GetCashDocumentHeaderCZP(); - "Dimension Set ID" := - DimensionManagement.GetRecDefaultDimID( - Rec, CurrFieldNo, DefaultDimSource, SourceCodeSetup."Cash Desk CZP", - "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code", - CashDocumentHeaderCZP."Dimension Set ID", Type1); - DimensionManagement.UpdateGlobalDimFromDimSetID("Dimension Set ID", "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code"); - end; -#pragma warning restore AL0432,AS0072 -#endif - procedure CreateDimFromDefaultDim(FieldNo: Integer) var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; @@ -1168,14 +1142,19 @@ table 11733 "Cash Document Line CZP" var GenJournalLine: Record "Gen. Journal Line"; CashDocumentPostCZP: Codeunit "Cash Document-Post CZP"; + ManualCrossAppHandlerCZP: Codeunit "Manual Cross App. Handler CZP"; begin CashDocumentHeaderCZP.Get("Cash Desk No.", "Cash Document No."); if "Account Type" = "Account Type"::Customer then CashDocumentHeaderCZP.TestNotEETCashRegister(); CashDocumentPostCZP.InitGenJnlLine(CashDocumentHeaderCZP, Rec); CashDocumentPostCZP.GetGenJnlLine(GenJournalLine); + BindSubscription(ManualCrossAppHandlerCZP); Codeunit.Run(Codeunit::"Gen. Jnl.-Apply", GenJournalLine); - "Applies-to ID" := GenJournalLine."Applies-to ID"; + "Applies-to ID" := ManualCrossAppHandlerCZP.GetAppliesToID(); + UnbindSubscription(ManualCrossAppHandlerCZP); + if "Applies-to ID" = '' then + "Applies-to ID" := GenJournalLine."Applies-to ID"; if Amount = 0 then if CashDocumentHeaderCZP."Amounts Including VAT" then Validate(Amount, SignAmount() * GenJournalLine.Amount) diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CurrencyNominalValue.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CurrencyNominalValueCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/CurrencyNominalValue.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/CurrencyNominalValueCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentHdr.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentHdrCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentHdr.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentHdrCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentLine.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentLineCZP.Table.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentLine.Table.al rename to Apps/CZ/CashDeskLocalization/app/Src/Tables/PostedCashDocumentLineCZP.Table.al diff --git a/Apps/CZ/CashDeskLocalization/app/app.json b/Apps/CZ/CashDeskLocalization/app/app.json index f47f454a5c..aab7e3a216 100644 --- a/Apps/CZ/CashDeskLocalization/app/app.json +++ b/Apps/CZ/CashDeskLocalization/app/app.json @@ -2,7 +2,7 @@ "id": "bc0899d1-2cc9-4091-93f8-032538dbb70f", "name": "Cash Desk Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides functionality for cash desk operations in Business Central for the Czech Republic.", "description": "The Cash Desk solution helps companies meet regulatory requirements for cash desk operations in the Czech Republic. The Cash Desks and Cash Documents features allow you to define cash accounts and cash desks for physical receipt and withdrawal of cash. You can set up number series for receipt cash documents and withdrawal cash documents. Cash Desk events are pre-defined cases that simplify document entry. One or more users can be responsible for managing Cash Desk operations, and they can take turns handling the responsibility.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,18 +16,18 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "Cloud", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/CashDeskLocalization/test/Src/CashDeskDocuments.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/CashDeskDocumentsCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/CashDeskDocuments.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/CashDeskDocumentsCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/Src/CashDeskPurchase.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/CashDeskPurchaseCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/CashDeskPurchase.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/CashDeskPurchaseCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/Src/CashDeskReports.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/CashDeskReportsCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/CashDeskReports.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/CashDeskReportsCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/Src/CashDeskSales.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/CashDeskSalesCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/CashDeskSales.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/CashDeskSalesCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/Src/CashDeskService.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/CashDeskServiceCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/CashDeskService.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/CashDeskServiceCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/Src/CashDocumentAttachments.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/CashDocumentAttachmentsCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/CashDocumentAttachments.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/CashDocumentAttachmentsCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/Src/ERMDimensionSubscriber.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/ERMDimensionSubscriberCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/ERMDimensionSubscriber.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/ERMDimensionSubscriberCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDesk.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDeskCZP.Codeunit.al similarity index 99% rename from Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDesk.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDeskCZP.Codeunit.al index 93a8ef6b5d..3bc89dab64 100644 --- a/Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDesk.Codeunit.al +++ b/Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDeskCZP.Codeunit.al @@ -45,7 +45,6 @@ codeunit 148001 "Library - Cash Desk CZP" end; procedure CreateCashDeskUserCZP(var CashDeskUserCZP: Record "Cash Desk User CZP"; CashDeskNo: Code[20]; Create: Boolean; Issue: Boolean; Post: Boolean) - var begin if not CashDeskUserCZP.Get(CashDeskNo, UserId) then begin CashDeskUserCZP.Init(); diff --git a/Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDocument.Codeunit.al b/Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDocumentCZP.Codeunit.al similarity index 100% rename from Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDocument.Codeunit.al rename to Apps/CZ/CashDeskLocalization/test/Src/LibraryCashDocumentCZP.Codeunit.al diff --git a/Apps/CZ/CashDeskLocalization/test/app.json b/Apps/CZ/CashDeskLocalization/test/app.json index 4cf0179a2d..b2288f4aca 100644 --- a/Apps/CZ/CashDeskLocalization/test/app.json +++ b/Apps/CZ/CashDeskLocalization/test/app.json @@ -2,7 +2,7 @@ "id": "d4a6843d-10a0-491b-bb0c-c1cca86eece2", "name": "Cash Desk Localization for Czech Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Cash Desk Localization for Czech application.", "description": "Tests for the Cash Desk Localization for Czech application.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,31 +16,31 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "bc0899d1-2cc9-4091-93f8-032538dbb70f", "name": "Cash Desk Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 148000, @@ -53,5 +53,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualRelease.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualReleaseCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualRelease.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualReleaseCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualReopen.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualReopenCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualReopen.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompDocManualReopenCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationApprovMgt.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationApprovMgtCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationApprovMgt.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationApprovMgtCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationManagement.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationManagementCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationManagement.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationManagementCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPost.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPost.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostPrint.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostPrintCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostPrint.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostPrintCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostYesNo.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostYesNoCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostYesNo.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CompensationPostYesNoCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CrossApplicationHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CrossApplicationHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CrossApplicationHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CustomerHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/CustomerHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/CustomerHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/CustomerHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/DataClassEvalHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/DataClassEvalHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/DocAttachmentHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/DocAttachmentHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/GLAccWhereUsedHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/GLAccWhereUsedHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/GLAccWhereUsedHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/GLAccWhereUsedHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/GenJournalLineHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/GenJournalLineHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/GuidedExperienceHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/IncomingDocumentHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/IncomingDocumentHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/IncomingDocumentHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/IncomingDocumentHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplicationCZC.Codeunit.al similarity index 98% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplicationCZC.Codeunit.al index 0330d23cc6..9b91b90b92 100644 --- a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplication.Codeunit.al +++ b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplicationCZC.Codeunit.al @@ -92,6 +92,7 @@ codeunit 31270 "Install Application CZC" CopyPostedCreditLine(); CopyPostedGenJournalLine(); MoveIncomingDocument(); + InitCompensationSourceCode(); end; local procedure CopySourceCodeSetup(); @@ -336,13 +337,23 @@ codeunit 31270 "Install Application CZC" UpgradeTag: Codeunit "Upgrade Tag"; begin InitCompensationsSetup(); - InitCompensationSourceCode(); + CreateCompensationSourceCode(); InitCompensationReportSelections(); DataClassEvalHandlerCZC.ApplyEvaluationClassificationsForPrivacy(); UpgradeTag.SetAllUpgradeTags(); end; + local procedure CreateCompensationSourceCode() + var + SourceCodeSetup: Record "Source Code Setup"; + begin + if not SourceCodeSetup.Get() then + exit; + if SourceCodeSetup."Compensation CZC" = '' then + InitCompensationSourceCode(); + end; + local procedure InitCompensationsSetup() var CompensationsSetupCZC: Record "Compensations Setup CZC"; diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/NavigateHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/NavigateHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/NavigateHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/NotificationHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/NotificationHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/NotificationHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/PostingGroupMgtHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/PostingGroupMgtHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/PostingGroupMgtHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/PostingGroupMgtHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/ReleaseCompensDocument.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/ReleaseCompensDocumentCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/ReleaseCompensDocument.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/ReleaseCompensDocumentCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeApplicationCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeApplication.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeApplicationCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/UpgradeTagDefinitionsCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/VendorHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/VendorHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/VendorHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/VendorHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/WorkflowHandlerCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Codeunits/WorkflowHandler.Codeunit.al rename to Apps/CZ/CompensationLocalization/app/Src/Codeunits/WorkflowHandlerCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/IncomingRelatedDocType.EnumExt.al b/Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/IncomingRelatedDocTypeCZC.EnumExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/IncomingRelatedDocType.EnumExt.al rename to Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/IncomingRelatedDocTypeCZC.EnumExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al b/Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/ManualSetupCategoryCZC.EnumExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al rename to Apps/CZ/CompensationLocalization/app/Src/EnumExtensions/ManualSetupCategoryCZC.EnumExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensProposalMethod.Enum.al b/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensProposalMethodCZC.Enum.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Enums/CompensProposalMethod.Enum.al rename to Apps/CZ/CompensationLocalization/app/Src/Enums/CompensProposalMethodCZC.Enum.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensReportSelUsage.Enum.al b/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensReportSelUsageCZC.Enum.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Enums/CompensReportSelUsage.Enum.al rename to Apps/CZ/CompensationLocalization/app/Src/Enums/CompensReportSelUsageCZC.Enum.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationCompanyType.Enum.al b/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationCompanyTypeCZC.Enum.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationCompanyType.Enum.al rename to Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationCompanyTypeCZC.Enum.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationSourceType.Enum.al b/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationSourceTypeCZC.Enum.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationSourceType.Enum.al rename to Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationSourceTypeCZC.Enum.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationStatus.Enum.al b/Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationStatusCZC.Enum.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationStatus.Enum.al rename to Apps/CZ/CompensationLocalization/app/Src/Enums/CompensationStatusCZC.Enum.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al b/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZC.PageExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/PageExtensions/AccountantCZRoleCenter.PageExt.al rename to Apps/CZ/CompensationLocalization/app/Src/PageExtensions/AccountantCZRoleCenterCZC.PageExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al b/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/CustomerLedgerEntriesCZC.PageExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al rename to Apps/CZ/CompensationLocalization/app/Src/PageExtensions/CustomerLedgerEntriesCZC.PageExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/PaymentJournal.PageExt.al b/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/PaymentJournalCZC.PageExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/PageExtensions/PaymentJournal.PageExt.al rename to Apps/CZ/CompensationLocalization/app/Src/PageExtensions/PaymentJournalCZC.PageExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/SourceCodeSetup.PageExt.al b/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/SourceCodeSetupCZC.PageExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/PageExtensions/SourceCodeSetup.PageExt.al rename to Apps/CZ/CompensationLocalization/app/Src/PageExtensions/SourceCodeSetupCZC.PageExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al b/Apps/CZ/CompensationLocalization/app/Src/PageExtensions/VendorLedgerEntriesCZC.PageExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al rename to Apps/CZ/CompensationLocalization/app/Src/PageExtensions/VendorLedgerEntriesCZC.PageExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensCustLESubform.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensCustLESubformCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensCustLESubform.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensCustLESubformCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensReportSelections.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensReportSelectionsCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensReportSelections.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensReportSelectionsCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensVendorLESubform.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensVendorLESubformCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensVendorLESubform.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensVendorLESubformCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationCard.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationCardCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationCard.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationCardCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationLines.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationLinesCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationLines.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationLinesCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationList.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationListCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationList.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationListCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationProposal.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationProposalCZC.Page.al similarity index 99% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationProposal.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationProposalCZC.Page.al index 792d2db18f..0dbbaa09d7 100644 --- a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationProposal.Page.al +++ b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationProposalCZC.Page.al @@ -259,7 +259,7 @@ page 31276 "Compensation Proposal CZC" Vendor.Get(SourceNo); if Vendor."Registration Number" <> '' then begin Customer.SetRange("Registration Number", Vendor."Registration Number"); - if Customer.FindSet(false, false) then + if Customer.FindSet(false) then repeat if RecFilter = '' then RecFilter := Customer."No." @@ -318,7 +318,7 @@ page 31276 "Compensation Proposal CZC" ContactBusinessRelation.SetRange("Contact No.", ContactNo); ContactBusinessRelation.SetRange("Link to Table", LinkToTable); - if ContactBusinessRelation.FindSet(false, false) then + if ContactBusinessRelation.FindSet(false) then repeat if ValueFilter = '' then ValueFilter := ContactBusinessRelation."No." diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationSubform.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationSubformCZC.Page.al similarity index 99% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationSubform.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationSubformCZC.Page.al index f426ef5073..7cfbe1c36d 100644 --- a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationSubform.Page.al +++ b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationSubformCZC.Page.al @@ -75,7 +75,6 @@ page 31273 "Compensation Subform CZC" field(Description; Rec.Description) { ApplicationArea = Basic, Suite; - Editable = false; ToolTip = 'Specifies description for compensation.'; } field("Currency Code"; Rec."Currency Code") diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationsSetup.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationsSetupCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationsSetup.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/CompensationsSetupCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationCard.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationCardCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationCard.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationCardCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationLines.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationLinesCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationLines.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationLinesCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationList.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationListCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationList.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationListCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationSubf.Page.al b/Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationSubfCZC.Page.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationSubf.Page.al rename to Apps/CZ/CompensationLocalization/app/Src/Pages/PostedCompensationSubfCZC.Page.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationEdit.PermissionSet.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationEditCZC.PermissionSet.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationEdit.PermissionSet.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationEditCZC.PermissionSet.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationObjects.PermissionSet.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationObjectsCZC.PermissionSet.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationObjects.PermissionSet.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationObjectsCZC.PermissionSet.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationRead.PermissionSet.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationReadCZC.PermissionSet.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationRead.PermissionSet.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/CZCompensationReadCZC.PermissionSet.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/D365AUTOMATIONCZC.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/D365AUTOMATIONCZC.PermissionSetExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/d365basic.permissionsetext.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/D365BASICCZC.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/d365basic.permissionsetext.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/D365BASICCZC.PermissionSetExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/d365basicisv.permissionsetext.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/D365BASICISVCZC.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/d365basicisv.permissionsetext.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/D365BASICISVCZC.PermissionSetExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/d365read.permissionsetext.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/D365READCZC.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/d365read.permissionsetext.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/D365READCZC.PermissionSetExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/d365teammember.permissionsetext.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/D365TEAMMEMBERCZC.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/d365teammember.permissionsetext.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/D365TEAMMEMBERCZC.PermissionSetExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/intelligentcloud.permissionsetext.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZC.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/intelligentcloud.permissionsetext.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/INTELLIGENTCLOUDCZC.PermissionSetExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Permissions/LOCAL.PermissionSetExt.al b/Apps/CZ/CompensationLocalization/app/Src/Permissions/LOCALCZC.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Permissions/LOCAL.PermissionSetExt.al rename to Apps/CZ/CompensationLocalization/app/Src/Permissions/LOCALCZC.PermissionSetExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Reports/Compensation.Report.al b/Apps/CZ/CompensationLocalization/app/Src/Reports/CompensationCZC.Report.al similarity index 98% rename from Apps/CZ/CompensationLocalization/app/Src/Reports/Compensation.Report.al rename to Apps/CZ/CompensationLocalization/app/Src/Reports/CompensationCZC.Report.al index 2ae0122ce6..4a7d18d490 100644 --- a/Apps/CZ/CompensationLocalization/app/Src/Reports/Compensation.Report.al +++ b/Apps/CZ/CompensationLocalization/app/Src/Reports/CompensationCZC.Report.al @@ -375,8 +375,8 @@ report 31270 "Compensation CZC" CompanyRegistrationNo := Contact."Registration Number"; end; - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); end; trigger OnPreDataItem() @@ -419,7 +419,7 @@ report 31270 "Compensation CZC" CustLedgerEntry: Record "Cust. Ledger Entry"; GeneralLedgerSetup: Record "General Ledger Setup"; TempCustomerCompensationLineCZC, TempVendorCompensationLineCZC : Record "Compensation Line CZC" temporary; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; CompanyName, CompanyAddress, CompanyRegistrationNo, RemaningCompanyName : Text; CustomerDueDate, VendorDueDate : Date; NoOfCopies, NoOfLoops, OutputCounter : Integer; diff --git a/Apps/CZ/CompensationLocalization/app/Src/Reports/PostedCompensation.Report.al b/Apps/CZ/CompensationLocalization/app/Src/Reports/PostedCompensationCZC.Report.al similarity index 98% rename from Apps/CZ/CompensationLocalization/app/Src/Reports/PostedCompensation.Report.al rename to Apps/CZ/CompensationLocalization/app/Src/Reports/PostedCompensationCZC.Report.al index e5da7b80bb..ec9c085c1f 100644 --- a/Apps/CZ/CompensationLocalization/app/Src/Reports/PostedCompensation.Report.al +++ b/Apps/CZ/CompensationLocalization/app/Src/Reports/PostedCompensationCZC.Report.al @@ -246,7 +246,7 @@ report 31271 "Posted Compensation CZC" } dataitem(CustomerInteger; Integer) { - DataItemTableView = sorting(Number) where(Number = FILTER(1 ..)); + DataItemTableView = sorting(Number) where(Number = filter(1 ..)); column(CustomerInteger_Name; StrSubstNo(RemainingReceivablesAndPayablesTxt, RemaningCompanyName)) { } @@ -308,7 +308,7 @@ report 31271 "Posted Compensation CZC" } dataitem(Summary; Integer) { - DataItemTableView = sorting(Number) where(Number = FILTER(1 ..)); + DataItemTableView = sorting(Number) where(Number = filter(1 ..)); MaxIteration = 1; column(WORKDATE; Format(WorkDate())) { @@ -375,8 +375,8 @@ report 31271 "Posted Compensation CZC" CompanyRegistrationNo := Contact."Registration Number"; end; - CurrReport.Language := Language.GetLanguageIdOrDefault("Language Code"); - CurrReport.FormatRegion := Language.GetFormatRegionOrDefault("Format Region"); + CurrReport.Language := LanguageMgt.GetLanguageIdOrDefault("Language Code"); + CurrReport.FormatRegion := LanguageMgt.GetFormatRegionOrDefault("Format Region"); end; trigger OnPreDataItem() @@ -419,7 +419,7 @@ report 31271 "Posted Compensation CZC" CustLedgerEntry: Record "Cust. Ledger Entry"; GeneralLedgerSetup: Record "General Ledger Setup"; TempCustomerPostedCompensationLineCZC, TempVendorPostedCompensationLineCZC : Record "Posted Compensation Line CZC" temporary; - Language: Codeunit Language; + LanguageMgt: Codeunit Language; CompanyName, CompanyAddress, CompanyRegistrationNo, RemaningCompanyName : Text; CustomerDueDate, VendorDueDate : Date; NoOfCopies, NoOfLoops, OutputCounter : Integer; diff --git a/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/CustLedgerEntry.TableExt.al b/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/CustLedgerEntryCZC.TableExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/TableExtensions/CustLedgerEntry.TableExt.al rename to Apps/CZ/CompensationLocalization/app/Src/TableExtensions/CustLedgerEntryCZC.TableExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/GenJournalLine.TableExt.al b/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/GenJournalLineCZC.TableExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/TableExtensions/GenJournalLine.TableExt.al rename to Apps/CZ/CompensationLocalization/app/Src/TableExtensions/GenJournalLineCZC.TableExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/IncomingDocument.TableExt.al b/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/IncomingDocumentCZC.TableExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/TableExtensions/IncomingDocument.TableExt.al rename to Apps/CZ/CompensationLocalization/app/Src/TableExtensions/IncomingDocumentCZC.TableExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/PostedGenJournalLine.TableExt.al b/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/PostedGenJournalLineCZC.TableExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/TableExtensions/PostedGenJournalLine.TableExt.al rename to Apps/CZ/CompensationLocalization/app/Src/TableExtensions/PostedGenJournalLineCZC.TableExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/SourceCodeSetup.TableExt.al b/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/SourceCodeSetupCZC.TableExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/TableExtensions/SourceCodeSetup.TableExt.al rename to Apps/CZ/CompensationLocalization/app/Src/TableExtensions/SourceCodeSetupCZC.TableExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/UserSetup.TableExt.al b/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/UserSetupCZC.TableExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/TableExtensions/UserSetup.TableExt.al rename to Apps/CZ/CompensationLocalization/app/Src/TableExtensions/UserSetupCZC.TableExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/VendorLedgerEntry.TableExt.al b/Apps/CZ/CompensationLocalization/app/Src/TableExtensions/VendorLedgerEntryCZC.TableExt.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/TableExtensions/VendorLedgerEntry.TableExt.al rename to Apps/CZ/CompensationLocalization/app/Src/TableExtensions/VendorLedgerEntryCZC.TableExt.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensReportSelections.Table.al b/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensReportSelectionsCZC.Table.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Tables/CompensReportSelections.Table.al rename to Apps/CZ/CompensationLocalization/app/Src/Tables/CompensReportSelectionsCZC.Table.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationHeader.Table.al b/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationHeaderCZC.Table.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationHeader.Table.al rename to Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationHeaderCZC.Table.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationLine.Table.al b/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationLineCZC.Table.al similarity index 99% rename from Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationLine.Table.al rename to Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationLineCZC.Table.al index c5c61c5498..3d4f946556 100644 --- a/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationLine.Table.al +++ b/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationLineCZC.Table.al @@ -63,6 +63,7 @@ table 31273 "Compensation Line CZC" if ("Source Type" = const(Vendor)) "Vendor Posting Group"; DataClassification = CustomerContent; #if not CLEAN22 +#pragma warning disable AL0432 trigger OnValidate() var @@ -71,6 +72,7 @@ table 31273 "Compensation Line CZC" if CurrFieldNo = FieldNo("Posting Group") then PostingGroupManagementCZL.CheckPostingGroupChange("Posting Group", xRec."Posting Group", Rec); end; +#pragma warning restore AL0432 #else trigger OnValidate() diff --git a/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationsSetup.Table.al b/Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationsSetupCZC.Table.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationsSetup.Table.al rename to Apps/CZ/CompensationLocalization/app/Src/Tables/CompensationsSetupCZC.Table.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationHeader.Table.al b/Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationHeaderCZC.Table.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationHeader.Table.al rename to Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationHeaderCZC.Table.al diff --git a/Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationLine.Table.al b/Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationLineCZC.Table.al similarity index 100% rename from Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationLine.Table.al rename to Apps/CZ/CompensationLocalization/app/Src/Tables/PostedCompensationLineCZC.Table.al diff --git a/Apps/CZ/CompensationLocalization/app/app.json b/Apps/CZ/CompensationLocalization/app/app.json index eb673384a5..631d78a2c6 100644 --- a/Apps/CZ/CompensationLocalization/app/app.json +++ b/Apps/CZ/CompensationLocalization/app/app.json @@ -2,7 +2,7 @@ "id": "2078250c-40a0-40da-812a-8d635104dc80", "name": "Compensation Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides functionality for offsetting receivables and payables in Business Central for the Czech Republic.", "description": "The Compensation app helps you offset receivables and payables when your customer is also your supplier. You can create entries either manually or automatically on the Compensation card and print the Agreement on Mutual Settlement of Receivables and Payables according to Czech legislation.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,18 +16,18 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "Cloud", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/CompensationLocalization/test/Src/Compensations.Codeunit.al b/Apps/CZ/CompensationLocalization/test/Src/CompensationsCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/test/Src/Compensations.Codeunit.al rename to Apps/CZ/CompensationLocalization/test/Src/CompensationsCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/test/Src/CompensationsReports.Codeunit.al b/Apps/CZ/CompensationLocalization/test/Src/CompensationsReportsCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/test/Src/CompensationsReports.Codeunit.al rename to Apps/CZ/CompensationLocalization/test/Src/CompensationsReportsCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/test/Src/ERMDimensionSubscriber.Codeunit.al b/Apps/CZ/CompensationLocalization/test/Src/ERMDimensionSubscriberCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/test/Src/ERMDimensionSubscriber.Codeunit.al rename to Apps/CZ/CompensationLocalization/test/Src/ERMDimensionSubscriberCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/test/Src/ERMGLAccountWhereUsed.Codeunit.al b/Apps/CZ/CompensationLocalization/test/Src/ERMGLAccountWhereUsedCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/test/Src/ERMGLAccountWhereUsed.Codeunit.al rename to Apps/CZ/CompensationLocalization/test/Src/ERMGLAccountWhereUsedCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/test/Src/IncomingDocuments.Codeunit.al b/Apps/CZ/CompensationLocalization/test/Src/IncomingDocumentsCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/test/Src/IncomingDocuments.Codeunit.al rename to Apps/CZ/CompensationLocalization/test/Src/IncomingDocumentsCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/test/Src/LibraryCompensation.Codeunit.al b/Apps/CZ/CompensationLocalization/test/Src/LibraryCompensationCZC.Codeunit.al similarity index 100% rename from Apps/CZ/CompensationLocalization/test/Src/LibraryCompensation.Codeunit.al rename to Apps/CZ/CompensationLocalization/test/Src/LibraryCompensationCZC.Codeunit.al diff --git a/Apps/CZ/CompensationLocalization/test/app.json b/Apps/CZ/CompensationLocalization/test/app.json index 491d1c46cb..d995c8cac0 100644 --- a/Apps/CZ/CompensationLocalization/test/app.json +++ b/Apps/CZ/CompensationLocalization/test/app.json @@ -2,7 +2,7 @@ "id": "475ef1be-9638-49c2-819b-37685cc3f5fc", "name": "Compensation Localization for Czech Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Compensation Localization for Czech application.", "description": "Tests for the Compensation Localization for Czech application.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,31 +16,31 @@ "id": "267b59d3-7302-44c5-ba77-c87000380514", "name": "Core Localization Pack for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "2078250c-40a0-40da-812a-8d635104dc80", "name": "Compensation Localization for Czech", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 148000, @@ -53,5 +53,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccSchedExtensionMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccSchedExtensionMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccSchedExtensionMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccSchedExtensionMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccScheduleManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccScheduleManagementCZL.Codeunit.al similarity index 88% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccScheduleManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccScheduleManagementCZL.Codeunit.al index fda8b2bce8..ae5d5d747d 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccScheduleManagement.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/AccScheduleManagementCZL.Codeunit.al @@ -31,43 +31,6 @@ codeunit 11700 "Acc. Schedule Management CZL" ; end; end; -#if not CLEAN21 -#pragma warning disable AL0432 - [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Name", 'OnBeforePrint', '', false, false)] - local procedure AccScheduleNameOnBeforePrint(var AccScheduleName: Record "Acc. Schedule Name"; var IsHandled: Boolean) - var - AccountSchedule: Report "Account Schedule"; - BalanceSheetCZL: Report "Balance Sheet CZL"; - IncomeStatementCZL: Report "Income Statement CZL"; - begin - OnBeforeAccScheduleNameOnBeforePrint(AccScheduleName, IsHandled); - if IsHandled then - exit; - - case AccScheduleName."Acc. Schedule Type CZL" of - AccScheduleName."Acc. Schedule Type CZL"::Standard: - begin - AccountSchedule.SetAccSchedName(AccScheduleName.Name); - AccountSchedule.SetColumnLayoutName(AccScheduleName."Default Column Layout"); - AccountSchedule.Run(); - end; - AccScheduleName."Acc. Schedule Type CZL"::"Balance Sheet": - begin - BalanceSheetCZL.SetAccSchedName(AccScheduleName.Name); - BalanceSheetCZL.SetColumnLayoutName(AccScheduleName."Default Column Layout"); - BalanceSheetCZL.Run(); - end; - AccScheduleName."Acc. Schedule Type CZL"::"Income Statement": - begin - IncomeStatementCZL.SetAccSchedName(AccScheduleName.Name); - IncomeStatementCZL.SetColumnLayoutName(AccScheduleName."Default Column Layout"); - IncomeStatementCZL.Run(); - end; - end; - IsHandled := true; - end; -#pragma warning restore AL0432 -#endif [EventSubscriber(ObjectType::Codeunit, Codeunit::"Financial Report Mgt.", 'OnBeforePrint', '', false, false)] local procedure PrintAccScheduleByType(var FinancialReport: Record "Financial Report"; var IsHandled: Boolean) diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApplicationAreaHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApplicationAreaHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApplicationAreaHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApplicationAreaHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApprovalsManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApprovalsManagementCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApprovalsManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ApprovalsManagementCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankAccountHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankAccountHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankAccountHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankAccountHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankOperationsFunctions.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankOperationsFunctionsCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankOperationsFunctions.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/BankOperationsFunctionsCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CNBCurrExchRateMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CNBCurrExchRateMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CNBCurrExchRateMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CNBCurrExchRateMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CVPostingGroupHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CVPostingGroupHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CVPostingGroupHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CVPostingGroupHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CashFlowHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CashFlowHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CashFlowHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CashFlowHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyBankAccHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyBankAccHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyBankAccHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyBankAccHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyInfoHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyInfoHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyInfoHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CompanyInfoHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ConfVATEntUpdateMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ConfVATEntUpdateMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ConfVATEntUpdateMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ConfVATEntUpdateMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ContactHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ContactHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ContactHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ContactHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyDocumentMgtHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyDocumentMgtHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyDocumentMgtHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyDocumentMgtHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyGenJnlHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyGenJnlHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyGenJnlHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CopyGenJnlHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CorrectionsPostingMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CorrectionsPostingMgtCZL.Codeunit.al similarity index 97% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CorrectionsPostingMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CorrectionsPostingMgtCZL.Codeunit.al index f95800c4ce..210e936957 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CorrectionsPostingMgt.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CorrectionsPostingMgtCZL.Codeunit.al @@ -135,13 +135,7 @@ codeunit 11796 "Corrections Posting Mgt. CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferPurchPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferPurchPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; CostToPost: Decimal; CostToPostACY: Decimal; ExpCostToPost: Decimal; ExpCostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin if IsHandled then exit; @@ -185,13 +179,7 @@ codeunit 11796 "Corrections Posting Mgt. CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferSalesPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferSalesPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; CostToPost: Decimal; CostToPostACY: Decimal; ExpCostToPost: Decimal; ExpCostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin InventorySetup.Get(); if not InventorySetup."Post Exp.Cost Conv.As Corr.CZL" then @@ -233,13 +221,7 @@ codeunit 11796 "Corrections Posting Mgt. CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferOutputPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferOutputPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; CostToPost: Decimal; CostToPostACY: Decimal; ExpCostToPost: Decimal; ExpCostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin InventorySetup.Get(); if not InventorySetup."Post Exp.Cost Conv.As Corr.CZL" then @@ -292,14 +274,8 @@ codeunit 11796 "Corrections Posting Mgt. CZL" end; end; -#if not CLEAN21 -#pragma warning disable AL0432 -#endif [EventSubscriber(ObjectType::Table, Database::"Invt. Posting Buffer", 'OnUseInvtPostSetup', '', false, false)] local procedure SetValueOnUseInvtPostSetup(var InvtPostingBuffer: Record "Invt. Posting Buffer"; var UseInventoryPostingSetup: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin if InvtPostingBuffer."Account Type" in [InvtPostingBuffer."Account Type"::"WIP Inventory Corr.CZL", @@ -309,13 +285,7 @@ codeunit 11796 "Corrections Posting Mgt. CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnSetAccNoOnBeforeCheckAccNo', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure SetAccountOnSetAccNoOnBeforeCheckAccNo(var InvtPostBuf: Record "Invt. Posting Buffer"; InvtPostingSetup: Record "Inventory Posting Setup"; GenPostingSetup: Record "General Posting Setup"; CalledFromItemPosting: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin if InvtPostBuf."Account No." <> '' then exit; @@ -346,13 +316,7 @@ codeunit 11796 "Corrections Posting Mgt. CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnPostInvtPostBufOnBeforeSetAmt', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure SetCorrectionOnPostInvtPostBufOnBeforeSetAmt(var GenJournalLine: Record "Gen. Journal Line"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostingBuffer: Record "Invt. Posting Buffer") -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin // has amount to post if (GlobalInvtPostingBuffer.Amount <> 0) or (GlobalInvtPostingBuffer."Amount (ACY)" <> 0) then diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CrossApplicationMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CrossApplicationMgtCZL.Codeunit.al similarity index 96% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CrossApplicationMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CrossApplicationMgtCZL.Codeunit.al index 2a8344d018..87d83f5c9f 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CrossApplicationMgt.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CrossApplicationMgtCZL.Codeunit.al @@ -73,6 +73,11 @@ codeunit 31419 "Cross Application Mgt. CZL" Page.Run(Page::"Cross Application CZL", TempCrossApplicationBufferCZL); end; + procedure SetAppliesToID(AppliesToID: Code[50]) + begin + OnSetAppliesToID(AppliesToID); + end; + [IntegrationEvent(false, false)] procedure OnGetSuggestedAmountForCustLedgerEntry(CustLedgerEntry: Record "Cust. Ledger Entry"; var TempCrossApplicationBufferCZL: Record "Cross Application Buffer CZL" temporary; @@ -100,4 +105,9 @@ codeunit 31419 "Cross Application Mgt. CZL" ExcludeTableID: Integer; ExcludeDocumentNo: Code[20]; ExcludeLineNo: Integer) begin end; + + [IntegrationEvent(false, false)] + procedure OnSetAppliesToID(AppliesToID: Code[50]) + begin + end; } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustEntryEditHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustEntryEditHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustEntryEditHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustEntryEditHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustLedgerEntryHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustLedgerEntryHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustLedgerEntryHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustLedgerEntryHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerBankAccHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerBankAccHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerBankAccHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerBankAccHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerTemplHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerTemplHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerTemplHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerTemplHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerVendorBalance.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerVendorBalanceCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerVendorBalance.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/CustomerVendorBalanceCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DataClassEvalHandlerCZL.Codeunit.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DataClassEvalHandlerCZL.Codeunit.al index 738c8ff276..31f499915c 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DataClassEvalHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DataClassEvalHandlerCZL.Codeunit.al @@ -448,8 +448,12 @@ codeunit 11710 "Data Class. Eval. Handler CZL" DataClassificationMgt.SetFieldToNormal(Database::"Invoice Post. Buffer", InvoicePostBuffer.FieldNo("Original Doc. VAT Date CZL")); #pragma warning restore AL0432 #endif +#if not CLEAN24 +#pragma warning disable AL0432 DataClassificationMgt.SetFieldToNormal(Database::"Invoice Posting Buffer", InvoicePostingBuffer.FieldNo("Ext. Amount CZL")); DataClassificationMgt.SetFieldToNormal(Database::"Invoice Posting Buffer", InvoicePostingBuffer.FieldNo("Ext. Amount Incl. VAT CZL")); +#pragma warning restore AL0432 +#endif DataClassificationMgt.SetFieldToNormal(Database::"Invoice Posting Buffer", InvoicePostingBuffer.FieldNo("VAT Date CZL")); DataClassificationMgt.SetFieldToNormal(Database::"Invoice Posting Buffer", InvoicePostingBuffer.FieldNo("Correction CZL")); DataClassificationMgt.SetFieldToNormal(Database::"Invoice Posting Buffer", InvoicePostingBuffer.FieldNo("Original Doc. VAT Date CZL")); @@ -587,8 +591,12 @@ codeunit 11710 "Data Class. Eval. Handler CZL" DataClassificationMgt.SetFieldToNormal(Database::"Purchase Header Archive", PurchaseHeaderArchive.FieldNo("EU 3-Party Intermed. Role CZL")); DataClassificationMgt.SetFieldToNormal(Database::"Purchase Header Archive", PurchaseHeaderArchive.FieldNo("EU 3-Party Trade CZL")); DataClassificationMgt.SetFieldToNormal(Database::"Purchase Line", PurchaseLine.FieldNo("Negative CZL")); +#if not CLEAN24 +#pragma warning disable AL0432 DataClassificationMgt.SetFieldToNormal(Database::"Purchase Line", PurchaseLine.FieldNo("Ext. Amount CZL")); DataClassificationMgt.SetFieldToNormal(Database::"Purchase Line", PurchaseLine.FieldNo("Ext. Amount Incl. VAT CZL")); +#pragma warning restore AL0432 +#endif DataClassificationMgt.SetFieldToNormal(Database::"Purchase Line", PurchaseLine.FieldNo("Tariff No. CZL")); #if not CLEAN22 #pragma warning disable AL0432 diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DimensionMgtHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DimensionMgtHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DimensionMgtHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DimensionMgtHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DirectTransLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DirectTransLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DirectTransLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DirectTransLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DocAttachmentHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DocAttachmentHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/DocAttachmentHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETCashRegisterDefault.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETCashRegisterDefaultCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETCashRegisterDefault.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETCashRegisterDefaultCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETControlCodesMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETControlCodesMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETControlCodesMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETControlCodesMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETManagementCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETManagementCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETSendEntriesToServ.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETSendEntriesToServCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETSendEntriesToServ.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETSendEntriesToServCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETServiceManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETServiceManagementCZL.Codeunit.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETServiceManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETServiceManagementCZL.Codeunit.al index 27a44139a9..c69f7482f7 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETServiceManagement.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETServiceManagementCZL.Codeunit.al @@ -545,13 +545,7 @@ codeunit 31116 "EET Service Management CZL" end; [EventSubscriber(ObjectType::Table, 1400, 'OnRegisterServiceConnection', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure HandleEETRegisterServiceConnection(var ServiceConnection: Record "Service Connection") -#if not CLEAN21 -#pragma warning restore AL0432 -#endif var EETServiceSetupCZL: Record "EET Service Setup CZL"; PageEETServiceSetupCZL: Page "EET Service Setup CZL"; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETStatusManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETStatusManagementCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETStatusManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETStatusManagementCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETTextSignProvider.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETTextSignProviderCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETTextSignProvider.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETTextSignProviderCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETXmlSignProvider.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETXmlSignProviderCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETXmlSignProvider.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EETXmlSignProviderCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EU3PartyTradeFeatMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EU3PartyTradeFeatMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EU3PartyTradeFeatMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EU3PartyTradeFeatMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmpLedgerEntryHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmpLedgerEntryHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmpLedgerEntryHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmpLedgerEntryHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmployeeHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmployeeHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmployeeHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/EmployeeHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAJnlCheckLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAJnlCheckLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAJnlCheckLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAJnlCheckLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAReclJnlLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAReclJnlLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAReclJnlLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FAReclJnlLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FinChargeMemoHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FinChargeMemoHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FinChargeMemoHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FinChargeMemoHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FormatDocumentMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FormatDocumentMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FormatDocumentMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/FormatDocumentMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GLAccountCategoryMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GLAccountCategoryMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GLAccountCategoryMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GLAccountCategoryMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlCheckLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlCheckLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlCheckLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlCheckLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlManagementHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlManagementHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlManagementHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlManagementHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostAccGroup.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostAccGroupCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostAccGroup.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostAccGroupCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlPostLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlTemplateHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlTemplateHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlTemplateHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJnlTemplateHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalBatchHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalBatchHandlerCZL.Codeunit.al similarity index 81% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalBatchHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalBatchHandlerCZL.Codeunit.al index 88c0e302cd..fe3927b915 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalBatchHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalBatchHandlerCZL.Codeunit.al @@ -10,18 +10,6 @@ codeunit 31448 "Gen. Journal Batch Handler CZL" { Access = Internal; -#if not CLEAN21 -#pragma warning disable AL0432 - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Batch", 'OnBeforeCheckCorrection', '', false, false)] - local procedure AllowHybridDocumentOnBeforeCheckCorrection(var GenJnlBatch: Record "Gen. Journal Batch"; var CheckCorrection: Boolean) - begin - if not GenJnlBatch."Allow Hybrid Document CZL" then - exit; - - CheckCorrection := false; - end; -#pragma warning restore AL0432 -#else [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Batch", 'OnBeforeCheckCorrection', '', false, false)] local procedure AllowHybridDocumentOnBeforeCheckCorrection(GenJournalLine: Record "Gen. Journal Line"; var LastDate: Date; var LastDocType: Enum "Gen. Journal Document Type"; var LastDocNo: Code[20]; var IsHandled: Boolean) var @@ -33,7 +21,6 @@ codeunit 31448 "Gen. Journal Batch Handler CZL" GenJournalBatch.Get(GenJournalLine."Journal Template Name", GenJournalLine."Journal Batch Name"); IsHandled := GenJournalBatch."Allow Hybrid Document CZL"; end; -#endif [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Batch", 'OnBeforeIfCheckBalance', '', false, false)] local procedure OnBeforeIfCheckBalance(GenJnlTemplate: Record "Gen. Journal Template"; GenJnlLine: Record "Gen. Journal Line"; var LastDocType: Option; var LastDocNo: Code[20]; var LastDate: Date; var CheckIfBalance: Boolean; CommitIsSuppressed: Boolean; var IsHandled: Boolean) diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZL.Codeunit.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZL.Codeunit.al index 02450e3c4b..ee20cd3898 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalLineHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZL.Codeunit.al @@ -146,7 +146,7 @@ codeunit 11746 "Gen. Journal Line Handler CZL" GenJournalLine."VAT Reporting Date" := PurchaseHeader."VAT Reporting Date"; GenJournalLine."Registration No. CZL" := PurchaseHeader."Registration No. CZL"; GenJournalLine."Tax Registration No. CZL" := PurchaseHeader."Tax Registration No. CZL"; -#if not CLEAN23 +#if not CLEAN24 #pragma warning disable AL0432 if not PurchaseHeader.IsEU3PartyTradeFeatureEnabled() then GenJournalLine."EU 3-Party Trade" := PurchaseHeader."EU 3-Party Trade CZL"; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GetInvReportHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GetInvReportHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GetInvReportHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GetInvReportHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GuidedExperienceHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GuidedExperienceHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/GuidedExperienceHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InsJnlCheckLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InsJnlCheckLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InsJnlCheckLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InsJnlCheckLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplication.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationCZL.Codeunit.al similarity index 98% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplication.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationCZL.Codeunit.al index a423e3d4e7..36437972cb 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplication.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationCZL.Codeunit.al @@ -411,6 +411,10 @@ codeunit 11748 "Install Application CZL" CopyAccScheduleResultHeader(); CopyAccScheduleResultHistory(); CopyGenJournalTemplate(); + InitUnreliablePayerServiceSetup(); + InitVATCtrlReportSections(); + InitStatutoryReportingSetup(); + InitSourceCodeSetup(); end; local procedure ModifyData() @@ -2069,8 +2073,10 @@ codeunit 11748 "Install Application CZL" begin PurchaseLineDataTransfer.SetTables(Database::"Purchase Line", Database::"Purchase Line"); PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Negative"), PurchaseLine.FieldNo("Negative CZL")); +#if not CLEAN24 PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Ext. Amount (LCY)"), PurchaseLine.FieldNo("Ext. Amount CZL")); PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Ext.Amount Including VAT (LCY)"), PurchaseLine.FieldNo("Ext. Amount Incl. VAT CZL")); +#endif PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Physical Transfer"), PurchaseLine.FieldNo("Physical Transfer CZL")); PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Tariff No."), PurchaseLine.FieldNo("Tariff No. CZL")); PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Statistic Indication"), PurchaseLine.FieldNo("Statistic Indication CZL")); @@ -3275,13 +3281,12 @@ codeunit 11748 "Install Application CZL" UpgradeTag: Codeunit "Upgrade Tag"; begin InitRegistrationNoServiceConfig(); - InitUnreliablePayerServiceSetup(); - InitVATCtrlReportSections(); - InitStatutoryReportingSetup(); + CreateUnreliablePayerSrviceSetup(); + CreatetVATCtrlReportSections(); + CreateStatutoryReportingSetup(); InitSWIFTCodes(); InitEETServiceSetup(); - InitSourceCodeSetup(); - + CreateSourceCodeSetup(); ModifyReportSelections(); DataClassEvalHandlerCZL.ApplyEvaluationClassificationsForPrivacy(); @@ -3295,6 +3300,14 @@ codeunit 11748 "Install Application CZL" RegistrationLogMgtCZL.SetupService(); end; + local procedure CreateUnreliablePayerSrviceSetup() + var + UnrelPayerServiceSetupCZL: Record "Unrel. Payer Service Setup CZL"; + begin + if not UnrelPayerServiceSetupCZL.Get() then + InitUnreliablePayerServiceSetup(); + end; + local procedure InitUnreliablePayerServiceSetup() var UnrelPayerServiceSetupCZL: Record "Unrel. Payer Service Setup CZL"; @@ -3323,6 +3336,16 @@ codeunit 11748 "Install Application CZL" UnrelPayerServiceSetupCZL.Modify(); end; + local procedure CreatetVATCtrlReportSections() + var + VATCtrlReportSectionCZL: Record "VAT Ctrl. Report Section CZL"; + begin + if not VATCtrlReportSectionCZL.IsEmpty() then + exit; + + InitVATCtrlReportSections(); + end; + local procedure InitVATCtrlReportSections() var XA1Tok: Label 'A1', Locked = true; @@ -3366,6 +3389,14 @@ codeunit 11748 "Install Application CZL" VATCtrlReportSectionCZL.Insert(); end; + local procedure CreateStatutoryReportingSetup() + var + StatutoryReportingSetupCZL: Record "Statutory Reporting Setup CZL"; + begin + if not StatutoryReportingSetupCZL.Get() then + InitStatutoryReportingSetup(); + end; + local procedure InitStatutoryReportingSetup() var StatutoryReportingSetupCZL: Record "Statutory Reporting Setup CZL"; @@ -3458,6 +3489,44 @@ codeunit 11748 "Install Application CZL" EETServiceSetupCZL.Insert(true); end; + local procedure CreateSourceCodeSetup() + var + SourceCodeSetup: Record "Source Code Setup"; + PrevSourceCodeSetup: Record "Source Code Setup"; + PurchaseVATDelaySourceCodeTxt: Label 'VATPD', MaxLength = 10; + PurchaseVATDelaySourceCodeDescriptionTxt: Label 'Purchase VAT Delay', MaxLength = 100; + SalesVATDelaySourceCodeTxt: Label 'VATSD', MaxLength = 10; + SalesVATDelaySourceCodeDescriptionTxt: Label 'Sales VAT Delay', MaxLength = 100; + VATLCYCorrectionSourceCodeTxt: Label 'VATCORR', MaxLength = 10; + VATLCYCorrectionSourceCodeDescriptionTxt: Label 'VAT Correction in LCY', MaxLength = 100; + OpenBalanceSheetSourceCodeTxt: Label 'OPBALANCE', MaxLength = 10; + OpenBalanceSheetSourceCodeDescriptionTxt: Label 'Open Balance Sheet', MaxLength = 100; + CloseBalanceSheetSourceCodeTxt: Label 'CLBALANCE', MaxLength = 10; + CloseBalanceSheetSourceCodeDescriptionTxt: Label 'Close Balance Sheet', MaxLength = 100; + begin + if not SourceCodeSetup.Get() then + exit; + PrevSourceCodeSetup := SourceCodeSetup; + if SourceCodeSetup."Purchase VAT Delay CZL" = '' then + InsertSourceCode(SourceCodeSetup."Purchase VAT Delay CZL", PurchaseVATDelaySourceCodeTxt, PurchaseVATDelaySourceCodeDescriptionTxt); + if SourceCodeSetup."Sales VAT Delay CZL" = '' then + InsertSourceCode(SourceCodeSetup."Sales VAT Delay CZL", SalesVATDelaySourceCodeTxt, SalesVATDelaySourceCodeDescriptionTxt); + if SourceCodeSetup."VAT LCY Correction CZL" = '' then + InsertSourceCode(SourceCodeSetup."VAT LCY Correction CZL", VATLCYCorrectionSourceCodeTxt, VATLCYCorrectionSourceCodeDescriptionTxt); + if SourceCodeSetup."Open Balance Sheet CZL" = '' then + InsertSourceCode(SourceCodeSetup."Open Balance Sheet CZL", OpenBalanceSheetSourceCodeTxt, OpenBalanceSheetSourceCodeDescriptionTxt); + if SourceCodeSetup."Close Balance Sheet CZL" = '' then + InsertSourceCode(SourceCodeSetup."Close Balance Sheet CZL", CloseBalanceSheetSourceCodeTxt, CloseBalanceSheetSourceCodeDescriptionTxt); + + if (SourceCodeSetup."Purchase VAT Delay CZL" <> PrevSourceCodeSetup."Purchase VAT Delay CZL") or + (SourceCodeSetup."Sales VAT Delay CZL" <> PrevSourceCodeSetup."Sales VAT Delay CZL") or + (SourceCodeSetup."VAT LCY Correction CZL" <> PrevSourceCodeSetup."VAT LCY Correction CZL") or + (SourceCodeSetup."Open Balance Sheet CZL" <> PrevSourceCodeSetup."Open Balance Sheet CZL") or + (SourceCodeSetup."Close Balance Sheet CZL" <> PrevSourceCodeSetup."Close Balance Sheet CZL") + then + SourceCodeSetup.Modify(); + end; + local procedure InitSourceCodeSetup() var SourceCodeSetup: Record "Source Code Setup"; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationsMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationsMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationsMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationsMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstructionMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstructionMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstructionMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstructionMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlBchHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlBchHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlBchHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlBchHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/IntrastatJnlLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvPostBufferHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvPostBufferHandlerCZL.Codeunit.al similarity index 97% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvPostBufferHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvPostBufferHandlerCZL.Codeunit.al index 69ad653fe3..d3d57b85a2 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvPostBufferHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvPostBufferHandlerCZL.Codeunit.al @@ -20,13 +20,16 @@ codeunit 31307 "Inv. Post. Buffer Handler CZL" end; #pragma warning restore AL0432 #endif +#if not CLEAN24 +#pragma warning disable AL0432 [EventSubscriber(ObjectType::Table, Database::"Invoice Posting Buffer", 'OnUpdateOnBeforeModify', '', false, false)] local procedure UpdateExtendedAmountsOnUpdateOnBeforeModify(var InvoicePostingBuffer: Record "Invoice Posting Buffer"; FromInvoicePostingBuffer: Record "Invoice Posting Buffer") begin InvoicePostingBuffer."Ext. Amount CZL" += FromInvoicePostingBuffer."Ext. Amount CZL"; InvoicePostingBuffer."Ext. Amount Incl. VAT CZL" += FromInvoicePostingBuffer."Ext. Amount Incl. VAT CZL"; end; - +#pragma warning restore AL0432 +#endif #if not CLEAN23 #pragma warning disable AL0432 [EventSubscriber(ObjectType::Table, Database::"Invoice Post. Buffer", 'OnAfterCopyToGenJnlLine', '', false, false)] diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InventoryPostingHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InventoryPostingHandlerCZL.Codeunit.al similarity index 92% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InventoryPostingHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InventoryPostingHandlerCZL.Codeunit.al index 14b0851c66..1df22f3c68 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InventoryPostingHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InventoryPostingHandlerCZL.Codeunit.al @@ -14,13 +14,7 @@ using Microsoft.Inventory.Setup; codeunit 31073 "Inventory Posting Handler CZL" { [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnSetAccNoOnBeforeCheckAccNo', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure EnhancedPostingAccountsOnSetAccNoOnBeforeCheckAccNo(var InvtPostBuf: Record "Invt. Posting Buffer"; InvtPostingSetup: Record "Inventory Posting Setup"; GenPostingSetup: Record "General Posting Setup"; CalledFromItemPosting: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin case InvtPostBuf."Account Type" of InvtPostBuf."Account Type"::"AccConsumption CZL": @@ -88,13 +82,7 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferOutputPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferOutputPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; CostToPost: Decimal; CostToPostACY: Decimal; ExpCostToPost: Decimal; ExpCostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin InventorySetup.Get(); if InventorySetup."Post Exp.Cost Conv.As Corr.CZL" then @@ -141,13 +129,7 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferSalesPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferSalesPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; CostToPost: Decimal; CostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin InventorySetup.Get(); if InventorySetup."Post Exp.Cost Conv.As Corr.CZL" then @@ -167,13 +149,7 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferConsumpPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferConsumpPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer" temporary; CostToPost: Decimal; CostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin case ValueEntry."Entry Type" of ValueEntry."Entry Type"::"Direct Cost": @@ -204,13 +180,7 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferPurchPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferPurchPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; CostToPost: Decimal; CostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin case ValueEntry."Entry Type" of ValueEntry."Entry Type"::Rounding: @@ -226,13 +196,7 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferAsmOutputPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferAsmOutputPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; var CostToPost: Decimal; var CostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin case ValueEntry."Entry Type" of ValueEntry."Entry Type"::Rounding: @@ -248,13 +212,7 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferAsmConsumpPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferAsmConsumpPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; var CostToPost: Decimal; var CostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin case ValueEntry."Entry Type" of ValueEntry."Entry Type"::Rounding: @@ -270,13 +228,7 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnBeforeBufferAdjmtPosting', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure InitInvtPostBufOnBeforeBufferAdjmtPosting(var Sender: Codeunit "Inventory Posting To G/L"; var ValueEntry: Record "Value Entry"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer"; CostToPost: Decimal; CostToPostACY: Decimal; var IsHandled: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin case ValueEntry."Entry Type" of ValueEntry."Entry Type"::Rounding: @@ -304,21 +256,9 @@ codeunit 31073 "Inventory Posting Handler CZL" end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnAfterInitTempInvtPostBuf', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure SetGLCorrectionOnAfterInitTempInvtPostBuf(var TempInvtPostBuf: array[20] of Record "Invt. Posting Buffer"; ValueEntry: Record "Value Entry"; PostBufDimNo: Integer) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin -#if not CLEAN21 -#pragma warning disable AL0432 -#endif TempInvtPostBuf[PostBufDimNo]."G/L Correction CZL" := ValueEntry."G/L Correction CZL"; -#if not CLEAN21 -#pragma warning restore AL0432 -#endif if ValueEntry."Expected Cost" then exit; @@ -334,31 +274,13 @@ codeunit 31073 "Inventory Posting Handler CZL" (ValueEntry."Entry Type" in [ValueEntry."Entry Type"::"Direct Cost", ValueEntry."Entry Type"::Revaluation]) then if ValueEntry."Cost Amount (Expected)" <> 0 then -#if not CLEAN21 -#pragma warning disable AL0432 -#endif TempInvtPostBuf[PostBufDimNo]."G/L Correction CZL" := not TempInvtPostBuf[PostBufDimNo]."G/L Correction CZL"; -#if not CLEAN21 -#pragma warning restore AL0432 -#endif end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnPostInvtPostBufProcessGlobalInvtPostBufOnAfterSetDesc', '', false, false)] -#if not CLEAN21 -#pragma warning disable AL0432 -#endif local procedure GetCorrectionOnPostInvtPostBufProcessGlobalInvtPostBufOnAfterSetDesc(var GenJournalLine: Record "Gen. Journal Line"; var GlobalInvtPostBuf: Record "Invt. Posting Buffer") -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin -#if not CLEAN21 -#pragma warning disable AL0432 -#endif GenJournalLine.Correction := GlobalInvtPostBuf."G/L Correction CZL"; -#if not CLEAN21 -#pragma warning restore AL0432 -#endif end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", 'OnAfterBufferGLItemLedgRelation', '', false, false)] @@ -368,14 +290,8 @@ codeunit 31073 "Inventory Posting Handler CZL" TempGLItemLedgRelation.Delete(); end; -#if not CLEAN21 -#pragma warning disable AL0432 -#endif [EventSubscriber(ObjectType::Table, Database::"Invt. Posting Buffer", 'OnUseInvtPostSetup', '', false, false)] local procedure AccountTypesOnUseInvtPostSetup(var InvtPostingBuffer: Record "Invt. Posting Buffer"; var UseInventoryPostingSetup: Boolean) -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin if InvtPostingBuffer."Account Type" in [InvtPostingBuffer."Account Type"::"AccConsumption CZL", diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentPrinted.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentPrintedCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentPrinted.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InvtDocumentPrintedCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemChargeAssgntHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemChargeAssgntHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemChargeAssgntHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemChargeAssgntHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlCheckLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlTemplateHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlTemplateHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlTemplateHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJnlTemplateHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJournalLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJournalLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJournalLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemJournalLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemLedgerEntryEdit.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemLedgerEntryEditCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemLedgerEntryEdit.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemLedgerEntryEditCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemTrackingDocHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemTrackingDocHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemTrackingDocHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ItemTrackingDocHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJnlCheckLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJnlCheckLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJnlCheckLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJnlCheckLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJournalLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJournalLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJournalLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobJournalLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobTransferLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobTransferLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobTransferLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/JobTransferLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/NavigateHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/NavigateHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/NavigateHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/NavigateHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PersistConfirmResponse.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PersistConfirmResponseCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PersistConfirmResponse.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PersistConfirmResponseCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PhysInOrderLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PhysInOrderLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PhysInOrderLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PhysInOrderLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevEventHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevEventHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevEventHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevEventHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevTableHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevTableHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevTableHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostPrevTableHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtRcptPrinted.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtRcptPrintedCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtRcptPrinted.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtRcptPrintedCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtShptPrinted.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtShptPrintedCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtShptPrinted.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostedInvtShptPrintedCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostingGroupManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostingGroupManagementCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostingGroupManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PostingGroupManagementCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseHeaderHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseHeaderHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseHeaderHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseHeaderHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchaseLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchasePostingHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchasePostingHandlerCZL.Codeunit.al similarity index 59% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchasePostingHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchasePostingHandlerCZL.Codeunit.al index 16526815a2..8443ec6b46 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchasePostingHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/PurchasePostingHandlerCZL.Codeunit.al @@ -15,8 +15,8 @@ using Microsoft.Finance.VAT.Setup; using Microsoft.Foundation.AuditCodes; #if not CLEAN22 using Microsoft.Foundation.BatchProcessing; -#endif using Microsoft.Foundation.Company; +#endif using Microsoft.Inventory.Intrastat; using Microsoft.Inventory.Journal; using Microsoft.Purchases.Document; @@ -34,19 +34,21 @@ using System.Utilities; codeunit 31039 "Purchase Posting Handler CZL" { var - SourceCodeSetup: Record "Source Code Setup"; - GLEntry: Record "G/L Entry"; Currency: Record Currency; + GLEntry: Record "G/L Entry"; + SourceCodeSetup: Record "Source Code Setup"; + VATPostingSetup: Record "VAT Posting Setup"; BankOperationsFunctionsCZL: Codeunit "Bank Operations Functions CZL"; + GlobalAmountType: Option Base,VAT; PurchaseAlreadyExistsQst: Label 'Purchase %1 %2 already exists for this vendor.\Do you want to continue?', Comment = '%1 = Document Type; %2 = External Document No.; e.g. Purchase Invoice 123 already exists...'; #if not CLEAN23 #pragma warning disable AL0432 [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnAfterPostInvPostBuffer', '', false, false)] - local procedure PurchasePostVATCurrencyFactorOnAfterPostInvPostBuffer(var InvoicePostBuffer: Record "Invoice Post. Buffer"; PurchHeader: Record "Purchase Header"; GLEntryNo: Integer; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + local procedure PurchasePostVATDelayOnAfterPostInvPostBuffer(var InvoicePostBuffer: Record "Invoice Post. Buffer"; PurchHeader: Record "Purchase Header"; GLEntryNo: Integer; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var - VATPostingSetup: Record "VAT Posting Setup"; + VATCurrFactor: Decimal; begin if (PurchHeader."Currency Code" <> '') and (PurchHeader."Currency Factor" <> PurchHeader."VAT Currency Factor CZL") and ((InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Reverse Charge VAT") or @@ -57,194 +59,115 @@ codeunit 31039 "Purchase Posting Handler CZL" SourceCodeSetup.Get(); SourceCodeSetup.TestField("Purchase VAT Delay CZL"); GLEntry.Get(GLEntryNo); -#if not CLEAN22 - if not PurchHeader.IsReplaceVATDateEnabled() then - PurchHeader."VAT Reporting Date" := PurchHeader."VAT Date CZL"; -#endif - PostPurchaseVATCurrencyFactor( - PurchHeader, InvoicePostBuffer, false, PurchHeader."Posting Date", true, VATPostingSetup, PurchHeader."VAT Reporting Date", GenJnlPostLine); - PostPurchaseVATCurrencyFactor( - PurchHeader, InvoicePostBuffer, true, PurchHeader."Posting Date", false, VATPostingSetup, PurchHeader."VAT Reporting Date", GenJnlPostLine); - // VAT Correction posting - case InvoicePostBuffer."VAT Calculation Type" of - InvoicePostBuffer."VAT Calculation Type"::"Normal VAT": - begin - PostPurchVATCurrencyFactorDifference( - PurchHeader, InvoicePostBuffer, PurchHeader."Posting Date", VATPostingSetup, PurchHeader."VAT Reporting Date", 0, GenJnlPostLine); - PostPurchVATCurrencyFactorDifference( - PurchHeader, InvoicePostBuffer, PurchHeader."Posting Date", VATPostingSetup, PurchHeader."VAT Reporting Date", 1, GenJnlPostLine); - end; + + VATCurrFactor := 1; + if PurchHeader."VAT Currency Factor CZL" <> 0 then + VATCurrFactor := PurchHeader."Currency Factor" / PurchHeader."VAT Currency Factor CZL"; + + PostVATDelay(PurchHeader, InvoicePostBuffer, -1, 1, true, GenJnlPostLine); + PostVATDelay(PurchHeader, InvoicePostBuffer, 1, VATCurrFactor, false, GenJnlPostLine); + if InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Normal VAT" then begin + PostVATDelayDifference(PurchHeader, InvoicePostBuffer, GlobalAmountType::Base, VATCurrFactor, GenJnlPostLine); + PostVATDelayDifference(PurchHeader, InvoicePostBuffer, GlobalAmountType::VAT, VATCurrFactor, GenJnlPostLine); end; end; end; - local procedure PostPurchVATCurrencyFactorDifference(PurchaseHeader: Record "Purchase Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; PostingDate: Date; VATPostingSetup: Record "VAT Posting Setup"; VATDate: Date; AmtType: Option Base,VAT; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + local procedure PostVATDelay(PurchaseHeader: Record "Purchase Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; Sign: Integer; CurrFactor: Decimal; IsCorrection: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var - CalcAmt: Decimal; + GenJournalLine: Record "Gen. Journal Line"; + begin + GetCurrency(PurchaseHeader."Currency Code"); + if CurrFactor = 0 then + CurrFactor := 1; + + InitGenJournalLine(PurchaseHeader, InvoicePostBuffer, GenJournalLine); + + GenJournalLine.Quantity := Sign * GenJournalLine.Quantity; + GenJournalLine.Amount := + Sign * Round(InvoicePostBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Amount" := + Sign * Round(InvoicePostBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; + GenJournalLine."Source Currency Amount" := + Sign * Round(InvoicePostBuffer."Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Amount" := + Sign * Round(InvoicePostBuffer."VAT Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount"; + GenJournalLine."VAT Difference" := + Sign * Round(InvoicePostBuffer."VAT Difference" * CurrFactor, Currency."Amount Rounding Precision"); + + GenJournalLine.Correction := InvoicePostBuffer."Correction CZL" xor IsCorrection; + GenJournalLine."VAT Bus. Posting Group" := InvoicePostBuffer."VAT Bus. Posting Group"; + GenJournalLine."VAT Prod. Posting Group" := InvoicePostBuffer."VAT Prod. Posting Group"; + GenJournalLine."Gen. Bus. Posting Group" := InvoicePostBuffer."Gen. Bus. Posting Group"; + GenJournalLine."Gen. Prod. Posting Group" := InvoicePostBuffer."Gen. Prod. Posting Group"; + if not PurchaseHeader.IsEU3PartyTradeFeatureEnabled() then + PurchaseHeader."EU 3 Party Trade" := PurchaseHeader."EU 3-Party Trade CZL"; + GenJournalLine."EU 3-Party Trade" := PurchaseHeader."EU 3 Party Trade"; + GenJournalLine."EU 3-Party Intermed. Role CZL" := PurchaseHeader."EU 3-Party Intermed. Role CZL"; + + GenJnlPostLine.RunWithCheck(GenJournalLine); + end; + + local procedure PostVATDelayDifference(PurchaseHeader: Record "Purchase Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; AmountType: Option Base,VAT; CurrFactor: Decimal; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + var + GenJournalLine: Record "Gen. Journal Line"; + Amount: Decimal; AccountNo: Code[20]; begin GetCurrency(PurchaseHeader."Currency Code"); - case AmtType of - AmtType::Base: - begin - AccountNo := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; - CalcAmt := InvoicePostBuffer.Amount - - Round(InvoicePostBuffer."Ext. Amount CZL", Currency."Amount Rounding Precision"); - end; - AmtType::VAT: + if CurrFactor = 0 then + CurrFactor := 1; + + case AmountType of + AmountType::Base: + Amount := + InvoicePostBuffer.Amount - + Round(InvoicePostBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + AmountType::VAT: begin - CalcAmt := InvoicePostBuffer."VAT Amount" - - Round(InvoicePostBuffer."Ext. Amount Incl. VAT CZL" - InvoicePostBuffer."Ext. Amount CZL", - Currency."Amount Rounding Precision"); - if CalcAmt < 0 then + Amount := + InvoicePostBuffer."VAT Amount" - + Round(InvoicePostBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + if Amount < 0 then AccountNo := Currency."Realized Gains Acc." else AccountNo := Currency."Realized Losses Acc."; end; end; - PostPurchVATCurrencyDiffJournal(PurchaseHeader, InvoicePostBuffer, PostingDate, VATDate, CalcAmt, AccountNo, GenJnlPostLine); + + InitGenJournalLine(PurchaseHeader, InvoicePostBuffer, GenJournalLine); + GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::" "; + if AccountNo <> '' then + GenJournalLine."Account No." := AccountNo; + GenJournalLine.Amount := Amount; + + GenJnlPostLine.RunWithCheck(GenJournalLine); end; - local procedure PostPurchaseVATCurrencyFactor(PurchaseHeader: Record "Purchase Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; Post: Boolean; PostingDate: Date; IsCorrection: Boolean; VATPostingSetup: Record "VAT Posting Setup"; VATDate: Date; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") - var - GenJournalLine: Record "Gen. Journal Line"; + local procedure InitGenJournalLine(PurchaseHeader: Record "Purchase Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; var GenJournalLine: Record "Gen. Journal Line") begin GenJournalLine.Init(); - GenJournalLine."Posting Date" := PostingDate; - GenJournalLine."Document Date" := PurchaseHeader."Document Date"; -#if not CLEAN22 - if not GenJournalLine.IsReplaceVATDateEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else -#endif - GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine.Validate("Original Doc. VAT Date CZL", PurchaseHeader."Original Doc. VAT Date CZL"); - GenJournalLine.Description := PurchaseHeader."Posting Description"; - GenJournalLine."Reason Code" := PurchaseHeader."Reason Code"; GenJournalLine."Document Type" := GLEntry."Document Type"; GenJournalLine."Document No." := GLEntry."Document No."; GenJournalLine."External Document No." := GLEntry."External Document No."; GenJournalLine."Account No." := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; - GenJournalLine."System-Created Entry" := InvoicePostBuffer."System-Created Entry"; - GenJournalLine."Source Currency Code" := PurchaseHeader."Currency Code"; - if IsCorrection then - GenJournalLine.Correction := not InvoicePostBuffer."Correction CZL" - else - GenJournalLine.Correction := InvoicePostBuffer."Correction CZL"; - GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::Purchase; - GenJournalLine."Gen. Bus. Posting Group" := InvoicePostBuffer."Gen. Bus. Posting Group"; - GenJournalLine."Gen. Prod. Posting Group" := InvoicePostBuffer."Gen. Prod. Posting Group"; -#if not CLEAN23 -#pragma warning disable AL0432 - if not PurchaseHeader.IsEU3PartyTradeFeatureEnabled() then - PurchaseHeader."EU 3 Party Trade" := PurchaseHeader."EU 3-Party Trade CZL"; -#pragma warning restore AL0432 -#endif - GenJournalLine."EU 3-Party Trade" := PurchaseHeader."EU 3 Party Trade"; - GenJournalLine.Validate("EU 3-Party Intermed. Role CZL", PurchaseHeader."EU 3-Party Intermed. Role CZL"); - GenJournalLine."VAT Bus. Posting Group" := InvoicePostBuffer."VAT Bus. Posting Group"; - GenJournalLine."VAT Prod. Posting Group" := InvoicePostBuffer."VAT Prod. Posting Group"; - GenJournalLine."Tax Area Code" := InvoicePostBuffer."Tax Area Code"; - GenJournalLine."Tax Liable" := InvoicePostBuffer."Tax Liable"; - GenJournalLine."Tax Group Code" := InvoicePostBuffer."Tax Group Code"; - GenJournalLine."Use Tax" := InvoicePostBuffer."Use Tax"; - GenJournalLine."VAT Calculation Type" := InvoicePostBuffer."VAT Calculation Type"; - GenJournalLine."VAT Base Discount %" := PurchaseHeader."VAT Base Discount %"; - GenJournalLine."VAT Posting" := GenJournalLine."VAT Posting"::"Manual VAT Entry"; - GenJournalLine."Shortcut Dimension 1 Code" := InvoicePostBuffer."Global Dimension 1 Code"; - GenJournalLine."Shortcut Dimension 2 Code" := InvoicePostBuffer."Global Dimension 2 Code"; - GenJournalLine."Dimension Set ID" := InvoicePostBuffer."Dimension Set ID"; - GenJournalLine."Job No." := InvoicePostBuffer."Job No."; - GenJournalLine."Source Code" := SourceCodeSetup."Purchase VAT Delay CZL"; - GenJournalLine."Bill-to/Pay-to No." := PurchaseHeader."Pay-to Vendor No."; - GenJournalLine."Source Type" := GenJournalLine."Source Type"::Vendor; - GenJournalLine."Source No." := PurchaseHeader."Pay-to Vendor No."; - GenJournalLine."Posting No. Series" := PurchaseHeader."Posting No. Series"; - GenJournalLine."Country/Region Code" := PurchaseHeader."VAT Country/Region Code"; - GenJournalLine."VAT Registration No." := PurchaseHeader."VAT Registration No."; - GenJournalLine.Validate("Registration No. CZL", PurchaseHeader."Registration No. CZL"); if InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Reverse Charge VAT" then GenJournalLine."Bal. Account No." := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; - InitVATDelayAmounts(PurchaseHeader, InvoicePostBuffer, Post, GenJournalLine); - GenJournalLine.Validate("VAT Delay CZL", true); - - GenJnlPostLine.RunWithCheck(GenJournalLine); - end; - - local procedure InitVATDelayAmounts(PurchaseHeader: Record "Purchase Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; Post: Boolean; var GenJournalLine: Record "Gen. Journal Line") - var - VATCurrFactor: Decimal; - begin - if Post then begin - if InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Normal VAT" then begin - // Normal VAT - GenJournalLine.Quantity := InvoicePostBuffer.Quantity; - GenJournalLine.Amount := Round(InvoicePostBuffer."Ext. Amount CZL", Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := Round(InvoicePostBuffer."Ext. Amount Incl. VAT CZL" - InvoicePostBuffer."Ext. Amount CZL", - Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := Round(InvoicePostBuffer."Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := - Round(InvoicePostBuffer."VAT Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := - Round(InvoicePostBuffer."VAT Base Amount (ACY)", Currency."Amount Rounding Precision"); - end else begin - // Reverse Charge VAT - if PurchaseHeader."VAT Currency Factor CZL" = 0 then - VATCurrFactor := 1 - else - VATCurrFactor := PurchaseHeader."Currency Factor" / PurchaseHeader."VAT Currency Factor CZL"; - if VATCurrFactor = 0 then - VATCurrFactor := 1; - - GenJournalLine.Amount := Round(InvoicePostBuffer.Amount * VATCurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := Round(InvoicePostBuffer."VAT Amount" * - VATCurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := Round(InvoicePostBuffer."Amount (ACY)" * VATCurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := Round(InvoicePostBuffer."VAT Amount (ACY)" * VATCurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount" - GenJournalLine."Source Curr. VAT Amount"; - GenJournalLine."VAT Difference" := Round(InvoicePostBuffer."VAT Difference" * VATCurrFactor, - Currency."Amount Rounding Precision"); - end; - end else begin - GenJournalLine.Quantity := -InvoicePostBuffer.Quantity; - GenJournalLine.Amount := -Round(InvoicePostBuffer.Amount, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := -Round(InvoicePostBuffer."VAT Amount", Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := -Round(InvoicePostBuffer."Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := -Round(InvoicePostBuffer."VAT Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount"; - GenJournalLine."VAT Difference" := -Round(InvoicePostBuffer."VAT Difference", Currency."Amount Rounding Precision"); - end; - end; - - local procedure PostPurchVATCurrencyDiffJournal(PurchaseHeader: Record "Purchase Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; PostingDate: Date; VATDate: Date; CalcAmt: Decimal; AccountNo: Code[20]; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") - var - GenJournalLine: Record "Gen. Journal Line"; - begin - GenJournalLine.Init(); - GenJournalLine."Posting Date" := PostingDate; + GenJournalLine."Posting Date" := PurchaseHeader."Posting Date"; GenJournalLine."Document Date" := PurchaseHeader."Document Date"; #if not CLEAN22 - if not GenJournalLine.IsReplaceVATDateEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else + GenJournalLine."VAT Date CZL" := PurchaseHeader."VAT Date CZL"; #endif - GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine.Validate("Original Doc. VAT Date CZL", PurchaseHeader."Original Doc. VAT Date CZL"); + GenJournalLine."VAT Reporting Date" := PurchaseHeader."VAT Reporting Date"; + GenJournalLine."Original Doc. VAT Date CZL" := PurchaseHeader."Original Doc. VAT Date CZL"; GenJournalLine.Description := PurchaseHeader."Posting Description"; GenJournalLine."Reason Code" := PurchaseHeader."Reason Code"; - GenJournalLine."Document Type" := GLEntry."Document Type"; - GenJournalLine."Document No." := GLEntry."Document No."; - GenJournalLine."External Document No." := GLEntry."External Document No."; - GenJournalLine."Account No." := AccountNo; GenJournalLine."System-Created Entry" := InvoicePostBuffer."System-Created Entry"; GenJournalLine."Source Currency Code" := PurchaseHeader."Currency Code"; GenJournalLine.Correction := InvoicePostBuffer."Correction CZL"; - GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::" "; + GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::Purchase; GenJournalLine."Tax Area Code" := InvoicePostBuffer."Tax Area Code"; GenJournalLine."Tax Liable" := InvoicePostBuffer."Tax Liable"; GenJournalLine."Tax Group Code" := InvoicePostBuffer."Tax Group Code"; @@ -263,12 +186,9 @@ codeunit 31039 "Purchase Posting Handler CZL" GenJournalLine."Posting No. Series" := PurchaseHeader."Posting No. Series"; GenJournalLine."Country/Region Code" := PurchaseHeader."VAT Country/Region Code"; GenJournalLine."VAT Registration No." := PurchaseHeader."VAT Registration No."; - GenJournalLine.Validate("Registration No. CZL", PurchaseHeader."Registration No. CZL"); + GenJournalLine."Registration No. CZL" := PurchaseHeader."Registration No. CZL"; GenJournalLine.Quantity := InvoicePostBuffer.Quantity; - GenJournalLine.Amount := CalcAmt; - GenJournalLine.Validate("VAT Delay CZL", true); - - GenJnlPostLine.RunWithCheck(GenJournalLine); + GenJournalLine."VAT Delay CZL" := true; end; #pragma warning restore AL0432 @@ -276,7 +196,7 @@ codeunit 31039 "Purchase Posting Handler CZL" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch. Post Invoice Events", 'OnPostLinesOnAfterGenJnlLinePost', '', false, false)] local procedure PurchasePostVATCurrencyFactorOnPostLinesOnAfterGenJnlLinePost(TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; PurchHeader: Record "Purchase Header"; GLEntryNo: Integer; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var - VATPostingSetup: Record "VAT Posting Setup"; + VATCurrFactor: Decimal; begin if (PurchHeader."Currency Code" <> '') and (PurchHeader."Currency Factor" <> PurchHeader."VAT Currency Factor CZL") and ((TempInvoicePostingBuffer."VAT Calculation Type" = TempInvoicePostingBuffer."VAT Calculation Type"::"Reverse Charge VAT") or @@ -287,211 +207,132 @@ codeunit 31039 "Purchase Posting Handler CZL" SourceCodeSetup.Get(); SourceCodeSetup.TestField("Purchase VAT Delay CZL"); GLEntry.Get(GLEntryNo); -#if not CLEAN22 -#pragma warning disable AL0432 - if not PurchHeader.IsReplaceVATDateEnabled() then - PurchHeader."VAT Reporting Date" := PurchHeader."VAT Date CZL"; -#pragma warning restore AL0432 -#endif - PostPurchaseVATCurrencyFactor( - PurchHeader, TempInvoicePostingBuffer, false, PurchHeader."Posting Date", true, VATPostingSetup, PurchHeader."VAT Reporting Date", GenJnlPostLine); - PostPurchaseVATCurrencyFactor( - PurchHeader, TempInvoicePostingBuffer, true, PurchHeader."Posting Date", false, VATPostingSetup, PurchHeader."VAT Reporting Date", GenJnlPostLine); - // VAT Correction posting - case TempInvoicePostingBuffer."VAT Calculation Type" of - TempInvoicePostingBuffer."VAT Calculation Type"::"Normal VAT": - begin - PostPurchVATCurrencyFactorDifference( - PurchHeader, TempInvoicePostingBuffer, PurchHeader."Posting Date", VATPostingSetup, PurchHeader."VAT Reporting Date", 0, GenJnlPostLine); - PostPurchVATCurrencyFactorDifference( - PurchHeader, TempInvoicePostingBuffer, PurchHeader."Posting Date", VATPostingSetup, PurchHeader."VAT Reporting Date", 1, GenJnlPostLine); - end; - end; - end; - end; - local procedure PostPurchVATCurrencyFactorDifference(PurchaseHeader: Record "Purchase Header"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; PostingDate: Date; VATPostingSetup: Record "VAT Posting Setup"; VATDate: Date; AmtType: Option Base,VAT; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") - var - CalcAmt: Decimal; - AccountNo: Code[20]; - begin - GetCurrency(PurchaseHeader."Currency Code"); - case AmtType of - AmtType::Base: - begin - AccountNo := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; - CalcAmt := TempInvoicePostingBuffer.Amount - - Round(TempInvoicePostingBuffer."Ext. Amount CZL", Currency."Amount Rounding Precision"); - end; - AmtType::VAT: - begin - CalcAmt := TempInvoicePostingBuffer."VAT Amount" - - Round(TempInvoicePostingBuffer."Ext. Amount Incl. VAT CZL" - TempInvoicePostingBuffer."Ext. Amount CZL", - Currency."Amount Rounding Precision"); - if CalcAmt < 0 then - AccountNo := Currency."Realized Gains Acc." - else - AccountNo := Currency."Realized Losses Acc."; - end; + VATCurrFactor := 1; + if PurchHeader."VAT Currency Factor CZL" <> 0 then + VATCurrFactor := PurchHeader."Currency Factor" / PurchHeader."VAT Currency Factor CZL"; + + PostVATDelay(PurchHeader, TempInvoicePostingBuffer, -1, 1, true, GenJnlPostLine); + PostVATDelay(PurchHeader, TempInvoicePostingBuffer, 1, VATCurrFactor, false, GenJnlPostLine); + if TempInvoicePostingBuffer."VAT Calculation Type" = TempInvoicePostingBuffer."VAT Calculation Type"::"Normal VAT" then begin + PostVATDelayDifference(PurchHeader, TempInvoicePostingBuffer, GlobalAmountType::Base, VATCurrFactor, GenJnlPostLine); + PostVATDelayDifference(PurchHeader, TempInvoicePostingBuffer, GlobalAmountType::VAT, VATCurrFactor, GenJnlPostLine); + end; end; - PostPurchVATCurrencyDiffJournal(PurchaseHeader, TempInvoicePostingBuffer, PostingDate, VATDate, CalcAmt, AccountNo, GenJnlPostLine); end; - local procedure PostPurchaseVATCurrencyFactor(PurchaseHeader: Record "Purchase Header"; InvoicePostingBuffer: Record "Invoice Posting Buffer"; Post: Boolean; PostingDate: Date; IsCorrection: Boolean; VATPostingSetup: Record "VAT Posting Setup"; VATDate: Date; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + local procedure PostVATDelay(PurchaseHeader: Record "Purchase Header"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; Sign: Integer; CurrFactor: Decimal; IsCorrection: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var GenJournalLine: Record "Gen. Journal Line"; begin - GenJournalLine.Init(); - GenJournalLine."Posting Date" := PostingDate; - GenJournalLine."Document Date" := PurchaseHeader."Document Date"; -#if not CLEAN22 -#pragma warning disable AL0432 - if not GenJournalLine.IsReplaceVATDateEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else -#pragma warning restore AL0432 -#endif - GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine.Validate("Original Doc. VAT Date CZL", PurchaseHeader."Original Doc. VAT Date CZL"); - GenJournalLine.Description := PurchaseHeader."Posting Description"; - GenJournalLine."Reason Code" := PurchaseHeader."Reason Code"; - GenJournalLine."Document Type" := GLEntry."Document Type"; - GenJournalLine."Document No." := GLEntry."Document No."; - GenJournalLine."External Document No." := GLEntry."External Document No."; - GenJournalLine."Account No." := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; - GenJournalLine."System-Created Entry" := InvoicePostingBuffer."System-Created Entry"; - GenJournalLine."Source Currency Code" := PurchaseHeader."Currency Code"; - if IsCorrection then - GenJournalLine.Correction := not InvoicePostingBuffer."Correction CZL" - else - GenJournalLine.Correction := InvoicePostingBuffer."Correction CZL"; - GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::Purchase; - GenJournalLine."Gen. Bus. Posting Group" := InvoicePostingBuffer."Gen. Bus. Posting Group"; - GenJournalLine."Gen. Prod. Posting Group" := InvoicePostingBuffer."Gen. Prod. Posting Group"; -#if not CLEAN23 + GetCurrency(PurchaseHeader."Currency Code"); + if CurrFactor = 0 then + CurrFactor := 1; + + InitGenJournalLine(PurchaseHeader, TempInvoicePostingBuffer, GenJournalLine); + + GenJournalLine.Quantity := Sign * GenJournalLine.Quantity; + GenJournalLine.Amount := + Sign * Round(TempInvoicePostingBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Amount" := + Sign * Round(TempInvoicePostingBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; + GenJournalLine."Source Currency Amount" := + Sign * Round(TempInvoicePostingBuffer."Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Amount" := + Sign * Round(TempInvoicePostingBuffer."VAT Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount"; + GenJournalLine."VAT Difference" := + Sign * Round(TempInvoicePostingBuffer."VAT Difference" * CurrFactor, Currency."Amount Rounding Precision"); + + GenJournalLine.Correction := TempInvoicePostingBuffer."Correction CZL" xor IsCorrection; + GenJournalLine."VAT Bus. Posting Group" := TempInvoicePostingBuffer."VAT Bus. Posting Group"; + GenJournalLine."VAT Prod. Posting Group" := TempInvoicePostingBuffer."VAT Prod. Posting Group"; + GenJournalLine."Gen. Bus. Posting Group" := TempInvoicePostingBuffer."Gen. Bus. Posting Group"; + GenJournalLine."Gen. Prod. Posting Group" := TempInvoicePostingBuffer."Gen. Prod. Posting Group"; +#if not CLEAN24 #pragma warning disable AL0432 if not PurchaseHeader.IsEU3PartyTradeFeatureEnabled() then PurchaseHeader."EU 3 Party Trade" := PurchaseHeader."EU 3-Party Trade CZL"; #pragma warning restore AL0432 #endif GenJournalLine."EU 3-Party Trade" := PurchaseHeader."EU 3 Party Trade"; - GenJournalLine.Validate("EU 3-Party Intermed. Role CZL", PurchaseHeader."EU 3-Party Intermed. Role CZL"); - GenJournalLine."VAT Bus. Posting Group" := InvoicePostingBuffer."VAT Bus. Posting Group"; - GenJournalLine."VAT Prod. Posting Group" := InvoicePostingBuffer."VAT Prod. Posting Group"; - GenJournalLine."Tax Area Code" := InvoicePostingBuffer."Tax Area Code"; - GenJournalLine."Tax Liable" := InvoicePostingBuffer."Tax Liable"; - GenJournalLine."Tax Group Code" := InvoicePostingBuffer."Tax Group Code"; - GenJournalLine."Use Tax" := InvoicePostingBuffer."Use Tax"; - GenJournalLine."VAT Calculation Type" := InvoicePostingBuffer."VAT Calculation Type"; - GenJournalLine."VAT Base Discount %" := PurchaseHeader."VAT Base Discount %"; - GenJournalLine."VAT Posting" := GenJournalLine."VAT Posting"::"Manual VAT Entry"; - GenJournalLine."Shortcut Dimension 1 Code" := InvoicePostingBuffer."Global Dimension 1 Code"; - GenJournalLine."Shortcut Dimension 2 Code" := InvoicePostingBuffer."Global Dimension 2 Code"; - GenJournalLine."Dimension Set ID" := InvoicePostingBuffer."Dimension Set ID"; - GenJournalLine."Job No." := InvoicePostingBuffer."Job No."; - GenJournalLine."Source Code" := SourceCodeSetup."Purchase VAT Delay CZL"; - GenJournalLine."Bill-to/Pay-to No." := PurchaseHeader."Pay-to Vendor No."; - GenJournalLine."Source Type" := GenJournalLine."Source Type"::Vendor; - GenJournalLine."Source No." := PurchaseHeader."Pay-to Vendor No."; - GenJournalLine."Posting No. Series" := PurchaseHeader."Posting No. Series"; - GenJournalLine."Country/Region Code" := PurchaseHeader."VAT Country/Region Code"; - GenJournalLine."VAT Registration No." := PurchaseHeader."VAT Registration No."; - GenJournalLine.Validate("Registration No. CZL", PurchaseHeader."Registration No. CZL"); - if InvoicePostingBuffer."VAT Calculation Type" = InvoicePostingBuffer."VAT Calculation Type"::"Reverse Charge VAT" then - GenJournalLine."Bal. Account No." := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; - InitVATDelayAmounts(PurchaseHeader, InvoicePostingBuffer, Post, GenJournalLine); - GenJournalLine.Validate("VAT Delay CZL", true); + GenJournalLine."EU 3-Party Intermed. Role CZL" := PurchaseHeader."EU 3-Party Intermed. Role CZL"; GenJnlPostLine.RunWithCheck(GenJournalLine); end; - local procedure InitVATDelayAmounts(PurchaseHeader: Record "Purchase Header"; InvoicePostingBuffer: Record "Invoice Posting Buffer"; Post: Boolean; var GenJournalLine: Record "Gen. Journal Line") + local procedure PostVATDelayDifference(PurchaseHeader: Record "Purchase Header"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; AmountType: Option Base,VAT; CurrFactor: Decimal; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var - VATCurrFactor: Decimal; + GenJournalLine: Record "Gen. Journal Line"; + Amount: Decimal; + AccountNo: Code[20]; begin - if Post then begin - if InvoicePostingBuffer."VAT Calculation Type" = InvoicePostingBuffer."VAT Calculation Type"::"Normal VAT" then begin - // Normal VAT - GenJournalLine.Quantity := InvoicePostingBuffer.Quantity; - GenJournalLine.Amount := Round(InvoicePostingBuffer."Ext. Amount CZL", Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := Round(InvoicePostingBuffer."Ext. Amount Incl. VAT CZL" - InvoicePostingBuffer."Ext. Amount CZL", - Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := Round(InvoicePostingBuffer."Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := - Round(InvoicePostingBuffer."VAT Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := - Round(InvoicePostingBuffer."VAT Base Amount (ACY)", Currency."Amount Rounding Precision"); - end else begin - // Reverse Charge VAT - if PurchaseHeader."VAT Currency Factor CZL" = 0 then - VATCurrFactor := 1 - else - VATCurrFactor := PurchaseHeader."Currency Factor" / PurchaseHeader."VAT Currency Factor CZL"; - if VATCurrFactor = 0 then - VATCurrFactor := 1; - - GenJournalLine.Amount := Round(InvoicePostingBuffer.Amount * VATCurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := Round(InvoicePostingBuffer."VAT Amount" * - VATCurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := Round(InvoicePostingBuffer."Amount (ACY)" * VATCurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := Round(InvoicePostingBuffer."VAT Amount (ACY)" * VATCurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount" - GenJournalLine."Source Curr. VAT Amount"; - GenJournalLine."VAT Difference" := Round(InvoicePostingBuffer."VAT Difference" * VATCurrFactor, - Currency."Amount Rounding Precision"); - end; - end else begin - GenJournalLine.Quantity := -InvoicePostingBuffer.Quantity; - GenJournalLine.Amount := -Round(InvoicePostingBuffer.Amount, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := -Round(InvoicePostingBuffer."VAT Amount", Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := -Round(InvoicePostingBuffer."Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := -Round(InvoicePostingBuffer."VAT Amount (ACY)", Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount"; - GenJournalLine."VAT Difference" := -Round(InvoicePostingBuffer."VAT Difference", Currency."Amount Rounding Precision"); + GetCurrency(PurchaseHeader."Currency Code"); + if CurrFactor = 0 then + CurrFactor := 1; + + case AmountType of + AmountType::Base: + Amount := + TempInvoicePostingBuffer.Amount - + Round(TempInvoicePostingBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + AmountType::VAT: + begin + Amount := + TempInvoicePostingBuffer."VAT Amount" - + Round(TempInvoicePostingBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + if Amount < 0 then + AccountNo := Currency."Realized Gains Acc." + else + AccountNo := Currency."Realized Losses Acc."; + end; end; + + InitGenJournalLine(PurchaseHeader, TempInvoicePostingBuffer, GenJournalLine); + GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::" "; + if AccountNo <> '' then + GenJournalLine."Account No." := AccountNo; + GenJournalLine.Amount := Amount; + + GenJnlPostLine.RunWithCheck(GenJournalLine); end; - local procedure PostPurchVATCurrencyDiffJournal(PurchaseHeader: Record "Purchase Header"; InvoicePostingBuffer: Record "Invoice Posting Buffer"; PostingDate: Date; VATDate: Date; CalcAmt: Decimal; AccountNo: Code[20]; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") - var - GenJournalLine: Record "Gen. Journal Line"; + local procedure InitGenJournalLine(PurchaseHeader: Record "Purchase Header"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; var GenJournalLine: Record "Gen. Journal Line") begin GenJournalLine.Init(); - GenJournalLine."Posting Date" := PostingDate; + GenJournalLine."Document Type" := GLEntry."Document Type"; + GenJournalLine."Document No." := GLEntry."Document No."; + GenJournalLine."External Document No." := GLEntry."External Document No."; + GenJournalLine."Account No." := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; + if TempInvoicePostingBuffer."VAT Calculation Type" = TempInvoicePostingBuffer."VAT Calculation Type"::"Reverse Charge VAT" then + GenJournalLine."Bal. Account No." := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; + GenJournalLine."Posting Date" := PurchaseHeader."Posting Date"; GenJournalLine."Document Date" := PurchaseHeader."Document Date"; #if not CLEAN22 #pragma warning disable AL0432 - if not GenJournalLine.IsReplaceVATDateEnabled() then - GenJournalLine.Validate("VAT Date CZL", VATDate) - else + GenJournalLine."VAT Date CZL" := PurchaseHeader."VAT Date CZL"; #pragma warning restore AL0432 #endif - GenJournalLine.Validate("VAT Reporting Date", VATDate); - GenJournalLine.Validate("Original Doc. VAT Date CZL", PurchaseHeader."Original Doc. VAT Date CZL"); + GenJournalLine."VAT Reporting Date" := PurchaseHeader."VAT Reporting Date"; + GenJournalLine."Original Doc. VAT Date CZL" := PurchaseHeader."Original Doc. VAT Date CZL"; GenJournalLine.Description := PurchaseHeader."Posting Description"; GenJournalLine."Reason Code" := PurchaseHeader."Reason Code"; - GenJournalLine."Document Type" := GLEntry."Document Type"; - GenJournalLine."Document No." := GLEntry."Document No."; - GenJournalLine."External Document No." := GLEntry."External Document No."; - GenJournalLine."Account No." := AccountNo; - GenJournalLine."System-Created Entry" := InvoicePostingBuffer."System-Created Entry"; + GenJournalLine."System-Created Entry" := TempInvoicePostingBuffer."System-Created Entry"; GenJournalLine."Source Currency Code" := PurchaseHeader."Currency Code"; - GenJournalLine.Correction := InvoicePostingBuffer."Correction CZL"; - GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::" "; - GenJournalLine."Tax Area Code" := InvoicePostingBuffer."Tax Area Code"; - GenJournalLine."Tax Liable" := InvoicePostingBuffer."Tax Liable"; - GenJournalLine."Tax Group Code" := InvoicePostingBuffer."Tax Group Code"; - GenJournalLine."Use Tax" := InvoicePostingBuffer."Use Tax"; - GenJournalLine."VAT Calculation Type" := InvoicePostingBuffer."VAT Calculation Type"; + GenJournalLine.Correction := TempInvoicePostingBuffer."Correction CZL"; + GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::Purchase; + GenJournalLine."Tax Area Code" := TempInvoicePostingBuffer."Tax Area Code"; + GenJournalLine."Tax Liable" := TempInvoicePostingBuffer."Tax Liable"; + GenJournalLine."Tax Group Code" := TempInvoicePostingBuffer."Tax Group Code"; + GenJournalLine."Use Tax" := TempInvoicePostingBuffer."Use Tax"; + GenJournalLine."VAT Calculation Type" := TempInvoicePostingBuffer."VAT Calculation Type"; GenJournalLine."VAT Base Discount %" := PurchaseHeader."VAT Base Discount %"; GenJournalLine."VAT Posting" := GenJournalLine."VAT Posting"::"Manual VAT Entry"; - GenJournalLine."Shortcut Dimension 1 Code" := InvoicePostingBuffer."Global Dimension 1 Code"; - GenJournalLine."Shortcut Dimension 2 Code" := InvoicePostingBuffer."Global Dimension 2 Code"; - GenJournalLine."Dimension Set ID" := InvoicePostingBuffer."Dimension Set ID"; - GenJournalLine."Job No." := InvoicePostingBuffer."Job No."; + GenJournalLine."Shortcut Dimension 1 Code" := TempInvoicePostingBuffer."Global Dimension 1 Code"; + GenJournalLine."Shortcut Dimension 2 Code" := TempInvoicePostingBuffer."Global Dimension 2 Code"; + GenJournalLine."Dimension Set ID" := TempInvoicePostingBuffer."Dimension Set ID"; + GenJournalLine."Job No." := TempInvoicePostingBuffer."Job No."; GenJournalLine."Source Code" := SourceCodeSetup."Purchase VAT Delay CZL"; GenJournalLine."Bill-to/Pay-to No." := PurchaseHeader."Pay-to Vendor No."; GenJournalLine."Source Type" := GenJournalLine."Source Type"::Vendor; @@ -499,12 +340,9 @@ codeunit 31039 "Purchase Posting Handler CZL" GenJournalLine."Posting No. Series" := PurchaseHeader."Posting No. Series"; GenJournalLine."Country/Region Code" := PurchaseHeader."VAT Country/Region Code"; GenJournalLine."VAT Registration No." := PurchaseHeader."VAT Registration No."; - GenJournalLine.Validate("Registration No. CZL", PurchaseHeader."Registration No. CZL"); - GenJournalLine.Quantity := InvoicePostingBuffer.Quantity; - GenJournalLine.Amount := CalcAmt; - GenJournalLine.Validate("VAT Delay CZL", true); - - GenJnlPostLine.RunWithCheck(GenJournalLine); + GenJournalLine."Registration No. CZL" := PurchaseHeader."Registration No. CZL"; + GenJournalLine.Quantity := TempInvoicePostingBuffer.Quantity; + GenJournalLine."VAT Delay CZL" := true; end; local procedure GetCurrency(CurrencyCode: Code[10]) @@ -541,7 +379,6 @@ codeunit 31039 "Purchase Posting Handler CZL" var PurchaseLine: Record "Purchase Line"; TariffNumber: Record "Tariff Number"; - VATPostingSetup: Record "VAT Posting Setup"; IsHandled: Boolean; begin OnBeforeCheckTariffNo(PurchaseHeader, IsHandled); @@ -808,6 +645,8 @@ codeunit 31039 "Purchase Posting Handler CZL" #pragma warning restore AL0432 #endif +#if not CLEAN24 +#pragma warning disable AL0432 [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch. Post Invoice Events", 'OnPrepareLineOnAfterFillInvoicePostingBuffer', '', false, false)] local procedure SetExtendedAmountsOnPrepareLineOnAfterFillInvoicePostingBuffer(var InvoicePostingBuffer: Record "Invoice Posting Buffer"; PurchLine: Record "Purchase Line") begin @@ -853,6 +692,8 @@ codeunit 31039 "Purchase Posting Handler CZL" PurchLine."Ext. Amount Incl. VAT CZL" := -PurchLine."Ext. Amount Incl. VAT CZL"; end; +#pragma warning restore AL0432 +#endif [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnBeforeTestPurchLineItemCharge', '', false, false)] local procedure SkipCheckOnBeforeTestPurchLineItemCharge(PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean) var diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReconciliationHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReconciliationHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReconciliationHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReconciliationHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegLookupExtData.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegLookupExtDataCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegLookupExtData.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegLookupExtDataCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgtCZL.Codeunit.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgtCZL.Codeunit.al index 6ef7e6b538..4f548ddc2e 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgt.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgtCZL.Codeunit.al @@ -462,14 +462,8 @@ codeunit 11755 "Registration Log Mgt. CZL" RegistrationNoCheck.GetRecordRef(ResultRecord); end; -#if not CLEAN21 -#pragma warning disable AL0432 -#endif [EventSubscriber(ObjectType::Table, Database::"Service Connection", 'OnRegisterServiceConnection', '', false, false)] local procedure HandleAresRegisterServiceConnection(var ServiceConnection: Record "Service Connection") -#if not CLEAN21 -#pragma warning restore AL0432 -#endif var RegNoServiceConfigCZL: Record "Reg. No. Service Config CZL"; ServiceConfigRecordRef: RecordRef; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationNoMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationNoMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationNoMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationNoMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RelTransferDocHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RelTransferDocHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RelTransferDocHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RelTransferDocHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleasePurchDocHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleasePurchDocHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleasePurchDocHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleasePurchDocHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseSalesDocHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseSalesDocHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseSalesDocHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseSalesDocHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseVIESDeclaration.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseVIESDeclarationCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseVIESDeclaration.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReleaseVIESDeclarationCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReminderHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReminderHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReminderHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReminderHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReplaceVATDateMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReplaceVATDateMgtCZL.Codeunit.al similarity index 70% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReplaceVATDateMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReplaceVATDateMgtCZL.Codeunit.al index 7221873bb8..d1ad05a8d5 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReplaceVATDateMgt.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReplaceVATDateMgtCZL.Codeunit.al @@ -6,6 +6,7 @@ namespace Microsoft.Finance.VAT.Calculation; using System.Environment.Configuration; +using Microsoft.Finance.GeneralLedger.Setup; codeunit 31463 "Replace VAT Date Mgt. CZL" { @@ -45,6 +46,21 @@ codeunit 31463 "Replace VAT Date Mgt. CZL" exit(ReplaceVATDateFeatureIdTok); end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Feature Management Facade", 'OnAfterFeatureEnableConfirmed', '', true, true)] + local procedure OnAfterFeatureEnableConfirmed(var FeatureKey: Record "Feature Key") + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + if FeatureKey.ID = GetFeatureKey() then begin + GeneralLedgerSetup.Get(); + if GeneralLedgerSetup."Use VAT Date CZL" then + GeneralLedgerSetup."VAT Reporting Date Usage" := GeneralLedgerSetup."VAT Reporting Date Usage"::"Enabled (Prevent modification)" + else + GeneralLedgerSetup."VAT Reporting Date Usage" := GeneralLedgerSetup."VAT Reporting Date Usage"::Disabled; + GeneralLedgerSetup.Modify(); + end; + end; + [Obsolete('The VAT Date CZL will be replaced by VAT Reporting Date by default.', '22.0')] [IntegrationEvent(false, false)] local procedure OnAfterIsEnabled(var FeatureEnabled: Boolean) diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReportSelectionHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReportSelectionHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReportSelectionHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ReportSelectionHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RequisitionLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RequisitionLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RequisitionLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RequisitionLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ResJnlCheckLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ResJnlCheckLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ResJnlCheckLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ResJnlCheckLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SOAPWSRequestManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SOAPWSRequestManagementCZL.Codeunit.al similarity index 95% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SOAPWSRequestManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SOAPWSRequestManagementCZL.Codeunit.al index c23bc385c1..ce02330e68 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SOAPWSRequestManagement.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SOAPWSRequestManagementCZL.Codeunit.al @@ -219,17 +219,6 @@ codeunit 31031 "SOAP WS Request Management CZL" ResponseContentXmlDocument.WriteTo(ResponseOutStream); end; - [Obsolete('This function is not needed and will be removed.', '18.0')] - procedure GetResponseResultValue(): Text - var - ResultXmlNode: XmlNode; - RootXmlElement: XmlElement; - begin - ResponseContentXmlDocument.GetRoot(RootXmlElement); - RootXmlElement.GetDescendantNodes().Get(1, ResultXmlNode); - exit(ResultXmlNode.AsXmlElement().InnerXml()); - end; - local procedure ExtractContentFromResponse(ResponseHttpResponseMessage: HttpResponseMessage): XmlDocument var BodyXmlNode: XmlNode; @@ -252,17 +241,6 @@ codeunit 31031 "SOAP WS Request Management CZL" exit(ResponseHttpResponseMessage.HttpStatusCode()); end; - procedure HasResponseContentFault(): Boolean - begin - exit(GetResponseContentFault() <> ''); - end; - - [Obsolete('Replaced by HasResponseContentFault function.', '18.0')] - procedure HasResponseFaultResult(): Boolean - begin - exit(GetResponseContentFault() <> ''); - end; - procedure ProcessFaultResponse() var ResponseContentFault: Text; @@ -271,12 +249,16 @@ codeunit 31031 "SOAP WS Request Management CZL" begin if not ResponseHttpResponseMessage.IsSuccessStatusCode() then Error(ServiceStatusErr, GetHttpStatusCode(), GetLastErrorText()); - ResponseContentFault := GetResponseContentFault(); if ResponseContentFault <> '' then Error(ResponseContentFaultErr, ResponseContentFault); end; + procedure HasResponseContentFault(): Boolean + begin + exit(GetResponseContentFault() <> ''); + end; + procedure GetResponseContentFault(): Text var ErrorText: Text; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesHeaderHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesHeaderHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesHeaderHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesHeaderHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesPostingHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesPostingHandlerCZL.Codeunit.al similarity index 71% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesPostingHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesPostingHandlerCZL.Codeunit.al index d284f445e4..1829dc4cb9 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesPostingHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SalesPostingHandlerCZL.Codeunit.al @@ -16,8 +16,8 @@ using Microsoft.Finance.VAT.Setup; using Microsoft.Foundation.AuditCodes; #if not CLEAN22 using Microsoft.Foundation.BatchProcessing; -#endif using Microsoft.Foundation.Company; +#endif using Microsoft.Inventory.Counting.Journal; using Microsoft.Inventory.Intrastat; using Microsoft.Inventory.Item; @@ -36,77 +36,135 @@ using System.Utilities; codeunit 31038 "Sales Posting Handler CZL" { var - SourceCodeSetup: Record "Source Code Setup"; - GLEntry: Record "G/L Entry"; Currency: Record Currency; + GLEntry: Record "G/L Entry"; + SourceCodeSetup: Record "Source Code Setup"; + VATPostingSetup: Record "VAT Posting Setup"; BankOperationsFunctionsCZL: Codeunit "Bank Operations Functions CZL"; ReverseChargeCheckCZL: Enum "Reverse Charge Check CZL"; - VATCalcTypeErr: Label 'Relation Exch. Rate Amount for the Currency Code and for the VAT Currency Code must be the same if Normal VAT is used.'; + GlobalAmountType: Option Base,VAT; #if not CLEAN23 #pragma warning disable AL0432 [EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales-Post", 'OnAfterPostInvPostBuffer', '', false, false)] - local procedure SalesPostVATCurrencyFactorOnAfterPostInvPostBuffer(var GenJnlLine: Record "Gen. Journal Line"; var InvoicePostBuffer: Record "Invoice Post. Buffer"; var SalesHeader: Record "Sales Header"; GLEntryNo: Integer; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + local procedure SalesPostVATDelayOnAfterPostInvPostBuffer(var GenJnlLine: Record "Gen. Journal Line"; var InvoicePostBuffer: Record "Invoice Post. Buffer"; var SalesHeader: Record "Sales Header"; GLEntryNo: Integer; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var - VATPostingSetup: Record "VAT Posting Setup"; VATCurrFactor: Decimal; begin - if SalesHeader."Currency Factor" <> SalesHeader."VAT Currency Factor CZL" then begin + if (SalesHeader."Currency Code" <> '') and (SalesHeader."Currency Factor" <> SalesHeader."VAT Currency Factor CZL") and + ((InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Reverse Charge VAT") or + (InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Normal VAT")) + then begin VATPostingSetup.Get(GenJnlLine."VAT Bus. Posting Group", GenJnlLine."VAT Prod. Posting Group"); - if VATPostingSetup."VAT Calculation Type" <> VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" then - Error(VATCalcTypeErr); VATPostingSetup.TestField("Sales VAT Curr. Exch. Acc CZL"); SourceCodeSetup.Get(); SourceCodeSetup.TestField("Sales VAT Delay CZL"); GLEntry.Get(GLEntryNo); - PostSalesVATCurrencyFactor(SalesHeader, InvoicePostBuffer, false, 1, true, VATPostingSetup, GenJnlPostLine); - if SalesHeader."VAT Currency Factor CZL" = 0 then - VATCurrFactor := 1 - else + + VATCurrFactor := 1; + if SalesHeader."VAT Currency Factor CZL" <> 0 then VATCurrFactor := SalesHeader."Currency Factor" / SalesHeader."VAT Currency Factor CZL"; - if VATCurrFactor = 0 then - VATCurrFactor := 1; - PostSalesVATCurrencyFactor(SalesHeader, InvoicePostBuffer, true, VATCurrFactor, false, VATPostingSetup, GenJnlPostLine); + PostVATDelay(SalesHeader, InvoicePostBuffer, -1, 1, true, GenJnlPostLine); + PostVATDelay(SalesHeader, InvoicePostBuffer, 1, VATCurrFactor, false, GenJnlPostLine); + if InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Normal VAT" then begin + PostVATDelayDifference(SalesHeader, InvoicePostBuffer, GlobalAmountType::Base, VATCurrFactor, GenJnlPostLine); + PostVATDelayDifference(SalesHeader, InvoicePostBuffer, GlobalAmountType::VAT, VATCurrFactor, GenJnlPostLine); + end; end; end; - local procedure PostSalesVATCurrencyFactor(SalesHeader: Record "Sales Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; ToPost: Boolean; CurrFactor: Decimal; IsCorrection: Boolean; VATPostingSetup: Record "VAT Posting Setup"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + local procedure PostVATDelay(SalesHeader: Record "Sales Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; Sign: Integer; CurrFactor: Decimal; IsCorrection: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var GenJournalLine: Record "Gen. Journal Line"; - Sign: Integer; begin - if ToPost then - Sign := 1 - else - Sign := -1; + GetCurrency(SalesHeader."Currency Code"); + if CurrFactor = 0 then + CurrFactor := 1; + + InitGenJournalLine(SalesHeader, InvoicePostBuffer, GenJournalLine); + GenJournalLine.Quantity := Sign * GenJournalLine.Quantity; + GenJournalLine.Amount := + Sign * Round(InvoicePostBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Amount" := + Sign * Round(InvoicePostBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; + GenJournalLine."Source Currency Amount" := + Sign * Round(InvoicePostBuffer."Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Amount" := + Sign * Round(InvoicePostBuffer."VAT Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount"; + GenJournalLine."VAT Difference" := + Sign * Round(InvoicePostBuffer."VAT Difference" * CurrFactor, Currency."Amount Rounding Precision"); + + GenJournalLine.Correction := InvoicePostBuffer."Correction CZL" xor IsCorrection; + GenJournalLine."VAT Bus. Posting Group" := InvoicePostBuffer."VAT Bus. Posting Group"; + GenJournalLine."VAT Prod. Posting Group" := InvoicePostBuffer."VAT Prod. Posting Group"; + GenJournalLine."Gen. Bus. Posting Group" := InvoicePostBuffer."Gen. Bus. Posting Group"; + GenJournalLine."Gen. Prod. Posting Group" := InvoicePostBuffer."Gen. Prod. Posting Group"; + + GenJnlPostLine.RunWithCheck(GenJournalLine); + end; + + local procedure PostVATDelayDifference(SalesHeader: Record "Sales Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; AmountType: Option Base,VAT; CurrFactor: Decimal; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + var + GenJournalLine: Record "Gen. Journal Line"; + Amount: Decimal; + AccountNo: Code[20]; + begin + GetCurrency(SalesHeader."Currency Code"); + if CurrFactor = 0 then + CurrFactor := 1; + + case AmountType of + AmountType::Base: + Amount := + InvoicePostBuffer.Amount - + Round(InvoicePostBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + AmountType::VAT: + begin + Amount := + InvoicePostBuffer."VAT Amount" - + Round(InvoicePostBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + if Amount < 0 then + AccountNo := Currency."Realized Gains Acc." + else + AccountNo := Currency."Realized Losses Acc."; + end; + end; + + InitGenJournalLine(SalesHeader, InvoicePostBuffer, GenJournalLine); + GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::" "; + if AccountNo <> '' then + GenJournalLine."Account No." := AccountNo; + GenJournalLine.Amount := Amount; + + GenJnlPostLine.RunWithCheck(GenJournalLine); + end; + + local procedure InitGenJournalLine(SalesHeader: Record "Sales Header"; InvoicePostBuffer: Record "Invoice Post. Buffer"; var GenJournalLine: Record "Gen. Journal Line") + begin GenJournalLine.Init(); + GenJournalLine."Document Type" := GLEntry."Document Type"; + GenJournalLine."Document No." := GLEntry."Document No."; + GenJournalLine."External Document No." := GLEntry."External Document No."; + GenJournalLine."Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; + if InvoicePostBuffer."VAT Calculation Type" = InvoicePostBuffer."VAT Calculation Type"::"Reverse Charge VAT" then + GenJournalLine."Bal. Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; GenJournalLine."Posting Date" := SalesHeader."Posting Date"; + GenJournalLine."Document Date" := SalesHeader."Document Date"; #if not CLEAN22 - if not GenJournalLine.IsReplaceVATDateEnabled() then - GenJournalLine.Validate("VAT Date CZL", SalesHeader."VAT Date CZL") - else + GenJournalLine."VAT Date CZL" := SalesHeader."VAT Date CZL"; #endif - GenJournalLine.Validate("VAT Reporting Date", SalesHeader."VAT Reporting Date"); - GenJournalLine.Validate("Original Doc. VAT Date CZL", SalesHeader."Original Doc. VAT Date CZL"); - GenJournalLine."Document Date" := SalesHeader."Document Date"; + GenJournalLine."VAT Reporting Date" := SalesHeader."VAT Reporting Date"; + GenJournalLine."Original Doc. VAT Date CZL" := SalesHeader."Original Doc. VAT Date CZL"; GenJournalLine.Description := SalesHeader."Posting Description"; GenJournalLine."Reason Code" := SalesHeader."Reason Code"; - GenJournalLine."Document Type" := GLEntry."Document Type"; - GenJournalLine."Document No." := GLEntry."Document No."; - GenJournalLine."External Document No." := GLEntry."External Document No."; - GenJournalLine."Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; GenJournalLine."System-Created Entry" := InvoicePostBuffer."System-Created Entry"; GenJournalLine."Source Currency Code" := SalesHeader."Currency Code"; - GetCurrency(SalesHeader."Currency Code"); - if IsCorrection then - GenJournalLine.Correction := not InvoicePostBuffer."Correction CZL" - else - GenJournalLine.Correction := InvoicePostBuffer."Correction CZL"; + GenJournalLine.Correction := InvoicePostBuffer."Correction CZL"; GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::Sale; - GenJournalLine."VAT Bus. Posting Group" := InvoicePostBuffer."VAT Bus. Posting Group"; - GenJournalLine."VAT Prod. Posting Group" := InvoicePostBuffer."VAT Prod. Posting Group"; GenJournalLine."Tax Area Code" := InvoicePostBuffer."Tax Area Code"; GenJournalLine."Tax Liable" := InvoicePostBuffer."Tax Liable"; GenJournalLine."Tax Group Code" := InvoicePostBuffer."Tax Group Code"; @@ -123,126 +181,157 @@ codeunit 31038 "Sales Posting Handler CZL" GenJournalLine."Source Type" := GenJournalLine."Source Type"::Customer; GenJournalLine."Source No." := SalesHeader."Bill-to Customer No."; GenJournalLine."Posting No. Series" := SalesHeader."Posting No. Series"; - GenJournalLine."Bal. Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; - GenJournalLine.Quantity := Sign * InvoicePostBuffer.Quantity; - GenJournalLine.Amount := Round(Sign * InvoicePostBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := Round(Sign * InvoicePostBuffer."VAT Amount" * - CurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := Round(Sign * InvoicePostBuffer."Amount (ACY)" * CurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := Round(Sign * InvoicePostBuffer."VAT Amount (ACY)" * CurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount" - GenJournalLine."Source Curr. VAT Amount"; - GenJournalLine."VAT Difference" := Round(Sign * InvoicePostBuffer."VAT Difference" * CurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Gen. Bus. Posting Group" := InvoicePostBuffer."Gen. Bus. Posting Group"; - GenJournalLine."Gen. Prod. Posting Group" := InvoicePostBuffer."Gen. Prod. Posting Group"; - GenJournalLine.Validate("VAT Delay CZL", true); - - GenJnlPostLine.RunWithCheck(GenJournalLine); + GenJournalLine."Country/Region Code" := SalesHeader."VAT Country/Region Code"; + GenJournalLine."VAT Registration No." := SalesHeader."VAT Registration No."; + GenJournalLine."Registration No. CZL" := SalesHeader."Registration No. CZL"; + GenJournalLine.Quantity := InvoicePostBuffer.Quantity; + GenJournalLine."VAT Delay CZL" := true; end; #pragma warning restore AL0432 #endif [EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales Post Invoice Events", 'OnPostLinesOnAfterGenJnlLinePost', '', false, false)] - local procedure SalesPostVATCurrencyFactorOnPostLinesOnAfterGenJnlLinePost(var GenJnlLine: Record "Gen. Journal Line"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; SalesHeader: Record "Sales Header"; GLEntryNo: Integer; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + local procedure SalesPostVATDelayOnPostLinesOnAfterGenJnlLinePost(var GenJnlLine: Record "Gen. Journal Line"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; SalesHeader: Record "Sales Header"; GLEntryNo: Integer; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var - VATPostingSetup: Record "VAT Posting Setup"; VATCurrFactor: Decimal; begin - if SalesHeader."Currency Factor" <> SalesHeader."VAT Currency Factor CZL" then begin + if (SalesHeader."Currency Code" <> '') and (SalesHeader."Currency Factor" <> SalesHeader."VAT Currency Factor CZL") and + ((TempInvoicePostingBuffer."VAT Calculation Type" = TempInvoicePostingBuffer."VAT Calculation Type"::"Reverse Charge VAT") or + (TempInvoicePostingBuffer."VAT Calculation Type" = TempInvoicePostingBuffer."VAT Calculation Type"::"Normal VAT")) + then begin VATPostingSetup.Get(GenJnlLine."VAT Bus. Posting Group", GenJnlLine."VAT Prod. Posting Group"); - if VATPostingSetup."VAT Calculation Type" <> VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" then - Error(VATCalcTypeErr); VATPostingSetup.TestField("Sales VAT Curr. Exch. Acc CZL"); SourceCodeSetup.Get(); SourceCodeSetup.TestField("Sales VAT Delay CZL"); GLEntry.Get(GLEntryNo); - PostSalesVATCurrencyFactor(SalesHeader, TempInvoicePostingBuffer, false, 1, true, VATPostingSetup, GenJnlPostLine); - if SalesHeader."VAT Currency Factor CZL" = 0 then - VATCurrFactor := 1 - else + + VATCurrFactor := 1; + if SalesHeader."VAT Currency Factor CZL" <> 0 then VATCurrFactor := SalesHeader."Currency Factor" / SalesHeader."VAT Currency Factor CZL"; - if VATCurrFactor = 0 then - VATCurrFactor := 1; - PostSalesVATCurrencyFactor(SalesHeader, TempInvoicePostingBuffer, true, VATCurrFactor, false, VATPostingSetup, GenJnlPostLine); + PostVATDelay(SalesHeader, TempInvoicePostingBuffer, -1, 1, true, GenJnlPostLine); + PostVATDelay(SalesHeader, TempInvoicePostingBuffer, 1, VATCurrFactor, false, GenJnlPostLine); + if TempInvoicePostingBuffer."VAT Calculation Type" = TempInvoicePostingBuffer."VAT Calculation Type"::"Normal VAT" then begin + PostVATDelayDifference(SalesHeader, TempInvoicePostingBuffer, GlobalAmountType::Base, VATCurrFactor, GenJnlPostLine); + PostVATDelayDifference(SalesHeader, TempInvoicePostingBuffer, GlobalAmountType::VAT, VATCurrFactor, GenJnlPostLine); + end; end; end; - local procedure PostSalesVATCurrencyFactor(SalesHeader: Record "Sales Header"; InvoicePostingBuffer: Record "Invoice Posting Buffer"; ToPost: Boolean; CurrFactor: Decimal; IsCorrection: Boolean; VATPostingSetup: Record "VAT Posting Setup"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + local procedure PostVATDelay(SalesHeader: Record "Sales Header"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; Sign: Integer; CurrFactor: Decimal; IsCorrection: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") var GenJournalLine: Record "Gen. Journal Line"; - Sign: Integer; begin - if ToPost then - Sign := 1 - else - Sign := -1; + GetCurrency(SalesHeader."Currency Code"); + if CurrFactor = 0 then + CurrFactor := 1; + + InitGenJournalLine(SalesHeader, TempInvoicePostingBuffer, GenJournalLine); + + GenJournalLine.Quantity := Sign * GenJournalLine.Quantity; + GenJournalLine.Amount := + Sign * Round(TempInvoicePostingBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Amount" := + Sign * Round(TempInvoicePostingBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; + GenJournalLine."Source Currency Amount" := + Sign * Round(TempInvoicePostingBuffer."Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Amount" := + Sign * Round(TempInvoicePostingBuffer."VAT Amount (ACY)" * CurrFactor, Currency."Amount Rounding Precision"); + GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount"; + GenJournalLine."VAT Difference" := + Sign * Round(TempInvoicePostingBuffer."VAT Difference" * CurrFactor, Currency."Amount Rounding Precision"); + + GenJournalLine.Correction := TempInvoicePostingBuffer."Correction CZL" xor IsCorrection; + GenJournalLine."VAT Bus. Posting Group" := TempInvoicePostingBuffer."VAT Bus. Posting Group"; + GenJournalLine."VAT Prod. Posting Group" := TempInvoicePostingBuffer."VAT Prod. Posting Group"; + GenJournalLine."Gen. Bus. Posting Group" := TempInvoicePostingBuffer."Gen. Bus. Posting Group"; + GenJournalLine."Gen. Prod. Posting Group" := TempInvoicePostingBuffer."Gen. Prod. Posting Group"; + + GenJnlPostLine.RunWithCheck(GenJournalLine); + end; + + local procedure PostVATDelayDifference(SalesHeader: Record "Sales Header"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; AmountType: Option Base,VAT; CurrFactor: Decimal; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + var + GenJournalLine: Record "Gen. Journal Line"; + Amount: Decimal; + AccountNo: Code[20]; + begin + GetCurrency(SalesHeader."Currency Code"); + if CurrFactor = 0 then + CurrFactor := 1; + + case AmountType of + AmountType::Base: + Amount := + TempInvoicePostingBuffer.Amount - + Round(TempInvoicePostingBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); + AmountType::VAT: + begin + Amount := + TempInvoicePostingBuffer."VAT Amount" - + Round(TempInvoicePostingBuffer."VAT Amount" * CurrFactor, Currency."Amount Rounding Precision"); + if Amount < 0 then + AccountNo := Currency."Realized Gains Acc." + else + AccountNo := Currency."Realized Losses Acc."; + end; + end; + + InitGenJournalLine(SalesHeader, TempInvoicePostingBuffer, GenJournalLine); + GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::" "; + if AccountNo <> '' then + GenJournalLine."Account No." := AccountNo; + GenJournalLine.Amount := Amount; + + GenJnlPostLine.RunWithCheck(GenJournalLine); + end; + local procedure InitGenJournalLine(SalesHeader: Record "Sales Header"; TempInvoicePostingBuffer: Record "Invoice Posting Buffer"; var GenJournalLine: Record "Gen. Journal Line") + begin GenJournalLine.Init(); + GenJournalLine."Document Type" := GLEntry."Document Type"; + GenJournalLine."Document No." := GLEntry."Document No."; + GenJournalLine."External Document No." := GLEntry."External Document No."; + GenJournalLine."Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; + if TempInvoicePostingBuffer."VAT Calculation Type" = TempInvoicePostingBuffer."VAT Calculation Type"::"Reverse Charge VAT" then + GenJournalLine."Bal. Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; GenJournalLine."Posting Date" := SalesHeader."Posting Date"; + GenJournalLine."Document Date" := SalesHeader."Document Date"; #if not CLEAN22 #pragma warning disable AL0432 - if not GenJournalLine.IsReplaceVATDateEnabled() then - GenJournalLine.Validate("VAT Date CZL", SalesHeader."VAT Date CZL") - else + GenJournalLine."VAT Date CZL" := SalesHeader."VAT Date CZL"; #pragma warning restore AL0432 #endif - GenJournalLine.Validate("VAT Reporting Date", SalesHeader."VAT Reporting Date"); - GenJournalLine.Validate("Original Doc. VAT Date CZL", SalesHeader."Original Doc. VAT Date CZL"); - GenJournalLine."Document Date" := SalesHeader."Document Date"; + GenJournalLine."VAT Reporting Date" := SalesHeader."VAT Reporting Date"; + GenJournalLine."Original Doc. VAT Date CZL" := SalesHeader."Original Doc. VAT Date CZL"; GenJournalLine.Description := SalesHeader."Posting Description"; GenJournalLine."Reason Code" := SalesHeader."Reason Code"; - GenJournalLine."Document Type" := GLEntry."Document Type"; - GenJournalLine."Document No." := GLEntry."Document No."; - GenJournalLine."External Document No." := GLEntry."External Document No."; - GenJournalLine."Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; - GenJournalLine."System-Created Entry" := InvoicePostingBuffer."System-Created Entry"; + GenJournalLine."System-Created Entry" := TempInvoicePostingBuffer."System-Created Entry"; GenJournalLine."Source Currency Code" := SalesHeader."Currency Code"; - GetCurrency(SalesHeader."Currency Code"); - if IsCorrection then - GenJournalLine.Correction := not InvoicePostingBuffer."Correction CZL" - else - GenJournalLine.Correction := InvoicePostingBuffer."Correction CZL"; + GenJournalLine.Correction := TempInvoicePostingBuffer."Correction CZL"; GenJournalLine."Gen. Posting Type" := GenJournalLine."Gen. Posting Type"::Sale; - GenJournalLine."VAT Bus. Posting Group" := InvoicePostingBuffer."VAT Bus. Posting Group"; - GenJournalLine."VAT Prod. Posting Group" := InvoicePostingBuffer."VAT Prod. Posting Group"; - GenJournalLine."Tax Area Code" := InvoicePostingBuffer."Tax Area Code"; - GenJournalLine."Tax Liable" := InvoicePostingBuffer."Tax Liable"; - GenJournalLine."Tax Group Code" := InvoicePostingBuffer."Tax Group Code"; - GenJournalLine."Use Tax" := InvoicePostingBuffer."Use Tax"; - GenJournalLine."VAT Calculation Type" := InvoicePostingBuffer."VAT Calculation Type"; + GenJournalLine."Tax Area Code" := TempInvoicePostingBuffer."Tax Area Code"; + GenJournalLine."Tax Liable" := TempInvoicePostingBuffer."Tax Liable"; + GenJournalLine."Tax Group Code" := TempInvoicePostingBuffer."Tax Group Code"; + GenJournalLine."Use Tax" := TempInvoicePostingBuffer."Use Tax"; + GenJournalLine."VAT Calculation Type" := TempInvoicePostingBuffer."VAT Calculation Type"; GenJournalLine."VAT Base Discount %" := SalesHeader."VAT Base Discount %"; GenJournalLine."VAT Posting" := GenJournalLine."VAT Posting"::"Manual VAT Entry"; - GenJournalLine."Shortcut Dimension 1 Code" := InvoicePostingBuffer."Global Dimension 1 Code"; - GenJournalLine."Shortcut Dimension 2 Code" := InvoicePostingBuffer."Global Dimension 2 Code"; - GenJournalLine."Dimension Set ID" := InvoicePostingBuffer."Dimension Set ID"; - GenJournalLine."Job No." := InvoicePostingBuffer."Job No."; + GenJournalLine."Shortcut Dimension 1 Code" := TempInvoicePostingBuffer."Global Dimension 1 Code"; + GenJournalLine."Shortcut Dimension 2 Code" := TempInvoicePostingBuffer."Global Dimension 2 Code"; + GenJournalLine."Dimension Set ID" := TempInvoicePostingBuffer."Dimension Set ID"; + GenJournalLine."Job No." := TempInvoicePostingBuffer."Job No."; GenJournalLine."Source Code" := SourceCodeSetup."Sales VAT Delay CZL"; GenJournalLine."Bill-to/Pay-to No." := SalesHeader."Bill-to Customer No."; GenJournalLine."Source Type" := GenJournalLine."Source Type"::Customer; GenJournalLine."Source No." := SalesHeader."Bill-to Customer No."; GenJournalLine."Posting No. Series" := SalesHeader."Posting No. Series"; - GenJournalLine."Bal. Account No." := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; - GenJournalLine.Quantity := Sign * InvoicePostingBuffer.Quantity; - GenJournalLine.Amount := Round(Sign * InvoicePostingBuffer.Amount * CurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Amount" := Round(Sign * InvoicePostingBuffer."VAT Amount" * - CurrFactor, Currency."Amount Rounding Precision"); - GenJournalLine."VAT Base Amount" := GenJournalLine.Amount; - GenJournalLine."Source Currency Amount" := Round(Sign * InvoicePostingBuffer."Amount (ACY)" * CurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Amount" := Round(Sign * InvoicePostingBuffer."VAT Amount (ACY)" * CurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Source Curr. VAT Base Amount" := GenJournalLine."Source Currency Amount" - GenJournalLine."Source Curr. VAT Amount"; - GenJournalLine."VAT Difference" := Round(Sign * InvoicePostingBuffer."VAT Difference" * CurrFactor, - Currency."Amount Rounding Precision"); - GenJournalLine."Gen. Bus. Posting Group" := InvoicePostingBuffer."Gen. Bus. Posting Group"; - GenJournalLine."Gen. Prod. Posting Group" := InvoicePostingBuffer."Gen. Prod. Posting Group"; - GenJournalLine.Validate("VAT Delay CZL", true); - - GenJnlPostLine.RunWithCheck(GenJournalLine); + GenJournalLine."Country/Region Code" := SalesHeader."VAT Country/Region Code"; + GenJournalLine."VAT Registration No." := SalesHeader."VAT Registration No."; + GenJournalLine."Registration No. CZL" := SalesHeader."Registration No. CZL"; + GenJournalLine.Quantity := TempInvoicePostingBuffer.Quantity; + GenJournalLine."VAT Delay CZL" := true; end; local procedure GetCurrency(CurrencyCode: Code[10]) @@ -285,7 +374,6 @@ codeunit 31038 "Sales Posting Handler CZL" Temp1InventoryBuffer: Record "Inventory Buffer" temporary; Temp2InventoryBuffer: Record "Inventory Buffer" temporary; CurrencyExchangeRate: Record "Currency Exchange Rate"; - VATPostingSetup: Record "VAT Posting Setup"; ConfirmManagement: Codeunit "Confirm Management"; AmountToCheckLimit: Decimal; LineAmount: Decimal; @@ -609,7 +697,7 @@ codeunit 31038 "Sales Posting Handler CZL" if StatutoryReportingSetupCZL."Shipment Method Mandatory" then if SalesHeader."Shipment Method Code" = '' then AddError(StrSubstNo(MustBeSpecifiedLbl, SalesHeader.FieldCaption("Shipment Method Code")), ErrorCounter, ErrorText); -#pragma warning restore AL0432 +#pragma warning restore AL0432 end; end; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceHeaderHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceHeaderHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceHeaderHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceHeaderHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServiceLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServicePostingHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServicePostingHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServicePostingHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/ServicePostingHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SourceCodeSetupHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SourceCodeSetupHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SourceCodeSetupHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SourceCodeSetupHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SubstituteReportHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SubstituteReportHandlerCZL.Codeunit.al similarity index 97% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SubstituteReportHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SubstituteReportHandlerCZL.Codeunit.al index 3dc3a02446..075177e10e 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SubstituteReportHandler.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SubstituteReportHandlerCZL.Codeunit.al @@ -37,11 +37,7 @@ codeunit 31097 "Substitute Report Handler CZL" Report::"Balance Sheet CZL": NewReportId := Report::"Balance Sheet"; Report::"Adjust Exchange Rates CZL": -#if CLEAN20 NewReportId := Report::"Exch. Rate Adjustment"; -#else - NewReportId := Report::"Adjust Exchange Rates"; -#endif Report::"Calc. and Post VAT Settl. CZL": NewReportId := Report::"Calc. and Post VAT Settlement"; Report::"Cash Flow Date List CZL": @@ -66,11 +62,7 @@ codeunit 31097 "Substitute Report Handler CZL" case ReportId of Report::"Balance Sheet": NewReportId := Report::"Balance Sheet CZL"; -#if CLEAN20 Report::"Exch. Rate Adjustment": -#else - Report::"Adjust Exchange Rates": -#endif NewReportId := Report::"Adjust Exchange Rates CZL"; Report::"Calc. and Post VAT Settlement": NewReportId := Report::"Calc. and Post VAT Settl. CZL"; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldContact.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldContactCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldContact.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldContactCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldCustomer.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldCustomerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldCustomer.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldCustomerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldDODocVATDate.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldDODocVATDateCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldDODocVATDate.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldDODocVATDateCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGLEntry.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGLEntryCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGLEntry.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGLEntryCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGenJnlLine.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGenJnlLineCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGenJnlLine.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldGenJnlLineCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPCrMemoHdr.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPCrMemoHdrCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPCrMemoHdr.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPCrMemoHdrCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHdrArch.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHdrArchCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHdrArch.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHdrArchCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHeader.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHeaderCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHeader.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchHeaderCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchInvHdr.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchInvHdrCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchInvHdr.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldPurchInvHdrCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSCrMemoHdr.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSCrMemoHdrCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSCrMemoHdr.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSCrMemoHdrCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHdrArch.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHdrArchCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHdrArch.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHdrArchCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHeader.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHeaderCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHeader.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesHeaderCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesInvHdr.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesInvHdrCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesInvHdr.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSalesInvHdrCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServCrMemoHdr.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServCrMemoHdrCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServCrMemoHdr.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServCrMemoHdrCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceHeader.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceHeaderCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceHeader.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceHeaderCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceInvHdr.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceInvHdrCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceInvHdr.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldServiceInvHdrCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstCustPGrp.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstCustPGrpCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstCustPGrp.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstCustPGrpCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstVendPGrp.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstVendPGrpCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstVendPGrp.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldSubstVendPGrpCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATEntry.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATEntryCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATEntry.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATEntryCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATStmtLine.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATStmtLineCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATStmtLine.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVATStmtLineCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVendor.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVendorCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVendor.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/SyncDepFldVendorCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TariffNumberHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TariffNumberHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TariffNumberHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TariffNumberHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferOrderPostHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferOrderPostHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferOrderPostHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransferOrderPostHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransformationRuleMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransformationRuleMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransformationRuleMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/TransformationRuleMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerMgtCZL.Codeunit.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerMgtCZL.Codeunit.al index a1d02737f3..1dcbfbd6dd 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerMgt.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerMgtCZL.Codeunit.al @@ -290,14 +290,8 @@ codeunit 11758 "Unreliable Payer Mgt. CZL" exit(not VendorBankAccount.IsStandardFormatBankAccountCZL() and VendorBankAccount.IsForeignBankAccountCZL()); end; -#if not CLEAN21 -#pragma warning disable AL0432 -#endif [EventSubscriber(ObjectType::Table, Database::"Service Connection", 'OnRegisterServiceConnection', '', false, false)] local procedure HandleUnrelPayerServiceConnection(var ServiceConnection: Record "Service Connection") -#if not CLEAN21 -#pragma warning restore AL0432 -#endif begin if not UnrelPayerServiceSetupCZL.Get() then begin if not UnrelPayerServiceSetupCZL.WritePermission then diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerWS.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerWSCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerWS.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UnreliablePayerWSCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplication.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplication.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitionsCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitions.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeTagDefinitionsCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupAdvManagement.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupAdvManagementCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupAdvManagement.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupAdvManagementCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UserSetupHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAmountLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAmountLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAmountLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAmountLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAttributeCodeMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAttributeCodeMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAttributeCodeMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATAttributeCodeMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATControlReportDPHKH1.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATControlReportDPHKH1CZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATControlReportDPHKH1.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATControlReportDPHKH1CZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCorrNotifHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCorrNotifHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCorrNotifHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCorrNotifHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlRepExpRunner.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlRepExpRunnerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlRepExpRunner.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlRepExpRunnerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportMgt.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportMgtCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportMgt.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportMgtCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportRelease.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportReleaseCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportRelease.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCtrlReportReleaseCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATDateHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATDateHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATDateHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATDateHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATEntryHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATEntryHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATEntryHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATEntryHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrPostYesNo.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrPostYesNoCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrPostYesNo.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrPostYesNoCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrectionPost.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrectionPostCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrectionPost.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATLCYCorrectionPostCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRegLogSuppression.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRegLogSuppressionCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRegLogSuppression.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRegLogSuppressionCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRepDateMgtHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRepDateMgtHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRepDateMgtHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATRepDateMgtHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementDPHDP3.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementDPHDP3CZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementDPHDP3.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementDPHDP3CZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStatementLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtTemplateHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtTemplateHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtTemplateHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtTemplateHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportHelper.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportHelperCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportHelper.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportHelperCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportRunner.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportRunnerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportRunner.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATStmtXMLExportRunnerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VEntryApplyPstdEntHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VEntryApplyPstdEntHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VEntryApplyPstdEntHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VEntryApplyPstdEntHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendEntryEditHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendEntryEditHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendEntryEditHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendEntryEditHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendLedgerEntryHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendLedgerEntryHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendLedgerEntryHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendLedgerEntryHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorBankAccHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorBankAccHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorBankAccHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorBankAccHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorTemplHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorTemplHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorTemplHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VendorTemplHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseJournalLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseJournalLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseJournalLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseJournalLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseWorkshtLineHandler.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseWorkshtLineHandlerCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseWorkshtLineHandler.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WhseWorkshtLineHandlerCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WorkflowResponseHandling.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WorkflowResponseHandlingCZL.Codeunit.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WorkflowResponseHandling.Codeunit.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/WorkflowResponseHandlingCZL.Codeunit.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/AccSchedLineTotType.EnumExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/AccSchedLineTotTypeCZL.EnumExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/AccSchedLineTotType.EnumExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/AccSchedLineTotTypeCZL.EnumExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/BatchPostingParamType.EnumExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/BatchPostingParamTypeCZL.EnumExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/BatchPostingParamType.EnumExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/BatchPostingParamTypeCZL.EnumExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/InvtPostBufferAccType.EnumExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/InvtPostBufferAccTypeCZL.EnumExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/InvtPostBufferAccType.EnumExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/InvtPostBufferAccTypeCZL.EnumExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/ManualSetupCategoryCZL.EnumExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/ManualSetupCategory.EnumExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/ManualSetupCategoryCZL.EnumExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/VATStatementLineType.EnumExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/VATStatementLineTypeCZL.EnumExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/VATStatementLineType.EnumExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/EnumExtensions/VATStatementLineTypeCZL.EnumExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceTable.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceTableCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceTable.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceTableCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccScheduleSourceTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleCalc.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleCalcCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleCalc.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleCalcCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/AccountingScheduleTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AssetsLiabilitiesType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/AssetsLiabilitiesTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/AssetsLiabilitiesType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/AssetsLiabilitiesTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/CreditMemoType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/CreditMemoTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/CreditMemoType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/CreditMemoTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultOrigDocVATDate.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultOrigDocVATDateCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultOrigDocVATDate.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultOrigDocVATDateCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultVATDate.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultVATDateCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultVATDate.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/DefaultVATDateCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETAppliedDocumentType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETAppliedDocumentTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETAppliedDocumentType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETAppliedDocumentTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETCashRegisterType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETCashRegisterTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETCashRegisterType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETCashRegisterTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETSalesRegime.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETSalesRegimeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETSalesRegime.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETSalesRegimeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETStatus.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETStatusCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETStatus.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/EETStatusCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/GLAccountGroup.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/GLAccountGroupCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/GLAccountGroup.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/GLAccountGroupCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatDetailSource.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatDetailSourceCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatDetailSource.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatDetailSourceCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatStatementType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatStatementTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatStatementType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/IntrastatStatementTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogAccountType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogAccountTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogAccountType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogAccountTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailField.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailFieldCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailField.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailFieldCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailStatus.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailStatusCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailStatus.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailStatusCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailedFieldStatus.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailedFieldStatusCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailedFieldStatus.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/RegLogDetailedFieldStatusCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/ReverseChargeCheck.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/ReverseChargeCheckCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/ReverseChargeCheck.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/ReverseChargeCheckCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/UserSetupLineType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/UserSetupLineTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/UserSetupLineType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/UserSetupLineTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportCorect.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportCorectCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportCorect.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportCorectCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportDeclType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportDeclTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportDeclType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportDeclTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportFormat.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportFormatCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportFormat.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportFormatCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportMode.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportModeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportMode.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATCtrlReportModeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATRate.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATRateCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATRate.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATRateCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStatementXMLFormat.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStatementXMLFormatCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStatementXMLFormat.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStatementXMLFormatCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStmtDeclarationType.Enum.al b/Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStmtDeclarationTypeCZL.Enum.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStmtDeclarationType.Enum.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Enums/VATStmtDeclarationTypeCZL.Enum.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccScheduleOverview.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccScheduleOverviewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccScheduleOverview.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccScheduleOverviewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountSchedule.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountScheduleCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountSchedule.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountScheduleCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountScheduleNames.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountScheduleNamesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountScheduleNames.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountScheduleNamesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountingManagerRC.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountingManagerRCCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountingManagerRC.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AccountingManagerRCCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AdministratorMainRC.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AdministratorMainRCCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AdministratorMainRC.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/AdministratorMainRCCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BankAccountListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchOrdSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchOrdSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchOrdSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchOrdSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrders.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrdersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrders.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketPurchaseOrdersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrdSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrdSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrdSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrdSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrders.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrdersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrders.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/BlanketSalesOrdersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CashReceiptJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CashReceiptJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CashReceiptJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CashReceiptJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccounts.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccountsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccounts.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccountsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccountsGL.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccountsGLCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccountsGL.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccountsGLCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccsAnView.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccsAnViewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccsAnView.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ChartofAccsAnViewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CompanyInformation.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CompanyInformationCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CompanyInformation.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CompanyInformationCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ContactListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CopyGenJnlParameters.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CopyGenJnlParametersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CopyGenJnlParameters.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CopyGenJnlParametersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustLedgEntriesPreview.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustLedgEntriesPreviewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustLedgEntriesPreview.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustLedgEntriesPreviewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerCardCZL.PageExt.al similarity index 70% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerCardCZL.PageExt.al index 81b7f24d63..ff778a55a6 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerCard.PageExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerCardCZL.PageExt.al @@ -5,10 +5,6 @@ namespace Microsoft.Sales.Customer; using Microsoft.Finance.Registration; -#if not CLEAN21 -using Microsoft.Purchases.Payables; -using Microsoft.Purchases.Vendor; -#endif using Microsoft.Sales.Receivables; pageextension 11704 "Customer Card CZL" extends "Customer Card" @@ -56,35 +52,6 @@ pageextension 11704 "Customer Card CZL" extends "Customer Card" Importance = Additional; } } -#if not CLEAN21 - addafter("Credit Limit (LCY)") - { - field(BalanceOfVendorCZL; BalanceAsVendor) - { - ApplicationArea = Basic, Suite; - Caption = 'Balance As Vendor (LCY)'; - Editable = false; - Enabled = BalanceOfVendorEnabled; - ToolTip = 'Specifies the vendor''s balance which is connected with certain customer'; - Visible = false; - ObsoleteState = Pending; - ObsoleteReason = 'Duplicated field.'; - ObsoleteTag = '21.0'; - - trigger OnDrillDown() - var - DetailedVendorLedgEntry: Record "Detailed Vendor Ledg. Entry"; - VendorLedgerEntry: Record "Vendor Ledger Entry"; - begin - DetailedVendorLedgEntry.SetRange("Vendor No.", Vendor."No."); - Rec.CopyFilter("Global Dimension 1 Filter", DetailedVendorLedgEntry."Initial Entry Global Dim. 1"); - Rec.CopyFilter("Global Dimension 2 Filter", DetailedVendorLedgEntry."Initial Entry Global Dim. 2"); - Rec.CopyFilter("Currency Filter", DetailedVendorLedgEntry."Currency Code"); - VendorLedgerEntry.DrillDownOnEntries(DetailedVendorLedgEntry); - end; - } - } -#endif #if not CLEAN22 addafter(PricesandDiscounts) { @@ -148,22 +115,4 @@ pageextension 11704 "Customer Card CZL" extends "Customer Card" } } } -#if not CLEAN21 - trigger OnAfterGetCurrRecord() - begin - if Vendor.Get(Rec.GetLinkedVendorCZL()) then begin - Vendor.CalcFields("Balance (LCY)"); - BalanceAsVendor := Vendor."Balance (LCY)"; - BalanceOfVendorEnabled := true; - end else begin - BalanceAsVendor := 0; - BalanceOfVendorEnabled := false; - end; - end; - - var - Vendor: Record Vendor; - BalanceAsVendor: Decimal; - BalanceOfVendorEnabled: Boolean; -#endif } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerLedgerEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerLedgerEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerLedgerEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerPostingGroups.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerPostingGroupsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerPostingGroups.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerPostingGroupsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerTemplCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerTemplCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerTemplCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/CustomerTemplCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DepreciationBookCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DepreciationBookCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DepreciationBookCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DepreciationBookCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetCustLedgEntrPreview.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetCustLedgEntrPreviewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetCustLedgEntrPreview.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetCustLedgEntrPreviewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetVendEntriesPreview.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetVendEntriesPreviewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetVendEntriesPreview.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetVendEntriesPreviewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedCustLedgEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedCustLedgEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedCustLedgEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedCustLedgEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedVendLedgEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedVendLedgEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedVendLedgEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/DetailedVendLedgEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/EmployeeLedgerEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/EmployeeLedgerEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/EmployeeLedgerEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/EmployeeLedgerEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemoList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemoListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemoList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceChargeMemoListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceManagerRC.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceManagerRCCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceManagerRC.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinanceManagerRCCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinancialReports.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinancialReportsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinancialReports.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FinancialReportsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FixedAssetGLJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FixedAssetGLJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FixedAssetGLJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/FixedAssetGLJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountBalanceLines.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountBalanceLinesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountBalanceLines.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountBalanceLinesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLAccountCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLBalance.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLBalanceCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLBalance.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLBalanceCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLEntriesPreview.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLEntriesPreviewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLEntriesPreview.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLEntriesPreviewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLRegisters.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLRegistersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLRegisters.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GLRegistersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalBatches.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalBatchesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalBatches.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalBatchesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalTemplates.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalTemplatesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalTemplates.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralJournalTemplatesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralLedgerSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetupCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetupCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetupCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/GeneralPostingSetupCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJnlBatches.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJnlBatchesCZL.PageExt.al similarity index 96% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJnlBatches.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJnlBatchesCZL.PageExt.al index f39d832210..c6bb6e23fe 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJnlBatches.PageExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJnlBatchesCZL.PageExt.al @@ -27,7 +27,9 @@ pageextension 31138 "Intrastat Jnl. Batches CZL" extends "Intrastat Jnl. Batches trigger OnAssistEdit() begin +#pragma warning disable AL0432 if Rec.AssistEditCZL() then +#pragma warning restore AL0432 CurrPage.Update(); end; } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IntrastatJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryPostingSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryPostingSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryPostingSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryPostingSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryReportEntry.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryReportEntryCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryReportEntry.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventoryReportEntryCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventorySetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventorySetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventorySetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InventorySetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceipt.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceiptCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceipt.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceiptCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceipts.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceiptsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceipts.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtReceiptsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipment.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipmentCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipment.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipmentCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipments.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipmentsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipments.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/InvtShipmentsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinChMemoList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinChMemoListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinChMemoList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinChMemoListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinanceChargeMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinanceChargeMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinanceChargeMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedFinanceChargeMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminderList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminderListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminderList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/IssuedReminderListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtPurch.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtPurchCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtPurch.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtPurchCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtSales.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtSalesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtSales.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargeAsgmtSalesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemCharges.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemCharges.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemChargesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemLedgerEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemLedgerEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemLedgerEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemLedgerEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemReclassJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemReclassJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemReclassJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemReclassJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemRegisters.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemRegistersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemRegisters.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ItemRegistersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobGLJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobGLJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobGLJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobGLJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobLedgerEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobLedgerEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobLedgerEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/JobLedgerEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentReconcJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentReconcJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentReconcJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PaymentReconcJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInventoryJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInventoryJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInventoryJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInventoryJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInvtLedgerEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInvtLedgerEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInvtLedgerEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysInvtLedgerEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysicalInvtOrderSubf.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysicalInvtOrderSubfCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysicalInvtOrderSubf.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PhysicalInvtOrderSubfCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransSub.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransSubCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransSub.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransSubCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransfer.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransferCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransfer.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransferCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransfers.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransfersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransfers.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedDirectTransfersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedGeneralJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedGeneralJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedGeneralJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedGeneralJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceipt.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceiptCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceipt.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceiptCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceipts.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceiptsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceipts.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtReceiptsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipment.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipmentCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipment.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipmentCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipments.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipmentsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipments.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedInvtShipmentsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPhysInvtOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPhysInvtOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPhysInvtOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPhysInvtOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCMSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCMSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCMSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCMSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemos.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemosCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemos.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchCreditMemosCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchInvSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchInvSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchInvSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchInvSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchRcptSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchRcptSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchRcptSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchRcptSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoice.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoiceCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoice.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoiceCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoices.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoicesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoices.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseInvoicesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceipt.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceiptCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceipt.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceiptCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceipts.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceiptsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceipts.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedPurchaseReceiptsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetRcptSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetRcptSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetRcptSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetRcptSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetShptSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetShptSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetShptSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedRetShptSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceipt.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceiptCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceipt.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceiptCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceipts.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceiptsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceipts.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnReceiptsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnShipment.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnShipmentCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnShipment.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedReturnShipmentCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCMSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCMSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCMSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCMSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemos.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemosCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemos.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesCreditMemosCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvUpdate.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvUpdateCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvUpdate.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvUpdateCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoice.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoiceCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoice.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoiceCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoices.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoicesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoices.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesInvoicesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipment.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipmentCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipment.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipmentCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipments.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipmentsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipments.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShipmentsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShptSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShptSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShptSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedSalesShptSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCMSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCMSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCMSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCMSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemos.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemosCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemos.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServCreditMemosCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServInvSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServInvSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServInvSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServInvSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvUpdate.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvUpdateCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvUpdate.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvUpdateCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoice.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoiceCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoice.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoiceCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoices.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoicesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoices.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceInvoicesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipment.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipmentCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipment.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipmentCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipments.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipmentsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipments.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedServiceShipmentsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferRcptSubf.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferRcptSubfCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferRcptSubf.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferRcptSubfCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceipt.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceiptCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceipt.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceiptCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceipts.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceiptsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceipts.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferReceiptsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipment.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipmentCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipment.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipmentCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipments.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipmentsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipments.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShipmentsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShptSubf.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShptSubfCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShptSubf.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PostedTransferShptSubfCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchCrMemoSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchCrMemoSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchCrMemoSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchCrMemoSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchInvoiceSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchInvoiceSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchInvoiceSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchInvoiceSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnListArchive.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnListArchiveCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnListArchive.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnListArchiveCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrdSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrdSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrdSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrdSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrderArch.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrderArchCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrderArch.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchReturnOrderArchCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemos.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemosCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemos.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseCreditMemosCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoice.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoiceCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoice.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoiceCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoices.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoicesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoices.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseInvoicesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchive.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchiveCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchive.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchiveCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchives.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchivesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchives.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderArchivesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseOrderSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchive.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchiveCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchive.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchiveCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchives.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchivesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchives.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteArchivesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuote.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuote.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuoteSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuotes.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuotesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuotes.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseQuotesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrderList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrderListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrderList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchaseReturnOrderListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasesPayablesSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasesPayablesSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasesPayablesSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasesPayablesSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasingManagerRC.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasingManagerRCCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasingManagerRC.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/PurchasingManagerRCCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/Reconciliation.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReconciliationCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/Reconciliation.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReconciliationCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/RecurringGeneralJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/RecurringGeneralJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/RecurringGeneralJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/RecurringGeneralJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/Reminder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReminderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/Reminder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReminderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReminderList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReminderListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReminderList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ReminderListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResourceCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResourceCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResourceCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResourceCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResponsibilityCenterCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResponsibilityCenterCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResponsibilityCenterCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ResponsibilityCenterCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCrMemoSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCrMemoSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCrMemoSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCrMemoSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemos.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemosCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemos.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesCreditMemosCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoice.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoice.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesInvoiceSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesJournal.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesJournalCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesJournal.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesJournalCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesMarketingMngrRC.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesMarketingMngrRCCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesMarketingMngrRC.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesMarketingMngrRCCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchive.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchiveCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchive.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchiveCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchives.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchivesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchives.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderArchivesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesOrderSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchive.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchiveCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchive.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchiveCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchives.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchivesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchives.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteArchivesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuote.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuote.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuoteSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuotes.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuotesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuotes.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesQuotesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReceivablesSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReceivablesSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReceivablesSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReceivablesSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnListArchive.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnListArchiveCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnListArchive.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnListArchiveCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderArchive.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderArchiveCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderArchive.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderArchiveCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SalesReturnOrderSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCrMemoSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCrMemoSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCrMemoSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCrMemoSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemo.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemoCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemo.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemoCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemos.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemosCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemos.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceCreditMemosCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoice.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoiceCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoice.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoiceCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoiceSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoiceSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoiceSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoiceSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoices.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoicesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoices.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceInvoicesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceLines.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceLinesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceLines.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceLinesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceMgtSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceMgtSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceMgtSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceMgtSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrders.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrdersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrders.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceOrdersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuote.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuoteCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuote.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuoteCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuoteLines.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuoteLinesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuoteLines.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuoteLinesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuotes.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuotesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuotes.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ServiceQuotesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ShipmentMethods.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ShipmentMethodsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ShipmentMethods.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ShipmentMethodsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SourceCodeSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SourceCodeSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SourceCodeSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/SourceCodeSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/StockkeepingUnitCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/StockkeepingUnitCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/StockkeepingUnitCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/StockkeepingUnitCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TariffNumbers.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TariffNumbersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TariffNumbers.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TariffNumbersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrder.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrderCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrder.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrderCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrderSubform.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrderSubformCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrderSubform.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrderSubformCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrders.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrdersCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrders.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/TransferOrdersCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UnitsofMeasure.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UnitsofMeasureCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UnitsofMeasure.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UnitsofMeasureCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UserSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UserSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UserSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/UserSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntriesPreview.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntriesPreviewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntriesPreview.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATEntriesPreviewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetup.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetupCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetup.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetupCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetupCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetupCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetupCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATPostingSetupCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatement.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatement.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementNames.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementNamesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementNames.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementNamesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementTemplates.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementTemplatesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementTemplates.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VATStatementTemplatesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ValueEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ValueEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ValueEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/ValueEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendLedgEntriesPreview.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendLedgEntriesPreviewCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendLedgEntriesPreview.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendLedgEntriesPreviewCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorBankAccountListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorCardCZL.PageExt.al similarity index 77% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorCardCZL.PageExt.al index faa74a16fb..f559e603c5 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorCard.PageExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorCardCZL.PageExt.al @@ -6,10 +6,6 @@ namespace Microsoft.Purchases.Vendor; using Microsoft.Finance.Registration; using Microsoft.Purchases.Payables; -#if not CLEAN21 -using Microsoft.Sales.Customer; -using Microsoft.Sales.Receivables; -#endif pageextension 11705 "Vendor Card CZL" extends "Vendor Card" { @@ -56,35 +52,6 @@ pageextension 11705 "Vendor Card CZL" extends "Vendor Card" Importance = Additional; } } -#if not CLEAN21 - addafter("Balance (LCY)") - { - field(BalanceOfCustomerCYL; BalanceAsCustomer) - { - ApplicationArea = Basic, Suite; - Caption = 'Balance As Customer (LCY)'; - Editable = false; - Enabled = BalanceOfCustomerEnabled; - ToolTip = 'Specifies the customer''s balance which is connected with certain vendor'; - Visible = false; - ObsoleteState = Pending; - ObsoleteReason = 'Duplicated field.'; - ObsoleteTag = '21.0'; - - trigger OnDrillDown() - var - DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; - CustLedgerEntry: Record "Cust. Ledger Entry"; - begin - DetailedCustLedgEntry.SetRange("Customer No.", Customer."No."); - Rec.CopyFilter("Global Dimension 1 Filter", DetailedCustLedgEntry."Initial Entry Global Dim. 1"); - Rec.CopyFilter("Global Dimension 2 Filter", DetailedCustLedgEntry."Initial Entry Global Dim. 2"); - Rec.CopyFilter("Currency Filter", DetailedCustLedgEntry."Currency Code"); - CustLedgerEntry.DrillDownOnEntries(DetailedCustLedgEntry); - end; - } - } -#endif addlast(Invoicing) { #if not CLEAN22 @@ -197,22 +164,4 @@ pageextension 11705 "Vendor Card CZL" extends "Vendor Card" } } } -#if not CLEAN21 - trigger OnAfterGetCurrRecord() - begin - if Customer.Get(Rec.GetLinkedCustomerCZL()) then begin - Customer.CalcFields("Balance (LCY)"); - BalanceAsCustomer := Customer."Balance (LCY)"; - BalanceOfCustomerEnabled := true; - end else begin - BalanceAsCustomer := 0; - BalanceOfCustomerEnabled := false; - end; - end; - - var - Customer: Record Customer; - BalanceAsCustomer: Decimal; - BalanceOfCustomerEnabled: Boolean; -#endif } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorLedgerEntriesCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorLedgerEntries.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorLedgerEntriesCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorList.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorListCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorList.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorListCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorPostingGroups.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorPostingGroupsCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorPostingGroups.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorPostingGroupsCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorTemplCard.PageExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorTemplCardCZL.PageExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorTemplCard.PageExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/PageExtensions/VendorTemplCardCZL.PageExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchResSubMatrix.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchResSubMatrixCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchResSubMatrix.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchResSubMatrixCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedPageDrillDown.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedPageDrillDownCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedPageDrillDown.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedPageDrillDownCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResHdrList.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResHdrListCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResHdrList.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResHdrListCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResOverview.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResOverviewCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResOverview.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccSchedResOverviewCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleExtensions.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleExtensionsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleExtensions.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleExtensionsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleFileMapping.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleFileMappingCZL.Page.al similarity index 96% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleFileMapping.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleFileMappingCZL.Page.al index 7ebe1958c6..15872533a8 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleFileMapping.Page.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleFileMappingCZL.Page.al @@ -472,13 +472,6 @@ page 11702 "Acc. Schedule File Mapping CZL" NewCurrentSchedName := NewAccSchedName; #else CurrentSchedName := NewAccSchedName; -#endif -#if not CLEAN21 -#pragma warning disable AL0432 - if AccScheduleName.Get(NewCurrentSchedName) then - if AccScheduleName."Default Column Layout" <> '' then - NewCurrentColumnName := AccScheduleName."Default Column Layout"; -#pragma warning restore AL0432 #endif end; @@ -563,21 +556,8 @@ page 11702 "Acc. Schedule File Mapping CZL" begin CurrPage.SaveRecord(); AccSchedManagement.SetName(CurrentSchedName, Rec); -#if not CLEAN21 -#pragma warning disable AL0432 - if AccScheduleName.Get(CurrentSchedName) then - if (AccScheduleName."Default Column Layout" <> '') and - (CurrentColumnName <> AccScheduleName."Default Column Layout") - then begin - CurrentColumnName := AccScheduleName."Default Column Layout"; - AccSchedManagement.CopyColumnsToTemp(CurrentColumnName, TempColumnLayout); - AccSchedManagement.SetColumnName(CurrentColumnName, TempColumnLayout); - end; -#pragma warning restore AL0432 -#else AccSchedManagement.CopyColumnsToTemp(CurrentColumnName, TempColumnLayout); AccSchedManagement.SetColumnName(CurrentColumnName, TempColumnLayout); -#endif CurrPage.Update(false); end; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleLineList.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleLineListCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleLineList.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleLineListCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleResultHist.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleResultHistCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleResultHist.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccScheduleResultHistCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccountantCZRoleCenter.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccountantCZRoleCenterCZL.Page.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccountantCZRoleCenter.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccountantCZRoleCenterCZL.Page.al index 735410415b..ffb12a1859 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccountantCZRoleCenter.Page.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/AccountantCZRoleCenterCZL.Page.al @@ -73,9 +73,6 @@ using Microsoft.Sales.Reports; using System.Automation; using System.Email; using System.Environment; -#if not CLEAN21 -using System.Integration.PowerBI; -#endif using System.Threading; using System.Visualization; @@ -149,16 +146,6 @@ page 31210 "Accountant CZ Role Center CZL" AccessByPermission = tabledata "Report Inbox" = IMD; ApplicationArea = Basic, Suite; } -#if not CLEAN21 - part("Power BI Report Spinner Part"; "Power BI Report Spinner Part") - { - ApplicationArea = Basic, Suite; - Visible = false; - ObsoleteState = Pending; - ObsoleteReason = 'This page has been replaced by page 6325 Power BI Embedded Report'; - ObsoleteTag = '21.0'; - } -#endif systempart(MyNotes; MyNotes) { ApplicationArea = Basic, Suite; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CertificateCodeList.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CertificateCodeListCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/CertificateCodeList.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/CertificateCodeListCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/Commodities.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CommoditiesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/Commodities.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/CommoditiesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CommoditySetup.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CommoditySetupCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/CommoditySetup.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/CommoditySetupCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialCard.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialCardCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialCard.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialCardCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialList.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialListCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialList.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialListCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialPicture.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialPictureCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialPicture.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/CompanyOfficialPictureCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConfirmVATEntriesUpdate.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConfirmVATEntriesUpdateCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConfirmVATEntriesUpdate.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConfirmVATEntriesUpdateCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConstantSymbols.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConstantSymbolsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConstantSymbols.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/ConstantSymbolsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CrossApplication.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/CrossApplicationCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/CrossApplication.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/CrossApplicationCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/DocumentFooters.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/DocumentFootersCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/DocumentFooters.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/DocumentFootersCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETBusinessPremises.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETBusinessPremisesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETBusinessPremises.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETBusinessPremisesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETCashRegisters.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETCashRegistersCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETCashRegisters.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETCashRegistersCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntries.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntriesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntries.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntriesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryCard.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryCardCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryCard.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryCardCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryPreviewCard.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryPreviewCardCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryPreviewCard.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryPreviewCardCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLog.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLogCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLog.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLogCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLogPrev.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLogPrevCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLogPrev.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETEntryStatusLogPrevCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETServiceSetup.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETServiceSetupCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETServiceSetup.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETServiceSetupCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETSimpleRegistration.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETSimpleRegistrationCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETSimpleRegistration.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/EETSimpleRegistrationCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/ExcelTemplates.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/ExcelTemplatesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/ExcelTemplates.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/ExcelTemplatesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/FileMapping.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/FileMappingCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/FileMapping.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/FileMappingCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetDocumentNoAndDate.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetDocumentNoandDateCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetDocumentNoAndDate.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetDocumentNoandDateCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetVendBankAccCode.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetVendBankAccCodeCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetVendBankAccCode.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/GetVendBankAccCodeCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatDeliveryGroups.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatDeliveryGroupsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatDeliveryGroups.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatDeliveryGroupsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatJournalLines.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatJournalLinesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatJournalLines.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/IntrastatJournalLinesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconMatrix.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconMatrixCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconMatrix.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconMatrixCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconciliation.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconciliationCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconciliation.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvGLReconciliationCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvtMovementTemplates.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvtMovementTemplatesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvtMovementTemplates.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/InvtMovementTemplatesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegNoServiceConfig.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegNoServiceConfigCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegNoServiceConfig.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegNoServiceConfigCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLog.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLogCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLog.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLogCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLogDetails.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLogDetailsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLogDetails.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationLogDetailsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationNoCheck.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationNoCheckCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationNoCheck.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/RegistrationNoCheckCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SaveAccScheduleResult.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SaveAccScheduleResultCZL.Page.al similarity index 92% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/SaveAccScheduleResult.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/SaveAccScheduleResultCZL.Page.al index d33249c561..ec68ce1d75 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SaveAccScheduleResult.Page.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SaveAccScheduleResultCZL.Page.al @@ -108,9 +108,6 @@ page 31202 "Save Acc. Schedule Result CZL" } var -#if not CLEAN21 - AccScheduleName: Record "Acc. Schedule Name"; -#endif AccScheduleLine: Record "Acc. Schedule Line"; #if not CLEAN22 AccSchedManagement: Codeunit AccSchedManagement; @@ -125,24 +122,12 @@ page 31202 "Save Acc. Schedule Result CZL" procedure UpdateColumnLayoutName() begin AccSchedManagement.CheckName(AccSchedName); -#if not CLEAN21 - AccScheduleName.Get(AccSchedName); - if AccScheduleName."Default Column Layout" <> '' then - ColumnLayoutName := AccScheduleName."Default Column Layout"; -#endif end; #endif procedure SetParameters(NewAccSchedName: Code[10]; NewColumnLayoutName: Code[10]; NewDateFilter: Text; NewUseAmtsInAddCurr: Boolean) begin AccSchedName := NewAccSchedName; -#if not CLEAN21 - if NewColumnLayoutName = '' then -#pragma warning disable AL0432 - UpdateColumnLayoutName() -#pragma warning restore AL0432 - else -#endif ColumnLayoutName := NewColumnLayoutName; DateFilter := NewDateFilter; UseAmtsInAddCurr := NewUseAmtsInAddCurr; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SpecificMovements.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SpecificMovementsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/SpecificMovements.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/SpecificMovementsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatisticIndications.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatisticIndicationsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatisticIndications.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatisticIndicationsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetup.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetupCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetup.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetupCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StockkeepingUnitTempl.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StockkeepingUnitTemplCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/StockkeepingUnitTempl.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/StockkeepingUnitTemplCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstCustPostGroups.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstCustPostGroupsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstCustPostGroups.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstCustPostGroupsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstVendPostGroups.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstVendPostGroupsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstVendPostGroups.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/SubstVendPostGroupsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnrelPayerServiceSetup.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnrelPayerServiceSetupCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnrelPayerServiceSetup.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnrelPayerServiceSetupCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnreliablePayerEntries.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnreliablePayerEntriesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnreliablePayerEntries.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/UnreliablePayerEntriesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupCard.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupCardCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupCard.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupCardCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLines.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLinesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLines.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLinesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLinesList.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLinesListCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLinesList.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/UserSetupLinesListCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAmountSummaryFactBox.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAmountSummaryFactBoxCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAmountSummaryFactBox.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAmountSummaryFactBoxCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAttributeCodes.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAttributeCodesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAttributeCodes.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATAttributeCodesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportCard.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportCardCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportCard.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportCardCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportLines.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportLinesCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportLines.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportLinesCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportList.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportListCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportList.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportListCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSections.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSectionsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSections.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSectionsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStSubf.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStSubfCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStSubf.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStSubfCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStat.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStatCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStat.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportStatCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSubform.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSubformCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSubform.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATCtrlReportSubformCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATLCYCorrection.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATLCYCorrectionCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATLCYCorrection.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATLCYCorrectionCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATPeriods.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATPeriodsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATPeriods.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATPeriodsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementAttachments.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementAttachmentsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementAttachments.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementAttachmentsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementComments.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementCommentsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementComments.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementCommentsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreview.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreviewCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreview.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreviewCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreviewLine.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreviewLineCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreviewLine.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStatementPreviewLineCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtAttachmentSheet.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtAttachmentSheetCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtAttachmentSheet.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtAttachmentSheetCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtCommentSheet.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtCommentSheetCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtCommentSheet.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VATStmtCommentSheetCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclaration.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclaration.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationLines.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationLinesCZL.Page.al similarity index 86% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationLines.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationLinesCZL.Page.al index 385edb0f65..df8c27e692 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationLines.Page.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationLinesCZL.Page.al @@ -163,20 +163,8 @@ page 31141 "VIES Declaration Lines CZL" NewVIESDeclarationLineCZL."Number of Supplies" := VIESDeclarationLineCZL."Number of Supplies"; NewVIESDeclarationLineCZL."System-Created" := NewVIESDeclarationLineCZL."Line Type" = NewVIESDeclarationLineCZL."Line Type"::Cancellation; -#if not CLEAN21 -#pragma warning disable AL0432 - if NewVIESDeclarationLineCZL."Line Type" = NewVIESDeclarationLineCZL."Line Type"::Correction then - OnBeforeVIESDeclarationLineInsert(VIESDeclarationLineCZL, NewVIESDeclarationLineCZL); -#pragma warning restore AL0432 -#endif OnBeforeInsertVIESDeclarationLine(VIESDeclarationLineCZL, NewVIESDeclarationLineCZL); NewVIESDeclarationLineCZL.Insert(); -#if not CLEAN21 -#pragma warning disable AL0432 - if NewVIESDeclarationLineCZL."Line Type" = NewVIESDeclarationLineCZL."Line Type"::Correction then - OnAfterVIESDeclarationLineInsert(NewVIESDeclarationLineCZL, LastLineNo); -#pragma warning restore AL0432 -#endif OnAfterCreateLine(NewVIESDeclarationLineCZL, LastLineNo); end; @@ -194,17 +182,4 @@ page 31141 "VIES Declaration Lines CZL" local procedure OnAfterCreateLine(NewVIESDeclarationLineCZL: Record "VIES Declaration Line CZL"; var LastLineNo: Integer) begin end; -#if not CLEAN21 - [Obsolete('Replaced by OnBeforeInsertVIESDeclarationLine function.', '21.0')] - [IntegrationEvent(false, false)] - local procedure OnBeforeVIESDeclarationLineInsert(FirstVIESDeclarationLineCZL: Record "VIES Declaration Line CZL"; var SecondVIESDeclarationLineCZL: Record "VIES Declaration Line CZL") - begin - end; - - [Obsolete('Replaced by OnAfterCreateLine function.', '21.0')] - [IntegrationEvent(false, false)] - local procedure OnAfterVIESDeclarationLineInsert(SecondVIESDeclarationLineCZL: Record "VIES Declaration Line CZL"; var LastLineNo: Integer) - begin - end; -#endif } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationSubform.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationSubformCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationSubform.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationSubformCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarations.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationsCZL.Page.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarations.Page.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Pages/VIESDeclarationsCZL.Page.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackEdit.PermissionSet.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackEditCZL.PermissionSet.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackEdit.PermissionSet.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackEditCZL.PermissionSet.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackObjects.PermissionSet.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackObjectsCZL.PermissionSet.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackObjects.PermissionSet.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackObjectsCZL.PermissionSet.al index 53d47f605c..d67c6b09d0 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackObjects.PermissionSet.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackObjectsCZL.PermissionSet.al @@ -249,6 +249,7 @@ report "All Payments on Hold CZL" = X, report "Balance Sheet CZL" = X, #if not CLEAN24 +#pragma warning disable AL0432 report "Batch Post Purchase Inv. CZL" = X, report "Batch Post Purchase Orders CZL" = X, report "Batch Post Purch. Cr.Memos CZL" = X, @@ -257,6 +258,7 @@ report "Batch Post Sales Invoices CZL" = X, report "Batch Post Sales Orders CZL" = X, report "Batch Post Sales Ret. Ord. CZL" = X, +#pragma warning restore AL0432 #endif report "Calc. and Post VAT Settl. CZL" = X, report "Cash Flow Date List CZL" = X, diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackRead.PermissionSet.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackReadCZL.PermissionSet.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackRead.PermissionSet.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CZCorePackReadCZL.PermissionSet.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CustomerEdit.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CustomerEditCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CustomerEdit.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/CustomerEditCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365AUTOMATIONCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365AUTOMATION.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365AUTOMATIONCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365basic.permissionsetext.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365BASICCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365basic.permissionsetext.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365BASICCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365basicisv.permissionsetext.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365BASICISVCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365basicisv.permissionsetext.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365BASICISVCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365CUSTOMEREDIT.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365CUSTOMEREDITCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365CUSTOMEREDIT.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365CUSTOMEREDITCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365read.permissionsetext.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365READCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365read.permissionsetext.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365READCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365SETUP.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365SETUPCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365SETUP.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365SETUPCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365teammember.permissionsetext.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365TEAMMEMBERCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/d365teammember.permissionsetext.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365TEAMMEMBERCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365VENDOREDIT.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365VENDOREDITCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365VENDOREDIT.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/D365VENDOREDITCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerAdmin.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerAdminCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerAdmin.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerAdminCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerEdit.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerEditCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerEdit.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/GeneralLedgerEditCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/intelligentcloud.permissionsetext.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/INTELLIGENTCLOUDCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/intelligentcloud.permissionsetext.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/INTELLIGENTCLOUDCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/LOCAL.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/LOCALCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/LOCAL.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/LOCALCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/PayablesAdmin.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/PayablesAdminCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/PayablesAdmin.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/PayablesAdminCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/RecievablesAdmin.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/RecievablesAdminCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/RecievablesAdmin.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/RecievablesAdminCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/VendorEdit.PermissionSetExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/Permissions/VendorEditCZL.PermissionSetExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Permissions/VendorEdit.PermissionSetExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Permissions/VendorEditCZL.PermissionSetExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Profiles/AccountantCZ.Profile.al b/Apps/CZ/CoreLocalizationPack/app/Src/Profiles/AccountantCZCZL.Profile.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Profiles/AccountantCZ.Profile.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Profiles/AccountantCZCZL.Profile.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetup.ReportExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetupCZL.ReportExt.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetup.ReportExt.al rename to Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetupCZL.ReportExt.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccScheduleExportFile.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccScheduleExportFileCZL.Report.al similarity index 98% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccScheduleExportFile.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccScheduleExportFileCZL.Report.al index c2f997d7bf..83055bf845 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccScheduleExportFile.Report.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccScheduleExportFileCZL.Report.al @@ -155,12 +155,6 @@ report 11776 "Acc. Schedule Export File CZL" begin AccSchedManagement.CheckName(AccSchedName); AccScheduleName.Get(AccSchedName); -#if not CLEAN21 -#pragma warning disable AL0432 - if AccScheduleName."Default Column Layout" <> '' then - ColumnLayoutName := AccScheduleName."Default Column Layout"; -#pragma warning restore AL0432 -#endif if AccScheduleName."Analysis View Name" <> '' then AnalysisView.Get(AccScheduleName."Analysis View Name") else begin diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountScheduleResult.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountScheduleResultCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountScheduleResult.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountScheduleResultCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountingSheets.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountingSheetsCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountingSheets.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/AccountingSheetsCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AdjustExchangeRates.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AdjustExchangeRatesCZL.Report.al similarity index 99% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/AdjustExchangeRates.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/AdjustExchangeRatesCZL.Report.al index a450047b32..923d50cf74 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AdjustExchangeRates.Report.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AdjustExchangeRatesCZL.Report.al @@ -929,18 +929,6 @@ report 31004 "Adjust Exchange Rates CZL" Caption = 'Document No.'; ToolTip = 'Specifies the document number that will appear on the general ledger entries that are created by the batch job.'; } -#if not CLEAN20 - field(AdjCustVendBankField; AdjCustVendBank) - { - ApplicationArea = Basic, Suite; - Caption = 'Adjust Customer, Vendor and Bank Accounts'; - ObsoleteReason = 'Replaced by separated controls per account type'; - ObsoleteState = Pending; - ObsoleteTag = '20.1'; - ToolTip = 'Specifies if you want to adjust customer, vendor, and bank accounts for currency fluctuations.'; - Visible = false; - } -#endif field(AdjCustField; AdjCust) { ApplicationArea = Basic, Suite; @@ -1227,9 +1215,6 @@ report 31004 "Adjust Exchange Rates CZL" Correction: Boolean; HideUI: Boolean; OK: Boolean; -#if not CLEAN20 - AdjCustVendBank: Boolean; -#endif AdjGLAcc: Boolean; AddCurrCurrencyFactor: Decimal; VATEntryNoTotal: Decimal; @@ -2656,17 +2641,4 @@ report 31004 "Adjust Exchange Rates CZL" local procedure OnCloseRequestPage() begin end; -#if not CLEAN21 - [Obsolete('Use procedure RelatedToAdvanceLetterCZL from Cust. Ledger Entry table instead.', '21.0')] - [IntegrationEvent(false, false)] - local procedure OnSkipCustLedgerEntry(CustLedgerEntry: Record "Cust. Ledger Entry"; SkipAdvancePayments: Boolean; var SkipCustLedgerEntry: Boolean) - begin - end; - - [Obsolete('Use procedure RelatedToAdvanceLetterCZL from Vendor Ledger Entry table instead.', '21.0')] - [IntegrationEvent(false, false)] - local procedure OnSkipVendorLedgerEntry(VendorLedgerEntry: Record "Vendor Ledger Entry"; SkipAdvancePayments: Boolean; var SkipVendorLedgerEntry: Boolean) - begin - end; -#endif } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AllPaymentsonHold.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/AllPaymentsonHoldCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/AllPaymentsonHold.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/AllPaymentsonHoldCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheet.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheetCZL.Report.al similarity index 98% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheet.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheetCZL.Report.al index c8333de3c8..8bbbc7772f 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheet.Report.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheetCZL.Report.al @@ -944,25 +944,12 @@ report 11794 "Balance Sheet CZL" Dim3Filter := Dim3FilterHidden; Dim4Filter := Dim4FilterHidden; end; -#if not CLEAN21 -#pragma warning disable AL0432 - if ColumnLayoutName = '' then - if AccScheduleName.Get(AccSchedName) then - ColumnLayoutName := AccScheduleName."Default Column Layout"; -#pragma warning restore AL0432 -#endif end; procedure ValidateAccSchedName() begin AccSchedManagement.CheckName(AccSchedName); AccScheduleName.Get(AccSchedName); -#if not CLEAN21 -#pragma warning disable AL0432 - if AccScheduleName."Default Column Layout" <> '' then - ColumnLayoutName := AccScheduleName."Default Column Layout"; -#pragma warning restore AL0432 -#endif if AccScheduleName."Analysis View Name" <> '' then AnalysisView.Get(AccScheduleName."Analysis View Name") else begin diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchCrMemos.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchCrMemosCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchCrMemos.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchCrMemosCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchRetOrd.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchRetOrdCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchRetOrd.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchRetOrdCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseInv.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseInvCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseInv.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseInvCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseOrders.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseOrdersCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseOrders.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostPurchaseOrdersCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesCrMemos.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesCrMemosCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesCrMemos.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesCrMemosCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesInvoices.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesInvoicesCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesInvoices.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesInvoicesCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesOrders.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesOrdersCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesOrders.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesOrdersCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesRetOrd.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesRetOrdCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesRetOrd.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BatchPostSalesRetOrdCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BlanketPurchaseOrder.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BlanketPurchaseOrderCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/BlanketPurchaseOrder.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/BlanketPurchaseOrderCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CalcAndPostVATSettl.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CalcandPostVATSettlCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CalcAndPostVATSettl.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CalcandPostVATSettlCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CashFlowDateList.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CashFlowDateListCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CashFlowDateList.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CashFlowDateListCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseBalanceSheet.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseBalanceSheetCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseBalanceSheet.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseBalanceSheetCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseIncomeStatement.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseIncomeStatementCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseIncomeStatement.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CloseIncomeStatementCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CopyUserSetup.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CopyUserSetupCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CopyUserSetup.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CopyUserSetupCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateStockkeepingUnit.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateStockkeepingUnitCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateStockkeepingUnit.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateStockkeepingUnitCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateVATPeriod.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateVATPeriodCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateVATPeriod.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CreateVATPeriodCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CustBalReconciliation.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/CustBalReconciliationCZL.Report.al similarity index 100% rename from Apps/CZ/CoreLocalizationPack/app/Src/Reports/CustBalReconciliation.Report.al rename to Apps/CZ/CoreLocalizationPack/app/Src/Reports/CustBalReconciliationCZL.Report.al diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.rdl b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.rdl index fe26ed167d..12afbfa044 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.rdl +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.rdl @@ -942,6 +942,9 @@ 87 + Middle 0.075cm 0.075cm @@ -1047,7 +1050,7 @@ - =Fields!EntryNo_VATEntry.Value + =IIf(not Fields!MergeByDocumentNo.Value, Fields!EntryNo_VATEntry.Value, "") @@ -1058,6 +1061,9 @@ 81 + Middle 0.075cm 0.075cm @@ -1097,357 +1103,6 @@ - - 0.42301cm - - - - - true - true - - - - - =Fields!VATDate_VATEntry.Value - - - - - - - - - - - true - - - - - =Fields!DocumentNo_VATEntry.Value - - - - - - - - - - - true - true - - - - - =Fields!VATRegistrationNo_VATEntry.Value - - - - - - - - - - - true - true - - - - - =Fields!CountryRegionCode_VATEntry.Value - - - - - - - - - - - true - - - - - =Fields!DocumentType_VATEntry.Value - - - - - - - - - - - true - - - - - =Fields!Type_VATEntry.Value - - - - - - - - - - - true - true - - - - - =Fields!AdditinlCurrBase_VATEntry.Value - - - - - - - - - - - true - true - - - - - =Fields!AdditionlCurrAmt_VATEntry.Value - - - - - - - - - - - true - - - - - =Fields!VATCalcType_VATEntry.Value - - - - - - - - - - - true - - - - - =Fields!BilltoPaytoNo_VATEntry.Value - - - - - - - 70 - - - - - - - - true - - - - - =Fields!EntryNo_VATEntry.Value - - - - - - - - - - - true - - - - - =Fields!UserID_VATEntry.Value - - - - - - - - - 0.42301cm @@ -1592,7 +1247,7 @@ - + true true @@ -1609,8 +1264,11 @@ + Middle 2pt 0.075cm @@ -1628,7 +1286,7 @@ - + true true @@ -1643,12 +1301,10 @@ - + - + - 4 - - - - - - - 0.42301cm - - + true true - =Fields!VATEntryTotalCaption.Value + - 6 - - - - - - - - - - - true - true - - - - - =Fields!VATEntrySumAddCurrBase.Value - - - - - - - GenJnlLineSourceCurrVATBaseAmount - 51 - - - + true true - =Fields!VATEntrySumAddCurrAmount.Value + - + @@ -1839,7 +1440,7 @@ - + true true @@ -1856,7 +1457,7 @@ - 4 - - - @@ -2615,12 +2212,7 @@ - =IIF(Fields!PrintVATEntries.Value=TRUE AND Fields!UseAmtsInAddCurr.Value=FALSE AND Fields!EntryNo_VATEntry.Value<>0,FALSE,TRUE) - - - - - =IIF(Fields!PrintVATEntries.Value=TRUE AND Fields!UseAmtsInAddCurr.Value=TRUE AND Fields!EntryNo_VATEntry.Value<>0,FALSE,TRUE) + =IIF(Fields!PrintVATEntries.Value=TRUE AND Fields!EntryNo_VATEntry.Value<>0,FALSE,TRUE) @@ -2630,12 +2222,7 @@ - =IIF(Fields!VATEntryTotalCaption.Value<>"" AND Fields!UseAmtsInAddCurr.Value=FALSE,FALSE,TRUE) - - - - - =IIF(Fields!VATEntryTotalCaption.Value<>"" AND Fields!UseAmtsInAddCurr.Value=TRUE,FALSE,TRUE) + =IIF(Fields!VATEntryTotalCaption.Value<>"",FALSE,TRUE) @@ -2665,7 +2252,7 @@ DataSet_Result 1.73845cm - 5.48798cm + 4.64196cm 19cm - 7.22643cm + 6.38041cm + + + + + + + + + + + + + true + true + + + + + =First(Fields!NameCaption_GLAcc.Value) + + + + + + + + + + + true + true + + + + + =First(Fields!GenPostTypeCaption_GLAcc.Value) + + + + + + + + + + + true + true + + + + + =First(Fields!GenProdPostGroupCaption_GLAcc.Value) + + + + + + + + + + + true + true + + + + + =First(Fields!BalanceAtDateCaption_GLAcc.Value) + + + + + + + + + + + + + + true + true + + + + + =First(Fields!ValueinIRSnumberlistCaption.Value) + + + + + + + + + + + + + + 0.16654in + + + + + true + true + + + + + =First(Fields!EmptyStringCaption.Value) + + + + + + + + + 6 + + + + + + + + + + + 0.16654in + + + + + true + + + + + =Fields!IRSNumber_IRSNumbers.Value + + + + + + + + + + + true + + + + + =Fields!Name_IRSNumbers.Value + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + 0.16654in + + + + + true + + + + + =Fields!No_GLAcc.Value + + + + + + + + + + + + + + true + + + + + =Fields!Name_GLAcc.Value + + + + + + + + + + + true + + + + + =Fields!GenPostType_GLAcc.Value + + + + + + + + + + + true + + + + + =Fields!GenProdPostGroup_GLAcc.Value + + + + + + + + + + + true + + + + + =Fields!BalanceAtDate_GLAcc.Value + + + + + + + + + + + true + + + + + =Fields!Sum.Value + + + + + + + + + + + 0.16654in + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + =First(Fields!EmptyStringCaption1.Value) + + + + + + + + + + + true + + + + + =First(Fields!EmptyStringCaption1.Value) + + + + + + + + + + + 0.16654in + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + =Sum(Fields!BalanceAtDate_GLAcc.Value) + + + + + + + + + + + true + + + + + =Sum(Fields!TotSum.Value) + + + + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + After + true + true + + + + + =Fields!IRSNumber_IRSNumbers.Value + + + + + After + true + + + + Detail + + + + + Detail_Collection + Output + true + + + Before + true + + + Before + true + + + + + + DataSet_Result + 2.96106cm + 17.10007cm + + + + + + + 11.7cm + 0.423cm + 5.4cm + + + + true + + + + + =Fields!CompanyName.Value + + + + + + + true + + + + + =Fields!DateFil.Value + + + + + + + 0.423cm + 6.15cm + 0.423cm + 5.4cm + 2 + + + + true + + + + + =Fields!IRSDetailsCaption.Value + + + + + + + 6.15cm + 0.423cm + 5.4cm + 3 + + + + + + + Textbox14 + + + + + + + + true + true + + + + + + + + + Textbox16 + + + + + + + + true + + + + + =Fields!TodayFormatted.Value + + + + + + + + + + + + + + 0.19685in + + + + + true + + + + + =Fields!TaxAuthoritiesCaption.Value + + + + + + 2 + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + + + + + =Fields!AddrOfTaxAuthoritiesCaption.Value + + + + + + 2 + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + + + + + =Fields!ZipCodeOfTaxAuthoritiesCaption.Value + + + + + + 2 + + + + + + + true + true + + + + + + + + + + + + + 0.23622in + + + + + true + + + + + =Fields!IssueOfSingleCopyInvoicesCaption.Value + + + + + + 2 + true + + + + + + + true + true + + + + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + =Fields!NotificationThatTheCompanyCaption.Value + + + + + + 2 + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + + + + + =Fields!CompanyInfoName.Value + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + + + + + =Fields!CompanyInfoAddress.Value + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + + + + + =Fields!CompanyInfoPostCodeAndCity.Value + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + + + + + =Fields!CompanyInfoRegNo.Value + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + + + + + =Fields!InvInAccordanceCaption.Value + + + + + + 3 + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.33307in + + + + + true + + + + + =Fields!VersionOfNavisionCaption.Value + + + + + + 3 + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.19685in + + + + + true + true + + + + + + + + + + + + Textbox29 + + + + + + + + true + true + + + + + + + + + + + + Textbox39 + + + + + + + + true + + + + + =Fields!ManagerCaption.Value + + + + + + + + + + + 1pt + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + Detail + + + + + + + + + + + + + + + + + + + + + + + + Detail_Collection + Output + true + + + + DataSet_Result + 10.44598cm + 16.7323cm + + + + + + + + + + + true + true + + + + + =First(Fields!VATProdPostingGroupCaption.Value) + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox14 + + + + + + + + true + true + + + + + =First(Fields!SalesCaption.Value) + + + + + + + + + + + + Bottom + 0.275cm + 0.15cm + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + + + + + + + + Textbox7 + + + Bottom + 0.275cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + =First(Fields!PurchaseCaption.Value) + + + + + + + + + + + + Bottom + 0.15cm + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.16654in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + =First(Fields!VATCaption.Value) + + + + + + + + + + + + + + true + true + + + + + =First(Fields!BaseCaption.Value) + + + + + + + + + + + + + + true + true + + + + + =First(Fields!SalesVATCaption.Value) + + + + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox8 + + + + + + + + true + true + + + + + =First(Fields!BaseCaption.Value) + + + + + + + + + + + + + + true + + + + + =First(Fields!PurchaseVATCaption.Value) + + + + + + + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox45 + + + + + + Bottom + 0.075cm + 0.275cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox46 + + + + + + Bottom + 0.275cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox47 + + + + + + Bottom + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox48 + + + + + + Bottom + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox49 + + + + + + Bottom + 0.45cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox50 + + + + + + Bottom + 0.15cm + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox54 + + + + + + + + true + true + + + + + + + + + + + + Textbox55 + + + + + + + + true + true + + + + + + + + + + + + Textbox56 + + + + + + + + true + true + + + + + + + + + + + + Textbox57 + + + + + + + + true + true + + + + + + + + + + + + Textbox58 + + + + + + + + true + true + + + + + + + + + + + + Textbox59 + + + + + + + + 0.16654in + + + + + true + + + + + =Fields!VATBusPostingGroup_VATPostingSetup.Value + + + + + + + + + + + + + + true + + + + + =Fields!VATProdPostingGroup_VATPostingSetup.Value + + + + + + + + + + + + + + true + + + + + =Fields!VATCalculationType_VATPostingSetup.Value + + + + + + + + + + + + + + true + + + + + =Fields!FormattedVAT.Value + + + + + + + + + + + + + + true + + + + + =Fields!TurnoverOut.Value + + + + + + + + + + + true + + + + + =Fields!VatReceivable.Value + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + + + + + =Fields!TurnoverIn.Value + + + + + + + + + + + true + + + + + =Fields!VatPayableVariance.Value + + + + + + + + + + + 0.4cm + + + + + true + + + + + =Fields!VATBusPostingGroup_VATPostingSetup.Value + + + + + + + Textbox79 + + + Middle + 2pt + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!VATProdPostingGroup_VATPostingSetup.Value + + + + + + + Textbox80 + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!VATCalculationType_VATPostingSetup.Value + + + + + + + Textbox81 + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!SalesPctReverseChargeVAT.Value + + + + + + + Textbox82 + + + Middle + 0.075cm + 0.275cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!TurnoverOut.Value + + + + + + Middle + 0.275cm + 0.15cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!VatReceivable.Value + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + + + + + =0 + + + + + + Middle + 0.45cm + 0.15cm + 2pt + 2pt + + + + + + + + true + + + + + =0 + + + + + + Middle + 0.15cm + 2pt + 2pt + 2pt + + + + + + + + 0.4cm + + + + + true + + + + + =Fields!VATBusPostingGroup_VATPostingSetup.Value + + + + + + + Textbox79 + + + Middle + 2pt + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!VATProdPostingGroup_VATPostingSetup.Value + + + + + + + Textbox80 + + + + + + + + true + + + + + =Fields!VATCalculationType_VATPostingSetup.Value + + + + + + + Textbox81 + + + + + + + + true + + + + + =Fields!FormattedVAT.Value + + + + + + + + + + + + + + true + + + + + =0 + + + + + + Middle + 0.275cm + 0.15cm + 2pt + 2pt + + + + + + + + true + + + + + =0 + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + + + + + + true + + + + + =Fields!TurnoverIn.Value + + + + + + + + + + + true + + + + + =Fields!VatPayableVariance.Value + + + + + + + + + + + 0.4cm + + + + + true + + + + + =Fields!VATBusPostingGroup_VATPostingSetup.Value + + + + + + + + + Middle + 2pt + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!VATProdPostingGroup_VATPostingSetup.Value + + + + + + + + + + + + + + true + + + + + =Fields!VATCalculationType_VATPostingSetup.Value + + + + + + + + + + + + + + true + + + + + =Fields!FormattedVAT.Value + + + + + + + + + + + + + + true + + + + + =0 + + + + + + Middle + 0.275cm + 0.15cm + 2pt + 2pt + + + + + + + + true + + + + + =0 + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + + + + + + true + + + + + =Fields!TurnoverIn.Value + + + + + + + + + + + true + + + + + =Fields!PurchVATOppositeSign.Value + + + + + + Middle + 0.15cm + 2pt + 2pt + 2pt + + + + + + + + 0.4cm + + + + + true + + + + + =Fields!VatReceivableVarianceTxt.Value + + + + + + + + + 9 + + + + + + + + + + + + + + 0.4cm + + + + + true + + + + + =Fields!VatPayableVarianceTxt.Value + + + + + + + + + 9 + + + + + + + + + + + + + + 0.06944in + + + + + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox16 + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.45cm + 0.15cm + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox27 + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + 0.16654in + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + =First(Fields!Total.Value) + + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + =Sum(Fields!TurnoverOut.Value) + + + + + + + + + + + true + + + + + =Sum(Fields!VatReceivable.Value) + + + + + + + + + + + true + true + + + + + + + + + + + + + true + + + + + =Sum(Fields!TurnoverIn.Value) + + + + + + + + + + + true + + + + + =Sum(Fields!VatPayableVariance.Value) + Sum(Fields!PurchVATOppositeSign.Value) + + + + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox64 + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.275cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.45cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + After + true + true + + + After + true + + + After + true + + + + Detail + + + + + =IIF((Fields!VATBusPostingGroup_VATPostingSetup.Value <> " ") AND (Fields!VATProdPostingGroup_VATPostingSetup.Value <> "") AND (Fields!VATCalculationType_VATPostingSetup.Value <> Fields!ReverseChargeVATCaption.Value),FALSE,TRUE) + + + + + =IIF((Fields!VATBusPostingGroup_VATPostingSetup.Value <> "") AND (Fields!VATProdPostingGroup_VATPostingSetup.Value <> "") AND (Fields!VATCalculationType_VATPostingSetup.Value = Fields!ReverseChargeVATCaption.Value),FALSE,TRUE) + + + + + =IIF((Fields!VATBusPostingGroup_VATPostingSetup.Value <> "") AND (Fields!VATProdPostingGroup_VATPostingSetup.Value <> "") AND (Fields!VATCalculationType_VATPostingSetup.Value = Fields!ReverseChargeVATCaption.Value),FALSE,TRUE) + + + + + =IIF((Fields!VATBusPostingGroup_VATPostingSetup.Value <> "") AND (Fields!VATProdPostingGroup_VATPostingSetup.Value <> "") AND (Fields!VATCalculationType_VATPostingSetup.Value = Fields!ReverseChargeVATCaption.Value),FALSE,TRUE) + + + + + =IIF(Fields!VatReceivableVarianceKr.Value <>0,FALSE,TRUE) + + + + + =IIF(Fields!VatPayableVarianceKr.Value <> 0,FALSE,TRUE) + + + + Detail_Collection + Output + true + + + Before + true + + + Before + + + Before + true + + + Before + + + + DataSet_Result + 4.57393cm + 18.48376cm + + =IIF(Fields!VATReconciliationReportCaption.Value = "", TRUE, FALSE) + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.16654in + + + + + true + true + + + + + =Fields!VATReportCaption.Value + + + + + + + Textbox5 + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.16654in + + + + + true + true + + + + + + + + + + + + Textbox21 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox24 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.16654in + + + + + true + true + + + + + =Fields!VATBufferNumber1.Value + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!VATBufferNumber2.Value + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.16654in + + + + + true + true + + + + + =Fields!SalesVATCaption.Value+ "....................." + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =SUM(Fields!VatReceivable.Value) + Sum(Fields!PurchVATOppositeSign.Value) + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.16654in + + + + + true + true + + + + + =Fields!PurchaseVATCaption.Value + "....................." + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!VatPayableVariance.Value) + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.16654in + + + + + true + true + + + + + =Fields!PaymentDueCaption.Value+ "....................." + + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + =Last(Fields!TotalVatReceivableTotalVatPayable.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + After + + + After + + + After + + + + + =IIF(Fields!VATBufferNumber2.Value <> 0,FALSE,TRUE) + + + + Before + + + Before + + + Before + + + Before + + + Before + + + Before + + + Before + + + Before + + + + DataSet_Result + 4.64941cm + 3.4925cm + 3.84297cm + 10.0775cm + 1 + + =IIF(Fields!VATReconciliationReportCaption.Value = "", TRUE, FALSE) + + + + + + + 8.49238cm + + + + + + + 1.2cm + 4.8cm + 0.423cm + 7.5cm + + + + true + + + + + =Fields!V10941.Value + + + + + + + true + + + + + =Fields!VATReconciliationReportCaption.Value + + + + + + + 0.8cm + 4.8cm + 0.423cm + 7.5cm + 2 + + + + true + + + + + =Fields!FormattedOpenClosedEntries.Value + + + + + + + true + + + + + =Globals!ExecutionTime + + + + + + + 15.0525cm + 0.4cm + 3.43125cm + 4 + + =IIF(Fields!VATReconciliationReportCaption.Value = "", TRUE, FALSE) + + + + + true + + + + + =Globals!PageNumber + + + + + + + 0.4cm + 16.2525cm + 0.423cm + 2.23125cm + 5 + + =IIF(Fields!VATReconciliationReportCaption.Value = "", TRUE, FALSE) + + + + + true + + + + + =Fields!UserIdFormattedTime.Value + + + + + + + 0.8cm + 14.9025cm + 0.423cm + 3.58125cm + 6 + + =IIF(Fields!VATReconciliationReportCaption.Value = "", TRUE, FALSE) + + + + + true + + + + + =Fields!CompanyName.Value + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox23 + + + + + + + + true + true + + + + + + + + + + + + Textbox54 + + + + + + + + true + + + + + =First(Fields!SalesCaption.Value) + + + + + + + 4 + + =(First(Fields!SalesCaption.Value) = "") + + + + + + + Bottom + + + 2 + + + + + + + true + true + + + + + + + + + + + + Textbox4 + + + + + + + + true + + + + + =First(Fields!PurchCaption.Value) + + + + + + + 2 + + =(First(Fields!PurchCaption.Value) = "") + + + + + + + Bottom + + + 2 + + + + + + + 0.25945in + + + + + true + + + + + =First(Fields!VATBusPostingGrpCaption.Value) + + + + + + 2 + + + + + + + true + + + + + =First(Fields!VATProdPostingGrpCaption.Value) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox64 + + + + + + + + true + + + + + =First(Fields!VATCaption.Value) + + + + + + + 8 + + + + + + + + true + + + + + =First(Fields!BaseCaption.Value) + + + + + + + 9 + + + + + + + + true + + + + + =First(Fields!SalesVATCaption.Value) + + + + + + + 7 + + + + + + + + true + true + + + + + + + + + + + + Textbox5 + + + + + + + + true + + + + + =First(Fields!BaseCaption.Value) + + + + + + + 5 + + + + + + + + true + + + + + =First(Fields!PurchVATCaption.Value) + + + + + + + 6 + + + + + + + + 0.1008in + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox37 + + + + + + + + true + true + + + + + + + + + + + + Textbox56 + + + + + + + + true + true + + + + + + + + + + + + Textbox38 + + + + + + + + true + true + + + + + + + + + + + + Textbox39 + + + + + + + + true + true + + + + + + + + + + + + Textbox6 + + + + + + + + true + true + + + + + + + + + + + + Textbox40 + + + + + + + + true + true + + + + + + + + + + + + Textbox41 + + + + + + + + 0.23622in + + + + + true + true + + + + + + + + + + + + Textbox8 + + + Middle + 2pt + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!No_GLAcc.Value + + + + + + + + + Middle + 2pt + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Fields!Name_GLAcc.Value + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + 4 + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + 0.22703in + + + + + true + + + + + =Fields!VATBusPostingGrp_VATPostingSetup.Value + + + + + + + + + 2 + + + + + + + true + + + + + =Fields!VATProdPostingGrp_VATPostingSetup.Value + + + + + + + + + + + + + + true + true + + + + + =Fields!VATCalcType_VATPostingSetup.Value + + + + + + + + + + + + + + true + + + + + =Fields!VATPercentageFormatted.Value + + + + + + + + + true + + + + + + true + true + + + + + + + + + + + + Textbox62 + + + + + + + + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + true + + + + + + + + + + + + + true + + + + + + + + + + + + + 0.16654in + + + + + true + true + + + + + + + + + + + + + + + + true + + + + + =Fields!PostingDate_GLEntry.Value + + + + + + + + + + + + + + true + + + + + =Fields!DocNo_GLEntry.Value + + + + + + + + + + + true + true + + + + + =Fields!Desc_GLEntry.Value + + + + + + 2 + + + + + + + true + + + + + =Fields!TurnoverReceivable.Value + + + + + + + + + + + true + + + + + =Fields!VatReceivable.Value + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + true + + + + + =Fields!TurnoverPayable.Value + + + + + + + + + + + true + + + + + =Fields!VATPayable.Value + + + + + + + + + + + 0.15748in + + + + + true + true + + + + + + + + + + + + Textbox16 + + + + + + + + true + + + + + =Fields!VatReceivableVarTxt.Value + + + + + + + + + 9 + + + + + + + + + + + + + + 0.15748in + + + + + true + true + + + + + + + + + + + + Textbox17 + + + + + + + + true + + + + + =Fields!VatPayableVarTxt.Value + + + + + + + + + 9 + + + + + + + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox33 + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox59 + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.075cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.45cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 2pt + 2pt + 2pt + + + + + + + + 0.06944in + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox24 + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox60 + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.075cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.45cm + 0.15cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 2pt + 2pt + 2pt + + + + + + + + 0.16654in + + + + + true + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + =First(Fields!Total.Value) + + + + + + + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox61 + + + + + + Middle + 0.075cm + 0.075cm + 2pt + 2pt + + + + + + + + true + + + + + =Sum(Fields!TurnoverReceivable.Value) + + + + + + + + + Middle + 0.075cm + 0.15cm + 2pt + 2pt + + + + + + + + true + + + + + =Sum(Fields!VatReceivable.Value) + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + + + Middle + 0.15cm + 0.45cm + 2pt + 2pt + + + + + + + + true + + + + + =Sum(Fields!TurnoverPayable.Value) + + + + + + + + + Middle + 0.45cm + 0.15cm + 2pt + 2pt + + + + + + + + true + + + + + =Sum(Fields!VATPayable.Value) + + + + + + + + + Middle + 0.15cm + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + + + + After + true + + + After + true + + + After + true + + + + + =Fields!VATProdPostingGrp_VATPostingSetup.Value + =Fields!VATBusPostingGrp_VATPostingSetup.Value + + + + + After + + + After + true + + + + + =Fields!VATBusPostingGrp_VATPostingSetup.Value + =Fields!VATProdPostingGrp_VATPostingSetup.Value + + + + + + + =Fields!No_GLAcc.Value + + + + + + Detail + + + + + + =IIF(Fields!VatReceivableVarKr.Value <> 0 ,FALSE,TRUE) + + + + + =IIF(Fields!VatPayableVarKr.Value <> 0 ,FALSE,TRUE) + + + + Detail_Collection + Output + true + + + + + + + Before + + + Before + + + Before + true + + + + + + true + true + DataSet_Result + 4.69047cm + 18.03499cm + + + + + + + true + + + + + =User!UserID + " "+"kl"+ " " + TimeOfDay + + + + + + + 1.29356cm + 13.30597cm + 0.32944cm + 4.72903cm + 1 + + =(First(Fields!VATReconciliationACaption.Value, "DataSet_Result") = "") + + + + + true + + + + + =Fields!VATReconciliationACaption.Value + + + + + + + 1.2cm + 4.8cm + 0.423cm + 7.5cm + 2 + + + + true + + + + + =Fields!CompanyName.Value + + + + + + + true + + + + + =Globals!PageNumber + + + + + + + 0.8cm + 15.935cm + 0.423cm + 2.1cm + 4 + + =(First(Fields!VATReconciliationACaption.Value, "DataSet_Result") = "") + + + + + true + + + + + =Globals!ExecutionTime + + + + + + + 0.4cm + 14.735cm + 0.4cm + 3.3cm + 5 + + =(First(Fields!VATReconciliationACaption.Value, "DataSet_Result") = "") + + + + + true + + + + + =Fields!DateRangeformatted.Value + + + + + + + 1.6cm + 4.8cm + 0.423cm + 7.5cm + 6 + + + + diff --git a/Apps/SE/SECore/test/app.json b/Apps/SE/SECore/test/app.json index 3a916c712f..cff1e1908a 100644 --- a/Apps/SE/SECore/test/app.json +++ b/Apps/SE/SECore/test/app.json @@ -2,7 +2,7 @@ "id": "169efe4b-2e9e-4d0d-8ec4-24c1b9a580de", "name": "SE Core Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Core Localization for Sweden.", "description": "Tests for the Core Localization for Sweden.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,20 +16,20 @@ "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "275032ba-04a6-457f-bc79-1ffe6cb63596", "name": "SE Core", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 148161, diff --git a/Apps/SE/SIE/app/app.json b/Apps/SE/SIE/app/app.json index 247c4dd701..641b2d2451 100644 --- a/Apps/SE/SIE/app/app.json +++ b/Apps/SE/SIE/app/app.json @@ -2,7 +2,7 @@ "id": "a98932e6-0fbc-4f74-a39b-f159b068d424", "name": "Standard Import Export (SIE)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "The Standard Import Export (SIE) extension makes it easy to import and export general ledger data in the format that the authorities in your country require.", "description": "As a part of the audit reporting in Sweden, companies must be able to import and export general ledger data according to the standard import export (SIE) format. This feature enables using SIE format within Audit File Export app, where you can specify SIE dimensions and file types as well as the level of detail covered by import or export transactions.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,14 +16,14 @@ "id": "a41b0c3e-bf1c-4c97-ad1b-b430a3933ada", "name": "Audit File Export", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 5314, diff --git a/Apps/SE/SIE/app/src/DataCheckSIE.Codeunit.al b/Apps/SE/SIE/app/src/DataCheckSIE.Codeunit.al index 0d9327f6ca..2a0cc7f3d3 100644 --- a/Apps/SE/SIE/app/src/DataCheckSIE.Codeunit.al +++ b/Apps/SE/SIE/app/src/DataCheckSIE.Codeunit.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Finance.AuditFileExport; -using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Foundation.Period; codeunit 5317 "Data Check SIE" implements "Audit File Export Data Check" diff --git a/Apps/SE/SIE/app/src/SIEManagement.Codeunit.al b/Apps/SE/SIE/app/src/SIEManagement.Codeunit.al index 7313063615..ecfb98da1d 100644 --- a/Apps/SE/SIE/app/src/SIEManagement.Codeunit.al +++ b/Apps/SE/SIE/app/src/SIEManagement.Codeunit.al @@ -5,8 +5,10 @@ namespace Microsoft.Finance.AuditFileExport; using Microsoft.Finance.GeneralLedger.Setup; +#if not CLEAN22 using System.Environment; using System.Environment.Configuration; +#endif codeunit 5316 "SIE Management" { diff --git a/Apps/SE/SIE/app/src/Setup/SIESetupWizard.Page.al b/Apps/SE/SIE/app/src/Setup/SIESetupWizard.Page.al index 0be747b40d..b941a85189 100644 --- a/Apps/SE/SIE/app/src/Setup/SIESetupWizard.Page.al +++ b/Apps/SE/SIE/app/src/Setup/SIESetupWizard.Page.al @@ -254,7 +254,6 @@ page 5314 "SIE Setup Wizard" } trigger OnQueryClosePage(CloseAction: action): Boolean; - var begin if GetLastErrorText() <> '' then exit(true); diff --git a/Apps/SE/SIE/test/app.json b/Apps/SE/SIE/test/app.json index e1548891b5..09b25455f2 100644 --- a/Apps/SE/SIE/test/app.json +++ b/Apps/SE/SIE/test/app.json @@ -2,7 +2,7 @@ "id": "f0122068-7fc6-4247-853e-5b362e8b3934", "name": "SIE Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the SIE extension.", "description": "Tests for the SIE extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -11,38 +11,38 @@ "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2141039", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "a98932e6-0fbc-4f74-a39b-f159b068d424", "name": "Standard Import Export (SIE)", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "a41b0c3e-bf1c-4c97-ad1b-b430a3933ada", "name": "Audit File Export", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json b/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json index 4aba1c3625..0caf20f1a4 100644 --- a/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json @@ -2,7 +2,7 @@ "id": "3a3f33b1-7b42-4123-a521-2265186cfb31", "name": "Contoso Coffee Demo Dataset (US)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making the demo data available for manufacturing scenarios.", "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios in the manufacturing space.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,14 +16,14 @@ "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", "name": "Contoso Coffee Demo Dataset", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 10495, diff --git a/Apps/US/HybridBCLast_US/app/Permissions/INTELLIGENTCLOUDHBCLUS.PermissionSetExt.al b/Apps/US/HybridBCLast_US/app/Permissions/INTELLIGENTCLOUDHBCLUS.PermissionSetExt.al deleted file mode 100644 index 75bc92611b..0000000000 --- a/Apps/US/HybridBCLast_US/app/Permissions/INTELLIGENTCLOUDHBCLUS.PermissionSetExt.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4043 "INTELLIGENT CLOUD - HBCLUS" extends "INTELLIGENT CLOUD" -{ - Permissions = tabledata "Stg Data Exch Def US" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/US/HybridBCLast_US/app/Permissions/d365basicHBCLUS.permissionsetext.al b/Apps/US/HybridBCLast_US/app/Permissions/d365basicHBCLUS.permissionsetext.al deleted file mode 100644 index 76e7aede53..0000000000 --- a/Apps/US/HybridBCLast_US/app/Permissions/d365basicHBCLUS.permissionsetext.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4040 "D365 BASIC - HBCLUS" extends "D365 BASIC" -{ - Permissions = tabledata "Stg Data Exch Def US" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/US/HybridBCLast_US/app/Permissions/d365basicisvHBCLUS.permissionsetext.al b/Apps/US/HybridBCLast_US/app/Permissions/d365basicisvHBCLUS.permissionsetext.al deleted file mode 100644 index 51b0994e86..0000000000 --- a/Apps/US/HybridBCLast_US/app/Permissions/d365basicisvHBCLUS.permissionsetext.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4041 "D365 BASIC ISV - HBCLUS" extends "D365 BASIC ISV" -{ - Permissions = tabledata "Stg Data Exch Def US" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/US/HybridBCLast_US/app/Permissions/d365teammemberHBCLUS.permissionsetext.al b/Apps/US/HybridBCLast_US/app/Permissions/d365teammemberHBCLUS.permissionsetext.al deleted file mode 100644 index 922ab18f89..0000000000 --- a/Apps/US/HybridBCLast_US/app/Permissions/d365teammemberHBCLUS.permissionsetext.al +++ /dev/null @@ -1,6 +0,0 @@ -#if not CLEAN21 -permissionsetextension 4042 "D365 TEAM MEMBER - HBCLUS" extends "D365 TEAM MEMBER" -{ - Permissions = tabledata "Stg Data Exch Def US" = RIMD; -} -#endif \ No newline at end of file diff --git a/Apps/US/HybridBCLast_US/app/app.json b/Apps/US/HybridBCLast_US/app/app.json index 0b1999e15e..d25e807ab9 100644 --- a/Apps/US/HybridBCLast_US/app/app.json +++ b/Apps/US/HybridBCLast_US/app/app.json @@ -2,7 +2,7 @@ "id": "638dd7bc-cb27-4c70-9e1d-963fdd46da19", "name": "Business Central Cloud Migration - Previous Release (US)", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enables data migration from the previous version of Dynamics BC (n-1) to the current release of Dynamics 365 Business Central SaaS.", "description": "This extension, in conjuction with the Business Central Cloud Migration Previous Release, will enable you to migrate data from your Business Central on-premises solution for United States to your Dynamics 365 Business Central cloud tenant for United States. This extension is required to update country specific tables. Once you have walked through the cloud migration wizard in assisted setup, you will be able to migrate your data from your on-premises environment to your cloud tenant.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,25 +15,25 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" }, { "publisher": "Microsoft", "name": "Business Central Cloud Migration - Previous Release", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "6992416f-3f39-4d3c-8242-3fff61350bea" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/US/HybridBCLast_US/app/src/codeunits/upgrade/15x/UpgMXCFDIUS.Codeunit.al b/Apps/US/HybridBCLast_US/app/src/codeunits/upgrade/15x/UpgMXCFDIUS.Codeunit.al deleted file mode 100644 index a13bedd763..0000000000 --- a/Apps/US/HybridBCLast_US/app/src/codeunits/upgrade/15x/UpgMXCFDIUS.Codeunit.al +++ /dev/null @@ -1,50 +0,0 @@ -#if not CLEAN17 -codeunit 10035 "Upg. MX CFDI US" -{ - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '17.0'; - - trigger OnRun() - begin - // This code is based on app upgrade logic for NA. - // Matching file: .\App\Layers\NA\BaseApp\Upgrade\UPGMXCFDI.Codeunit.al - // Based on commit: d4aef6b7b9 - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"W1 Company Handler", 'OnUpgradePerCompanyDataForVersion', '', false, false)] - local procedure OnCompanyMigrationUpgrade(TargetVersion: Decimal) - begin - if TargetVersion <> 15.0 then - exit; - - UpdateSATCatalogs(); - UpdateCFDIFields(); - end; - - local procedure UpdateSATCatalogs() - var - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefCountry: Codeunit "Upgrade Tag Def - Country"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefCountry.GetSATPaymentCatalogsSwapTag()) then - exit; - - Codeunit.Run(Codeunit::"Update SAT Payment Catalogs"); - UpgradeTag.SetUpgradeTag(UpgradeTagDefCountry.GetSATPaymentCatalogsSwapTag()); - end; - - local procedure UpdateCFDIFields() - var - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefCountry: Codeunit "Upgrade Tag Def - Country"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefCountry.GetCFDIPurposeRelationFieldsDocUpdateTag()) then - exit; - - Codeunit.Run(Codeunit::"Update CFDI Fields Sales Doc"); - UpgradeTag.SetUpgradeTag(UpgradeTagDefCountry.GetCFDIPurposeRelationFieldsDocUpdateTag()); - end; -} - -#endif \ No newline at end of file diff --git a/Apps/US/HybridBCLast_US/app/src/tables/StgDataExchDefUS.Table.al b/Apps/US/HybridBCLast_US/app/src/tables/StgDataExchDefUS.Table.al index 7448040e82..6fc22c6ef7 100644 --- a/Apps/US/HybridBCLast_US/app/src/tables/StgDataExchDefUS.Table.al +++ b/Apps/US/HybridBCLast_US/app/src/tables/StgDataExchDefUS.Table.al @@ -2,15 +2,9 @@ table 4043 "Stg Data Exch Def US" { ReplicateData = false; Extensible = false; -#if not CLEAN21 - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '21.0'; -#else ObsoleteState = Removed; ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; ObsoleteTag = '24.0'; -#endif fields { field(1; "Code"; Code[20]) diff --git a/Apps/US/HybridGP_US/app/Permissions/d365basicHGPUS.permissionsetext.al b/Apps/US/HybridGP_US/app/Permissions/D365BasicExtHGPUS.PermissionSetExt.al similarity index 89% rename from Apps/US/HybridGP_US/app/Permissions/d365basicHGPUS.permissionsetext.al rename to Apps/US/HybridGP_US/app/Permissions/D365BasicExtHGPUS.PermissionSetExt.al index efbe340f24..9ada1ec0ed 100644 --- a/Apps/US/HybridGP_US/app/Permissions/d365basicHGPUS.permissionsetext.al +++ b/Apps/US/HybridGP_US/app/Permissions/D365BasicExtHGPUS.PermissionSetExt.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.DataMigration.GP; -using System.Security.AccessControl; - permissionsetextension 4710 "D365 Basic Ext. - HGPUS" extends "D365 BASIC" { Permissions = tabledata "Supported Tax Year" = RIMD, diff --git a/Apps/US/HybridGP_US/app/Permissions/HybridGPUSObjects.permissionsetsext.al b/Apps/US/HybridGP_US/app/Permissions/HybridGPUSObjects.PermissionSet.al similarity index 100% rename from Apps/US/HybridGP_US/app/Permissions/HybridGPUSObjects.permissionsetsext.al rename to Apps/US/HybridGP_US/app/Permissions/HybridGPUSObjects.PermissionSet.al diff --git a/Apps/US/HybridGP_US/app/Permissions/INTELLIGENTCLOUDHGPUS.PermissionSetExt.al b/Apps/US/HybridGP_US/app/Permissions/INTELLIGENTCLOUDHGPUS.PermissionSetExt.al index 25e5878bad..5cb334c224 100644 --- a/Apps/US/HybridGP_US/app/Permissions/INTELLIGENTCLOUDHGPUS.PermissionSetExt.al +++ b/Apps/US/HybridGP_US/app/Permissions/INTELLIGENTCLOUDHGPUS.PermissionSetExt.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.DataMigration.GP; -using System.Security.AccessControl; - permissionsetextension 4713 "INTELLIGENT CLOUD - HGPUS" extends "INTELLIGENT CLOUD" { Permissions = tabledata "Supported Tax Year" = RIMD, diff --git a/Apps/US/HybridGP_US/app/Permissions/d365basicisvHGPUS.permissionsetext.al b/Apps/US/HybridGP_US/app/Permissions/d365basicisvHGPUS.permissionsetext.al index 0e2a3a1d54..68bc58b01d 100644 --- a/Apps/US/HybridGP_US/app/Permissions/d365basicisvHGPUS.permissionsetext.al +++ b/Apps/US/HybridGP_US/app/Permissions/d365basicisvHGPUS.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.DataMigration.GP; -using System.Security.AccessControl; - permissionsetextension 4711 "D365 BASIC ISV - HGPUS" extends "D365 BASIC ISV" { Permissions = tabledata "Supported Tax Year" = RIMD, diff --git a/Apps/US/HybridGP_US/app/Permissions/d365teammemberHGPUS.permissionsetext.al b/Apps/US/HybridGP_US/app/Permissions/d365teammemberHGPUS.permissionsetext.al index 2fab273f2c..807b13d6a5 100644 --- a/Apps/US/HybridGP_US/app/Permissions/d365teammemberHGPUS.permissionsetext.al +++ b/Apps/US/HybridGP_US/app/Permissions/d365teammemberHGPUS.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.DataMigration.GP; -using System.Security.AccessControl; - permissionsetextension 4712 "D365 TEAM MEMBER - HGPUS" extends "D365 TEAM MEMBER" { Permissions = tabledata "Supported Tax Year" = RIMD, diff --git a/Apps/US/HybridGP_US/app/app.json b/Apps/US/HybridGP_US/app/app.json index 60dc774cab..b177210abc 100644 --- a/Apps/US/HybridGP_US/app/app.json +++ b/Apps/US/HybridGP_US/app/app.json @@ -2,7 +2,7 @@ "id": "abe5dab1-9b38-44fc-a5f2-747ca8f4551e", "name": "Dynamics GP Intelligent Cloud - US", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "This extension migrates US specific information during a GP migration.", "description": "This extension migrates US specific information during a GP migration, such as Vendor 1099 data.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,20 +16,20 @@ "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", "name": "Intelligent Cloud Base", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "feeb3504-556e-4790-b28d-a2b9ce302d81", "name": "Dynamics GP Intelligent Cloud", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, diff --git a/Apps/US/HybridGP_US/app/src/TableExt/GPCompanyAddSettingsExt.TableExt.al b/Apps/US/HybridGP_US/app/src/TableExt/GPCompanyAddSettingsExt.TableExt.al index f25e9da54f..4bce3cd0c5 100644 --- a/Apps/US/HybridGP_US/app/src/TableExt/GPCompanyAddSettingsExt.TableExt.al +++ b/Apps/US/HybridGP_US/app/src/TableExt/GPCompanyAddSettingsExt.TableExt.al @@ -12,9 +12,13 @@ tableextension 41103 "GP Company Add. Settings Ext." extends "GP Company Additio trigger OnValidate() begin - if Rec."Migrate Vendor 1099" then + if Rec."Migrate Vendor 1099" then begin if not Rec."Migrate Payables Module" then Rec.Validate("Migrate Payables Module", true); + + if not Rec."Migrate GL Module" then + Rec.Validate("Migrate GL Module", true); + end; end; } field(101; "1099 Tax Year"; Integer) @@ -49,6 +53,14 @@ tableextension 41103 "GP Company Add. Settings Ext." extends "GP Company Additio Rec.Validate("Migrate Vendor 1099", false); end; } + modify("Migrate GL Module") + { + trigger OnAfterValidate() + begin + if not Rec."Migrate GL Module" then + Rec.Validate("Migrate Vendor 1099", false); + end; + } } trigger OnBeforeInsert() diff --git a/Apps/US/HybridGP_US/test/app.json b/Apps/US/HybridGP_US/test/app.json index ee16300ddc..1622e7b3d1 100644 --- a/Apps/US/HybridGP_US/test/app.json +++ b/Apps/US/HybridGP_US/test/app.json @@ -2,7 +2,7 @@ "id": "769bbf93-6868-4281-aec1-1cef12e56a80", "name": "Dynamics GP Intelligent Cloud - US Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for Dynamics GP Intelligent Cloud US", "description": "Tests for Dynamics GP Intelligent Cloud US", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,26 +16,26 @@ "id": "feeb3504-556e-4790-b28d-a2b9ce302d81", "name": "Dynamics GP Intelligent Cloud", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "abe5dab1-9b38-44fc-a5f2-747ca8f4551e", "name": "Dynamics GP Intelligent Cloud - US", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 139500, diff --git a/Apps/US/IRS1096/app/app.json b/Apps/US/IRS1096/app/app.json index 2ef69257af..0fb47b4914 100644 --- a/Apps/US/IRS1096/app/app.json +++ b/Apps/US/IRS1096/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Easily report IRS 1096 form.", "description": "This app provides functionality that enables an easy overview and reporting of the 1096 form to IRS.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/localfunctionality/unitedstates/set-up-use-irs1096-form", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 10016, @@ -29,6 +29,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/US/IRS1096/test/app.json b/Apps/US/IRS1096/test/app.json index 6fce1e09ca..03f7a90c09 100644 --- a/Apps/US/IRS1096/test/app.json +++ b/Apps/US/IRS1096/test/app.json @@ -2,7 +2,7 @@ "id": "bd16d8dd-8faf-45d3-b733-3ddc6b9cfabf", "name": "IRS 1096 Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft IRs 1096 extension.", "description": "Tests for the Microsoft IRS 1096 extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/localfunctionality/unitedstates/set-up-use-irs1096-form", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "bf7682b0-67b3-44de-a1e6-676ceb3b05ca", "name": "IRS 1096", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/AMCBanking365Fundamentals/app/.objidconfig b/Apps/W1/AMCBanking365Fundamentals/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/AMCBanking365Fundamentals/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankAssistedMgt.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankAssistedMgt.Codeunit.al index d7d0700241..99a3f3efbc 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankAssistedMgt.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankAssistedMgt.Codeunit.al @@ -817,7 +817,6 @@ codeunit 20117 "AMC Bank Assisted Mgt." [EventSubscriber(ObjectType::Page, Page::"AMC Banking Setup", 'OnAfterGetCurrRecordEvent', '', true, true)] local procedure ShowAssistedSetupNotificationAMCBankingSetup(var Rec: Record "AMC Banking Setup") - var begin if (Rec."AMC Enabled") then begin if (UpgradeNotificationIsNeeded(AMCBankingMgt.GetDataExchDef_CT()) or diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImpBankListHndl.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImpBankListHndl.Codeunit.al index 3de7e9a871..1bd2cc80ef 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImpBankListHndl.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImpBankListHndl.Codeunit.al @@ -12,7 +12,6 @@ codeunit 20115 "AMC Bank Imp.BankList Hndl" TableData "AMC Banking Setup" = r; trigger OnRun() - var begin GetBankListFromWebService(true, '', 5000, AMCBankingMgt.GetAppCaller()); end; @@ -176,7 +175,6 @@ codeunit 20115 "AMC Bank Imp.BankList Hndl" end; local procedure GetOwnRefOnBankNameList(var TempAMCBankBanks: record "AMC Bank Banks" temporary; AMCBankBanks: record "AMC Bank Banks"): Enum AMCBankOwnreference - var begin TempAMCBankBanks.Reset(); TempAMCBankBanks.SetFilter(TempAMCBankBanks.Bank, AMCBankBanks.Bank); diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImportStatement.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImportStatement.Codeunit.al index bf0456f0c7..a683cbea45 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImportStatement.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankImportStatement.Codeunit.al @@ -12,7 +12,6 @@ codeunit 20125 "AMC Bank Import Statement" TableNo = "Data Exch."; trigger OnRun() - var begin end; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankProcessStatement.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankProcessStatement.Codeunit.al index 2aff7a94f7..722ae5c874 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankProcessStatement.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankProcessStatement.Codeunit.al @@ -188,7 +188,6 @@ codeunit 20126 "AMC Bank Process Statement" end; local procedure getNextLevels(var ElementXMLBuffer: Record "XML Buffer"; NextLevelName: Text; ParentEntryNo: Integer) - var begin ElementXMLBuffer.Reset(); ElementXMLBuffer.SetRange("Parent Entry No.", ParentEntryNo); @@ -341,7 +340,6 @@ codeunit 20126 "AMC Bank Process Statement" end; local procedure getChildsParentEntryNo(var ElementXMLBuffer: Record "XML Buffer"; ElementName: Text; ParentEntryNo: Integer): Integer - var begin ElementXMLBuffer.Reset(); ElementXMLBuffer.SetRange("Parent Entry No.", ParentEntryNo); @@ -355,7 +353,6 @@ codeunit 20126 "AMC Bank Process Statement" end; local procedure getChildsValue(var ElementXMLBuffer: Record "XML Buffer"; ElementName: Text; ParentEntryNo: Integer): Text - var begin ElementXMLBuffer.Reset(); ElementXMLBuffer.SetRange("Parent Entry No.", ParentEntryNo); diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankRESTRequestMgt.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankRESTRequestMgt.Codeunit.al index 74848a15dc..54efbaa133 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankRESTRequestMgt.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankRESTRequestMgt.Codeunit.al @@ -60,7 +60,6 @@ codeunit 20124 "AMC Bank REST Request Mgt." end; local procedure SetHttpClientDefaults(); - var begin if (GLBHeadersHttpClient.Contains('Accept')) THEN GLBHeadersHttpClient.Remove('Accept'); @@ -69,7 +68,6 @@ codeunit 20124 "AMC Bank REST Request Mgt." end; procedure SetHttpContentsDefaults(Var HeaderHttpRequestMessage: HttpRequestMessage); - var begin HeaderHttpRequestMessage.Content().GetHeaders(GLBHeadersContentHttp); diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankServiceRequestMgt.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankServiceRequestMgt.Codeunit.al index 33a85b4451..1ae7895c00 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankServiceRequestMgt.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankServiceRequestMgt.Codeunit.al @@ -61,7 +61,6 @@ codeunit 20118 "AMC Bank Service Request Mgt." end; procedure AddElement(VAR ParentElement: XmlElement; NameSpace: Text; ElementName: Text; ElementValue: Text; VAR CreatedChildElement: XmlElement; AttribName: Text; AttribNameSpace: Text; AttribValue: Text) - var begin CLEAR(CreatedChildElement); if (ElementValue <> '') then @@ -108,7 +107,6 @@ codeunit 20118 "AMC Bank Service Request Mgt." end; local procedure SetHttpClientDefaults(); - var begin if (GLBHeadersClientHttpClient.Contains('Accept')) THEN GLBHeadersClientHttpClient.Remove('Accept'); @@ -117,7 +115,6 @@ codeunit 20118 "AMC Bank Service Request Mgt." end; procedure SetHttpContentsDefaults(Var HeaderHttpRequestMessage: HttpRequestMessage); - var begin HeaderHttpRequestMessage.Content().GetHeaders(GLBHeadersContentHttp); diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankingMgt.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankingMgt.Codeunit.al index 55e2b1a539..81e091aa49 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankingMgt.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankingMgt.Codeunit.al @@ -134,7 +134,6 @@ codeunit 20105 "AMC Banking Mgt." end; procedure IsSolutionSandbox(AMCBankingSetup: Record "AMC Banking Setup"): Boolean - var begin if ((UpperCase(AMCBankingSetup.Solution) <> UpperCase(GetEnterPriseSolutionCode())) and (EnvironmentInformation.IsSandbox()) and (not IsLicenseEqualAMC())) then @@ -249,7 +248,6 @@ codeunit 20105 "AMC Banking Mgt." // To substitute code in Codeunit 2 "Company-Initialize" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Company-Initialize", 'OnCompanyInitialize', '', false, false)] local procedure AMCBankOnCompanyInitialize(); - var begin AMCBankInitializeBaseData(); InitBankDataConvServiceSetup(); @@ -621,7 +619,6 @@ codeunit 20105 "AMC Banking Mgt." end; internal procedure updateValue(var fieldref: FieldRef; ValueVariant: Variant; UseValidate: Boolean) - var begin if (UseValidate) then fieldref.Validate(ValueVariant) @@ -663,7 +660,6 @@ codeunit 20105 "AMC Banking Mgt." end; internal procedure GetBankFileName(BankAccount: Record "Bank Account"): Text[250] - var begin if (BankAccount."AMC Bank File Name" <> '') then begin @@ -677,7 +673,6 @@ codeunit 20105 "AMC Banking Mgt." end; internal procedure AMCTenantId(): Text - var begin Exit(CopyStr('fb79e895-7de3-4468-8184-cd181eb8b131', 1, 40)); end; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankBankAccountCard.PageExt.al b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankBankAccountCard.PageExt.al index 20b4e886bc..bd94afa2a0 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankBankAccountCard.PageExt.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankBankAccountCard.PageExt.al @@ -39,7 +39,6 @@ pageextension 20103 "AMC Bank Bank Account Card" extends "Bank Account Card" IsAMCFundamentalsEnabled: Boolean; trigger OnOpenPage() - var begin IsAMCFundamentalsEnabled := AMCBankingMgt.IsAMCFundamentalsEnabled(); end; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankCreditTrfRegExt.PageExt.al b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankCreditTrfRegExt.PageExt.al index 829fa90182..9da1504b59 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankCreditTrfRegExt.PageExt.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankCreditTrfRegExt.PageExt.al @@ -24,7 +24,6 @@ pageextension 20108 "AMC Bank Credit Trf. Reg. Ext" extends "Credit Transfer Reg IsAMCFundamentalsEnabled: Boolean; trigger OnOpenPage() - var begin IsAMCFundamentalsEnabled := AMCBankingMgt.IsAMCFundamentalsEnabled(); end; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankPaymMethPageExt.PageExt.al b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankPaymMethPageExt.PageExt.al index a140e94fb7..3609ecf191 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankPaymMethPageExt.PageExt.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankPaymMethPageExt.PageExt.al @@ -28,7 +28,6 @@ pageextension 20104 "AMC Bank Paym. Meth. Page Ext" extends "Payment Methods" IsAMCFundamentalsEnabled: Boolean; trigger OnOpenPage() - var begin IsAMCFundamentalsEnabled := AMCBankingMgt.IsAMCFundamentalsEnabled(); end; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankSignuptoService.Page.al b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankSignuptoService.Page.al index e26b13047a..eef6937da2 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankSignuptoService.Page.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankSignuptoService.Page.al @@ -133,7 +133,6 @@ page 20109 "AMC Bank Signup to Service" AdminEmail: Text; trigger OnOpenPage() - var begin AMCBankingSetup.Get(); Solution := AMCBankingSetup.Solution; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankStmtLineDetExt.PageExt.al b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankStmtLineDetExt.PageExt.al index 113ab42d14..16627f8f37 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankStmtLineDetExt.PageExt.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Pages/AMCBankStmtLineDetExt.PageExt.al @@ -42,7 +42,6 @@ pageextension 20110 "AMC Bank Stmt Line Det. Ext" extends "Bank Statement Line D end; trigger OnAfterGetRecord() - var begin NameFldAMC := GetFieldNameAMC(); end; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Tables/AMCBankingSetup.Table.al b/Apps/W1/AMCBanking365Fundamentals/app/Tables/AMCBankingSetup.Table.al index a10c6bf837..4ffe481fd8 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Tables/AMCBankingSetup.Table.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Tables/AMCBankingSetup.Table.al @@ -183,13 +183,11 @@ table 20101 "AMC Banking Setup" end; procedure GetDemoUserName(): Text[50] - var begin exit(CopyStr(DemoUserNameTxt, 1, 50)); end; local procedure GetDemoPass(): Text - var begin exit(DemoPasswordTxt); end; diff --git a/Apps/W1/AMCBanking365Fundamentals/app/app.json b/Apps/W1/AMCBanking365Fundamentals/app/app.json index eac45914e3..f95228bb40 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/app.json +++ b/Apps/W1/AMCBanking365Fundamentals/app/app.json @@ -1,8 +1,8 @@ { "id": "16319982-4995-4fb1-8fb2-2b1e13773e3b", - "platform": "23.0.0.0", - "application": "23.3.0.0", - "version": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", + "version": "24.0.0.0", "help": "https://go.microsoft.com/fwlink/?linkid=2101583", "resourceExposurePolicy": { "allowDebugging": false, diff --git a/Apps/W1/AMCBanking365Fundamentals/test/app.json b/Apps/W1/AMCBanking365Fundamentals/test/app.json index 6be3591ef4..9e7cf17e88 100644 --- a/Apps/W1/AMCBanking365Fundamentals/test/app.json +++ b/Apps/W1/AMCBanking365Fundamentals/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the AMC Banking 365 Fundamentals extension.", "description": "Tests for the AMC Banking 365 Fundamentals extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?LinkId=724010", "help": "https://go.microsoft.com/fwlink/?linkid=2101583", @@ -16,33 +16,33 @@ "id": "16319982-4995-4fb1-8fb2-2b1e13773e3b", "name": "AMC Banking 365 Fundamentals", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/AMCBankingCredentialUT.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/AMCBankingCredentialUT.Codeunit.al index 69975d7f83..b70b271b4e 100644 --- a/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/AMCBankingCredentialUT.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/AMCBankingCredentialUT.Codeunit.al @@ -598,7 +598,6 @@ codeunit 132558 "AMC Banking Credential UT" [ModalPageHandler] [Scope('OnPrem')] procedure AMCBankingSetupModalPageHandler(var AMCBankingSetupPage: TestPage "AMC Banking Setup") - var begin AMCBankingSetupPage."User Name".SetValue('demouser'); AMCBankingSetupPage.Password.SetValue('Demo Password'); diff --git a/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/PaymentExportXMLPort.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/PaymentExportXMLPort.Codeunit.al index 838434d2fc..dc74f5b4fa 100644 --- a/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/PaymentExportXMLPort.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/test/src/Bank/PaymentExportXMLPort.Codeunit.al @@ -70,7 +70,6 @@ codeunit 134423 "Payment Export XMLPort" end; local procedure SetupExport(var TempBlobANSI: Codeunit "Temp Blob"; var DataExch: Record "Data Exch."; var DataExchDef: Record "Data Exch. Def"; var TempXmlBuffer: Record "Xml Buffer"; ProcessingXMLport: Integer; FileType: Option) - var begin CreateDataExchDef(DataExchDef, ProcessingXMLport, DataExchDef."Column Separator"::Comma, FileType); CreateDataExch(DataExch, DataExchDef.Code, TempBlobANSI); @@ -308,7 +307,6 @@ codeunit 134423 "Payment Export XMLPort" end; local procedure VerifyAMCOutput(var TempXMLBuffer: Record "XML Buffer"; TempBlobANSI: Codeunit "Temp Blob"; DataExchNo: Integer) - var begin LibraryXPathXMLReader.InitializeWithBlob(TempBlobANSI, AMCBankingMgt.GetNamespace()); LibraryXPathXMLReader.SetDefaultNamespaceUsage(false); diff --git a/Apps/W1/AMCBanking365Fundamentals/test/src/MockService/Base64DecodingEncoding.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/test/src/MockService/Base64DecodingEncoding.Codeunit.al index 5c88241319..5ecdcb52ea 100644 --- a/Apps/W1/AMCBanking365Fundamentals/test/src/MockService/Base64DecodingEncoding.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/test/src/MockService/Base64DecodingEncoding.Codeunit.al @@ -294,7 +294,6 @@ codeunit 135081 "Base64 Decoding / Encoding" [ConfirmHandler] [Scope('OnPrem')] procedure ConfirmHandlerTrue(Question: Text[1024]; var Reply: Boolean) - var begin if StrPos(Question, BankAccMismatchQst) > 0 then Reply := true diff --git a/Apps/W1/APIReportsFinance/App/.objidconfig b/Apps/W1/APIReportsFinance/App/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/APIReportsFinance/App/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/APIReportsFinance/App/app.json b/Apps/W1/APIReportsFinance/App/app.json index 875480e200..e5ad3cd014 100644 --- a/Apps/W1/APIReportsFinance/App/app.json +++ b/Apps/W1/APIReportsFinance/App/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "API Reports - Finance lets you easily access tha data that can be used to build different Financial Reports.", "description": "API Reports - Finance lets you easily access tha data that can be used to build different Financial Reports.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2103698", @@ -13,9 +13,9 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2134520", - "application": "23.3.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 30300, diff --git a/Apps/W1/APIReportsFinance/App/src/APIFinanceAccPeriods.Page.al b/Apps/W1/APIReportsFinance/App/src/APIFinanceAccPeriods.Page.al index 1a22363e3d..03d5d46980 100644 --- a/Apps/W1/APIReportsFinance/App/src/APIFinanceAccPeriods.Page.al +++ b/Apps/W1/APIReportsFinance/App/src/APIFinanceAccPeriods.Page.al @@ -1,6 +1,5 @@ namespace Microsoft.API.FinancialManagement; -using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Foundation.Period; page 30300 "API Finance - Acc Periods" diff --git a/Apps/W1/APIV1/app/.objidconfig b/Apps/W1/APIV1/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/APIV1/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/APIV1/app/app.json b/Apps/W1/APIV1/app/app.json index f6bb066cf2..4ea97ad807 100644 --- a/Apps/W1/APIV1/app/app.json +++ b/Apps/W1/APIV1/app/app.json @@ -2,7 +2,7 @@ "id": "8afe7b40-8c87-4beb-ada0-451d1761bf95", "name": "_Exclude_APIV1_", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "APIV1", "description": "APIV1", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 2146, @@ -38,5 +38,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/APIV1/app/src/pages/APIV1AutExtensionDepl.Page.al b/Apps/W1/APIV1/app/src/pages/APIV1AutExtensionDepl.Page.al index 1f286f2102..677cfb6274 100644 --- a/Apps/W1/APIV1/app/src/pages/APIV1AutExtensionDepl.Page.al +++ b/Apps/W1/APIV1/app/src/pages/APIV1AutExtensionDepl.Page.al @@ -1,7 +1,6 @@ namespace Microsoft.API.V1; using System.Apps; -using System.Environment.Configuration; page 20007 "APIV1 - Aut. Extension Depl." { diff --git a/Apps/W1/APIV1/app/src/pages/APIV1AutExtensions.Page.al b/Apps/W1/APIV1/app/src/pages/APIV1AutExtensions.Page.al index c73f480e95..41ede22869 100644 --- a/Apps/W1/APIV1/app/src/pages/APIV1AutExtensions.Page.al +++ b/Apps/W1/APIV1/app/src/pages/APIV1AutExtensions.Page.al @@ -2,7 +2,6 @@ namespace Microsoft.API.V1; using System.Apps; using System.Environment; -using System.Environment.Configuration; page 20002 "APIV1 - Aut. Extensions" { diff --git a/Apps/W1/APIV1/app/src/pages/APIV1Journals.Page.al b/Apps/W1/APIV1/app/src/pages/APIV1Journals.Page.al index 37c0feec85..10992ca309 100644 --- a/Apps/W1/APIV1/app/src/pages/APIV1Journals.Page.al +++ b/Apps/W1/APIV1/app/src/pages/APIV1Journals.Page.al @@ -111,7 +111,6 @@ page 20016 "APIV1 - Journals" end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; GenJournalBatchId: Guid) - var begin ActionContext.SetObjectType(ObjectType::Page); diff --git a/Apps/W1/APIV1/app/src/pages/APIV1PurchaseInvoices.Page.al b/Apps/W1/APIV1/app/src/pages/APIV1PurchaseInvoices.Page.al index 058e14184d..1773277b39 100644 --- a/Apps/W1/APIV1/app/src/pages/APIV1PurchaseInvoices.Page.al +++ b/Apps/W1/APIV1/app/src/pages/APIV1PurchaseInvoices.Page.al @@ -663,7 +663,6 @@ page 20042 "APIV1 - Purchase Invoices" end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; InvoiceId: Guid) - var begin ActionContext.SetObjectType(ObjectType::Page); ActionContext.SetObjectId(Page::"APIV1 - Purchase Invoices"); diff --git a/Apps/W1/APIV1/app/src/pages/APIV1SalesInvoices.Page.al b/Apps/W1/APIV1/app/src/pages/APIV1SalesInvoices.Page.al index 3487ea4ee1..43e335c9c1 100644 --- a/Apps/W1/APIV1/app/src/pages/APIV1SalesInvoices.Page.al +++ b/Apps/W1/APIV1/app/src/pages/APIV1SalesInvoices.Page.al @@ -977,13 +977,11 @@ page 20012 "APIV1 - Sales Invoices" end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; InvoiceId: Guid) - var begin SetActionResponse(ActionContext, Page::"APIV1 - Sales Invoices", InvoiceId); end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; PageId: Integer; DocumentId: Guid) - var begin ActionContext.SetObjectType(ObjectType::Page); ActionContext.SetObjectId(PageId); diff --git a/Apps/W1/APIV1/app/src/pages/APIV1SalesOrders.Page.al b/Apps/W1/APIV1/app/src/pages/APIV1SalesOrders.Page.al index 31a74e7783..784902a12e 100644 --- a/Apps/W1/APIV1/app/src/pages/APIV1SalesOrders.Page.al +++ b/Apps/W1/APIV1/app/src/pages/APIV1SalesOrders.Page.al @@ -787,7 +787,6 @@ page 20028 "APIV1 - Sales Orders" end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; PageId: Integer; DocumentId: Guid) - var begin ActionContext.SetObjectType(ObjectType::Page); ActionContext.SetObjectId(PageId); diff --git a/Apps/W1/APIV1/test/app.json b/Apps/W1/APIV1/test/app.json index 1af58903ba..54ba93a502 100644 --- a/Apps/W1/APIV1/test/app.json +++ b/Apps/W1/APIV1/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the _Exclude_APIV1_ extension.", "description": "Tests for the _Exclude_APIV1_ extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206603", @@ -16,36 +16,36 @@ "id": "8afe7b40-8c87-4beb-ada0-451d1761bf95", "name": "_Exclude_APIV1_", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "publisher": "Microsoft", "name": "System Application Test Library", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/APIV1/test/src/APIV1DefaultDimensionsE2E.Codeunit.al b/Apps/W1/APIV1/test/src/APIV1DefaultDimensionsE2E.Codeunit.al index 53b9432e51..65ef3c4185 100644 --- a/Apps/W1/APIV1/test/src/APIV1DefaultDimensionsE2E.Codeunit.al +++ b/Apps/W1/APIV1/test/src/APIV1DefaultDimensionsE2E.Codeunit.al @@ -985,7 +985,6 @@ codeunit 139732 "APIV1 - Default Dimensions E2E" end; local procedure VerifyDefaultDimensionResponseBody(Response: Text; ParentId: Text; DimensionId: Text; DimensionCode: Text; DimensionValueId: Text; DimensionValueCode: Text; ValuePosting: Text) - var begin Assert.AreNotEqual('', Response, EmptyResponseErr); IF ParentId <> '' THEN diff --git a/Apps/W1/APIV1/test/src/APIV1SalesInvLinesE2E.Codeunit.al b/Apps/W1/APIV1/test/src/APIV1SalesInvLinesE2E.Codeunit.al index 0d86f912c6..fb75c99063 100644 --- a/Apps/W1/APIV1/test/src/APIV1SalesInvLinesE2E.Codeunit.al +++ b/Apps/W1/APIV1/test/src/APIV1SalesInvLinesE2E.Codeunit.al @@ -1328,7 +1328,6 @@ codeunit 139734 "APIV1 - Sales Inv. Lines E2E" end; procedure GetLineSubURL(DocumentId: Text; Sequence: Integer; ServiceLinesName: Text): Text - var begin EXIT(ServiceLinesName + '(''' + SalesInvoiceAggregator.GetIdFromDocumentIdAndSequence(DocumentId, Sequence) + ''')'); end; diff --git a/Apps/W1/APIV2/app/.objidconfig b/Apps/W1/APIV2/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/APIV2/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/APIV2/app/app.json b/Apps/W1/APIV2/app/app.json index f9a9234a6b..051d23e761 100644 --- a/Apps/W1/APIV2/app/app.json +++ b/Apps/W1/APIV2/app/app.json @@ -2,7 +2,7 @@ "id": "10cb69d9-bc8a-4d27-970a-9e110e9db2a5", "name": "_Exclude_APIV2_", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "_Exclude_APIV2_", "description": "_Exclude_APIV2_", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 2145, @@ -38,5 +38,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/APIV2/app/src/codeunits/APIV2AutCreateNewUsers.Codeunit.al b/Apps/W1/APIV2/app/src/codeunits/APIV2AutCreateNewUsers.Codeunit.al index 6a08f345ed..b42e214fde 100644 --- a/Apps/W1/APIV2/app/src/codeunits/APIV2AutCreateNewUsers.Codeunit.al +++ b/Apps/W1/APIV2/app/src/codeunits/APIV2AutCreateNewUsers.Codeunit.al @@ -18,7 +18,6 @@ codeunit 30004 "APIV2 - Aut. Create New Users" procedure CreateNewUsersFromAzureADInBackground(): Guid - var begin exit(APIV2JobQueueManagement.CreateAndScheduleBackgroundJob(Codeunit::"APIV2 - Aut. Create New Users", GetJobQueueCategory(), JobQueueDescriptionLbl)); end; diff --git a/Apps/W1/APIV2/app/src/pages/APIV2Accounts.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2Accounts.Page.al index 570695ea29..fda17ecbf7 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2Accounts.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2Accounts.Page.al @@ -75,6 +75,10 @@ page 30014 "APIV2 - Accounts" { Caption = 'Consolidation Credit Account'; } + field(excludeFromConsolidation; Rec."Exclude From Consolidation") + { + Caption = 'Exclude from Consolidation'; + } field(lastModifiedDateTime; Rec.SystemModifiedAt) { Caption = 'Last Modified Date'; diff --git a/Apps/W1/APIV2/app/src/pages/APIV2AutExtensionDepl.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2AutExtensionDepl.Page.al index 3934e85897..a792e3b68c 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2AutExtensionDepl.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2AutExtensionDepl.Page.al @@ -1,7 +1,6 @@ namespace Microsoft.API.V2; using System.Apps; -using System.Environment.Configuration; page 30007 "APIV2 - Aut. Extension Depl." { diff --git a/Apps/W1/APIV2/app/src/pages/APIV2AutExtensions.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2AutExtensions.Page.al index 77aabb01af..eef7cc3db7 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2AutExtensions.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2AutExtensions.Page.al @@ -2,7 +2,6 @@ namespace Microsoft.API.V2; using System.Apps; using System.Environment; -using System.Environment.Configuration; page 30002 "APIV2 - Aut. Extensions" { diff --git a/Apps/W1/APIV2/app/src/pages/APIV2AutSecGrMembers.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2AutSecGrMembers.Page.al index aff9e80e10..8068522e33 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2AutSecGrMembers.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2AutSecGrMembers.Page.al @@ -18,6 +18,9 @@ page 30081 "APIV2 - Aut. Sec. Gr. Members" SourceTable = "Security Group Member Buffer"; SourceTableTemporary = true; ODataKeyFields = "Security Group Code", "User Security ID"; + InsertAllowed = false; + ModifyAllowed = false; + DeleteAllowed = false; layout { @@ -49,7 +52,11 @@ page 30081 "APIV2 - Aut. Sec. Gr. Members" if not AreRecordsLoaded then begin LoadRecords(); AreRecordsLoaded := true; + if Rec.IsEmpty then + exit(false); end; + + exit(true); end; trigger OnOpenPage() diff --git a/Apps/W1/APIV2/app/src/pages/APIV2AutSecurityGroups.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2AutSecurityGroups.Page.al index c985331acb..5664124b2e 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2AutSecurityGroups.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2AutSecurityGroups.Page.al @@ -18,6 +18,8 @@ page 30082 "APIV2 - Aut. Security Groups" Extensible = false; SourceTableTemporary = true; ODataKeyFields = "Group ID"; + InsertAllowed = false; + ModifyAllowed = false; layout { @@ -63,7 +65,11 @@ page 30082 "APIV2 - Aut. Security Groups" if not AreRecordsLoaded then begin LoadRecords(); AreRecordsLoaded := true; + if Rec.IsEmpty() then + exit(false); end; + + exit(true); end; trigger OnOpenPage() @@ -71,6 +77,11 @@ page 30082 "APIV2 - Aut. Security Groups" BindSubscription(AutomationAPIManagement); end; + trigger OnDeleteRecord(): Boolean + begin + SecurityGroup.Delete(Rec.Code); + end; + local procedure LoadRecords() begin SecurityGroup.GetGroups(Rec); diff --git a/Apps/W1/APIV2/app/src/pages/APIV2FALocations.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2FALocations.Page.al index 5ea893cc79..005ce668bf 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2FALocations.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2FALocations.Page.al @@ -10,6 +10,7 @@ page 30097 "APIV2 - FA Locations" EntitySetName = 'fixedAssetLocations'; SourceTable = "FA Location"; Extensible = false; + layout { area(Content) diff --git a/Apps/W1/APIV2/app/src/pages/APIV2Journals.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2Journals.Page.al index 51d4665353..5c4d51e98f 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2Journals.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2Journals.Page.al @@ -126,7 +126,6 @@ page 30016 "APIV2 - Journals" end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; GenJournalBatchId: Guid) - var begin ActionContext.SetObjectType(ObjectType::Page); ActionContext.SetObjectId(Page::"APIV2 - Journals"); diff --git a/Apps/W1/APIV2/app/src/pages/APIV2PurchaseInvoices.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2PurchaseInvoices.Page.al index c757d82051..4305c41210 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2PurchaseInvoices.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2PurchaseInvoices.Page.al @@ -706,7 +706,6 @@ page 30042 "APIV2 - Purchase Invoices" end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; InvoiceId: Guid) - var begin ActionContext.SetObjectType(ObjectType::Page); ActionContext.SetObjectId(Page::"APIV2 - Purchase Invoices"); diff --git a/Apps/W1/APIV2/app/src/pages/APIV2PurchaseOrders.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2PurchaseOrders.Page.al index 63cdb61481..c02a67b4ba 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2PurchaseOrders.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2PurchaseOrders.Page.al @@ -741,7 +741,7 @@ page 30066 "APIV2 - Purchase Orders" Error(CannotFindOrderErr); end; - local procedure PostInvoice(var PurchaseHeader: Record "Purchase Header"; var PurchInvHeader: Record "Purch. Inv. Header") + local procedure PostInvoice(var PurchaseHeader: Record "Purchase Header"; var PurchInvHeader: Record "Purch. Inv. Header"): Boolean var LinesInstructionMgt: Codeunit "Lines Instruction Mgt."; OrderNo: Code[20]; @@ -758,16 +758,15 @@ page 30066 "APIV2 - Purchase Orders" PurchInvHeader.SetRange("Order No.", OrderNo); PurchInvHeader.SetRange("Order No. Series", OrderNoSeries); PurchInvHeader.SetRange("Pre-Assigned No.", ''); - PurchInvHeader.FindFirst(); + exit(PurchInvHeader.FindFirst()); end; - local procedure SetActionResponse(var ActionContext: WebServiceActionContext; InvoiceId: Guid) - var + local procedure SetActionResponse(var ActionContext: WebServiceActionContext; DocumentId: Guid; ObjectId: Integer; ResultCode: WebServiceActionResultCode) begin ActionContext.SetObjectType(ObjectType::Page); - ActionContext.SetObjectId(Page::"APIV2 - Purchase Invoices"); - ActionContext.AddEntityKey(Rec.FieldNo(Id), InvoiceId); - ActionContext.SetResultCode(WebServiceActionResultCode::Deleted); + ActionContext.SetObjectId(ObjectId); + ActionContext.AddEntityKey(Rec.FieldNo(Id), DocumentId); + ActionContext.SetResultCode(ResultCode); end; [ServiceEnabled] @@ -777,9 +776,13 @@ page 30066 "APIV2 - Purchase Orders" PurchaseHeader: Record "Purchase Header"; PurchInvHeader: Record "Purch. Inv. Header"; PurchInvAggregator: Codeunit "Purch. Inv. Aggregator"; + Invoiced: Boolean; begin GetOrder(PurchaseHeader); - PostInvoice(PurchaseHeader, PurchInvHeader); - SetActionResponse(ActionContext, PurchInvAggregator.GetPurchaseInvoiceHeaderId(PurchInvHeader)); + Invoiced := PostInvoice(PurchaseHeader, PurchInvHeader); + if Invoiced then + SetActionResponse(ActionContext, PurchInvAggregator.GetPurchaseInvoiceHeaderId(PurchInvHeader), Page::"APIV2 - Purchase Invoices", WebServiceActionResultCode::Deleted) + else + SetActionResponse(ActionContext, PurchaseHeader.SystemId, Page::"APIV2 - Purchase Orders", WebServiceActionResultCode::Updated); end; } diff --git a/Apps/W1/APIV2/app/src/pages/APIV2SalesInvoices.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2SalesInvoices.Page.al index a01e032916..7f2f02d3f8 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2SalesInvoices.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2SalesInvoices.Page.al @@ -995,13 +995,11 @@ page 30012 "APIV2 - Sales Invoices" end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; InvoiceId: Guid) - var begin SetActionResponse(ActionContext, Page::"APIV2 - Sales Invoices", InvoiceId); end; local procedure SetActionResponse(var ActionContext: WebServiceActionContext; PageId: Integer; DocumentId: Guid) - var begin ActionContext.SetObjectType(ObjectType::Page); ActionContext.SetObjectId(PageId); diff --git a/Apps/W1/APIV2/app/src/pages/APIV2SalesOrders.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2SalesOrders.Page.al index 70b7471522..bba76f8a6f 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2SalesOrders.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2SalesOrders.Page.al @@ -791,7 +791,7 @@ page 30028 "APIV2 - Sales Orders" Error(CannotFindOrderErr); end; - local procedure PostWithShipAndInvoice(var SalesHeader: Record "Sales Header"; var SalesInvoiceHeader: Record "Sales Invoice Header") + local procedure PostWithShipAndInvoice(var SalesHeader: Record "Sales Header"; var SalesInvoiceHeader: Record "Sales Invoice Header"): Boolean var LinesInstructionMgt: Codeunit "Lines Instruction Mgt."; OrderNo: Code[20]; @@ -808,16 +808,15 @@ page 30028 "APIV2 - Sales Orders" SalesInvoiceHeader.SetRange("Pre-Assigned No. Series", ''); SalesInvoiceHeader.SetRange("Order No. Series", OrderNoSeries); SalesInvoiceHeader.SetRange("Order No.", OrderNo); - SalesInvoiceHeader.FindFirst(); + exit(SalesInvoiceHeader.FindFirst()); end; - local procedure SetActionResponse(var ActionContext: WebServiceActionContext; PageId: Integer; DocumentId: Guid) - var + local procedure SetActionResponse(var ActionContext: WebServiceActionContext; DocumentId: Guid; ObjectId: Integer; ResultCode: WebServiceActionResultCode) begin ActionContext.SetObjectType(ObjectType::Page); - ActionContext.SetObjectId(PageId); + ActionContext.SetObjectId(ObjectId); ActionContext.AddEntityKey(Rec.FieldNo(Id), DocumentId); - ActionContext.SetResultCode(WebServiceActionResultCode::Deleted); + ActionContext.SetResultCode(ResultCode); end; [ServiceEnabled] @@ -827,10 +826,14 @@ page 30028 "APIV2 - Sales Orders" SalesHeader: Record "Sales Header"; SalesInvoiceHeader: Record "Sales Invoice Header"; SalesInvoiceAggregator: Codeunit "Sales Invoice Aggregator"; + Invoiced: Boolean; begin GetOrder(SalesHeader); - PostWithShipAndInvoice(SalesHeader, SalesInvoiceHeader); - SetActionResponse(ActionContext, Page::"APIV2 - Sales Invoices", SalesInvoiceAggregator.GetSalesInvoiceHeaderId(SalesInvoiceHeader)); + Invoiced := PostWithShipAndInvoice(SalesHeader, SalesInvoiceHeader); + if Invoiced then + SetActionResponse(ActionContext, SalesInvoiceAggregator.GetSalesInvoiceHeaderId(SalesInvoiceHeader), Page::"APIV2 - Sales Invoices", WebServiceActionResultCode::Deleted) + else + SetActionResponse(ActionContext, SalesHeader.SystemId, Page::"APIV2 - Sales Orders", WebServiceActionResultCode::Updated); end; } diff --git a/Apps/W1/APIV2/app/src/pages/APIV2SalesShipments.Page.al b/Apps/W1/APIV2/app/src/pages/APIV2SalesShipments.Page.al index fcb5856286..031ddfa73a 100644 --- a/Apps/W1/APIV2/app/src/pages/APIV2SalesShipments.Page.al +++ b/Apps/W1/APIV2/app/src/pages/APIV2SalesShipments.Page.al @@ -57,16 +57,23 @@ page 30062 "APIV2 - Sales Shipments" { Caption = 'Customer Purchase Order Reference',; } + field(customerId; Rec."Customer Id") + { + Caption = 'Customer Id'; + } field(customerNumber; Rec."Sell-to Customer No.") { Caption = 'Customer No.'; - } field(customerName; Rec."Sell-to Customer Name") { Caption = 'Customer Name'; Editable = false; } + field(billToCustomerId; Rec."Bill-to Customer Id") + { + Caption = 'Bill-to Customer Id'; + } field(billToName; Rec."Bill-to Name") { Caption = 'Bill-To Name'; diff --git a/Apps/W1/APIV2/test/app.json b/Apps/W1/APIV2/test/app.json index 1deeb38a91..c84816667e 100644 --- a/Apps/W1/APIV2/test/app.json +++ b/Apps/W1/APIV2/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the _Exclude_APIV2_ extension.", "description": "Tests for the _Exclude_APIV2_ extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206519", @@ -16,36 +16,36 @@ "id": "10cb69d9-bc8a-4d27-970a-9e110e9db2a5", "name": "_Exclude_APIV2_", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/APIV2/test/src/APIV2DefaultDimensionsE2E.Codeunit.al b/Apps/W1/APIV2/test/src/APIV2DefaultDimensionsE2E.Codeunit.al index 535fe5ceef..d7a0e7a073 100644 --- a/Apps/W1/APIV2/test/src/APIV2DefaultDimensionsE2E.Codeunit.al +++ b/Apps/W1/APIV2/test/src/APIV2DefaultDimensionsE2E.Codeunit.al @@ -909,7 +909,6 @@ codeunit 139832 "APIV2 - Default Dimensions E2E" end; local procedure VerifyDefaultDimensionResponseBody(Response: Text; ParentId: Text; ParentType: Enum "Default Dimension Parent Type"; DimensionId: Text; DimensionCode: Text; DimensionValueId: Text; DimensionValueCode: Text; ValuePosting: Text) - var begin Assert.AreNotEqual('', Response, EmptyResponseErr); if ParentId <> '' then diff --git a/Apps/W1/APIV2/test/src/APIV2SalesInvLinesE2E.Codeunit.al b/Apps/W1/APIV2/test/src/APIV2SalesInvLinesE2E.Codeunit.al index d83119bc71..c577acf39b 100644 --- a/Apps/W1/APIV2/test/src/APIV2SalesInvLinesE2E.Codeunit.al +++ b/Apps/W1/APIV2/test/src/APIV2SalesInvLinesE2E.Codeunit.al @@ -1315,7 +1315,6 @@ codeunit 139834 "APIV2 - Sales Inv. Lines E2E" end; procedure GetLineSubURL(LineId: Guid; ServiceLinesName: Text): Text - var begin exit(ServiceLinesName + '(' + LibraryGraphMgt.StripBrackets(Format(LineId)) + ')'); end; diff --git a/Apps/W1/AuditFileExport/app/.objidconfig b/Apps/W1/AuditFileExport/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/AuditFileExport/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/AuditFileExport/app/app.json b/Apps/W1/AuditFileExport/app/app.json index c4a97cca94..ca935f4f36 100644 --- a/Apps/W1/AuditFileExport/app/app.json +++ b/Apps/W1/AuditFileExport/app/app.json @@ -2,7 +2,7 @@ "id": "a41b0c3e-bf1c-4c97-ad1b-b430a3933ada", "name": "Audit File Export", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Audit File Export app provides an interface for dependent extensions that are used to export accounting and tax data in specific formats.", "description": "Audit File Export is an app used for exporting the accounting and tax information of a company to the tax authorities. This app can work with different standardized audit file formats (SAF-T, SIE, etc.) for the electronic exchange of reliable accounting data between organizations and/or tax authorities (or external auditors).", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -17,8 +17,8 @@ "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 5260, diff --git a/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccMappingCard.Page.al b/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccMappingCard.Page.al index cc24edf299..1bacf2a0ca 100644 --- a/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccMappingCard.Page.al +++ b/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccMappingCard.Page.al @@ -118,4 +118,4 @@ page 5272 "G/L Acc. Mapping Card" } } } -} \ No newline at end of file +} diff --git a/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccountMappingHeader.Table.al b/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccountMappingHeader.Table.al index 7f56a428cc..ffee26e983 100644 --- a/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccountMappingHeader.Table.al +++ b/Apps/W1/AuditFileExport/app/src/GLAccountMapping/GLAccountMappingHeader.Table.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Finance.AuditFileExport; -using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Foundation.Period; using System.Utilities; diff --git a/Apps/W1/AuditFileExport/test/app.json b/Apps/W1/AuditFileExport/test/app.json index baa3fa966e..442a0e0127 100644 --- a/Apps/W1/AuditFileExport/test/app.json +++ b/Apps/W1/AuditFileExport/test/app.json @@ -2,7 +2,7 @@ "id": "5e327e42-4ec3-4667-8d20-cccd38f867c6", "name": "Audit File Export Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Audit File Export extension.", "description": "Tests for the Audit File Export extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,26 +10,26 @@ "help": "https://go.microsoft.com/fwlink/?LinkId=724011", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "a41b0c3e-bf1c-4c97-ad1b-b430a3933ada", "name": "Audit File Export", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/AutomaticAccountCodes/app/.objidconfig b/Apps/W1/AutomaticAccountCodes/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/AutomaticAccountCodes/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/AutomaticAccountCodes/app/app.json b/Apps/W1/AutomaticAccountCodes/app/app.json index 30d261b2c9..b79a02a5c5 100644 --- a/Apps/W1/AutomaticAccountCodes/app/app.json +++ b/Apps/W1/AutomaticAccountCodes/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Automatic account codes are used to automate postings related to payroll overhead.", "description": "When posting total salary expenses at the end of the month, automatic account codes can be used to assign a percentage of the total salary to automatically post as overhead expenses.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2204541", @@ -14,7 +14,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 4850, @@ -26,6 +26,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesFeatureMgt.Codeunit.al b/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesFeatureMgt.Codeunit.al index cdf435f6e2..5e65491d99 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesFeatureMgt.Codeunit.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesFeatureMgt.Codeunit.al @@ -1,3 +1,4 @@ +#if not CLEAN22 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. @@ -7,7 +8,6 @@ namespace Microsoft.Finance.AutomaticAccounts; using System.Environment; using System.Environment.Configuration; -#if not CLEAN22 codeunit 4853 "Auto. Acc. Codes Feature Mgt." { Permissions = TableData "Feature Key" = rm; diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesPageMgt.Codeunit.al b/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesPageMgt.Codeunit.al index 7649b4675e..27f1cb83e7 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesPageMgt.Codeunit.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/AutoAccCodesPageMgt.Codeunit.al @@ -1,3 +1,4 @@ +#if not CLEAN22 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. @@ -6,7 +7,6 @@ namespace Microsoft.Finance.AutomaticAccounts; using System.Environment.Configuration; -#if not CLEAN22 /// /// Automatic Acc.functionality will be moved to a new app. /// diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/InvPostBuffSubscribers.Codeunit.al b/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/InvPostBuffSubscribers.Codeunit.al index f954e452ef..deaac4fa89 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/InvPostBuffSubscribers.Codeunit.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Codeunits/InvPostBuffSubscribers.Codeunit.al @@ -1,3 +1,4 @@ +#if not CLEAN23 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. @@ -9,7 +10,6 @@ using Microsoft.Finance.ReceivablesPayables; using Microsoft.Purchases.Document; using Microsoft.Sales.Document; -#if not CLEAN23 codeunit 4852 "Inv. Post. Buff. Subscribers" { Access = Internal; diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Enums/FeatureToUpdateAutoAccCodes.EnumExt.al b/Apps/W1/AutomaticAccountCodes/app/src/Enums/FeatureToUpdateAutoAccCodes.EnumExt.al index 4a200e87d3..ee501c117b 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Enums/FeatureToUpdateAutoAccCodes.EnumExt.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Enums/FeatureToUpdateAutoAccCodes.EnumExt.al @@ -1,3 +1,4 @@ +#if not CLEAN22 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. @@ -6,7 +7,6 @@ namespace Microsoft.Finance.AutomaticAccounts; using System.Environment.Configuration; -#if not CLEAN22 enumextension 4852 "Feature To Update - Auto Acc. Codes" extends "Feature To Update" { value(4850; AutomaticAccountCodes) diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al b/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al index 696deb0290..431c10b5b6 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al @@ -18,7 +18,7 @@ tableextension 4853 "AutoAcc. Invoice Post. Buffer" extends "Invoice Post. Buffe ObsoleteReason = 'This table will be replaced by table Invoice Posting Buffer in new Invoice Posting implementation.'; #if CLEAN23 ObsoleteState = Removed; - ObsoleteTag = '23.0'; + ObsoleteTag = '26.0'; #else ObsoleteState = Pending; ObsoleteTag = '20.0'; diff --git a/Apps/W1/AutomaticAccountCodes/test/app.json b/Apps/W1/AutomaticAccountCodes/test/app.json index e299224c4a..f56ee87f60 100644 --- a/Apps/W1/AutomaticAccountCodes/test/app.json +++ b/Apps/W1/AutomaticAccountCodes/test/app.json @@ -2,7 +2,7 @@ "id": "33d2d6f3-baee-40a8-b699-fa3b61506f2c", "name": "Automatic Account Codes Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft Automatic Account Codes extension.", "description": "Tests for the Microsoft Automatic Account Codes extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2179727", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "639580c8-7356-11ed-a1eb-0242ac120002", "name": "Automatic Account Codes", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/BankAccRecWithAI/app/app.json b/Apps/W1/BankAccRecWithAI/app/app.json index ebbe002043..71648aa4c2 100644 --- a/Apps/W1/BankAccRecWithAI/app/app.json +++ b/Apps/W1/BankAccRecWithAI/app/app.json @@ -1,46 +1,38 @@ { - "id": "63c9fbe6-d4f3-458c-8c25-644c90a0874a", - "name": "Bank Account Reconciliation With AI", - "publisher": "Microsoft", - "version": "23.3.0.0", - "brief": "Bank Account Reconciliation With AI", - "description": "Bank Account Reconciliation With AI", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", - "help": "https://go.microsoft.com/fwlink/?linkid=2206176", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "dependencies": [ - - ], - "internalsVisibleTo": [ - { - "id": "2932b2a8-7399-4f8c-b1c0-1acfc2014ffb", - "name": "Bank Account Reconciliation With AI - Tests", - "publisher": "Microsoft" - } - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "idRanges": [ - { - "from": 7250, - "to": 7259 - } - ], - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206176", - "resourceExposurePolicy": { - "allowDebugging": false, - "allowDownloadingSource": false, - "includeSourceInSymbolFile": false - }, - "target": "OnPrem", - "application": "23.3.0.0", - "runtime": "12.1", - "features": [ - "TranslationFile", - "GenerateCaptions" - ] -} \ No newline at end of file + "id": "63c9fbe6-d4f3-458c-8c25-644c90a0874a", + "name": "Bank Account Reconciliation With AI", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "Bank Account Reconciliation With AI", + "description": "Bank Account Reconciliation With AI", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", + "help": "https://go.microsoft.com/fwlink/?linkid=2206176", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + "dependencies": [], + "internalsVisibleTo": [ + { + "id": "2932b2a8-7399-4f8c-b1c0-1acfc2014ffb", + "name": "Bank Account Reconciliation With AI - Tests", + "publisher": "Microsoft" + } + ], + "screenshots": [], + "platform": "24.0.0.0", + "idRanges": [ + { + "from": 7250, + "to": 7259 + } + ], + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206176", + "resourceExposurePolicy": { + "allowDebugging": false, + "allowDownloadingSource": false, + "includeSourceInSymbolFile": false + }, + "target": "OnPrem", + "application": "24.0.0.0", + "features": ["TranslationFile", "GenerateCaptions"] +} diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Page.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Page.al index 05f53d7364..73f181ffc1 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Page.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Page.al @@ -235,7 +235,7 @@ page 7250 "Bank Acc. Rec. AI Proposal" } systemaction(Attach) { - Caption = 'Attach'; + Caption = ''; Enabled = ((BankAccNo <> '') and (not DisableAttachItButton)); ToolTip = 'Import bank transaction data either from a file or via an online bank statement provider'; @@ -251,7 +251,7 @@ page 7250 "Bank Acc. Rec. AI Proposal" } systemaction(Cancel) { - Caption = 'Discard'; + Caption = 'Discard it'; ToolTip = 'Discard bank account reconciliation matches proposed by Copilot.'; } } diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al index fa27e81f14..e1cacb4277 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al @@ -2,7 +2,6 @@ namespace Microsoft.Bank.Reconciliation; using System.AI; using System.Environment; -using System.Environment.Configuration; using System.Telemetry; pageextension 7253 BankAccReconciliationExt extends "Bank Acc. Reconciliation" @@ -50,6 +49,15 @@ pageextension 7253 BankAccReconciliationExt extends "Bank Acc. Reconciliation" if TempBankAccReconciliationLine.IsEmpty() then error(NoBankAccReconcilliationLnWithDiffSellectedErr); +#pragma warning disable AA0210 + TempBankAccReconciliationLine.SetRange("Transaction Date", 0D); +#pragma warning restore AA0210 + if not TempBankAccReconciliationLine.IsEmpty() then + error(NoTransactionDateErr); +#pragma warning disable AA0210 + TempBankAccReconciliationLine.SetRange("Transaction Date"); +#pragma warning restore AA0210 + TempBankAccReconciliationLine.FindSet(); BankAccReconciliationLine.SetRange("Statement Type", TempBankAccReconciliationLine."Statement Type"); BankAccReconciliationLine.SetRange("Bank Account No.", TempBankAccReconciliationLine."Bank Account No."); @@ -134,22 +142,14 @@ pageextension 7253 BankAccReconciliationExt extends "Bank Acc. Reconciliation" trigger OnOpenPage() var - FeatureKey: Record "Feature Key"; - FeatureManagementFacade: Codeunit "Feature Management Facade"; EnvironmentInformation: Codeunit "Environment Information"; begin - if not FeatureKey.Get(BankAccRecWithAILbl) then - CopilotActionsVisible := true - else - CopilotActionsVisible := FeatureManagementFacade.IsEnabled(BankAccRecWithAILbl); - - if CopilotActionsVisible then - CopilotActionsVisible := EnvironmentInformation.IsSaaSInfrastructure(); + CopilotActionsVisible := EnvironmentInformation.IsSaaSInfrastructure(); end; var CopilotActionsVisible: Boolean; - BankAccRecWithAILbl: label 'BankAccRecWithAI', Locked = true; + NoTransactionDateErr: Label 'You must specify the transaction date on all the selected statement lines.'; NoBankAccReconcilliationLnWithDiffSellectedErr: Label 'Select the bank statement lines that have differences to transfer to the general journal.'; ContentAreaCaptionTxt: label 'Reconciling %1 statement %2 for %3', Comment = '%1 - bank account code, %2 - statement number, %3 - statement date'; diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al index e3ca923a6d..9edca3ba76 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al @@ -2,7 +2,6 @@ namespace Microsoft.Bank.Reconciliation; using System.AI; using System.Environment; -using System.Environment.Configuration; using System.Telemetry; pageextension 7254 BankAccReconciliationListExt extends "Bank Acc. Reconciliation List" @@ -51,20 +50,11 @@ pageextension 7254 BankAccReconciliationListExt extends "Bank Acc. Reconciliatio trigger OnOpenPage() var - FeatureKey: Record "Feature Key"; - FeatureManagementFacade: Codeunit "Feature Management Facade"; EnvironmentInformation: Codeunit "Environment Information"; begin - if not FeatureKey.Get(BankAccRecWithAILbl) then - CopilotActionsVisible := true - else - CopilotActionsVisible := FeatureManagementFacade.IsEnabled(BankAccRecWithAILbl); - - if CopilotActionsVisible then - CopilotActionsVisible := EnvironmentInformation.IsSaaSInfrastructure(); + CopilotActionsVisible := EnvironmentInformation.IsSaaSInfrastructure(); end; var CopilotActionsVisible: Boolean; - BankAccRecWithAILbl: label 'BankAccRecWithAI', Locked = true; } \ No newline at end of file diff --git a/Apps/W1/BankAccRecWithAI/app/src/TransToGLAccAIProposal.Page.al b/Apps/W1/BankAccRecWithAI/app/src/TransToGLAccAIProposal.Page.al index 0b7888fcd0..65ccd555fb 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/TransToGLAccAIProposal.Page.al +++ b/Apps/W1/BankAccRecWithAI/app/src/TransToGLAccAIProposal.Page.al @@ -166,7 +166,7 @@ page 7252 "Trans. To GL Acc. AI Proposal" } systemaction(Cancel) { - Caption = 'Discard'; + Caption = 'Discard it'; ToolTip = 'Discard transfers to G/L Accounts proposed by Copilot.'; } } diff --git a/Apps/W1/BankAccRecWithAI/test/app.json b/Apps/W1/BankAccRecWithAI/test/app.json index 0fae6452a2..5cb4ec0629 100644 --- a/Apps/W1/BankAccRecWithAI/test/app.json +++ b/Apps/W1/BankAccRecWithAI/test/app.json @@ -1,58 +1,54 @@ { - "id": "2932b2a8-7399-4f8c-b1c0-1acfc2014ffb", - "name": "Bank Account Reconciliation With AI Tests", - "publisher": "Microsoft", - "version": "23.3.0.0", - "brief": "Bank Account Reconciliation With AI Tests", - "description": "Bank Account Reconciliation With AI Tests", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", - "help": "https://go.microsoft.com/fwlink/?linkid=2206176", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "dependencies": [ - { - "id": "63c9fbe6-d4f3-458c-8c25-644c90a0874a", - "name": "Bank Account Reconciliation With AI", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", - "name": "Tests-TestLibraries", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", - "publisher": "Microsoft", - "name": "Library Variable Storage", - "version": "23.3.0.0" - } - ], - "internalsVisibleTo": [ - - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "idRanges": [ - { - "from": 139777, - "to": 139777 - } - ], - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206176", - "resourceExposurePolicy": { - "allowDebugging": false, - "allowDownloadingSource": false, - "includeSourceInSymbolFile": false - }, - "target": "Cloud", - "application": "23.3.0.0", - "features": [ - "TranslationFile", - "GenerateCaptions" - ] + "id": "2932b2a8-7399-4f8c-b1c0-1acfc2014ffb", + "name": "Bank Account Reconciliation With AI Tests", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "Bank Account Reconciliation With AI Tests", + "description": "Bank Account Reconciliation With AI Tests", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", + "help": "https://go.microsoft.com/fwlink/?linkid=2206176", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + "dependencies": [ + { + "id": "63c9fbe6-d4f3-458c-8c25-644c90a0874a", + "name": "Bank Account Reconciliation With AI", + "publisher": "Microsoft", + "version": "24.0.0.0" + }, + { + "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", + "name": "Tests-TestLibraries", + "publisher": "Microsoft", + "version": "24.0.0.0" + }, + { + "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", + "publisher": "Microsoft", + "name": "Library Variable Storage", + "version": "24.0.0.0" + } + ], + "internalsVisibleTo": [], + "screenshots": [], + "platform": "24.0.0.0", + "idRanges": [ + { + "from": 139777, + "to": 139777 + } + ], + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206176", + "resourceExposurePolicy": { + "allowDebugging": false, + "allowDownloadingSource": false, + "includeSourceInSymbolFile": false + }, + "target": "Cloud", + "application": "24.0.0.0", + "features": [ + "TranslationFile", + "GenerateCaptions" + ] } \ No newline at end of file diff --git a/Apps/W1/BankDeposits/app/.objidconfig b/Apps/W1/BankDeposits/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/BankDeposits/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/BankDeposits/app/app.json b/Apps/W1/BankDeposits/app/app.json index 9b2eeac1c9..a62931e5d2 100644 --- a/Apps/W1/BankDeposits/app/app.json +++ b/Apps/W1/BankDeposits/app/app.json @@ -2,7 +2,7 @@ "id": "7a129d06-5fd6-4fb6-b82b-0bf539c779d0", "name": "_Exclude_Bank Deposits", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "_Exclude_Bank Deposits", "description": "_Exclude_Bank Deposits", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -23,7 +23,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -37,7 +37,7 @@ "includeSourceInSymbolFile": true }, "target": "Cloud", - "application": "23.3.0.0", + "application": "24.0.0.0", "features": [ "TranslationFile", "GenerateCaptions" diff --git a/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al b/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al index 65b10505ba..1272ac542d 100644 --- a/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al +++ b/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al @@ -2,8 +2,8 @@ namespace Microsoft.Bank.Deposit; using Microsoft.Sales.Receivables; using Microsoft.Finance.GeneralLedger.Journal; -using Microsoft.Finance.Dimension; using Microsoft.Finance.GeneralLedger.Ledger; +using Microsoft.Finance.Dimension; using Microsoft.Purchases.Payables; using Microsoft.Bank.BankAccount; using Microsoft.Bank.Ledger; @@ -25,28 +25,29 @@ codeunit 1690 "Bank Deposit-Post" TableData "Posted Bank Deposit Header" = rim, TableData "Posted Bank Deposit Line" = rim; TableNo = "Bank Deposit Header"; + EventSubscriberInstance = Manual; trigger OnRun() var - GLEntry: Record "G/L Entry"; GenJournalLine: Record "Gen. Journal Line"; - GenJournalTemplate: Record "Gen. Journal Template"; - GenJournalBatch: Record "Gen. Journal Batch"; - CustLedgerEntry: Record "Cust. Ledger Entry"; - VendorLedgerEntry: Record "Vendor Ledger Entry"; BankAccount: Record "Bank Account"; - BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; + PostedBankDepositLine: Record "Posted Bank Deposit Line"; + GenJournalTemplate: Record "Gen. Journal Template"; + GLEntry: Record "G/L Entry"; + GenJnlPostBatch: Codeunit "Gen. Jnl.-Post Batch"; GenJnlCheckLine: Codeunit "Gen. Jnl.-Check Line"; UpdateAnalysisView: Codeunit "Update Analysis View"; + BankDepositPost: Codeunit "Bank Deposit-Post"; FeatureTelemetry: Codeunit "Feature Telemetry"; + PostingDate: Date; + DocumentType: Enum "Gen. Journal Document Type"; TotalAmountLCY: Decimal; - NextLineNo: Integer; - CurrLineNo: Integer; begin FeatureTelemetry.LogUptake('0000IG4', 'Bank Deposit', Enum::"Feature Uptake Status"::Used); FeatureTelemetry.LogUsage('0000IG5', 'Bank Deposit', 'Bank deposit posted'); OnBeforeBankDepositPost(Rec); + GLSetup.GetRecordOnce(); // Check deposit Rec.TestField("Posting Date"); Rec.TestField("Total Deposit Amount"); @@ -69,9 +70,7 @@ codeunit 1690 "Bank Deposit-Post" SourceCodeSetup.Get(); - NextLineNo := 0; TotalAmountLCY := 0; - CurrLineNo := 0; ProgressDialog.Open( StrSubstNo(PostingDepositTxt, Rec."No.") + StatusTxt + @@ -86,100 +85,44 @@ codeunit 1690 "Bank Deposit-Post" GenJournalLine.LockTable(); InsertPostedBankDepositHeader(Rec); - - GenJournalLine.Reset(); - GenJournalLine.SetRange("Journal Template Name", Rec."Journal Template Name"); - GenJournalLine.SetRange("Journal Batch Name", Rec."Journal Batch Name"); - if GenJournalLine.Find('-') then - repeat - NextLineNo := NextLineNo + 1; - ProgressDialog.Update(2, NextLineNo); - - AssignVATDateIfEmpty(GenJournalLine); - InsertPostedBankDepositLine(Rec, GenJournalLine, NextLineNo); - - if not Rec."Post as Lump Sum" then - AddBalancingAccount(GenJournalLine, Rec) - else - GenJournalLine."Bal. Account No." := ''; - GenJnlCheckLine.RunCheck(GenJournalLine); - until GenJournalLine.Next() = 0; - CopyBankComments(Rec); + GenJournalTemplate.Get(Rec."Journal Template Name"); + DocumentType := Enum::"Gen. Journal Document Type"::" "; + PostingDate := Rec."Posting Date"; + if Rec."Post as Lump Sum" and GenJournalTemplate."Force Doc. Balance" then + ValidateLinesInSameTransaction(Rec, DocumentType, PostingDate); + // Post to General, and other, Ledgers ProgressDialog.Update(4, PostingLinesToLedgersTxt); - GenJournalLine.Reset(); - GenJournalLine.SetRange("Journal Template Name", Rec."Journal Template Name"); + GenJournalLine.SetRange("Journal Batch Name", Rec."Journal Batch Name"); - if GenJournalLine.Find('-') then - repeat - CurrLineNo := CurrLineNo + 1; - ProgressDialog.Update(2, CurrLineNo); - ProgressDialog.Update(3, Round(CurrLineNo / NextLineNo * 10000, 1)); - if not Rec."Post as Lump Sum" then - AddBalancingAccount(GenJournalLine, Rec) - else begin - TotalAmountLCY += GenJournalLine."Amount (LCY)"; - GenJournalLine."Bal. Account No." := ''; - end; - GenJournalLine."Source Code" := SourceCodeSetup."Bank Deposit"; - GenJournalLine."Source Type" := GenJournalLine."Source Type"::"Bank Account"; - GenJournalLine."Source No." := Rec."Bank Account No."; - GenJournalLine."Source Currency Code" := Rec."Currency Code"; - GenJournalLine."Source Currency Amount" := GenJournalLine.Amount; - OnBeforePostGenJournalLine(GenJournalLine, Rec, GenJnlPostLine); - GenJnlPostLine.RunWithoutCheck(GenJournalLine); - - PostedBankDepositLine.Get(Rec."No.", CurrLineNo); - case GenJournalLine."Account Type" of - GenJournalLine."Account Type"::"G/L Account", - GenJournalLine."Account Type"::"Bank Account": - begin - GLEntry.FindLast(); - PostedBankDepositLine."Entry No." := GLEntry."Entry No."; - if (not Rec."Post as Lump Sum") and (GenJournalLine.Amount * GLEntry.Amount < 0) then - PostedBankDepositLine."Entry No." := PostedBankDepositLine."Entry No." - 1; - end; - GenJournalLine."Account Type"::Customer: - begin - CustLedgerEntry.FindLast(); - PostedBankDepositLine."Entry No." := CustLedgerEntry."Entry No."; - end; - GenJournalLine."Account Type"::Vendor: - begin - VendorLedgerEntry.FindLast(); - PostedBankDepositLine."Entry No." := VendorLedgerEntry."Entry No."; - end; - end; - if not Rec."Post as Lump Sum" then begin - BankAccountLedgerEntry.FindLast(); - PostedBankDepositLine."Bank Account Ledger Entry No." := BankAccountLedgerEntry."Entry No."; - if (GenJournalLine."Account Type" = GenJournalLine."Account Type"::"Bank Account") and - (GenJournalLine.Amount * BankAccountLedgerEntry.Amount > 0) - then - PostedBankDepositLine."Entry No." := PostedBankDepositLine."Entry No." - 1; - end; - OnBeforePostedBankDepositLineModify(PostedBankDepositLine, GenJournalLine); - PostedBankDepositLine.Modify(); - until GenJournalLine.Next() = 0; + GenJournalLine.SetRange("Journal Template Name", Rec."Journal Template Name"); + + if GenJournalLine.Count() = 0 then + Error(EmptyDepositErr); + if Rec."Post as Lump Sum" and (GenJournalLine.Count() = 1) then + Rec."Post as Lump Sum" := false; - ProgressDialog.Update(4, PostingBankEntryTxt); + TotalAmountLCY := ModifyGenJournalLinesForBankDepositPosting(Rec, GenJournalTemplate."Force Doc. Balance"); + if Rec."Post as Lump Sum" then + InsertLumpSumGenJournalLine(Rec, DocumentType, PostingDate, TotalAmountLCY); + GenJournalLine.FindSet(); + repeat + GenJnlCheckLine.RunCheck(GenJournalLine); + until GenJournalLine.Next() = 0; + + Commit(); + BankDepositPost.SetCurrentDeposit(Rec); + BindSubscription(BankDepositPost); + GenJnlPostBatch.Run(GenJournalLine); + UnbindSubscription(BankDepositPost); if Rec."Post as Lump Sum" then begin - PostBalancingEntry(Rec, TotalAmountLCY); - OnRunOnAfterPostBalancingEntry(GenJournalLine); - - BankAccountLedgerEntry.FindLast(); - PostedBankDepositLine.Reset(); - PostedBankDepositLine.SetRange("Bank Deposit No.", Rec."No."); - if PostedBankDepositLine.FindSet(true) then - repeat - PostedBankDepositLine."Bank Account Ledger Entry No." := BankAccountLedgerEntry."Entry No."; - PostedBankDepositLine.Modify(); - until PostedBankDepositLine.Next() = 0; + BankDepositPost.GetLumpSumBalanceEntry(GLEntry); + SetBalancingEntryToPostedDepositLines(Rec, GLEntry); end; - ProgressDialog.Update(4, RemovingBankDepositTxt); + DeleteBankComments(Rec); GenJournalLine.Reset(); @@ -187,16 +130,6 @@ codeunit 1690 "Bank Deposit-Post" GenJournalLine.SetRange("Journal Batch Name", Rec."Journal Batch Name"); OnRunOnBeforeGenJournalLineDeleteAll(Rec, PostedBankDepositLine, GenJournalLine); GenJournalLine.DeleteAll(); - GenJournalTemplate.Get(Rec."Journal Template Name"); - GenJournalBatch.Get(Rec."Journal Template Name", Rec."Journal Batch Name"); - if GenJournalTemplate."Increment Batch Name" then - if IncStr(Rec."Journal Batch Name") <> '' then begin - GenJournalBatch.Get(Rec."Journal Template Name", Rec."Journal Batch Name"); - GenJournalBatch.Delete(); - GenJournalBatch.Name := IncStr(Rec."Journal Batch Name"); - if GenJournalBatch.Insert() then; - end; - Rec.Delete(); Commit(); @@ -207,6 +140,114 @@ codeunit 1690 "Bank Deposit-Post" Page.Run(Page::"Posted Bank Deposit", PostedBankDepositHeader); end; + local procedure InsertLumpSumGenJournalLine(BankDepositHeader: Record "Bank Deposit Header"; DocumentType: Enum "Gen. Journal Document Type"; DocumentDate: Date; TotalAmountLCY: Decimal) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + GenJournalLine."Line No." := GetLastLineNo(BankDepositHeader) + 10000; + GenJournalLine."Journal Template Name" := BankDepositHeader."Journal Template Name"; + GenJournalLine."Journal Batch Name" := BankDepositHeader."Journal Batch Name"; + SetSourceFields(GenJournalLine, BankDepositHeader, BankDepositHeader."Total Deposit Amount"); + GenJournalLine."Account Type" := GenJournalLine."Account Type"::"Bank Account"; + GenJournalLine."Account No." := BankDepositHeader."Bank Account No."; + GenJournalLine."Posting Date" := BankDepositHeader."Posting Date"; + GenJournalLine."VAT Reporting Date" := GLSetup.GetVATDate(BankDepositHeader."Posting Date", BankDepositHeader."Document Date"); + GenJournalLine."Document No." := BankDepositHeader."No."; + GenJournalLine."Document Type" := DocumentType; + GenJournalLine."Document Date" := DocumentDate; + GenJournalLine."Currency Code" := BankDepositHeader."Currency Code"; + GenJournalLine."Currency Factor" := BankDepositHeader."Currency Factor"; + GenJournalLine."Posting Group" := BankDepositHeader."Bank Acc. Posting Group"; + GenJournalLine."Shortcut Dimension 1 Code" := BankDepositHeader."Shortcut Dimension 1 Code"; + GenJournalLine."Shortcut Dimension 2 Code" := BankDepositHeader."Shortcut Dimension 2 Code"; + GenJournalLine."Dimension Set ID" := BankDepositHeader."Dimension Set ID"; + GenJournalLine."Document Date" := BankDepositHeader."Document Date"; + GenJournalLine."External Document No." := BankDepositHeader."No."; + GenJournalLine.Description := BankDepositHeader."Posting Description"; + GenJournalLine.Amount := BankDepositHeader."Total Deposit Amount"; + GenJournalLine."Journal Template Name" := BankDepositHeader."Journal Template Name"; + GenJournalLine."Journal Batch Name" := BankDepositHeader."Journal Batch Name"; + GenJournalLine.Validate(GenJournalLine.Amount); + GenJournalLine."Amount (LCY)" := -TotalAmountLCY; + GenJournalLine.Insert(); + end; + + local procedure GetLastLineNo(BankDepositHeader: Record "Bank Deposit Header"): Integer + var + GenJournalLine: Record "Gen. Journal Line"; + begin + GenJournalLine.SetRange("Journal Template Name", BankDepositHeader."Journal Template Name"); + GenJournalLine.SetRange("Journal Batch Name", BankDepositHeader."Journal Batch Name"); + GenJournalLine.SetCurrentKey("Line No."); + GenJournalLine.SetAscending("Line No.", false); + GenJournalLine.FindFirst(); + exit(GenJournalLine."Line No."); + end; + + local procedure ModifyGenJournalLinesForBankDepositPosting(BankDepositHeader: Record "Bank Deposit Header"; ForceDocumentNo: Boolean) TotalAmountLCY: Decimal + var + GenJournalLine: Record "Gen. Journal Line"; + begin + GenJournalLine.SetRange("Journal Template Name", BankDepositHeader."Journal Template Name"); + GenJournalLine.SetRange("Journal Batch Name", BankDepositHeader."Journal Batch Name"); + if not GenJournalLine.FindSet() then + exit; + repeat + SetSourceFields(GenJournalLine, BankDepositHeader, GenJournalLine.Amount); + if BankDepositHeader."Post as Lump Sum" then begin + if ForceDocumentNo then + GenJournalLine."Document No." := BankDepositHeader."No."; + GenJournalLine."Bal. Account No." := ''; + end else begin + GenJournalLine."Bal. Account Type" := GenJournalLine."Bal. Account Type"::"Bank Account"; + GenJournalLine."Bal. Account No." := BankDepositHeader."Bank Account No."; + end; + GenJournalLine.Validate(Amount); + AssignVATDateIfEmpty(GenJournalLine); + TotalAmountLCY += GenJournalLine."Amount (LCY)"; + GenJournalLine.Modify(); + until GenJournalLine.Next() = 0; + end; + + local procedure SetSourceFields(var GenJournalLine: Record "Gen. Journal Line"; BankDepositHeader: Record "Bank Deposit Header"; SourceCurrencyAmount: Decimal) + begin + GenJournalLine."Source Code" := SourceCodeSetup."Bank Deposit"; + GenJournalLine."Source Type" := GenJournalLine."Source Type"::"Bank Account"; + GenJournalLine."Source No." := BankDepositHeader."Bank Account No."; + GenJournalLine."Source Currency Code" := BankDepositHeader."Currency Code"; + GenJournalLine."Reason Code" := BankDepositHeader."Reason Code"; + GenJournalLine."Source Currency Amount" := SourceCurrencyAmount; + end; + + local procedure ValidateLinesInSameTransaction(BankDepositHeader: Record "Bank Deposit Header"; var DocumentType: Enum "Gen. Journal Document Type"; var PostingDate: Date) + var + GenJournalLine: Record "Gen. Journal Line"; + LastPostingDate: Date; + LastDocumentType: Enum "Gen. Journal Document Type"; + LastDocumentNo: Code[20]; + begin + LastPostingDate := 0D; + GenJournalLine.SetRange("Journal Template Name", BankDepositHeader."Journal Template Name"); + GenJournalLine.SetRange("Journal Batch Name", BankDepositHeader."Journal Batch Name"); + GenJournalLine.FindSet(); + repeat + if LastPostingDate = 0D then begin + LastPostingDate := GenJournalLine."Posting Date"; + LastDocumentType := GenJournalLine."Document Type"; + LastDocumentNo := GenJournalLine."Document No."; + end else begin + if LastDocumentNo <> GenJournalLine."Document No." then + Error(LinesInSameTransactionForLumpSumErr, GenJournalLine.FieldCaption("Posting Date"), GenJournalLine.FieldCaption("Document Type"), GenJournalLine.FieldCaption("Document No.")); + if LastDocumentType <> GenJournalLine."Document Type" then + Error(LinesInSameTransactionForLumpSumErr, GenJournalLine.FieldCaption("Posting Date"), GenJournalLine.FieldCaption("Document Type"), GenJournalLine.FieldCaption("Document No.")); + if LastPostingDate <> GenJournalLine."Posting Date" then + Error(LinesInSameTransactionForLumpSumErr, GenJournalLine.FieldCaption("Posting Date"), GenJournalLine.FieldCaption("Document Type"), GenJournalLine.FieldCaption("Document No.")); + end; + until GenJournalLine.Next() = 0; + PostingDate := LastPostingDate; + DocumentType := LastDocumentType; + end; + internal procedure CombineDimensionSets(var BankDepositHeader: Record "Bank Deposit Header"; var GenJournalLine: Record "Gen. Journal Line"): Integer var DefaultDimensionPriority: Record "Default Dimension Priority"; @@ -244,30 +285,55 @@ codeunit 1690 "Bank Deposit-Post" exit(DimensionManagement.GetCombinedDimensionSetID(DimensionSetIDArr, GenJournalLine."Shortcut Dimension 1 Code", GenJournalLine."Shortcut Dimension 2 Code")); end; + local procedure SetLumpSumBalanceEntry(GenJournalLine: Record "Gen. Journal Line") + begin + if not LumpBalanceGLEntry.FindLast() then + exit; + if GenJournalLine.Amount * LumpBalanceGLEntry.Amount < 0 then + if LumpBalanceGLEntry.Get(LumpBalanceGLEntry."Entry No." - 1) then; + end; + + internal procedure GetLumpSumBalanceEntry(var GLEntry: Record "G/L Entry") + begin + GLEntry.Copy(LumpBalanceGLEntry); + end; + + local procedure SetBalancingEntryToPostedDepositLines(BankDepositHeader: Record "Bank Deposit Header"; GLEntry: Record "G/L Entry") var - PostedBankDepositHeader: Record "Posted Bank Deposit Header"; PostedBankDepositLine: Record "Posted Bank Deposit Line"; +#if not CLEAN24 + GenJournalLine: Record "Gen. Journal Line"; +#endif + begin + PostedBankDepositLine.SetRange("Bank Deposit No.", BankDepositHeader."No."); + PostedBankDepositLine.FindSet(); + repeat + PostedBankDepositLine."Bank Account Ledger Entry No." := GLEntry."Entry No."; +#if not CLEAN24 + OnBeforePostedBankDepositLineModify(PostedBankDepositLine, GenJournalLine); +#endif + PostedBankDepositLine.Modify(); + until PostedBankDepositLine.Next() = 0; + end; + + var + PostedBankDepositHeader: Record "Posted Bank Deposit Header"; SourceCodeSetup: Record "Source Code Setup"; Currency: Record Currency; GLSetup: Record "General Ledger Setup"; - GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; + LumpBalanceGLEntry: Record "G/L Entry"; + CurrentBankDepositHeader: Record "Bank Deposit Header"; + LineNo: Integer; ProgressDialog: Dialog; + EmptyDepositErr: Label 'The deposit must have lines.'; TotalAmountsMustMatchErr: Label 'The %1 must match the %2.', Comment = '%1 - total amount, %2 - total amount on the lines'; + LinesInSameTransactionForLumpSumErr: Label 'The lines of the deposit must belong to the same transaction when posting as lump sum. Please verify that %1, %2 and %3 are the same for every line or modify the template used to allow unbalanced documents.', Comment = '%1 - posting date field caption, %2 - document type field caption, %3 - document number field caption'; PostingDepositTxt: Label 'Posting Bank Deposit No. %1...\\', Comment = '%1 - bank deposit number'; BankDepositLineTxt: Label 'Bank Deposit Line #2########\', Comment = '#2- a number (progress indicator)'; DividerTxt: Label '@3@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@', Locked = true; StatusTxt: Label 'Status #4###################\', Comment = '#4 - a number (progress indicator)'; MovingToHistoryTxt: Label 'Moving Bank Deposit to History'; PostingLinesToLedgersTxt: Label 'Posting Lines to Ledgers'; - PostingBankEntryTxt: Label 'Posting Bank Account Ledger Entry'; - RemovingBankDepositTxt: Label 'Removing Bank Deposit'; - - local procedure AddBalancingAccount(var GenJournalLine: Record "Gen. Journal Line"; BankDepositHeader: Record "Bank Deposit Header") - begin - GenJournalLine."Bal. Account Type" := GenJournalLine."Bal. Account Type"::"Bank Account"; - GenJournalLine."Bal. Account No." := BankDepositHeader."Bank Account No."; - GenJournalLine."Balance (LCY)" := 0; - end; local procedure CopyBankComments(BankDepositHeader: Record "Bank Deposit Header") var @@ -309,74 +375,90 @@ codeunit 1690 "Bank Deposit-Post" RecordLinkManagement.CopyLinks(BankDepositHeader, PostedBankDepositHeader); end; - local procedure InsertPostedBankDepositLine(BankDepositHeader: Record "Bank Deposit Header"; GenJournalLine: Record "Gen. Journal Line"; LineNo: Integer) + internal procedure SetCurrentDeposit(BankDepositHeader: Record "Bank Deposit Header") begin - PostedBankDepositLine."Bank Deposit No." := BankDepositHeader."No."; - PostedBankDepositLine."Line No." := LineNo; - PostedBankDepositLine."Account Type" := GenJournalLine."Account Type"; - PostedBankDepositLine."Account No." := GenJournalLine."Account No."; - PostedBankDepositLine."Document Date" := GenJournalLine."Document Date"; - PostedBankDepositLine."Document Type" := GenJournalLine."Document Type"; - PostedBankDepositLine."Document No." := GenJournalLine."Document No."; - PostedBankDepositLine.Description := GenJournalLine.Description; - PostedBankDepositLine."Currency Code" := GenJournalLine."Currency Code"; - PostedBankDepositLine.Amount := -GenJournalLine.Amount; - PostedBankDepositLine."Posting Group" := GenJournalLine."Posting Group"; - PostedBankDepositLine."Shortcut Dimension 1 Code" := GenJournalLine."Shortcut Dimension 1 Code"; - PostedBankDepositLine."Shortcut Dimension 2 Code" := GenJournalLine."Shortcut Dimension 2 Code"; - PostedBankDepositLine."Dimension Set ID" := GenJournalLine."Dimension Set ID"; - PostedBankDepositLine."Posting Date" := BankDepositHeader."Posting Date"; - OnBeforePostedBankDepositLineInsert(PostedBankDepositLine, GenJournalLine); - PostedBankDepositLine.Insert(); + LineNo := 0; + CurrentBankDepositHeader.Copy(BankDepositHeader); end; - local procedure PostBalancingEntry(BankDepositHeader: Record "Bank Deposit Header"; TotalAmountLCY: Decimal) - var - GenJournalLine: Record "Gen. Journal Line"; + local procedure AssignVATDateIfEmpty(var GenJournalLine: Record "Gen. Journal Line") begin - GenJournalLine.Init(); - GenJournalLine."Account Type" := GenJournalLine."Account Type"::"Bank Account"; - GenJournalLine."Account No." := BankDepositHeader."Bank Account No."; - GenJournalLine."Posting Date" := BankDepositHeader."Posting Date"; - GenJournalLine."VAT Reporting Date" := GLSetup.GetVATDate(BankDepositHeader."Posting Date", BankDepositHeader."Document Date"); - GenJournalLine."Document No." := BankDepositHeader."No."; - GenJournalLine."Currency Code" := BankDepositHeader."Currency Code"; - GenJournalLine."Currency Factor" := BankDepositHeader."Currency Factor"; - GenJournalLine."Posting Group" := BankDepositHeader."Bank Acc. Posting Group"; - GenJournalLine."Shortcut Dimension 1 Code" := BankDepositHeader."Shortcut Dimension 1 Code"; - GenJournalLine."Shortcut Dimension 2 Code" := BankDepositHeader."Shortcut Dimension 2 Code"; - GenJournalLine."Dimension Set ID" := BankDepositHeader."Dimension Set ID"; - GenJournalLine."Source Code" := SourceCodeSetup."Bank Deposit"; - GenJournalLine."Reason Code" := BankDepositHeader."Reason Code"; - GenJournalLine."Document Date" := BankDepositHeader."Document Date"; - GenJournalLine."External Document No." := BankDepositHeader."No."; - GenJournalLine."Source Type" := GenJournalLine."Source Type"::"Bank Account"; - GenJournalLine."Source No." := BankDepositHeader."Bank Account No."; - GenJournalLine."Source Currency Code" := BankDepositHeader."Currency Code"; - GenJournalLine.Description := BankDepositHeader."Posting Description"; - GenJournalLine.Amount := BankDepositHeader."Total Deposit Amount"; - GenJournalLine."Source Currency Amount" := BankDepositHeader."Total Deposit Amount"; - GenJournalLine."Journal Template Name" := BankDepositHeader."Journal Template Name"; - GenJournalLine."Journal Batch Name" := BankDepositHeader."Journal Batch Name"; - GenJournalLine.Validate(GenJournalLine.Amount); - GenJournalLine."Amount (LCY)" := -TotalAmountLCY; - OnBeforePostBalancingEntry(GenJournalLine, BankDepositHeader, GenJnlPostLine); - GenJnlPostLine.RunWithCheck(GenJournalLine); - OnAfterPostBalancingEntry(GenJournalLine); + if GenJournalLine."VAT Reporting Date" = 0D then begin + GLSetup.GetRecordOnce(); + if (GenJournalLine."Document Date" = 0D) and (GLSetup."VAT Reporting Date" = GLSetup."VAT Reporting Date"::"Document Date") then + GenJournalLine."VAT Reporting Date" := GenJournalLine."Posting Date" + else + GenJournalLine."VAT Reporting Date" := GLSetup.GetVATDate(GenJournalLine."Posting Date", GenJournalLine."Document Date"); + end; end; - local procedure AssignVATDateIfEmpty(var GenJnlLine: Record "Gen. Journal Line") + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Batch", 'OnBeforePostGenJnlLine', '', false, false)] + local procedure OnBeforePostGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; CommitIsSuppressed: Boolean; var Posted: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; var PostingGenJournalLine: Record "Gen. Journal Line") begin - if GenJnlLine."VAT Reporting Date" = 0D then begin - GLSetup.Get(); - if (GenJnlLine."Document Date" = 0D) and (GLSetup."VAT Reporting Date" = GLSetup."VAT Reporting Date"::"Document Date") then - GenJnlLine."VAT Reporting Date" := GenJnlLine."Posting Date" - else - GenJnlLine."VAT Reporting Date" := GLSetup.GetVATDate(GenJnlLine."Posting Date", GenJnlLine."Document Date"); - GenJnlLine.Modify(); + if (CurrentBankDepositHeader."Post as Lump Sum") and (GenJournalLine.Amount = CurrentBankDepositHeader."Total Deposit Amount") then begin + OnBeforePostBalancingEntry(PostingGenJournalLine, CurrentBankDepositHeader, GenJnlPostLine); + exit; + end; + OnBeforePostGenJournalLine(PostingGenJournalLine, CurrentBankDepositHeader, GenJnlPostLine); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Batch", 'OnAfterPostGenJnlLine', '', false, false)] + local procedure InsertPostedBankDepositLineAfterPostingGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; CommitIsSuppressed: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; IsPosted: Boolean; var PostingGenJournalLine: Record "Gen. Journal Line") + var + PostedBankDepositLine: Record "Posted Bank Deposit Line"; + GLEntry: Record "G/L Entry"; + CustLedgerEntry: Record "Cust. Ledger Entry"; + VendorLedgerEntry: Record "Vendor Ledger Entry"; + BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; + begin + if (CurrentBankDepositHeader."Post as Lump Sum") and (GenJournalLine.Amount = CurrentBankDepositHeader."Total Deposit Amount") then begin + OnAfterPostBalancingEntry(PostingGenJournalLine); + OnRunOnAfterPostBalancingEntry(PostingGenJournalLine); + SetLumpSumBalanceEntry(PostingGenJournalLine); + exit; end; + LineNo += 1; + PostedBankDepositLine."Bank Deposit No." := CurrentBankDepositHeader."No."; + PostedBankDepositLine."Line No." := LineNo; + PostedBankDepositLine."Account Type" := PostingGenJournalLine."Account Type"; + PostedBankDepositLine."Account No." := PostingGenJournalLine."Account No."; + PostedBankDepositLine."Document Date" := PostingGenJournalLine."Document Date"; + PostedBankDepositLine."Document Type" := PostingGenJournalLine."Document Type"; + PostedBankDepositLine."Document No." := PostingGenJournalLine."Document No."; + PostedBankDepositLine.Description := PostingGenJournalLine.Description; + PostedBankDepositLine."Currency Code" := PostingGenJournalLine."Currency Code"; + PostedBankDepositLine.Amount := PostingGenJournalLine."Credit Amount"; + PostedBankDepositLine."Posting Group" := PostingGenJournalLine."Posting Group"; + PostedBankDepositLine."Shortcut Dimension 1 Code" := PostingGenJournalLine."Shortcut Dimension 1 Code"; + PostedBankDepositLine."Shortcut Dimension 2 Code" := PostingGenJournalLine."Shortcut Dimension 2 Code"; + PostedBankDepositLine."Dimension Set ID" := PostingGenJournalLine."Dimension Set ID"; + PostedBankDepositLine."Posting Date" := CurrentBankDepositHeader."Posting Date"; + case PostingGenJournalLine."Account Type" of + PostingGenJournalLine."Account Type"::"G/L Account", + PostingGenJournalLine."Account Type"::"Bank Account": + if GLEntry.FindLast() then begin + PostedBankDepositLine."Entry No." := GLEntry."Entry No."; + if (not CurrentBankDepositHeader."Post as Lump Sum") and (PostingGenJournalLine.Amount * GLEntry.Amount < 0) then + PostedBankDepositLine."Entry No." -= 1; + end; + PostingGenJournalLine."Account Type"::Customer: + if CustLedgerEntry.FindLast() then + PostedBankDepositLine."Entry No." := CustLedgerEntry."Entry No."; + PostingGenJournalLine."Account Type"::Vendor: + if VendorLedgerEntry.FindLast() then + PostedBankDepositLine."Entry No." := VendorLedgerEntry."Entry No."; + end; + if not CurrentBankDepositHeader."Post as Lump Sum" then + if BankAccountLedgerEntry.FindLast() then begin + PostedBankDepositLine."Bank Account Ledger Entry No." := BankAccountLedgerEntry."Entry No."; + if (PostingGenJournalLine."Account Type" = PostingGenJournalLine."Account Type"::"Bank Account") and (PostingGenJournalLine.Amount * BankAccountLedgerEntry.Amount > 0) then + PostedBankDepositLine."Bank Account Ledger Entry No." -= 1; + end; + OnBeforePostedBankDepositLineInsert(PostedBankDepositLine, PostingGenJournalLine); + PostedBankDepositLine.Insert(); end; + [IntegrationEvent(false, false)] local procedure OnAfterCheckBankDeposit(BankDepositHeader: Record "Bank Deposit Header") begin @@ -417,10 +499,13 @@ codeunit 1690 "Bank Deposit-Post" begin end; +#if not CLEAN24 + [Obsolete('Posted Bank Deposit Lines are not modified after created anymore, they are created with the required information. Adapt the logic to use OnBeforePostedBankDepositLineInsert. This procedure is only called when setting the balancing entries to all the posted deposit lines and GenJournalLine is meaningless.', '24.0')] [IntegrationEvent(false, false)] local procedure OnBeforePostedBankDepositLineModify(var PostedBankDepositLine: Record "Posted Bank Deposit Line"; GenJournalLine: Record "Gen. Journal Line") begin end; +#endif [IntegrationEvent(false, false)] local procedure OnRunOnAfterPostBalancingEntry(var GenJournalLine: Record "Gen. Journal Line") diff --git a/Apps/W1/BankDeposits/app/src/codeunits/UpgradeBankDeposits.Codeunit.al b/Apps/W1/BankDeposits/app/src/codeunits/UpgradeBankDeposits.Codeunit.al index 20c468b399..356f31ea11 100644 --- a/Apps/W1/BankDeposits/app/src/codeunits/UpgradeBankDeposits.Codeunit.al +++ b/Apps/W1/BankDeposits/app/src/codeunits/UpgradeBankDeposits.Codeunit.al @@ -2,7 +2,9 @@ namespace Microsoft.Bank.Deposit; using System.Environment; using System.Upgrade; +#if not CLEAN23 using Microsoft.Finance.GeneralLedger.Setup; +#endif using Microsoft.Foundation.Reporting; using System.Reflection; using Microsoft.Bank.Reconciliation; @@ -28,12 +30,16 @@ codeunit 1714 "Upgrade Bank Deposits" if UpgradeTag.HasUpgradeTag(UpgTagDefBankDeposits.GetNADepositsUpgradeTag()) then exit; #if not CLEAN23 - if FeatureWasAlreadyEnabled() then + if FeatureWasAlreadyEnabled() then begin + UpgradeTag.SetUpgradeTag(UpgTagDefBankDeposits.GetNADepositsUpgradeTag()); exit; + end; #endif UpgradeNADepositsIntoBankDeposits(); UpgradeNABankRecWorksheetsIntoBankReconciliations(); +#if not CLEAN24 SetDepositsPageMgtPages(); +#endif SetReportSelections(); UpgradeTag.SetUpgradeTag(UpgTagDefBankDeposits.GetNADepositsUpgradeTag()); end; @@ -86,6 +92,7 @@ codeunit 1714 "Upgrade Bank Deposits" end; end; +#if not CLEAN24 local procedure SetDepositsPageMgtPages() var DepositsPageMgt: Codeunit "Deposits Page Mgt."; @@ -97,6 +104,7 @@ codeunit 1714 "Upgrade Bank Deposits" DepositsPageMgt.SetSetupKey(Enum::"Deposits Page Setup Key"::DepositTestReport, Report::"Bank Deposit Test Report"); DepositsPageMgt.SetSetupKey(Enum::"Deposits Page Setup Key"::PostedBankDepositListPage, Page::"Posted Bank Deposit List"); end; +#endif local procedure UpgradeNADepositsIntoBankDeposits() var diff --git a/Apps/W1/BankDeposits/app/src/pages/BankDeposit.Page.al b/Apps/W1/BankDeposits/app/src/pages/BankDeposit.Page.al index 4225c3a60f..5c8efd02d3 100644 --- a/Apps/W1/BankDeposits/app/src/pages/BankDeposit.Page.al +++ b/Apps/W1/BankDeposits/app/src/pages/BankDeposit.Page.al @@ -67,7 +67,18 @@ page 1690 "Bank Deposit" { ApplicationArea = Basic, Suite; Importance = Promoted; - ToolTip = 'Specifies if the bank deposit should be posted as a single bank account ledger entry with the total amount.'; + ToolTip = 'Specifies if the bank deposit should be posted as a single bank account ledger entry with the total amount. When posting as lump sum, all entries wil be posted in the same transaction with the document number of the bank deposit.'; + + trigger OnValidate() + var + GenJournalTemplate: Record "Gen. Journal Template"; + begin + GenJournalTemplate.Get(Rec."Journal Template Name"); + if GenJournalTemplate."Force Doc. Balance" then begin + CurrPage.Subform.Page.SetDepositIsLumpSum(Rec."Post as Lump Sum"); + CurrPage.Subform.Page.Update(); + end; + end; } field("Document Date"; Rec."Document Date") { diff --git a/Apps/W1/BankDeposits/app/src/pages/BankDepositSubform.Page.al b/Apps/W1/BankDeposits/app/src/pages/BankDepositSubform.Page.al index ca0369237e..c255280119 100644 --- a/Apps/W1/BankDeposits/app/src/pages/BankDepositSubform.Page.al +++ b/Apps/W1/BankDeposits/app/src/pages/BankDepositSubform.Page.al @@ -18,7 +18,6 @@ page 1693 "Bank Deposit Subform" PageType = ListPart; SourceTable = "Gen. Journal Line"; Permissions = tabledata "Bank Deposit Header" = r; - layout { area(content) @@ -94,6 +93,7 @@ page 1693 "Bank Deposit Subform" { ApplicationArea = Basic, Suite; ToolTip = 'Specifies the number of the bank deposit document.'; + Editable = not DepositIsLumpSum; } field("Credit Amount"; Rec."Credit Amount") { @@ -392,11 +392,17 @@ page 1693 "Bank Deposit Subform" var BankDepositHeader: Record "Bank Deposit Header"; TotalDepositLines: Decimal; + DepositIsLumpSum: Boolean; DocumentTypeErr: Label 'Document Type should be Payment, Refund or blank.'; protected var ShortcutDimCode: array[8] of Code[20]; + internal procedure SetDepositIsLumpSum(NewDepositIsLumpSum: Boolean) + begin + DepositIsLumpSum := NewDepositIsLumpSum; + end; + local procedure GetLinesTotal(): Decimal begin BankDepositHeader.SetCurrentKey("Journal Template Name", "Journal Batch Name"); diff --git a/Apps/W1/BankDeposits/app/src/tables/BankDepositHeader.Table.al b/Apps/W1/BankDeposits/app/src/tables/BankDepositHeader.Table.al index 873ccf7bc0..e7bb30c3af 100644 --- a/Apps/W1/BankDeposits/app/src/tables/BankDepositHeader.Table.al +++ b/Apps/W1/BankDeposits/app/src/tables/BankDepositHeader.Table.al @@ -218,6 +218,42 @@ table 1690 "Bank Deposit Header" field(23; "Post as Lump Sum"; Boolean) { Caption = 'Post as Lump Sum'; + + trigger OnValidate() + var + GenJournalLine: Record "Gen. Journal Line"; + GenJournalTemplate: Record "Gen. Journal Template"; + GenJournalDocumentType: Enum "Gen. Journal Document Type"; + NotFirstLine: Boolean; + InconsistentDocTypes: Boolean; + begin + if not Rec."Post as Lump Sum" then + exit; + GenJournalTemplate.Get(Rec."Journal Template Name"); + if not GenJournalTemplate."Force Doc. Balance" then + exit; + + GenJournalLine.SetRange("Journal Template Name", Rec."Journal Template Name"); + GenJournalLine.SetRange("Journal Batch Name", Rec."Journal Batch Name"); + if not GenJournalLine.FindSet() then + exit; + + if GuiAllowed() then + if not Confirm(UpdateDocumentNosTxt) then + Error(''); + repeat + GenJournalLine."Document No." := Rec."No."; + if not NotFirstLine then + NotFirstLine := true + else + if GenJournalDocumentType <> GenJournalLine."Document Type" then + InconsistentDocTypes := true; + GenJournalDocumentType := GenJournalLine."Document Type"; + GenJournalLine.Modify(); + until GenJournalLine.Next() = 0; + if InconsistentDocTypes then + Message(InconsistentDocTypesMsg); + end; } field(24; "Format Region"; Text[80]) { @@ -294,6 +330,8 @@ table 1690 "Bank Deposit Header" OnlyOneAllowedErr: Label 'Only one %1 is allowed for each %2. Choose Change Batch action if you want to create a new bank deposit.', Comment = '%1 - bank deposit; %2 - general journal batch name'; CannotRenameErr: Label 'You cannot rename a %1.', Comment = '%1 - bank deposit'; UpdateDimensionsOnExistingLinesQst: Label 'Do you want to add the bank deposit dimensions to all bank deposit lines?'; + UpdateDocumentNosTxt: Label 'When posting as lump sum all the lines must have the same Document No. as the bank deposit. Do you want to update the Document No. on all lines?'; + InconsistentDocTypesMsg: Label 'The bank deposit lines have different Document Types. When posting as lump sum all the document types must be the same, please update them before posting.'; local procedure InitInsert() var diff --git a/Apps/W1/BankDeposits/app/src/tables/PostedBankDepositHeader.Table.al b/Apps/W1/BankDeposits/app/src/tables/PostedBankDepositHeader.Table.al index e484d07b7f..cc3f46a3bd 100644 --- a/Apps/W1/BankDeposits/app/src/tables/PostedBankDepositHeader.Table.al +++ b/Apps/W1/BankDeposits/app/src/tables/PostedBankDepositHeader.Table.al @@ -6,7 +6,6 @@ using Microsoft.Finance.Dimension; using System.Globalization; using Microsoft.Foundation.AuditCodes; using Microsoft.Foundation.NoSeries; -using Microsoft.Bank.Ledger; using Microsoft.Finance.GeneralLedger.Reversal; using Microsoft.Finance.GeneralLedger.Ledger; @@ -177,30 +176,6 @@ table 1691 "Posted Bank Deposit Header" UnableToFindGLRegisterErr: Label 'Cannot find a G/L Register for the selected posted bank deposit.'; UnableToFindGLRegisterTelemetryErr: Label 'Cannot find a G/L Register for the selected posted bank deposit %1.', Locked = true; -#if not CLEAN21 - [Obsolete('Finding related entries is done through the `Navigate` page.', '21.0')] - internal procedure FindEntries() - var - TempBankAccountLedgerEntry: Record "Bank Account Ledger Entry" temporary; - BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; - PostedBankDepositLine: Record "Posted Bank Deposit Line"; - begin - PostedBankDepositLine.SetRange("Bank Deposit No.", "No."); - if not PostedBankDepositLine.FindSet() then - exit; - - repeat - if BankAccountLedgerEntry.Get(PostedBankDepositLine."Bank Account Ledger Entry No.") then - if not TempBankAccountLedgerEntry.Get(BankAccountLedgerEntry."Entry No.") then begin - TempBankAccountLedgerEntry.TransferFields(BankAccountLedgerEntry); - TempBankAccountLedgerEntry.Insert() - end; - until PostedBankDepositLine.Next() = 0; - - Page.Run(Page::"Bank Account Ledger Entries", TempBankAccountLedgerEntry); - end; -#endif - // no commits during the method execution. if one line fails to reverse, reversal of lines before it must not be committed [CommitBehavior(CommitBehavior::Ignore)] internal procedure ReverseTransactions(): Boolean diff --git a/Apps/W1/BankDeposits/test/app.json b/Apps/W1/BankDeposits/test/app.json index 6066f67515..8a7ee883c7 100644 --- a/Apps/W1/BankDeposits/test/app.json +++ b/Apps/W1/BankDeposits/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the _Exclude_Bank Deposits extension.", "description": "Tests for the _Exclude_Bank Deposits extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206176", @@ -16,30 +16,30 @@ "id": "7a129d06-5fd6-4fb6-b82b-0bf539c779d0", "name": "_Exclude_Bank Deposits", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "Cloud", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/BankDeposits/test/src/BankDepositPostingTests.Codeunit.al b/Apps/W1/BankDeposits/test/src/BankDepositPostingTests.Codeunit.al index 596ec4d440..438a5d29df 100644 --- a/Apps/W1/BankDeposits/test/src/BankDepositPostingTests.Codeunit.al +++ b/Apps/W1/BankDeposits/test/src/BankDepositPostingTests.Codeunit.al @@ -96,9 +96,11 @@ codeunit 139769 "Bank Deposit Posting Tests" GLAccount: Record "G/L Account"; Vendor: Record Vendor; BankDepositHeader: Record "Bank Deposit Header"; + PostedBankDepositLine: Record "Posted Bank Deposit Line"; GenJournalLine: Record "Gen. Journal Line"; SourceCodeSetup: Record "Source Code Setup"; GLEntry: Record "G/L Entry"; + TransactionNo: Integer; begin // Verify G/L Entry after post Deposit with Unchecked Force Doc. Balance. @@ -108,7 +110,7 @@ codeunit 139769 "Bank Deposit Posting Tests" LibraryPurchase.CreateVendor(Vendor); CreateMultilineDepositDocument( BankDepositHeader, GLAccount."No.", GenJournalLine."Account Type"::"G/L Account", Vendor."No.", GenJournalLine."Account Type"::Vendor, - GenJournalLine."Document Type"::Refund); + GenJournalLine."Document Type"::" ", true); // Update Total Deposit Amount on header, set Post as Lump Sum to true and post Bank Deposit. UpdateBankDepositHeaderWithAmount(BankDepositHeader); @@ -123,9 +125,67 @@ codeunit 139769 "Bank Deposit Posting Tests" // Verify: Verify G/L Entry after post Deposit with Unchecked Force Doc. Balance. GLEntry.SetRange("Document No.", BankDepositHeader."No."); + GLEntry.SetRange(Amount, BankDepositHeader."Total Deposit Amount"); GLEntry.FindFirst(); GLEntry.TestField("Document Type", GLEntry."Document Type"::" "); - GLEntry.TestField(Amount, BankDepositHeader."Total Deposit Amount"); + + // Verify all entries are in the same transaction + PostedBankDepositLine.SetRange("Bank Deposit No.", BankDepositHeader."No."); + TransactionNo := 0; + PostedBankDepositLine.FindSet(); + repeat + GLEntry.Reset(); + GLEntry.Get(PostedBankDepositLine."Entry No."); + if TransactionNo = 0 then + TransactionNo := GLEntry."Transaction No."; + Assert.AreEqual(GLEntry."Transaction No.", TransactionNo, 'All GLEntries should be in the same transaction'); + until PostedBankDepositLine.Next() = 0; + end; + + [Test] + [HandlerFunctions('GeneralJournalBatchesPageHandler,ConfirmHandler')] + procedure PostingAsLumpSumInDifferentDocumentsShouldntBePossible() + var + GLAccount: Record "G/L Account"; + Vendor: Record Vendor; + BankDepositHeader: Record "Bank Deposit Header"; + GenJournalLine: Record "Gen. Journal Line"; + SourceCodeSetup: Record "Source Code Setup"; + First: Boolean; + begin + // Verify G/L Entry after post Deposit with Unchecked Force Doc. Balance. + + // Setup: Create GL Account and Vendor, create Bank Deposit with Account Type GL, Vendor. + Initialize(); + LibraryERM.CreateGLAccount(GLAccount); + LibraryPurchase.CreateVendor(Vendor); + CreateMultilineDepositDocument( + BankDepositHeader, GLAccount."No.", GenJournalLine."Account Type"::"G/L Account", Vendor."No.", GenJournalLine."Account Type"::Vendor, + GenJournalLine."Document Type"::" ", true); + + // Update Total Deposit Amount on header, set Post as Lump Sum to true and post Bank Deposit. + UpdateBankDepositHeaderWithAmount(BankDepositHeader); + BankDepositHeader."Post as Lump Sum" := true; + BankDepositHeader.Modify(); + SourceCodeSetup.Get(); + SourceCodeSetup."Bank Deposit" := 'BankDep'; + SourceCodeSetup.Modify(); + + // [WHEN] Lines have different document no, type or date + GenJournalLine.SetRange("Journal Batch Name", BankDepositHeader."Journal Batch Name"); + GenJournalLine.SetRange("Journal Template Name", BankDepositHeader."Journal Template Name"); + First := true; + repeat + if First then + First := false + else begin + GenJournalLine."Posting Date" += 1; + GenJournalLine.Modify(); + end; + until GenJournalLine.Next() = 0; + + // Exercise. It should fail the same transaction validation + asserterror PostBankDeposit(BankDepositHeader); end; [Test] @@ -431,6 +491,13 @@ codeunit 139769 "Bank Deposit Posting Tests" end; local procedure CreateBankDeposit(var BankDepositHeader: Record "Bank Deposit Header"; AccountNo: Code[20]; AccountType: Enum "Gen. Journal Account Type"; SignFactor: Integer) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + CreateBankDeposit(BankDepositHeader, AccountNo, AccountType, SignFactor, GenJournalLine."Document Type"::Payment); + end; + + local procedure CreateBankDeposit(var BankDepositHeader: Record "Bank Deposit Header"; AccountNo: Code[20]; AccountType: Enum "Gen. Journal Account Type"; SignFactor: Integer; DocumentType: Enum "Gen. Journal Document Type") var GenJournalLine: Record "Gen. Journal Line"; GenJournalTemplate: Record "Gen. Journal Template"; @@ -439,7 +506,7 @@ codeunit 139769 "Bank Deposit Posting Tests" CreateGenJournalBatch(GenJournalBatch, GenJournalTemplate.Type::"Bank Deposits"); CreateBankDepositHeaderWithBankAccount(BankDepositHeader, GenJournalBatch); LibraryERM.CreateGeneralJnlLine( - GenJournalLine, BankDepositHeader."Journal Template Name", BankDepositHeader."Journal Batch Name", GenJournalLine."Document Type"::Payment, + GenJournalLine, BankDepositHeader."Journal Template Name", BankDepositHeader."Journal Batch Name", DocumentType, AccountType, AccountNo, LibraryRandom.RandInt(1000) * SignFactor); // Using Random value for Deposit Amount. end; @@ -464,14 +531,38 @@ codeunit 139769 "Bank Deposit Posting Tests" end; local procedure CreateMultilineDepositDocument(var BankDepositHeader: Record "Bank Deposit Header"; AccountNo: Code[20]; AccountType: Enum "Gen. Journal Account Type"; AccountNo2: Code[20]; AccountType2: Enum "Gen. Journal Account Type"; DocumentType: Enum "Gen. Journal Document Type") + begin + CreateMultilineDepositDocument(BankDepositHeader, AccountNo, AccountType, AccountNo2, AccountType2, DocumentType, false); + end; + + local procedure CreateMultilineDepositDocument(var BankDepositHeader: Record "Bank Deposit Header"; AccountNo: Code[20]; AccountType: Enum "Gen. Journal Account Type"; AccountNo2: Code[20]; AccountType2: Enum "Gen. Journal Account Type"; DocumentType: Enum "Gen. Journal Document Type"; PostAsLumpSum: Boolean) var GenJournalLine: Record "Gen. Journal Line"; + DocumentNo: Code[20]; begin + DocumentNo := ''; // Create Bank Deposit WIth two line with different Account Type. - CreateBankDeposit(BankDepositHeader, AccountNo, AccountType, -1); + if PostAsLumpSum then + CreateBankDeposit(BankDepositHeader, AccountNo, AccountType, -1, DocumentType) + else + CreateBankDeposit(BankDepositHeader, AccountNo, AccountType, -1); LibraryERM.CreateGeneralJnlLine( GenJournalLine, BankDepositHeader."Journal Template Name", BankDepositHeader."Journal Batch Name", DocumentType, AccountType2, AccountNo2, -LibraryRandom.RandInt(1000)); // Using Random value for Deposit Amount. + + BankDepositHeader."Post as Lump Sum" := PostAsLumpSum; + if not PostAsLumpSum then + exit; + GenJournalLine.SetRange("Journal Template Name", BankDepositHeader."Journal Template Name"); + GenJournalLine.SetRange("Journal Batch Name", BankDepositHeader."Journal Batch Name"); + GenJournalLine.FindSet(); + repeat + if DocumentNo = '' then + DocumentNo := GenJournalLine."Document No." + else + GenJournalLine."Document No." := DocumentNo; + GenJournalLine.Modify(); + until GenJournalLine.Next() = 0; end; local procedure SetupAndPostBankDeposit(var BankDepositHeader: Record "Bank Deposit Header"; GLAccountNo: Code[20]; VendorNo: Code[20]; BankAccountNo: Code[20]) diff --git a/Apps/W1/BasicExperience/app/.objidconfig b/Apps/W1/BasicExperience/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/BasicExperience/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/BasicExperience/app/app.json b/Apps/W1/BasicExperience/app/app.json index d0e19d5bbd..b2ae6b6abc 100644 --- a/Apps/W1/BasicExperience/app/app.json +++ b/Apps/W1/BasicExperience/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Basic Experience extension provides core financial capabilities for small businesses.", "description": "The Basic Experience gives small companies access to the Business Central features that are at the absolute core of doing business. For example, when you install this extension you can invoice customers, pay vendors, manage inventory, and keep your finances in order.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2130900", "help": "https://go.microsoft.com/fwlink/?linkid=2130800", @@ -14,7 +14,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 20600, @@ -35,5 +35,5 @@ "features": [ "TranslationFile" ], - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/BasicExperience/app/src/codeunit/AppAreaMgmtBF.Codeunit.al b/Apps/W1/BasicExperience/app/src/codeunit/AppAreaMgmtBF.Codeunit.al index 6294360594..090aab116c 100644 --- a/Apps/W1/BasicExperience/app/src/codeunit/AppAreaMgmtBF.Codeunit.al +++ b/Apps/W1/BasicExperience/app/src/codeunit/AppAreaMgmtBF.Codeunit.al @@ -19,7 +19,6 @@ codeunit 20600 "App Area Mgmt BF" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Application Area Mgmt.", 'OnGetEssentialExperienceAppAreas', '', true, true)] local procedure OnGetEssentialExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary) - var begin Clear(TempEssentialApplicationAreaSetup); TempEssentialApplicationAreaSetup := TempApplicationAreaSetup; diff --git a/Apps/W1/BasicExperience/app/src/codeunit/BasicMgmtBF.Codeunit.al b/Apps/W1/BasicExperience/app/src/codeunit/BasicMgmtBF.Codeunit.al index 1947161156..dc5654f428 100644 --- a/Apps/W1/BasicExperience/app/src/codeunit/BasicMgmtBF.Codeunit.al +++ b/Apps/W1/BasicExperience/app/src/codeunit/BasicMgmtBF.Codeunit.al @@ -6,7 +6,9 @@ namespace System.Environment.Configuration; using System.Environment; using System.Reflection; +#if not CLEAN22 using System.Security.AccessControl; +#endif codeunit 20601 "Basic Mgmt BF" { diff --git a/Apps/W1/BasicExperience/app/src/codeunit/ExperienceTierBF.Codeunit.al b/Apps/W1/BasicExperience/app/src/codeunit/ExperienceTierBF.Codeunit.al index 24c6b5e1e6..304169cd4b 100644 --- a/Apps/W1/BasicExperience/app/src/codeunit/ExperienceTierBF.Codeunit.al +++ b/Apps/W1/BasicExperience/app/src/codeunit/ExperienceTierBF.Codeunit.al @@ -10,7 +10,6 @@ codeunit 20602 "Experience Tier BF" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Application Area Mgmt. Facade", 'OnValidateApplicationAreas', '', true, true)] local procedure OnValidateApplicationAreas(ExperienceTierSetup: Record "Experience Tier Setup"; TempApplicationAreaSetup: Record "Application Area Setup" temporary) - var begin if not ExperienceTierSetup."BF Basic" then exit; @@ -35,7 +34,6 @@ codeunit 20602 "Experience Tier BF" end; local procedure SetExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary) - var begin TempApplicationAreaSetup."BF Basic" := true; // Application Area belonging to this extension TempApplicationAreaSetup.Basic := true; diff --git a/Apps/W1/BasicExperience/app/src/page/PurchOrderFromSalesOrderBF.PageExt.al b/Apps/W1/BasicExperience/app/src/page/PurchOrderFromSalesOrderBF.PageExt.al index 93b76bf458..f7eab0fb57 100644 --- a/Apps/W1/BasicExperience/app/src/page/PurchOrderFromSalesOrderBF.PageExt.al +++ b/Apps/W1/BasicExperience/app/src/page/PurchOrderFromSalesOrderBF.PageExt.al @@ -24,11 +24,5 @@ pageextension 20637 "PurchOrder From SalesOrder BF" extends "Purch. Order From S { ApplicationArea = Advanced, BFOrders; } -#if not CLEAN21 - modify(Timeline) - { - ApplicationArea = Advanced, BFOrders; - } -#endif } } diff --git a/Apps/W1/BasicExperience/app/src/page/SalesRelationshipMgrRCBF.PageExt.al b/Apps/W1/BasicExperience/app/src/page/SalesRelationshipMgrRCBF.PageExt.al index 652d3afbfa..1d826b63d2 100644 --- a/Apps/W1/BasicExperience/app/src/page/SalesRelationshipMgrRCBF.PageExt.al +++ b/Apps/W1/BasicExperience/app/src/page/SalesRelationshipMgrRCBF.PageExt.al @@ -68,7 +68,7 @@ pageextension 20654 "Sales Relation ship Mgr RC BF" extends "Sales & Relationshi { ApplicationArea = RelationshipMgmt, BFBasic; } -#if not CLEAN21 +#if not CLEAN23 modify("Sales &Prices") { ApplicationArea = RelationshipMgmt, BFBasic; diff --git a/Apps/W1/BasicExperience/test/app.json b/Apps/W1/BasicExperience/test/app.json index f844165386..f8d04b26b5 100644 --- a/Apps/W1/BasicExperience/test/app.json +++ b/Apps/W1/BasicExperience/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Basic Experience extension.", "description": "Tests for the Basic Experience extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=", "EULA": "https://go.microsoft.com/fwlink/?linkid=", "help": "https://go.microsoft.com/fwlink/?linkid=", @@ -16,20 +16,20 @@ "id": "0242c240-2336-450f-9678-2f13f4ce9a6e", "name": "Basic Experience", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 139502, diff --git a/Apps/W1/BasicExperience/test/src/TestBasicBF.Codeunit.al b/Apps/W1/BasicExperience/test/src/TestBasicBF.Codeunit.al index 22fc26722e..5b0bda28b3 100644 --- a/Apps/W1/BasicExperience/test/src/TestBasicBF.Codeunit.al +++ b/Apps/W1/BasicExperience/test/src/TestBasicBF.Codeunit.al @@ -19,7 +19,6 @@ codeunit 139502 "Test Basic BF" [Test] procedure TestBasicExperienceTierAfterInstall(); - var begin // [SCENARIO] Check the Basic Experience Tier After Install of Basic Extension // [GIVEN] Basic Extension is installed @@ -31,7 +30,6 @@ codeunit 139502 "Test Basic BF" [Test] procedure TestBasicApplicationAreaAfterInstall(); - var begin // [SCENARIO] Check the Basic Application Area After Install of Basic Extension // [GIVEN] Basic Extension is installed @@ -43,7 +41,6 @@ codeunit 139502 "Test Basic BF" [Test] procedure TestDisabledRoleCenterAfterInstall(); - var begin // [SCENARIO] Check disable Role Center After Install of Basic Extension // [GIVEN] Basic Extension is installed diff --git a/Apps/W1/ClientAddIns/.objidconfig b/Apps/W1/ClientAddIns/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ClientAddIns/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ClientAddIns/app.json b/Apps/W1/ClientAddIns/app.json index b0c40f23ab..9ce61df58e 100644 --- a/Apps/W1/ClientAddIns/app.json +++ b/Apps/W1/ClientAddIns/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Client Add-In Library", "description": "Client Add-In Library for Microsoft Dynamics 365 Business Central", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", @@ -15,7 +15,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -29,5 +29,5 @@ }, "help": "https://go.microsoft.com/fwlink/?LinkId=724011", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2009120", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/CompanyHub/app/.objidconfig b/Apps/W1/CompanyHub/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/CompanyHub/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/CompanyHub/app/app.json b/Apps/W1/CompanyHub/app/app.json index 834b91604d..8c0766d413 100644 --- a/Apps/W1/CompanyHub/app/app.json +++ b/Apps/W1/CompanyHub/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Company Hub lets you easily access all companies you work in. View key KPIs and manage User Tasks for each company.", "description": "Company Hub gives you a list of the companies you work in. You can easily add new companies by just providing a URL and a name for the company. The list of companies contains a few KPIs for the company that is displayed for the user if they have the needed access. You also have a list of assigned user tasks for a given company, so you can keep track of work required for each company. The Company Hub gives you either a dedicated Company Hub role center (if you use one tenant as the main access point) or a similar task page if you use the Company Hub from within a company where your role requires you to have a different main role center. Both have the same features and the same easy access to the companies you work in.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBCore.Codeunit.al b/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBCore.Codeunit.al index 0a37fecc3b..a2d0a53716 100644 --- a/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBCore.Codeunit.al +++ b/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBCore.Codeunit.al @@ -282,16 +282,6 @@ codeunit 1151 "COHUB Core" exit(URLHelper.GetFixedClientEndpointBaseUrl()); end; - [Obsolete('Replaced with GetResourceURL', '19.0')] - procedure GetResoureUrl(): Text[100]; - var - begin - if IsPPE() then - exit('https://api.businesscentral.dynamics-tie.com') - else - exit('https://api.businesscentral.dynamics.com'); - end; - procedure GetResourceUrl(): Text; var ResourceURL: Text; @@ -385,7 +375,6 @@ codeunit 1151 "COHUB Core" end; procedure GetEnviromentManagementUrl(): Text; - var begin if IsPPE() then exit('https://tenantmanagement.smb.dynamics-tie.com/v3.0/tenant/') diff --git a/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBUrlTaskManager.Codeunit.al b/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBUrlTaskManager.Codeunit.al index f001a68c73..fe76b6c9b0 100644 --- a/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBUrlTaskManager.Codeunit.al +++ b/Apps/W1/CompanyHub/app/src/ClientSummary/COHUBUrlTaskManager.Codeunit.al @@ -86,7 +86,7 @@ codeunit 1154 "COHUB Url Task Manager" CouldNotFetchCompaniesNotification.Id := GetCouldNotFetchCompaniesGuid(); CouldNotFetchCompaniesNotification.Recall(); CouldNotFetchCompaniesNotification.Message(CouldNotFetchCompaniesNotificationMsg); - CouldNotFetchCompaniesNotification.Scope := NotificationScope::GlobalScope; + CouldNotFetchCompaniesNotification.Scope := NotificationScope::LocalScope; CouldNotFetchCompaniesNotification.Send(); end; diff --git a/Apps/W1/ConnectivityApps/app/.objidconfig b/Apps/W1/ConnectivityApps/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ConnectivityApps/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ConnectivityApps/app/app.json b/Apps/W1/ConnectivityApps/app/app.json index 4f3a31256c..c6588062f8 100644 --- a/Apps/W1/ConnectivityApps/app/app.json +++ b/Apps/W1/ConnectivityApps/app/app.json @@ -4,14 +4,14 @@ "publisher": "Microsoft", "brief": "Easily identify the right app to use to connect your business to productivity services in your market space.", "description": "Connectivity Apps helps you easily discover third-party solutions that connect Business Central with productivity services.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2204236", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 20350, diff --git a/Apps/W1/ConnectivityApps/test/app.json b/Apps/W1/ConnectivityApps/test/app.json index d5666052c9..0a3c0063cc 100644 --- a/Apps/W1/ConnectivityApps/test/app.json +++ b/Apps/W1/ConnectivityApps/test/app.json @@ -2,7 +2,7 @@ "id": "018f12d9-597c-4eb5-8a5d-27983426ffc2", "name": "_Exclude_Connectivity Apps Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft Connectivity Apps extension.", "description": "Tests for the Microsoft Connectivity Apps extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2135559", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "16c26bda-5f9c-4a77-a17e-4835f06062c0", "name": "_Exclude_Connectivity Apps", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.objidconfig b/Apps/W1/ContosoCoffeeDemoDataset/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhseLocation.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhseLocation.Codeunit.al index c362f8f5c0..808cdb5f27 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhseLocation.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhseLocation.Codeunit.al @@ -68,17 +68,17 @@ codeunit 4787 "Create Whse Location" CreateWhsePutAwayTemplate: Codeunit "Create Whse Put Away Template"; begin if WhseDemoDataSetup."Location Bin" = '' then begin - ContosoWarehouse.InsertLocation(BasicLocation(), BasicLocationLbl, '', false, false, false, false, false, true, false, "Put-away Bin Policy"::"Put-away Template", "Pick Bin Policy"::"Bin Ranking", Enum::"Location Default Bin Selection"::"Fixed Bin", CreateWhsePutAwayTemplate.StandardTemplate(), false, 1, 1, true, false, false); + ContosoWarehouse.InsertLocation(BasicLocation(), BasicLocationLbl, '', false, false, false, false, false, true, false, "Put-away Bin Policy"::"Put-away Template", "Pick Bin Policy"::"Bin Ranking", Enum::"Location Default Bin Selection"::"Fixed Bin", CreateWhsePutAwayTemplate.StandardTemplate(), Enum::"Prod. Consump. Whse. Handling"::"No Warehouse Handling", Enum::"Prod. Output Whse. Handling"::"No Warehouse Handling", Enum::"Job Consump. Whse. Handling"::"No Warehouse Handling", Enum::"Asm. Consump. Whse. Handling"::"No Warehouse Handling", false, 1, 1, true, false, false); WhseDemoDataSetup.Validate("Location Bin", BasicLocation()); end; if WhseDemoDataSetup."Location Adv Logistics" = '' then begin - ContosoWarehouse.InsertLocation(SimpleLocation(), SimpleLocationLbl, '', true, true, false, true, true, false, false, "Put-away Bin Policy"::"Default Bin", "Pick Bin Policy"::"Default Bin", Enum::"Location Default Bin Selection"::" ", '', false, 0, 0, false, false, false); + ContosoWarehouse.InsertLocation(SimpleLocation(), SimpleLocationLbl, '', true, true, false, true, true, false, false, "Put-away Bin Policy"::"Default Bin", "Pick Bin Policy"::"Default Bin", Enum::"Location Default Bin Selection"::" ", '', Enum::"Prod. Consump. Whse. Handling"::"Warehouse Pick (mandatory)", Enum::"Prod. Output Whse. Handling"::"No Warehouse Handling", Enum::"Job Consump. Whse. Handling"::"Warehouse Pick (mandatory)", Enum::"Asm. Consump. Whse. Handling"::"Warehouse Pick (mandatory)", false, 0, 0, false, false, false); WhseDemoDataSetup.Validate("Location Adv Logistics", SimpleLocation()); end; if WhseDemoDataSetup."Location Directed Pick" = '' then begin - ContosoWarehouse.InsertLocation(AdvancedLocation(), AdvancedLocationLbl, '', true, true, true, true, true, true, true, "Put-away Bin Policy"::"Put-away Template", "Pick Bin Policy"::"Bin Ranking", Enum::"Location Default Bin Selection"::" ", CreateWhsePutAwayTemplate.StandardTemplate(), true, 1, 1, false, false, false); + ContosoWarehouse.InsertLocation(AdvancedLocation(), AdvancedLocationLbl, '', true, true, true, true, true, true, true, "Put-away Bin Policy"::"Put-away Template", "Pick Bin Policy"::"Bin Ranking", Enum::"Location Default Bin Selection"::" ", CreateWhsePutAwayTemplate.StandardTemplate(), Enum::"Prod. Consump. Whse. Handling"::"Warehouse Pick (mandatory)", Enum::"Prod. Output Whse. Handling"::"No Warehouse Handling", Enum::"Job Consump. Whse. Handling"::"Warehouse Pick (mandatory)", Enum::"Asm. Consump. Whse. Handling"::"Warehouse Pick (mandatory)", true, 1, 1, false, false, false); WhseDemoDataSetup.Validate("Location Directed Pick", AdvancedLocation()); end; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhsePutAwayTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhsePutAwayTemplate.Codeunit.al index 7a6a2d0fc0..f3cf12e449 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhsePutAwayTemplate.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/1.Setup data/CreateWhsePutAwayTemplate.Codeunit.al @@ -6,8 +6,10 @@ codeunit 4791 "Create Whse Put Away Template" var STDTok: Label 'STD', Locked = true; VARTok: Label 'VAR', Locked = true; + SAMETok: Label 'SAME', Locked = true; STDDescTok: Label 'Standard Template', MaxLength = 100; VARDescTok: Label 'Variable Template', MaxLength = 100; + SAMEDescTok: Label 'Fixed Bins only', MaxLength = 100; trigger OnRun() var @@ -15,6 +17,7 @@ codeunit 4791 "Create Whse Put Away Template" begin ContosoWarehouse.InsertPutAwayTemplateHeader(StandardTemplate(), STDDescTok); ContosoWarehouse.InsertPutAwayTemplateHeader(VariableTemplate(), VARDescTok); + ContosoWarehouse.InsertPutAwayTemplateHeader(SameTemplate(), SAMEDescTok); ContosoWarehouse.InsertPutAwayTemplateLine(StandardTemplate(), '', true, false, true, true, true, false); @@ -27,6 +30,9 @@ codeunit 4791 "Create Whse Put Away Template" ContosoWarehouse.InsertPutAwayTemplateLine(VariableTemplate(), '', false, true, true, true, false, false); ContosoWarehouse.InsertPutAwayTemplateLine(VariableTemplate(), '', false, true, false, false, false, true); ContosoWarehouse.InsertPutAwayTemplateLine(VariableTemplate(), '', false, true, false, false, false, false); + + ContosoWarehouse.InsertPutAwayTemplateLine(SameTemplate(), '', true, false, true, true, true, false); + ContosoWarehouse.InsertPutAwayTemplateLine(SameTemplate(), '', true, false, true, true, false, false); end; procedure StandardTemplate(): Code[10] @@ -38,4 +44,9 @@ codeunit 4791 "Create Whse Put Away Template" begin exit(VARTok); end; + + procedure SameTemplate(): Code[10] + begin + exit(SAMETok); + end; } diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al index 9396f08eed..308f370f47 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al @@ -1,10 +1,9 @@ codeunit 5142 "Contoso Utilities" { - Access = Internal; InherentEntitlements = X; InherentPermissions = X; - procedure AdjustPrice(UnitPrice: Decimal): Decimal + internal procedure AdjustPrice(UnitPrice: Decimal): Decimal var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; begin @@ -16,7 +15,7 @@ codeunit 5142 "Contoso Utilities" exit(Round(UnitPrice * ContosoCoffeeDemoDataSetup."Price Factor", ContosoCoffeeDemoDataSetup."Rounding Precision")); end; - procedure AdjustDate(OriginalDate: Date): Date + internal procedure AdjustDate(OriginalDate: Date): Date var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; TempDate: Date; @@ -69,7 +68,7 @@ codeunit 5142 "Contoso Utilities" exit(TempBlob); end; - procedure RandBarcodeInt(): Integer + internal procedure RandBarcodeInt(): Integer begin exit(10000000 - 1 + Random(99999999 - 10000000 + 1)); end; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoWarehouse.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoWarehouse.Codeunit.al index 4d99058d47..0f050d07ac 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoWarehouse.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoWarehouse.Codeunit.al @@ -23,8 +23,103 @@ codeunit 5147 "Contoso Warehouse" procedure InsertLocation(Code: Code[10]; Name: Text[100]; Address: Text[100]; RequirePutAway: Boolean; RequirePick: Boolean; UseCrossDocking: Boolean; RequireReceive: Boolean; RequireShipment: Boolean; BinMandatory: Boolean; DirectedPutAwayAndPick: Boolean; PutAwayBinPolicy: Enum "Put-away Bin Policy"; PickBinPolicy: Enum "Pick Bin Policy"; DefaultBinSelection: Enum "Location Default Bin Selection"; PutAwayTemplateCode: Code[10]; AllowBreakBulk: Boolean; BinCapacityPolicy: Option; SpecialEquipment: Option; AlwaysCreatePutAwayLine: Boolean; AlwaysCreatePickLine: Boolean; UseAsInTransit: Boolean) var - Location: Record Location; - Exists: Boolean; + ProdConsumpWhseHandling: Enum "Prod. Consump. Whse. Handling"; + ProdOutputWhseHandling: Enum "Prod. Output Whse. Handling"; + JobConsumpWhseHandling: Enum "Job Consump. Whse. Handling"; + AsmConsumpWhseHandling: Enum "Asm. Consump. Whse. Handling"; + begin + + case true of + not RequirePick and not RequireShipment: + begin + ProdConsumpWhseHandling := ProdConsumpWhseHandling::"Warehouse Pick (optional)"; + AsmConsumpWhseHandling := AsmConsumpWhseHandling::"Warehouse Pick (optional)"; + JobConsumpWhseHandling := JobConsumpWhseHandling::"Warehouse Pick (optional)"; + end; + not RequirePick and RequireShipment: + begin + ProdConsumpWhseHandling := ProdConsumpWhseHandling::"Warehouse Pick (optional)"; + AsmConsumpWhseHandling := AsmConsumpWhseHandling::"Warehouse Pick (optional)"; + JobConsumpWhseHandling := JobConsumpWhseHandling::"Warehouse Pick (optional)"; + end; + RequirePick and not RequireShipment: + begin + ProdConsumpWhseHandling := ProdConsumpWhseHandling::"Inventory Pick/Movement"; + AsmConsumpWhseHandling := AsmConsumpWhseHandling::"Inventory Movement"; + JobConsumpWhseHandling := JobConsumpWhseHandling::"Inventory Pick"; + end; + RequirePick and RequireShipment: + begin + ProdConsumpWhseHandling := ProdConsumpWhseHandling::"Warehouse Pick (mandatory)"; + AsmConsumpWhseHandling := AsmConsumpWhseHandling::"Warehouse Pick (mandatory)"; + JobConsumpWhseHandling := JobConsumpWhseHandling::"Warehouse Pick (mandatory)"; + end; + end; + + case true of + not RequirePutaway and not RequireReceive, + not RequirePutaway and RequireReceive, + RequirePutaway and RequireReceive: + ProdOutputWhseHandling := ProdOutputWhseHandling::"No Warehouse Handling"; + RequirePutaway and not RequireReceive: + ProdOutputWhseHandling := ProdOutputWhseHandling::"Inventory Put-away"; + + end; + InsertLocation(Code, Name, Address, RequirePutAway, RequirePick, UseCrossDocking, RequireReceive, RequireShipment, BinMandatory, DirectedPutAwayAndPick, PutAwayBinPolicy, PickBinPolicy, DefaultBinSelection, PutAwayTemplateCode, ProdConsumpWhseHandling, ProdOutputWhseHandling, JobConsumpWhseHandling, AsmConsumpWhseHandling, AllowBreakBulk, BinCapacityPolicy, SpecialEquipment, AlwaysCreatePutAwayLine, AlwaysCreatePickLine, UseAsInTransit); + end; + + procedure InsertLocation(Code: Code[10]; + Name: + Text[100]; + Address: + Text[100]; + RequirePutAway: + Boolean; + RequirePick: + Boolean; + UseCrossDocking: + Boolean; + RequireReceive: + Boolean; + RequireShipment: + Boolean; + BinMandatory: + Boolean; + DirectedPutAwayAndPick: + Boolean; + PutAwayBinPolicy: + Enum "Put-away Bin Policy"; + PickBinPolicy: + Enum "Pick Bin Policy"; + DefaultBinSelection: + Enum "Location Default Bin Selection"; + PutAwayTemplateCode: + Code[10]; + ProdConumpWhseHandling: + Enum "Prod. Consump. Whse. Handling"; + ProdOutputWhseHandling: + Enum "Prod. Output Whse. Handling"; + JobConsumpWhseHandling: + Enum "Job Consump. Whse. Handling"; + AsmConsumpWhseHandling: + Enum "Asm. Consump. Whse. Handling"; + AllowBreakBulk: + Boolean; + BinCapacityPolicy: + Option; + SpecialEquipment: + Option; + AlwaysCreatePutAwayLine: + Boolean; + AlwaysCreatePickLine: + Boolean; + UseAsInTransit: + Boolean) + var + Location: + Record Location; + Exists: + Boolean; begin if Location.Get(Code) then begin Exists := true; @@ -54,6 +149,10 @@ codeunit 5147 "Contoso Warehouse" Location.Validate("Special Equipment", SpecialEquipment); Location.Validate("Always Create Put-away Line", AlwaysCreatePutAwayLine); Location.Validate("Always Create Pick Line", AlwaysCreatePickLine); + Location.Validate("Prod. Consump. Whse. Handling", ProdConumpWhseHandling); + Location.Validate("Prod. Output Whse. Handling", ProdOutputWhseHandling); + Location.Validate("Job Consump. Whse. Handling", JobConsumpWhseHandling); + Location.Validate("Asm. Consump. Whse. Handling", AsmConsumpWhseHandling); if Exists then Location.Modify(true) @@ -63,7 +162,7 @@ codeunit 5147 "Contoso Warehouse" procedure InsertLocation(Code: Code[10]; Name: Text[100]; Address: Text[100]; UseAsInTransit: Boolean) begin - InsertLocation(Code, Name, Address, false, false, false, false, false, false, false, "Put-away Bin Policy"::"Default Bin", "Pick Bin Policy"::"Default Bin", Enum::"Location Default Bin Selection"::" ", '', false, 0, 0, false, false, UseAsInTransit); + InsertLocation(Code, Name, Address, false, false, false, false, false, false, false, "Put-away Bin Policy"::"Default Bin", "Pick Bin Policy"::"Default Bin", Enum::"Location Default Bin Selection"::" ", '', Enum::"Prod. Consump. Whse. Handling"::"No Warehouse Handling", Enum::"Prod. Output Whse. Handling"::"No Warehouse Handling", Enum::"Job Consump. Whse. Handling"::"No Warehouse Handling", Enum::"Asm. Consump. Whse. Handling"::"No Warehouse Handling", false, 0, 0, false, false, UseAsInTransit); end; procedure InsertBinType(Code: Code[10]; Description: Text[100]; Receive: Boolean; Ship: Boolean; PutAway: Boolean; Pick: Boolean) diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al index 88e45f84eb..289c260584 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al @@ -62,7 +62,7 @@ table 4768 "Contoso Coffee Demo Data Setup" exit; Rec.Init(); - Rec.Validate("Starting Year", Date2DMY(Today, 3) - 1); + Rec.Validate("Starting Year", Date2DMY(Today(), 3) - 1); Rec.Insert(); end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al index 3cb0e616a6..41770e7928 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al @@ -87,7 +87,7 @@ codeunit 5193 "Contoso Demo Tool" internal procedure RefreshModules() var - ContosoDemoDataModuleRec: Record "Contoso Demo Data Module"; + ContosoDemoDataModule: Record "Contoso Demo Data Module"; ContosoModuleDependency: codeunit "Contoso Module Dependency"; ModuleProvider: Interface "Contoso Demo Data Module"; Dependency, Module : Enum "Contoso Demo Data Module"; @@ -95,11 +95,11 @@ codeunit 5193 "Contoso Demo Tool" foreach Module in Enum::"Contoso Demo Data Module".Ordinals() do begin ModuleProvider := Module; - if not ContosoDemoDataModuleRec.Get(Module) then begin - ContosoDemoDataModuleRec.Init(); - ContosoDemoDataModuleRec.Validate(Name, Format(Module)); - ContosoDemoDataModuleRec.Validate(Module, Module); - ContosoDemoDataModuleRec.Insert(true); + if not ContosoDemoDataModule.Get(Module) then begin + ContosoDemoDataModule.Init(); + ContosoDemoDataModule.Validate(Name, Format(Module)); + ContosoDemoDataModule.Validate(Module, Module); + ContosoDemoDataModule.Insert(true); end; foreach Dependency in ModuleProvider.GetDependencies() do @@ -108,13 +108,13 @@ codeunit 5193 "Contoso Demo Tool" end; local procedure CheckLanguageBeforeGeneratingDemoData(): Boolean - var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; Language: Codeunit "Language"; begin ContosoCoffeeDemoDataSetup.InitRecord(); ContosoCoffeeDemoDataSetup.Get(); + // If the language is not set, then it is the first run if ContosoCoffeeDemoDataSetup."Language ID" = 0 then exit(true); @@ -130,6 +130,7 @@ codeunit 5193 "Contoso Demo Tool" ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; begin ContosoCoffeeDemoDataSetup.Get(); + if ContosoCoffeeDemoDataSetup."Language ID" = 0 then begin ContosoCoffeeDemoDataSetup.Validate("Language ID", GlobalLanguage()); ContosoCoffeeDemoDataSetup.Modify(true); diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/app.json b/Apps/W1/ContosoCoffeeDemoDataset/app/app.json index 965fcee3be..1bd6b0ab4a 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/app.json +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/app.json @@ -1,37 +1,40 @@ { - "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", - "name": "Contoso Coffee Demo Dataset", - "publisher": "Microsoft", - "version": "23.3.0.0", - "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making new and extensive demo data available for various scenarios.", - "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios.", - "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://go.microsoft.com/fwlink/?linkid=2187180", - "url": "https://go.microsoft.com/fwlink/?linkid=724011", - "logo": "./ExtensionLogo.png", - "dependencies": [ - - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "application": "23.3.0.0", - "idRanges": [ - { - "from": 4760, - "to": 4799 - }, - { - "from": 5100, - "to": 5200 - } - ], - "resourceExposurePolicy": { - "allowDebugging": true, - "allowDownloadingSource": false, - "includeSourceInSymbolFile": false - }, - "contextSensitiveHelpUrl": "https://learn.microsoft.com/en-us/dynamics365/business-central/contoso-coffee/contoso-coffee-intro" + "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", + "name": "Contoso Coffee Demo Dataset", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "To help partners demonstrate the premium capabilities of Business Central, we are making new and extensive demo data available for various scenarios.", + "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios.", + "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?linkid=2187180", + "url": "https://go.microsoft.com/fwlink/?linkid=724011", + "logo": "./ExtensionLogo.png", + "dependencies": [], + "internalsVisibleTo": [ + { + "id": "c471774f-4b9e-45eb-9619-e7e0b96a8b98", + "name": "Contoso Coffee Demo Dataset Tests", + "publisher": "Microsoft" + } + ], + "screenshots": [], + "platform": "24.0.0.0", + "application": "24.0.0.0", + "idRanges": [ + { + "from": 4760, + "to": 4799 + }, + { + "from": 5100, + "to": 5200 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": false, + "includeSourceInSymbolFile": false + }, + "contextSensitiveHelpUrl": "https://learn.microsoft.com/en-us/dynamics365/business-central/contoso-coffee/contoso-coffee-intro" } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/ExtensionLogo.png b/Apps/W1/ContosoCoffeeDemoDataset/test/ExtensionLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2c9a626cb9617350617c40cd73904129d4c108 GIT binary patch literal 5446 zcma)=S5VVywD$iAMIcgC2u+$uktV%J6$Dhev_NQrfC^Fsq!|cJ=^|Z`P&U*^N-uuwi#_w5i!*aB*89x5SkKKnv*ua91anhEW+omc005Zp+`e`1 zOsW4C1O3^nWxbYuCX9Z!?E(M*a`E2+jm<_J0|5K}om)4pLZ&wJ&3t(K(|ffcq#?ky z#^aeQO#|lO9vyUeb0ezqQtpipl3Sj#-xy!eh7lu@5+BnW zNhL-~3Zpw&1u=bMN*Q(sgYksq4dM>Iw7p&Qk_Su~b*PgEs#LK~^K}aDaTG_6Q?_tM<8wOS}`Z+?~Et8GB>T%(k7$9`DL!d5)f!ZoXco-vj+s_QLEs2cf zKM&F>#c9w|TmM9MFtl8L*cYQgl9khf5CYMR)DJOUf;M~a9|+ys@RYR zCusNC(CSlUk|r`qdS&ZKh$O=@#&e0>;W~S#|KjHdfLx!-J9r1JtP4RGIhS|Rm0eZ6 z7eOE~Zfo4Li~K^|&)d^-r?8Rh2Q}#ZjL=?VJZ7~hlp4(!U!0K%679I`OR&x54*0&4 znho|hKu)WR)4PUVA1}N;jXHg}AG+gSKQ6O_fEP^Y51!LwBERH09|t!GNx2KH4co>r zA%cgSHxh2Sezx-w!S5DTG#0zVCbnLM6BP}2P-G{8 zh**wJHj<652FS05bSQNx-0fS7^(wREYvZwpt;$!!k4H0U*iyhS8(syBDMv>L<)~LI zPl!Y^-cM{_J@{hY1=XJ#T=Ef(FD!I^r1^lca3c0ftVuvo-(%!Zn)C1bK{}-i*Jc); zIIc+o&iMgvboj&4`@5sF23MV!*zIVmA0>{1;*H*faMAG6EZ7XydTfaGyABAGx>)yl z@Y+|)SVxCx@!GWqspay7GBetK*s2@CJ?s{8v!(b|ShLb|O;3T1rAMB?DJ?Z`@013q zoyIvV84eYiS+?kRJOz`3AFcR~ZQ1Uq7wCnbSJ%-HZwhAnJ^4zDp2W8I)~WI7ush5> z&f3O)rj~2ZGr!c@=p3!n>jG-O#9`$7&WyF7bB}(rq4ldokUp5TY?E62r+YJbJp8Jf znDW3fYZ^nBQ9O}3?zH_*mZ9+G#HHnwop1Vfm!Df~{Z%D?5KzMN&RA>&#q8iCzTfAt zV#TyMeyyh8=M$8tyA|KeUwo_Q6Si)P)%n(W-*QE~08BG|>J!sQPq?IF;;%1ypP?Z` zK_0Un>p;9=9d675ELHboC0+fNMY&(;k(|=0TS>ka)BKI3q#)zx!Jp@zv0QfeEAjU< z=vI5@-d^A^-*#|P+b2QFiGxk4z<8Tp4p6{aOp88x>SQEa0M`VxX%IUb$bya!5EgRf6$fFw zp}jNTKUXjNe0x(;)Nu)Ij5K?QD0u6~mRHQ-!;6m#VP>)}=irAqy;f$e{W-EWnR75~ zm2b0u@r7ASk4x0oTqs9{f&F|eAmD*Gf^A;te7f}J{dXqLaH_4%D_(mnp0VmWhq>^E z&7>5*-mh>FX{w5SJf^#th&GrpOQk58U-+4 zq3$q~C4ySH7@lr>W+|c0`UF*ieC+3vC1$4m}F(ic|G7}QDt(t z7`#>$c4U-4LU_;nWHhdN9Fcv~L8h6M_}nW&EGTjgW(=c}uD9>eU^rDOrkNg_effOV z^8z_y=vNIt{`wOfgG2o^3ey`R!aP1=t7Mz@&MKK3>_BH_QkgNO@4IoQ-2d8EqsDg) zTMb-5lqlubRot-7!RD@+udO?O9_Da3XV5bvjW zXTb2psHUdeiIaI(lknQE_<+YlY31}R!VfoM_BuILQ{>Q89=LB5j;V|-yAW2gY82+~ zYlu~#*R(cHw2NO1h5xaiAD2oiIEQ-aQyA-D^y^z2ZHNfM{o(3M#SbqOP3>k9FOdDO z(t%c9hk)NCPe_8>=Y^U-_-6IwS-D0cE=pwdyLp!;r-fWiXtbUS$<dl!~WV$TR8 zP$KU?K>m?*O)mSGccn&kn|nj7NXFeo<0D=ue8s^~BK#P?J~gB}v5<0nK9GPipjT#9 zkm6yXFyLlgoUIDEVxw*0Z-WDqp8swCs(bcjAqdDLl1oUqYf#a`NjT6IO3?=P`FvUZ zlWC&lWb9_dexSz%N~-oscM`oC%b#KS|KS7AptwRX5h&1VDCKWzP{&??TFdF3h53&c zU(v)WhOr)#!V6Y6d7CzOO-@KF%@67>kh34@Exj7Rh}p5_0?yUeyC7@c7DHf+mW=~wpLeLYDA9#W-Ri*S|M@g zjPHH@qHrPuzq(+5y$V*UoFEg(g$$mRNUEF!C{IN3Rig{tU54W|OD_`M0G3u)B{WhC z*D?hTF7J+YdF8-Z-Uuw{3jBx`_!aus`uDDBecwuu&tsVpj2~DZJb2-!a2l??m{}er}lR6Lqu)-2+Vm)jr(g{nfQPx9-<^1d;k-d zkU{E^g7qwp+D`b+QtU5@+swaVKp9<`>sT~U)O!EEMBo!*)~s_<`6Yl z7fX2;ki>kVDfdietW1k;TYvaY({>?5X)&(d&_y<-J7Qa@b z(zwGCI=`P#^b>1>2#Y!9T5|AdtaU|zXxw9^KpIu6CAmQf$GzaeOJmYVsc3eh5%6lb z)t~(Ak2J`;KW_L6psME-h?xF6ryr4d{q;>-b`Q$L43T{r`{N?U6cqP(Q3f%kA8`c@ z<82KXjte|7u_Lo~MV!d%y$tYi(hzU$6t+*ml~Z&Mg{eK?@}^XEBK+-&j`Uv95x)=_ zZLs=Mpg_IuZenjm(~}b8Aggaaje8NX$A_7^G%-)!xtu)C{N|S<3hVOmU;{|i+q6zn zfr(1Ua*jF!%-dU3L}O2fvWAe%-4kxtXo_vJHF(AxSx)4AI8-$^uBQO_86Z_y%RZX4 zJpu5`pOAztxv?jXv9yx|r>#9!0|`71C-fli@v${6r+V$hgvcr|W_I`{=7*0s(PKQH zzn8r2+tSeD15stz|DIJ3%X%8EkyN?bsHhuq4(5D0Oewn_)-o)Nx$eNs{0V*ZTSVt4 z3ifXGGw5fBv+9b6d~Nl+08L4VbbZqf3DL^e?l@!uZVdWkdOpJPaE?{zF!ZI?c(vF3 zvX~OK4vktvm&R$MgNpiKA~&zT!1#H7!q1h7AQiuSNG9<=$64)Zym(UQ``(j#^hDzt}{aur0pS?mmBi&z4I0Jfieqh%Pa_A%N?_1OZHm-S{ zQ*)4(N_J;y7tRh0o>xs25-s9!M-)i;@I68#SGXB2XgS}N zx_r3%V)z1jLA_M&?)E^DT$kzdHMJF%e2w6BH@iI5tKWM+zcuhCsz@N0a_1RBvrdZx zjzD>V%;c4*$RkEv{zHuVyaB+ANl(iT8w{pJdziC7YcO2&(ciqGLhs@q-dNh! zkV_V_(_~$*>ND}j1yozMedYnu-_GKMh?IpP<@D+edeB4M%3@xr3oj{@mdFKoBVpm^)1_}Y^}rOWBSB|Uv)*-pTdiU ztW9~{qq5@iB+$QpbeJVKH^n^9vV})i>Z@2CHoY2$PC888c;#Yz-pHRK@EVheWhE!> zZzjPmy?0Ni8#=o_k6_s3DY7nS^&Bm}BW&ZfAuF7bQbDgAGM$dE)RM6RvdobKb&MhsYD4exRm9*jcHPjbz#rI?vj$u zPLF5Gjv|8}?ta9`&^H}Va3H;llghU-BC7pxo6?-eTP`7CUZHJrw{5 zhkDYeIYlhL%brQJ1X#<#fz#E}Z87Kj=Hde*f{l|A`9E my8jz0{9hgZgN;Rh%;ug!HJ{lE_@04L;EulOt!iDD=>G@$cU!Ii literal 0 HcmV?d00001 diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/app.json b/Apps/W1/ContosoCoffeeDemoDataset/test/app.json new file mode 100644 index 0000000000..d50d034789 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/app.json @@ -0,0 +1,42 @@ +{ + "id": "c471774f-4b9e-45eb-9619-e7e0b96a8b98", + "name": "Contoso Coffee Demo Dataset Tests", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "Tests for Contoso Coffee Demo Dataset.", + "description": "Test for Contoso Coffee Demo Dataset.", + "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?linkid=2187180", + "url": "https://go.microsoft.com/fwlink/?linkid=724011", + "logo": "./ExtensionLogo.png", + "dependencies": [ + { + "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", + "name": "Contoso Coffee Demo Dataset", + "publisher": "Microsoft", + "version": "24.0.0.0" + }, + { + "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", + "name": "Tests-TestLibraries", + "publisher": "Microsoft", + "version": "24.0.0.0" + } + ], + "screenshots": [], + "platform": "24.0.0.0", + "application": "24.0.0.0", + "idRanges": [ + { + "from": 148000, + "to": 148499 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": false, + "includeSourceInSymbolFile": false + }, + "contextSensitiveHelpUrl": "https://learn.microsoft.com/en-us/dynamics365/business-central/contoso-coffee/contoso-coffee-intro" +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al new file mode 100644 index 0000000000..9f83285be7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al @@ -0,0 +1,49 @@ +codeunit 148048 "DemoTool Dependency Test" +{ + Subtype = Test; + + var + Assert: Codeunit Assert; + CircularDependencyErr: Label 'The demo data module cannot be added. Adding this demo data module %1 would cause a circular dependency with %2', Comment = '%1 = Module Name, %2 = Dependency Name'; + + [Test] + procedure TestDependenciesAreCorrectlyGenerated() + var + ContosoModuleDependency: Codeunit "Contoso Module Dependency"; + ContosoDemoTool: Codeunit "Contoso Demo Tool"; + DemoDataModulesList, SortedModulesList : List of [Enum "Contoso Demo Data Module"]; + begin + // [SCENARIO] There are 3 modules in the list, testing the dependency order. + ContosoDemoTool.RefreshModules(); + + // [GIVEN] The "Contoso Test 1" module is taken dependencies on by the other 2 modules. + DemoDataModulesList.Add(Enum::"Contoso Demo Data Module"::"Contoso Test 3"); + DemoDataModulesList.Add(Enum::"Contoso Demo Data Module"::"Contoso Test 2"); + DemoDataModulesList.Add(Enum::"Contoso Demo Data Module"::"Contoso Test 1"); + + // [WHEN] The dependencies list is generated. + ContosoModuleDependency.BuildSortedDependencyList(SortedModulesList, DemoDataModulesList); + + // [THEN] The list should contain 3 modules. + Assert.AreEqual(3, SortedModulesList.Count(), 'There should only be 3 modules in the list'); + + // [THEN] The "Contoso Test 1" module should be first in the list. + Assert.AreEqual(1, SortedModulesList.IndexOf(Enum::"Contoso Demo Data Module"::"Contoso Test 1"), 'The module that is taken dependencies on should be first'); + end; + + [Test] + procedure TestCircularDependency() + var + ContosoModuleDependency: Codeunit "Contoso Module Dependency"; + ContosoDemoTool: Codeunit "Contoso Demo Tool"; + begin + // [SCENARIO] There are 3 modules in the list (dependency is defined in the implementations), testing the circular dependency. + ContosoDemoTool.RefreshModules(); + + // [GIVEN] Faking a circular dependency + asserterror ContosoModuleDependency.AddDependency(Enum::"Contoso Demo Data Module"::"Contoso Test 1", Enum::"Contoso Demo Data Module"::"Contoso Test 2"); + + // [THEN] Expect a circular dependency error + Assert.ExpectedError(StrSubstNo(CircularDependencyErr, Enum::"Contoso Demo Data Module"::"Contoso Test 1", Enum::"Contoso Demo Data Module"::"Contoso Test 2")); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolLanguageTest.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolLanguageTest.Codeunit.al new file mode 100644 index 0000000000..b03602f2ec --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolLanguageTest.Codeunit.al @@ -0,0 +1,82 @@ +codeunit 148049 "Demo Tool Language Test" +{ + Subtype = Test; + TestPermissions = Disabled; + + var + Assert: Codeunit Assert; + + [Test] + procedure ContosoDemoToolLanguageInitializationTest() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoDemoDataModule: Record "Contoso Demo Data Module"; + ContosoDemoTool: Codeunit "Contoso Demo Tool"; + CurrentLanguageID: Integer; + begin + ContosoDemoDataModule.DeleteAll(); + + // [SCENARIO] Testing the "Language ID" of the Contoso Coffee Demo Data Setup record + CurrentLanguageID := GlobalLanguage(); + + // [GIVEN] Run the Contoso Demo Tool for the first time, "Language ID" should be initialized + GetContosoTest1Module(ContosoDemoDataModule); + ContosoDemoTool.CreateDemoData(ContosoDemoDataModule, Enum::"Contoso Demo Data Level"::"Setup Data"); + + // [THEN] The "Language ID" of the Contoso Coffee Demo Data Setup record should be the same as the current language + ContosoCoffeeDemoDataSetup.Get(); + Assert.AreEqual(CurrentLanguageID, ContosoCoffeeDemoDataSetup."Language ID", 'The "Language ID" of the Contoso Coffee Demo Data Setup record should be the same as the current language'); + end; + + [Test] + [HandlerFunctions('DifferentLanguageDialogHandler')] + procedure ContosoDemoToolLanguageMismatchTest() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoDemoDataModule: Record "Contoso Demo Data Module"; + ContosoDemoTool: Codeunit "Contoso Demo Tool"; + CurrentLanguageID, NewLanguageID : Integer; + begin + ContosoDemoDataModule.DeleteAll(); + + // [SCENARIO] Testing when the "Language ID" does not match the first run of the Contoso Demo Tool + CurrentLanguageID := GlobalLanguage(); + + // [GIVEN] Run the Contoso Demo Tool for the first time, "Language ID" should be initialized + GetContosoTest1Module(ContosoDemoDataModule); + ContosoDemoTool.CreateDemoData(ContosoDemoDataModule, Enum::"Contoso Demo Data Level"::"Setup Data"); + + + // [THEN] The "Language ID" of the Contoso Coffee Demo Data Setup record should be the same as the current language + ContosoCoffeeDemoDataSetup.Get(); + Assert.AreEqual(CurrentLanguageID, ContosoCoffeeDemoDataSetup."Language ID", 'The "Language ID" of the Contoso Coffee Demo Data Setup record should be the same as the current language'); + + // [WHEN] Changing the current language + NewLanguageID := 2057; // English (United Kingdom) + GlobalLanguage(NewLanguageID); + + // [THEN] When running of the Contoso Demo Tool again, there should be dialog pops up warning a language mismatch + // Checking for the dialog is done in the handler function + ContosoDemoTool.CreateDemoData(ContosoDemoDataModule, Enum::"Contoso Demo Data Level"::All); + end; + + [ConfirmHandler] + procedure DifferentLanguageDialogHandler(Question: Text; var Reply: Boolean) + begin + // [THEN] The confirmation dialog should contain the words "different" and "language" + // Not testing for the exact text because we do not want to be dependent on the label string + if Question.Contains('different') and Question.Contains('language') then + Reply := false + else + Error('Different language for the Contoso Demo Tool is not caught.'); + end; + + local procedure GetContosoTest1Module(var ContosoDemoDataModule: Record "Contoso Demo Data Module") + begin + ContosoDemoDataModule.Init(); + ContosoDemoDataModule.Validate(Name, Format(Enum::"Contoso Demo Data Module"::"Contoso Test 1")); + ContosoDemoDataModule.Validate(Module, Enum::"Contoso Demo Data Module"::"Contoso Test 1"); + if not ContosoDemoDataModule.Get(Enum::"Contoso Demo Data Module"::"Contoso Test 1") then + ContosoDemoDataModule.Insert(); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolPermissionTest.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolPermissionTest.Codeunit.al new file mode 100644 index 0000000000..a7b42de2f4 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolPermissionTest.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 148135 "Demo Tool Permission Test" +{ + Subtype = Test; + + var + Assert: Codeunit Assert; + + [Test] + procedure DemeToolPageApplicationAreaEssential() + var + LibraryApplicationArea: Codeunit "Library - Application Area"; + ContosoDemoToolPage: TestPage "Contoso Demo Tool"; + EssentialLicenseExpectedFilterLbl: Label '<>%1&<>%2', Locked = true; + begin + // [SCENARIO] Application Area is used to filter out modules that are not enabled for the license (specifically, Service and Manufacturing are only for Premium) + // [GIVEN] The Application Area is set to Essential + LibraryApplicationArea.EnableEssentialSetup(); + + // [THEN] Open the Contoso Demo Tool page, we filter out modules basing on the Application Area during OnOpenPage trigger + ContosoDemoToolPage.OpenView(); + + // [THEN] The filter should be set to filter out Service and Manufacturing modules + Assert.AreEqual( + StrSubstNo(EssentialLicenseExpectedFilterLbl, Enum::"Contoso Demo Data Module"::"Service Module".AsInteger(), Enum::"Contoso Demo Data Module"::"Manufacturing Module".AsInteger()), + ContosoDemoToolPage.Filter.GetFilter(Module), 'The filter is not set correctly for Essential license'); + end; + + [Test] + procedure DemeToolPageApplicationAreaPremium() + var + LibraryApplicationArea: Codeunit "Library - Application Area"; + ContosoDemoToolPage: TestPage "Contoso Demo Tool"; + begin + // [SCENARIO] Premium license should have access to all modules + // [GIVEN] The Application Area is set to Premium + LibraryApplicationArea.EnablePremiumSetup(); + + // [THEN] Open the Contoso Demo Tool page, we filter out modules basing on the Application Area during OnOpenPage trigger + ContosoDemoToolPage.OpenView(); + + // [THEN] The filter should be set to filter out Service and Manufacturing modules + Assert.AreEqual('', ContosoDemoToolPage.Filter.GetFilter(Module), 'The filter should be empty for Premium license'); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTest.EnumExt.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTest.EnumExt.al new file mode 100644 index 0000000000..210c382806 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTest.EnumExt.al @@ -0,0 +1,15 @@ +enumextension 148000 "Contoso Test" extends "Contoso Demo Data Module" +{ + value(148001; "Contoso Test 1") + { + Implementation = "Contoso Demo Data Module" = "Contoso Test Module 1"; + } + value(148002; "Contoso Test 2") + { + Implementation = "Contoso Demo Data Module" = "Contoso Test Module 2"; + } + value(148003; "Contoso Test 3") + { + Implementation = "Contoso Demo Data Module" = "Contoso Test Module 3"; + } +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule1.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule1.Codeunit.al new file mode 100644 index 0000000000..4122bb93aa --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule1.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 148046 "Contoso Test Module 1" implements "Contoso Demo Data Module" +{ + procedure RunConfigurationPage(); + begin + + end; + + procedure GetDependencies(): List of [enum "Contoso Demo Data Module"] + begin + + end; + + procedure CreateSetupData(); + begin + + end; + + procedure CreateMasterData(); + begin + + end; + + procedure CreateTransactionalData(); + begin + + end; + + procedure CreateHistoricalData(); + begin + + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule2.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule2.Codeunit.al new file mode 100644 index 0000000000..19b2f8a425 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule2.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 148047 "Contoso Test Module 2" implements "Contoso Demo Data Module" +{ + procedure RunConfigurationPage(); + begin + + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::"Contoso Test 1"); + end; + + procedure CreateSetupData(); + begin + + end; + + procedure CreateMasterData(); + begin + + end; + + procedure CreateTransactionalData(); + begin + + end; + + procedure CreateHistoricalData(); + begin + + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule3.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule3.Codeunit.al new file mode 100644 index 0000000000..aae28c206b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/TestImplementations/ContosoTestModule3.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 148039 "Contoso Test Module 3" implements "Contoso Demo Data Module" +{ + procedure RunConfigurationPage(); + begin + + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::"Contoso Test 1"); + end; + + procedure CreateSetupData(); + begin + + end; + + procedure CreateMasterData(); + begin + + end; + + procedure CreateTransactionalData(); + begin + + end; + + procedure CreateHistoricalData(); + begin + + end; +} \ No newline at end of file diff --git a/Apps/W1/CrossEnvironmentIntercompany/app/.objidconfig b/Apps/W1/CrossEnvironmentIntercompany/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/CrossEnvironmentIntercompany/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/CrossEnvironmentIntercompany/app/app.json b/Apps/W1/CrossEnvironmentIntercompany/app/app.json index b32cb09178..cbdf005b5b 100644 --- a/Apps/W1/CrossEnvironmentIntercompany/app/app.json +++ b/Apps/W1/CrossEnvironmentIntercompany/app/app.json @@ -1,26 +1,26 @@ { - "id": "a190e87b-2f59-4e14-a727-421877802768", - "name": "API - Cross Environment Intercompany", - "publisher": "Microsoft", - "version": "23.3.0.0", - "brief": "API - Cross Environment Intercompany lets you easily access tha data necessary to use intercompany in between environments.", - "description": "API - Cross Environment Intercompany lets you easily access tha data necessary to use intercompany in between environments.", - "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://go.microsoft.com/fwlink/?linkid=2103698", - "url": "https://go.microsoft.com/fwlink/?linkid=724011", - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2134520", - "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", - "target": "Cloud", - "idRanges": [ - { - "from": 30400, - "to": 30499 - } - ], - "features": [ - "TranslationFile" - ] + "id": "a190e87b-2f59-4e14-a727-421877802768", + "name": "API - Cross Environment Intercompany", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "API - Cross Environment Intercompany lets you easily access tha data necessary to use intercompany in between environments.", + "description": "API - Cross Environment Intercompany lets you easily access tha data necessary to use intercompany in between environments.", + "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?linkid=2103698", + "url": "https://go.microsoft.com/fwlink/?linkid=724011", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2134520", + "logo": "ExtensionLogo.png", + "platform": "24.0.0.0", + "application": "24.0.0.0", + "target": "Cloud", + "idRanges": [ + { + "from": 30400, + "to": 30499 + } + ], + "features": [ + "TranslationFile" + ] } \ No newline at end of file diff --git a/Apps/W1/CrossEnvironmentIntercompany/app/src/pages/APIBufICCommentLine.Page.al b/Apps/W1/CrossEnvironmentIntercompany/app/src/pages/APIBufICCommentLines.Page.al similarity index 100% rename from Apps/W1/CrossEnvironmentIntercompany/app/src/pages/APIBufICCommentLine.Page.al rename to Apps/W1/CrossEnvironmentIntercompany/app/src/pages/APIBufICCommentLines.Page.al diff --git a/Apps/W1/DataArchive/App/.objidconfig b/Apps/W1/DataArchive/App/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/DataArchive/App/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/DataArchive/App/app.json b/Apps/W1/DataArchive/App/app.json index 4794e7945f..99af7b2b57 100644 --- a/Apps/W1/DataArchive/App/app.json +++ b/Apps/W1/DataArchive/App/app.json @@ -4,17 +4,17 @@ "publisher": "Microsoft", "brief": "Archive important data before you delete it.", "description": "Reduce the amount of data in your production environment by archiving data that's important, but not frequently needed.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2173136", "url": "https://go.microsoft.com/fwlink/?linkid=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", + "application": "24.0.0.0", "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 600, diff --git a/Apps/W1/DataArchive/test/app.json b/Apps/W1/DataArchive/test/app.json index 427b7ad86f..88777d640b 100644 --- a/Apps/W1/DataArchive/test/app.json +++ b/Apps/W1/DataArchive/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Data Archive Tests.", "description": "Data Archive Tests.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?LinkId=847985", "help": "https://go.microsoft.com/fwlink/?linkid=2173136", @@ -16,24 +16,24 @@ "id": "7819d79d-feea-4f09-bbed-5bbaca4bf323", "name": "Data Archive", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/DataCorrectionFA/app/.objidconfig b/Apps/W1/DataCorrectionFA/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/DataCorrectionFA/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/DataCorrectionFA/app/app.json b/Apps/W1/DataCorrectionFA/app/app.json index 9a8225f57e..d2bde6b476 100644 --- a/Apps/W1/DataCorrectionFA/app/app.json +++ b/Apps/W1/DataCorrectionFA/app/app.json @@ -2,7 +2,7 @@ "id": "7961e9dc-a8e5-49b1-839b-3a78803a4cb8", "name": "Troubleshoot FA Ledger Entries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Troubleshoot – Find FA Ledger Entries with potential rounding issues.", "description": "Troubleshoot – Find and correct FA Ledger Entries with potential rounding issues.", "dependencies": [ @@ -16,8 +16,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2206521", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 6090, diff --git a/Apps/W1/DataSearch/App/.objidconfig b/Apps/W1/DataSearch/App/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/DataSearch/App/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/DataSearch/App/DataSearchInvocation.Codeunit.al b/Apps/W1/DataSearch/App/DataSearchInvocation.Codeunit.al index b0599d636f..8bc4519055 100644 --- a/Apps/W1/DataSearch/App/DataSearchInvocation.Codeunit.al +++ b/Apps/W1/DataSearch/App/DataSearchInvocation.Codeunit.al @@ -22,4 +22,20 @@ codeunit 2684 "Data Search Invocation" DataSearch.SetSearchString(SearchValue); DataSearch.Run(); end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"System Action Triggers", 'GetDataSearchSetup', '', true, true)] + local procedure GetDataSearchSetup(var SetupInfo: JsonArray) + var + DataSearchObjectMapping: Codeunit "Data Search Object Mapping"; + begin + DataSearchObjectMapping.GetDataSearchSetup(SetupInfo); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"System Action Triggers", 'GetDisplayPageId', '', true, true)] + local procedure GetDisplayPageId(TableNo: Integer; SystemId: Guid; var DisplayPageId: Integer; var DisplayTableNo: Integer; var DisplaySystemId: Guid) + var + DataSearchObjectMapping: Codeunit "Data Search Object Mapping"; + begin + DataSearchObjectMapping.GetDisplayPageId(TableNo, SystemId, DisplayPageId, DisplayTableNo, DisplaySystemId); + end; } \ No newline at end of file diff --git a/Apps/W1/DataSearch/App/app.json b/Apps/W1/DataSearch/App/app.json index 7f630760d4..ec05f27b29 100644 --- a/Apps/W1/DataSearch/App/app.json +++ b/Apps/W1/DataSearch/App/app.json @@ -4,14 +4,14 @@ "publisher": "Microsoft", "brief": "Enables a user to search data in predefined tables.", "description": "Enables a user to search data in predefined tables. An administrator can select which tables and fields to search", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2204037", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=220403", "url": "https://go.microsoft.com/fwlink/?linkid=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", + "application": "24.0.0.0", "internalsVisibleTo": [ { "id": "c0146a0a-d0fe-4eec-8857-8a66551d010d", @@ -22,7 +22,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 2680, diff --git a/Apps/W1/DataSearch/test/TestDataSearch.codeunit.al b/Apps/W1/DataSearch/test/TestDataSearch.codeunit.al index 0bc1640578..1560568d01 100644 --- a/Apps/W1/DataSearch/test/TestDataSearch.codeunit.al +++ b/Apps/W1/DataSearch/test/TestDataSearch.codeunit.al @@ -246,6 +246,112 @@ codeunit 139507 "Test Data Search" DataSearchPage.Close(); end; + [Test] + [TransactionModel(TransactionModel::AutoRollback)] + procedure TestGetPageIdForCustomer() + var + Customer: Record Customer; + DataSearchObjectMapping: Codeunit "Data Search Object Mapping"; + LibrarySales: Codeunit "Library - Sales"; + DisplayPageId: Integer; + DisplayTableNo: Integer; + DisplaySystemId: Guid; + begin + LibrarySales.CreateCustomer(Customer); + + DataSearchObjectMapping.GetDisplayPageId(Database::Customer, Customer.SystemId, DisplayPageId, DisplayTableNo, DisplaySystemId); + + LibraryAssert.AreEqual(Page::"Customer Card", DisplayPageId, 'Wrong card id'); + LibraryAssert.AreEqual(DisplayTableNo, Database::Customer, 'Wrong display table no.'); + LibraryAssert.AreEqual(DisplaySystemId, Customer.SystemId, 'Wrong system id for customer'); + end; + + [Test] + [TransactionModel(TransactionModel::AutoRollback)] + procedure TestGetPageIdForSalesOrder() + var + Customer: Record Customer; + SalesHeader: Record "Sales Header"; + DataSearchObjectMapping: Codeunit "Data Search Object Mapping"; + LibrarySales: Codeunit "Library - Sales"; + DisplayPageId: Integer; + DisplayTableNo: Integer; + DisplaySystemId: Guid; + begin + LibrarySales.CreateCustomer(Customer); + LibrarySales.CreateSalesOrder(SalesHeader); + + DataSearchObjectMapping.GetDisplayPageId(Database::"Sales Header", SalesHeader.SystemId, DisplayPageId, DisplayTableNo, DisplaySystemId); + + LibraryAssert.AreEqual(Page::"Sales Order", DisplayPageId, 'Wrong card id'); + LibraryAssert.AreEqual(DisplayTableNo, Database::"Sales Header", 'Wrong display table no.'); + LibraryAssert.AreEqual(DisplaySystemId, SalesHeader.SystemId, 'Wrong system id for SalesHeader'); + end; + + [Test] + [TransactionModel(TransactionModel::AutoCommit)] + procedure TestGetPageIdForSalesOrderLine() + var + Customer: Record Customer; + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + DataSearchObjectMapping: Codeunit "Data Search Object Mapping"; + LibrarySales: Codeunit "Library - Sales"; + DisplayPageId: Integer; + DisplayTableNo: Integer; + DisplaySystemId: Guid; + begin + LibrarySales.CreateCustomer(Customer); + LibrarySales.CreateSalesOrder(SalesHeader); + SalesLine.SetRange("Document Type", SalesHeader."Document Type"); + SalesLine.SetRange("Document No.", SalesHeader."No."); + SalesLine.FindFirst(); + + DataSearchObjectMapping.GetDisplayPageId(Database::"Sales Line", SalesLine.SystemId, DisplayPageId, DisplayTableNo, DisplaySystemId); + + LibraryAssert.AreEqual(Page::"Sales Order", DisplayPageId, 'Wrong card id'); + LibraryAssert.AreEqual(DisplayTableNo, Database::"Sales Header", 'Wrong display table no.'); + LibraryAssert.AreEqual(DisplaySystemId, SalesHeader.SystemId, 'Wrong system id for SalesHeader'); + end; + + + /* + Expects the search setup in the format of (example): + [ + { + "tableNo": 1234, + "tableSubtype": 0, + "tableSubtypeFieldNo": 3, + "tableSearchFieldNos": [ 1, 2, 5, 8 ] + } + ] + */ + [Test] + [TransactionModel(TransactionModel::AutoCommit)] + procedure TestGetSetup() + var + DataSearchObjectMapping: Codeunit "Data Search Object Mapping"; + jArray: JsonArray; + jObject: JsonObject; + jToken: JsonToken; + i: Integer; + begin + DataSearchObjectMapping.GetDataSearchSetup(jArray); + + LibraryAssert.IsTrue(jArray.Count() > 0, 'Setup was empty'); + jArray.Get(1, jToken); + jObject := jToken.AsObject(); + jObject.Get('tableNo', jToken); + LibraryAssert.IsTrue(jToken.AsValue().AsInteger() > 0, 'No tableNo provided.'); + jObject.Get('tableSubtype', jToken); + i := jToken.AsValue().AsInteger(); // to verify that it can be read as an integer + jObject.Get('tableSubtypeFieldNo', jToken); + i := jToken.AsValue().AsInteger(); // to verify that it can be read as an integer + jObject.Get('tableSearchFieldNos', jToken); + jArray := jToken.AsArray(); + LibraryAssert.IsTrue(jArray.Count() > 0, 'tableSearchFieldNos not provided.'); + end; + [ModalPageHandler] procedure DataSearchSetupListsPageHandler(var DataSearchSetupListsPage: TestPage "Data Search Setup (Lists)") begin diff --git a/Apps/W1/DataSearch/test/app.json b/Apps/W1/DataSearch/test/app.json index d3d5581631..af057fec21 100644 --- a/Apps/W1/DataSearch/test/app.json +++ b/Apps/W1/DataSearch/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Data Search Tests.", "description": "Data Search Tests.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206906", @@ -16,37 +16,37 @@ "id": "ac14293f-1eb7-4a7b-9936-b280da31970b", "name": "Data Search", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ - { - "from": 139507, - "to": 139509 - } - ], + { + "from": 139507, + "to": 139509 + } + ], "target": "OnPrem", "features": [ - "TranslationFile" - ], - "resourceExposurePolicy": { + "TranslationFile" + ], +"resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true diff --git a/Apps/W1/DynamicsGPHistoricalData/app/.objidconfig b/Apps/W1/DynamicsGPHistoricalData/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/DynamicsGPHistoricalData/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/DynamicsGPHistoricalData/app/app.json b/Apps/W1/DynamicsGPHistoricalData/app/app.json index 416bb7ff7b..7a2456034c 100644 --- a/Apps/W1/DynamicsGPHistoricalData/app/app.json +++ b/Apps/W1/DynamicsGPHistoricalData/app/app.json @@ -2,7 +2,7 @@ "id": "7c7d97ca-3598-40f5-b263-f713f49bd2a5", "name": "Dynamics GP Historical Data", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "This extension adds the necessary components to retain historical Dynamics GP data after the cloud migration. Only uninstall this extension if the historical data is no longer needed.", "description": "This extension adds the necessary components to retain historical Dynamics GP data after the cloud migration. Only uninstall this extension if the historical data is no longer needed.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -17,14 +17,14 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, "to": 49999 } ], - "application": "23.3.0.0", + "application": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, diff --git a/Apps/W1/DynamicsGPHistoricalData/test/app.json b/Apps/W1/DynamicsGPHistoricalData/test/app.json index 38dbc66bf4..8f276e4a1f 100644 --- a/Apps/W1/DynamicsGPHistoricalData/test/app.json +++ b/Apps/W1/DynamicsGPHistoricalData/test/app.json @@ -2,7 +2,7 @@ "id": "b199fc6d-1967-40c7-8d1c-ecdfa54009ed", "name": "Dynamics GP Historical Data Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Dynamics GP Historical Data extension.", "description": "Tests for the Dynamics GP Historical Data extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,20 +16,20 @@ "id": "7c7d97ca-3598-40f5-b263-f713f49bd2a5", "name": "Dynamics GP Historical Data", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 139410, diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/.objidconfig b/Apps/W1/DynamicsGPHistorySmartLists/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/DynamicsGPHistorySmartLists/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/app.json b/Apps/W1/DynamicsGPHistorySmartLists/app/app.json index 5b49b94c2e..7553236279 100644 --- a/Apps/W1/DynamicsGPHistorySmartLists/app/app.json +++ b/Apps/W1/DynamicsGPHistorySmartLists/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This extension will allow you to query your Dynamics GP history data with your Dynamics 365 Business Central cloud tenant.", "description": "This extension will add queries for your Dynamics GP history data that is in your Dynamics 365 Business Central cloud tenant. This will enable you to view and search your Dynamics GP history data, and provide you with anytime, anywhere access.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=825900", @@ -16,13 +16,13 @@ "id": "feeb3504-556e-4790-b28d-a2b9ce302d81", "name": "Dynamics GP Intelligent Cloud", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -35,5 +35,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3000.GP_HistAllSalesTransactions.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistAllSalesTrx.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3000.GP_HistAllSalesTransactions.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistAllSalesTrx.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3011.GP_HistInventoryTransactions.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistInventoryTrx.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3011.GP_HistInventoryTransactions.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistInventoryTrx.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3008.GP_HistPayablesTransactions.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistPayablesTrx.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3008.GP_HistPayablesTransactions.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistPayablesTrx.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3005.GP_HistReceivablesTransactions.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistReceivablesTrx.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3005.GP_HistReceivablesTransactions.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistReceivablesTrx.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3010.GP_HistReceivingsLineItems.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistReceivingsLineItems.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3010.GP_HistReceivingsLineItems.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistReceivingsLineItems.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3009.GP_HistReceivingsTransactions.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistReceivingsTrx.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3009.GP_HistReceivingsTransactions.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistReceivingsTrx.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3001.GP_HistSalesInvoices.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesInvoices.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3001.GP_HistSalesInvoices.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesInvoices.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3007.GP_HistSalesLineItems.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesLineItems.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3007.GP_HistSalesLineItems.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesLineItems.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3002.GP_HistSalesOrders.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesOrders.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3002.GP_HistSalesOrders.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesOrders.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3003.GP_HistSalesQuotes.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesQuotes.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3003.GP_HistSalesQuotes.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesQuotes.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3004.GP_HistSalesReturns.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesReturns.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3004.GP_HistSalesReturns.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPHistSalesReturns.Query.al diff --git a/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3006.GP_OpenReceivablesTransactions.al b/Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPOpenReceivablesTrx.Query.al similarity index 100% rename from Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/Que3006.GP_OpenReceivablesTransactions.al rename to Apps/W1/DynamicsGPHistorySmartLists/app/src/Queries/GPOpenReceivablesTrx.Query.al diff --git a/Apps/W1/EDocument/app/.objidconfig b/Apps/W1/EDocument/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/EDocument/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/README.md b/Apps/W1/EDocument/app/README.md index 6debc7d704..18d241f247 100644 --- a/Apps/W1/EDocument/app/README.md +++ b/Apps/W1/EDocument/app/README.md @@ -161,7 +161,6 @@ procedure GetBasicInfo(var EDocument: Record "E-Document"; var TempBlob: Codeuni ``` procedure PrepareDocument(var EDocument: Record "E-Document"; var CreatedDocumentHeader: RecordRef; var CreatedDocumentLines: RecordRef; var TempBlob: Codeunit "Temp Blob") - var begin end; diff --git a/Apps/W1/EDocument/app/app.json b/Apps/W1/EDocument/app/app.json index 0744fe76f1..5ff4f4cd9d 100644 --- a/Apps/W1/EDocument/app/app.json +++ b/Apps/W1/EDocument/app/app.json @@ -1,41 +1,37 @@ { - "id": "e1d97edc-c239-46b4-8d84-6368bdf67c8b", - "name": "E-Document Core", - "publisher": "Microsoft", - "brief": "The Dynamics 365 Business Central E-Documents module enables different models of electronic invoicing, available for additional localizations.", - "description": "Business Central's E-Documents module is the foundation layer for all e-invoicing standards covering most common processes, but it can be used for other electronic documents. The module is easily extendable with the country-based e-invoicing apps. The E-Documents app covers both sales and purchase processes and can have different lifecycles from standard invoices in Business Central.", - "version": "23.3.0.0", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://go.microsoft.com/fwlink/?linkid=2204541", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206603", - "dependencies": [ - - ], + "id": "e1d97edc-c239-46b4-8d84-6368bdf67c8b", + "name": "E-Document Core", + "publisher": "Microsoft", + "brief": "The Dynamics 365 Business Central E-Documents module enables different models of electronic invoicing, available for additional localizations.", + "description": "Business Central's E-Documents module is the foundation layer for all e-invoicing standards covering most common processes, but it can be used for other electronic documents. The module is easily extendable with the country-based e-invoicing apps. The E-Documents app covers both sales and purchase processes and can have different lifecycles from standard invoices in Business Central.", + "version": "24.0.0.0", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?linkid=2204541", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206603", + "dependencies": [], "internalsVisibleTo": [ - { - "id": "e1d97edc-c239-46b4-8d84-6368bdf67c8c", - "name": "E-Document Core Tests", - "publisher": "Microsoft" - } - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "idRanges": [ - { - "from": 6100, - "to": 6170 - } - ], - "resourceExposurePolicy": { - "allowDebugging": true, - "allowDownloadingSource": true, - "includeSourceInSymbolFile": true - }, - "application": "23.3.0.0", - "target": "Cloud" + { + "id": "e1d97edc-c239-46b4-8d84-6368bdf67c8c", + "name": "E-Document Core Tests", + "publisher": "Microsoft" + } + ], + "screenshots": [], + "platform": "24.0.0.0", + "idRanges": [ + { + "from": 6100, + "to": 6170 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "application": "24.0.0.0", + "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Document/EDocument.Interface.al b/Apps/W1/EDocument/app/src/Document/EDocument.Interface.al index 9f6128a1b7..3d3c99af48 100644 --- a/Apps/W1/EDocument/app/src/Document/EDocument.Interface.al +++ b/Apps/W1/EDocument/app/src/Document/EDocument.Interface.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al b/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al index e00d2908b2..4dd336751e 100644 --- a/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al @@ -9,6 +9,8 @@ using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Finance.GeneralLedger.Ledger; using Microsoft.Purchases.Document; using Microsoft.Purchases.History; +using Microsoft.Purchases.Vendor; +using Microsoft.Sales.Customer; using Microsoft.Sales.Document; using Microsoft.Sales.FinanceCharge; using Microsoft.Sales.History; @@ -152,11 +154,22 @@ codeunit 6108 "E-Document Processing" end; local procedure GetDocSendingProfileForCustVend(CustomerNo: Code[20]; VendorNo: Code[20]) DocumentSendingProfile: Record "Document Sending Profile"; + var + Customer: Record Customer; + Vendor: Record Vendor; begin - if CustomerNo <> '' then - DocumentSendingProfile.GetDefaultForCustomer(CustomerNo, DocumentSendingProfile) - else - DocumentSendingProfile.GetDefaultForVendor(VendorNo, DocumentSendingProfile); + if CustomerNo <> '' then begin + if Customer.Get(CustomerNo) then + if DocumentSendingProfile.Get(Customer."Document Sending Profile") then + exit; + end else + if Vendor.Get(VendorNo) then + if DocumentSendingProfile.Get(Vendor."Document Sending Profile") then + exit; + + DocumentSendingProfile.SetRange(Default, true); + if not DocumentSendingProfile.FindFirst() then + Clear(DocumentSendingProfile); end; local procedure GetPostedRecord(var EDocument: Record "E-Document"; var RelatedRecord: Variant): Boolean diff --git a/Apps/W1/EDocument/app/src/Setup/EDocumentSetup.Codeunit.al b/Apps/W1/EDocument/app/src/Setup/EDocumentSetup.Codeunit.al index e90243e121..a258fa0800 100644 --- a/Apps/W1/EDocument/app/src/Setup/EDocumentSetup.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Setup/EDocumentSetup.Codeunit.al @@ -13,7 +13,6 @@ codeunit 6145 "E-Document Setup" Subtype = Install; trigger OnInstallAppPerCompany() - var begin InstallWorkFlowTableRelation(); AddEDocumentLogToAllowedTables(); diff --git a/Apps/W1/EDocument/test/app.json b/Apps/W1/EDocument/test/app.json index 09d3151682..a14984d9de 100644 --- a/Apps/W1/EDocument/test/app.json +++ b/Apps/W1/EDocument/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "E-Document Core Tests", "description": "E-Document Core Tests", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2204541", @@ -16,31 +16,31 @@ "name": "E-Document Core", "id": "e1d97edc-c239-46b4-8d84-6368bdf67c8b", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -52,6 +52,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "OnPrem" } \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Flow/EDocumentFlowSetup.Codeunit.al b/Apps/W1/EDocument/test/src/Flow/EDocmentFlowSetupTest.Codeunit.al similarity index 100% rename from Apps/W1/EDocument/test/src/Flow/EDocumentFlowSetup.Codeunit.al rename to Apps/W1/EDocument/test/src/Flow/EDocmentFlowSetupTest.Codeunit.al diff --git a/Apps/W1/EDocument/test/src/Mock/EDocFormat.EnumExt.al b/Apps/W1/EDocument/test/src/Mock/EDocFormatMock.EnumExt.al similarity index 100% rename from Apps/W1/EDocument/test/src/Mock/EDocFormat.EnumExt.al rename to Apps/W1/EDocument/test/src/Mock/EDocFormatMock.EnumExt.al diff --git a/Apps/W1/EDocument/test/src/Mock/EDocIntegration.EnumExt.al b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.EnumExt.al similarity index 100% rename from Apps/W1/EDocument/test/src/Mock/EDocIntegration.EnumExt.al rename to Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.EnumExt.al diff --git a/Apps/W1/EDocument/test/src/Processing/EDocProcessingTest.Codeunit.al b/Apps/W1/EDocument/test/src/Processing/EDocProcesssingTest.Codeunit.al similarity index 96% rename from Apps/W1/EDocument/test/src/Processing/EDocProcessingTest.Codeunit.al rename to Apps/W1/EDocument/test/src/Processing/EDocProcesssingTest.Codeunit.al index dbd930241e..fa3346b7a2 100644 --- a/Apps/W1/EDocument/test/src/Processing/EDocProcessingTest.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Processing/EDocProcesssingTest.Codeunit.al @@ -18,6 +18,7 @@ codeunit 139624 "E-Doc Processsing Test" ThrowRuntimeError, ThrowLoggedError : Boolean; IncorrectValueErr: Label 'Incorrect value found'; DocumentSendingProfileWithWorkflowErr: Label 'Workflow %1 defined for %2 in Document Sending Profile %3 is not found.', Comment = '%1 - The workflow code, %2 - Enum value set in Electronic Document, %3 - Document Sending Profile Code'; + EDocEmptyErr: Label 'The E-Document table is empty.'; [Test] procedure CreateEDocumentBeforeAfterEventsSuccessful() @@ -564,6 +565,33 @@ codeunit 139624 "E-Doc Processsing Test" UnbindSubscription(EDocProcessingTest); end; + [Test] + procedure PostDocumentNoDefaultOrElectronicProfile() + var + EDocument: Record "E-Document"; + DocumentSendingProfile: Record "Document Sending Profile"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document without having default or Electronic sending profile + Initialize(); + // [GIVEN] No default document sending profile + DocumentSendingProfile.Reset(); + DocumentSendingProfile.DeleteAll(); + + // [THEN] No e-Document is created + asserterror LibraryEDoc.CreateEDocumentFromSales(EDocument); + Assert.AreEqual(EDocEmptyErr, GetLastErrorText(), IncorrectValueErr); + + // [GIVEN] Default document sending profile is not electronic + DocumentSendingProfile.GetDefault(DocumentSendingProfile); + DocumentSendingProfile."Electronic Service Flow" := 'NON-WORKFLOW'; + DocumentSendingProfile.Modify(); + + // [THEN] No e-Document is created + asserterror LibraryEDoc.CreateEDocumentFromSales(EDocument); + Assert.AreEqual(EDocEmptyErr, GetLastErrorText(), IncorrectValueErr); + end; + internal procedure EnableOnCreateEvent() begin EnableOnCreate := true; diff --git a/Apps/W1/EDocument/test/src/TestImplementations/TestImportEDocFormat.Codeunit.al b/Apps/W1/EDocument/test/src/TestImplementations/TestImportEDocumentFormat.Codeunit.al similarity index 100% rename from Apps/W1/EDocument/test/src/TestImplementations/TestImportEDocFormat.Codeunit.al rename to Apps/W1/EDocument/test/src/TestImplementations/TestImportEDocumentFormat.Codeunit.al diff --git a/Apps/W1/EDocumentsConnector/app/app.json b/Apps/W1/EDocumentsConnector/app/app.json index 04875c453b..a764285a19 100644 --- a/Apps/W1/EDocumentsConnector/app/app.json +++ b/Apps/W1/EDocumentsConnector/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This app extends Microsoft standard E-documents framework, offering connectors to 3rd party access-points providers.", "description": "This app extends Microsoft standard E-documents framework, offering connectors to 3rd party access-points providers.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": " https://learn.microsoft.com/en-us/dynamics365/business-central/finance-edocuments-overview", @@ -12,17 +12,17 @@ "logo": "ExtensionLogo.png", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206603", "dependencies": [ - { - "id": "e1d97edc-c239-46b4-8d84-6368bdf67c8b", - "name": "E-Document Core", - "publisher": "Microsoft", - "version": "23.3.0.0" - } + { + "id": "e1d97edc-c239-46b4-8d84-6368bdf67c8b", + "name": "E-Document Core", + "publisher": "Microsoft", + "version": "24.0.0.0" + } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 6360, @@ -34,6 +34,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "OnPrem" -} \ No newline at end of file + } \ No newline at end of file diff --git a/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtConnectionSetupCard.Page.al b/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtConnectionSetupCard.Page.al index 135adcd4d3..e9ccb6bbb1 100644 --- a/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtConnectionSetupCard.Page.al +++ b/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtConnectionSetupCard.Page.al @@ -78,7 +78,28 @@ page 6361 "EDoc Ext Connection Setup Card" { ApplicationArea = Basic, Suite; ToolTip = 'Specifies the company ID.'; - ShowMandatory = true; + } + } + group(Authorize) + { + field(AuthorizationStatusControl; 'Authorize') + { + ShowCaption = false; + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Opens the OAuth 2.0 setup page where you can specify the data and authorize.'; + + trigger OnDrillDown() + var + OAuth20SetupPage: Page "OAuth 2.0 Setup"; + begin + Rec.TestField("Client ID"); + Rec.TestField("Client Secret"); + OAuth20Setup.FindLast(); + OAuth20SetupPage.SetRecord(OAuth20Setup); + OAuth20SetupPage.RunModal(); + OAuth20Setup.Find(); + end; } } } @@ -105,6 +126,23 @@ page 6361 "EDoc Ext Connection Setup Card" PageroAuth.OpenOAuthSetupPage(); end; } + action(RunJobQueue) + { + ApplicationArea = Basic, Suite; + Caption = 'Set up Job Queue'; + Image = Setup; + Promoted = true; + PromotedCategory = Process; + PromotedOnly = true; + ToolTip = 'Set up Job Queue.'; + + trigger OnAction() + var + PageroJobHelper: Codeunit "Pagero Processing"; + begin + PageroJobHelper.SetUpJobQueueEntry(); + end; + } } } @@ -117,6 +155,8 @@ page 6361 "EDoc Ext Connection Setup Card" Rec."DocumentAPI Url" := DocumentAPITxt; Rec."Fileparts URL" := FilepartAPITxt; Rec.Insert(); + + InitPageroSetup(); end; FeatureTelemetry.LogUptake('0000LST', ExternalServiceTok, Enum::"Feature Uptake Status"::Discovered); @@ -124,7 +164,19 @@ page 6361 "EDoc Ext Connection Setup Card" ClientSecret := Rec."Client Secret"; end; + procedure InitPageroSetup() + var + OAuth20: Codeunit OAuth2; + RedirectUrl: Text; + begin + OAuth20.GetDefaultRedirectURL(RedirectUrl); + Rec.Validate("Redirect URL", CopyStr(RedirectUrl, 1, MaxStrLen(Rec."Redirect URL"))); + Rec.Modify(); + end; + + var + OAuth20Setup: Record "OAuth 2.0 Setup"; PageroAuth: Codeunit "Pagero Auth."; FeatureTelemetry: Codeunit "Feature Telemetry"; ExternalServiceTok: Label 'ExternalServiceConnector', Locked = true; diff --git a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroAuth.Codeunit.al b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroAuth.Codeunit.al index 93f5aa5de5..75f79ca556 100644 --- a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroAuth.Codeunit.al +++ b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroAuth.Codeunit.al @@ -118,6 +118,7 @@ codeunit 6364 "Pagero Auth." state := ''; url := StrSubstNo(CurrUrlWithStateTxt, OAuth20Mgt.GetAuthorizationURL(OAuth20Setup, GetToken(OAuth20Setup."Client ID", DataScope::Company)), state); + OAuth2ControlAddIn.SetOAuth2Properties(url, state); OAuth2ControlAddIn.RunModal(); auth_error := OAuth2ControlAddIn.GetAuthError(); diff --git a/Apps/W1/EU3PartyTradePurchase/app/.objidconfig b/Apps/W1/EU3PartyTradePurchase/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/EU3PartyTradePurchase/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/EU3PartyTradePurchase/app/app.json b/Apps/W1/EU3PartyTradePurchase/app/app.json index 818d81923e..b365c3a45d 100644 --- a/Apps/W1/EU3PartyTradePurchase/app/app.json +++ b/Apps/W1/EU3PartyTradePurchase/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The app is used to provide support for the EU 3-Party trade purchase transactions.", "description": "When receiving a purchase invoice from a customer in one EU country/region and the products are sent to a different EU country/region without entering country/region, then that transaction amount can be identified and reported separately.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2235119", @@ -21,7 +21,7 @@ "publisher": "Microsoft" } ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 4880, @@ -33,6 +33,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/EU3PartyTradePurchase/app/src/Enums/FeatureToUpdateEU3Party.EnumExt.al b/Apps/W1/EU3PartyTradePurchase/app/src/Enums/FeatureToUpdateEU3PartyTrade.EnumExt.al similarity index 100% rename from Apps/W1/EU3PartyTradePurchase/app/src/Enums/FeatureToUpdateEU3Party.EnumExt.al rename to Apps/W1/EU3PartyTradePurchase/app/src/Enums/FeatureToUpdateEU3PartyTrade.EnumExt.al index 063ac73d8d..974bf0932c 100644 --- a/Apps/W1/EU3PartyTradePurchase/app/src/Enums/FeatureToUpdateEU3Party.EnumExt.al +++ b/Apps/W1/EU3PartyTradePurchase/app/src/Enums/FeatureToUpdateEU3PartyTrade.EnumExt.al @@ -1,3 +1,4 @@ +#if not CLEAN23 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. @@ -6,7 +7,6 @@ namespace Microsoft.Finance.EU3PartyTrade; using System.Environment.Configuration; -#if not CLEAN23 enumextension 4880 "Feature To Update - EU3 Party Trade" extends "Feature To Update" { value(4880; EU3PartyTradePurchase) diff --git a/Apps/W1/EU3PartyTradePurchase/test/app.json b/Apps/W1/EU3PartyTradePurchase/test/app.json index 5b9bbd0582..8eb476f1be 100644 --- a/Apps/W1/EU3PartyTradePurchase/test/app.json +++ b/Apps/W1/EU3PartyTradePurchase/test/app.json @@ -2,7 +2,7 @@ "id": "3df4eddc-d735-46f7-9645-3c027296d54f", "name": "EU 3-Party Trade Purchase Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft EU 3-Party Trade Purchase extension.", "description": "Tests for the Microsoft EU 3-Party Trade Purchase extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2179727", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "0a9a9ce1-6f98-4cf0-82e2-0b3e7cabb32a", "name": "EU 3-Party Trade Purchase", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/Email - Current User Connector/app/.objidconfig b/Apps/W1/Email - Current User Connector/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/Email - Current User Connector/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/Email - Current User Connector/app/app.json b/Apps/W1/Email - Current User Connector/app/app.json index 00c2f212f8..fd743bc6ed 100644 --- a/Apps/W1/Email - Current User Connector/app/app.json +++ b/Apps/W1/Email - Current User Connector/app/app.json @@ -2,7 +2,7 @@ "id": "08d69832-9231-429e-be2c-8bab2c96905b", "name": "Email - Current User Connector", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enable users to use their own Microsoft 365 email account to send email in Business Central.", "description": "This connector enables users to send email from their own email account. After you set up this connector, it will automatically find the email accounts specified for each user. You only need to set up this connector one time.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,13 +15,13 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "publisher": "Microsoft", "name": "System Application", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e6328152-bb29-4664-9dae-3bc7eaae1fd8", "name": "Email - Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -34,7 +34,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 2, diff --git a/Apps/W1/Email - Current User Connector/test/app.json b/Apps/W1/Email - Current User Connector/test/app.json index 4d24d13f99..d346e21f88 100644 --- a/Apps/W1/Email - Current User Connector/test/app.json +++ b/Apps/W1/Email - Current User Connector/test/app.json @@ -2,7 +2,7 @@ "id": "ac0b4daa-f46f-42ef-9468-6b623298e36b", "name": "Email - Current User Connector Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for Current User Connector", "description": "Tests for Current User Connector", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,49 +15,49 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "publisher": "Microsoft", "name": "System Application", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "publisher": "Microsoft", "name": "System Application Test Library", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e6328152-bb29-4664-9dae-3bc7eaae1fd8", "name": "Email - Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "b5034210-b258-4983-8858-f5cbfd54cb35", "name": "Library Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "08d69832-9231-429e-be2c-8bab2c96905b", "name": "Email - Current User Connector", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139750, diff --git a/Apps/W1/Email - Microsoft 365 Connector/app/.objidconfig b/Apps/W1/Email - Microsoft 365 Connector/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/Email - Microsoft 365 Connector/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/Email - Microsoft 365 Connector/app/app.json b/Apps/W1/Email - Microsoft 365 Connector/app/app.json index 196ac9696b..5883cc752c 100644 --- a/Apps/W1/Email - Microsoft 365 Connector/app/app.json +++ b/Apps/W1/Email - Microsoft 365 Connector/app/app.json @@ -2,7 +2,7 @@ "id": "aceb66c8-472e-437c-81d3-27e6c07d0f14", "name": "Email - Microsoft 365 Connector", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enable all users to use a single Microsoft 365 email account to send email in Business Central.", "description": "This connector enables all users to send email from the same email account in Business Central.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,13 +15,13 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "publisher": "Microsoft", "name": "System Application", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e6328152-bb29-4664-9dae-3bc7eaae1fd8", "name": "Email - Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -34,7 +34,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, diff --git a/Apps/W1/Email - Microsoft 365 Connector/test/app.json b/Apps/W1/Email - Microsoft 365 Connector/test/app.json index 5f71fe6c9d..567566780b 100644 --- a/Apps/W1/Email - Microsoft 365 Connector/test/app.json +++ b/Apps/W1/Email - Microsoft 365 Connector/test/app.json @@ -2,7 +2,7 @@ "id": "c436fd91-e29f-406c-b91f-33cd176ca9be", "name": "Email - Microsoft 365 Connector Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for Microsoft 365 Connector", "description": "Tests for Microsoft 365 Connector", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,43 +15,43 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "publisher": "Microsoft", "name": "System Application", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e6328152-bb29-4664-9dae-3bc7eaae1fd8", "name": "Email - Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "aceb66c8-472e-437c-81d3-27e6c07d0f14", "name": "Email - Microsoft 365 Connector", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "b5034210-b258-4983-8858-f5cbfd54cb35", "name": "Library Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 135144, diff --git a/Apps/W1/Email - Outlook REST API/app/.objidconfig b/Apps/W1/Email - Outlook REST API/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/Email - Outlook REST API/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/Email - Outlook REST API/app/app.json b/Apps/W1/Email - Outlook REST API/app/app.json index 54b06d0139..b30bfc65f6 100644 --- a/Apps/W1/Email - Outlook REST API/app/app.json +++ b/Apps/W1/Email - Outlook REST API/app/app.json @@ -2,7 +2,7 @@ "id": "e6328152-bb29-4664-9dae-3bc7eaae1fd8", "name": "Email - Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides a library that enables email connectors to communicate with the Outlook and Graph APIs.", "description": "This extension provides a library that enables email connectors to communicate with the Outlook and Graph APIs to retrieve user information and send email messages.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,7 +15,7 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "publisher": "Microsoft", "name": "System Application", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -28,8 +28,8 @@ "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 4506, diff --git a/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailAdminORA.permissionsetext.al b/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailAdminORA.permissionsetext.al index 0d239cf9f8..7efedf1b73 100644 --- a/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailAdminORA.permissionsetext.al +++ b/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailAdminORA.permissionsetext.al @@ -5,8 +5,6 @@ namespace System.Email; -using System.Security.AccessControl; - permissionsetextension 4507 "Email - Admin - ORA" extends "Email - Admin" { IncludedPermissionSets = "Email ORA - Edit"; diff --git a/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailEditORA.permissionsetext.al b/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailEditORA.permissionsetext.al index 748245c78b..d1eeab3a3c 100644 --- a/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailEditORA.permissionsetext.al +++ b/Apps/W1/Email - Outlook REST API/app/src/Permissions/EmailEditORA.permissionsetext.al @@ -5,8 +5,6 @@ namespace System.Email; -using System.Security.AccessControl; - permissionsetextension 4506 "Email - Edit - ORA" extends "Email - Edit" { IncludedPermissionSets = "Email ORA - Read"; diff --git a/Apps/W1/Email - Outlook REST API/test/app.json b/Apps/W1/Email - Outlook REST API/test/app.json index b19f45a46d..16902e7d29 100644 --- a/Apps/W1/Email - Outlook REST API/test/app.json +++ b/Apps/W1/Email - Outlook REST API/test/app.json @@ -2,7 +2,7 @@ "id": "b5034210-b258-4983-8858-f5cbfd54cb35", "name": "Library Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Test library for the Outlook REST API.", "description": "This extension provides mock functionality for creating email messages that can be used to test email capabilities in other extensions.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,37 +15,37 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "publisher": "Microsoft", "name": "System Application", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e6328152-bb29-4664-9dae-3bc7eaae1fd8", "name": "Email - Outlook REST API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 135140, diff --git a/Apps/W1/Email - SMTP API/app/.objidconfig b/Apps/W1/Email - SMTP API/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/Email - SMTP API/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/Email - SMTP API/app/app.json b/Apps/W1/Email - SMTP API/app/app.json index f8e7a7d677..f2fbf865fd 100644 --- a/Apps/W1/Email - SMTP API/app/app.json +++ b/Apps/W1/Email - SMTP API/app/app.json @@ -5,7 +5,7 @@ "brief": "This app enables sending emails through the SMTP protocol.", "logo": "ExtensionLogo.png", "description": "This app enables sending emails through the SMTP protocol.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2186415", @@ -15,7 +15,7 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "publisher": "Microsoft", "name": "System Application", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -28,7 +28,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 4611, diff --git a/Apps/W1/Email - SMTP API/app/permissions/EmailSMTPAPI.PermissionSetExt.al b/Apps/W1/Email - SMTP API/app/permissions/EmailSMTPAPI.PermissionSetExt.al index dba34bc9ee..f53a70b00b 100644 --- a/Apps/W1/Email - SMTP API/app/permissions/EmailSMTPAPI.PermissionSetExt.al +++ b/Apps/W1/Email - SMTP API/app/permissions/EmailSMTPAPI.PermissionSetExt.al @@ -5,8 +5,6 @@ namespace System.Email; -using System.Security.AccessControl; - permissionsetextension 4616 "Email - SMTP API" extends "Email - Edit" { IncludedPermissionSets = "Email - SMTP API - Objects"; diff --git a/Apps/W1/Email - SMTP API/test library/app.json b/Apps/W1/Email - SMTP API/test library/app.json index 599e21679f..febef9b614 100644 --- a/Apps/W1/Email - SMTP API/test library/app.json +++ b/Apps/W1/Email - SMTP API/test library/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Email - SMTP API Library app", "description": "Tests for the Email - SMTP API Library app", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2134520", @@ -15,13 +15,13 @@ "id": "8fc50dfb-d338-4fd9-9499-5e44cc8cbf50", "name": "Email - SMTP API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 100000, diff --git a/Apps/W1/Email - SMTP API/test/app.json b/Apps/W1/Email - SMTP API/test/app.json index d9cb8a3951..508905dbae 100644 --- a/Apps/W1/Email - SMTP API/test/app.json +++ b/Apps/W1/Email - SMTP API/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Email - SMTP API app", "description": "Tests for the Email - SMTP API app", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2134520", @@ -15,37 +15,37 @@ "id": "51493bda-1ba4-46dc-a72e-65eadc0e63b1", "name": "Email - SMTP API Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "8fc50dfb-d338-4fd9-9499-5e44cc8cbf50", "name": "Email - SMTP API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 100000, diff --git a/Apps/W1/Email - SMTP Connector/app/.objidconfig b/Apps/W1/Email - SMTP Connector/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/Email - SMTP Connector/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/Email - SMTP Connector/app/app.json b/Apps/W1/Email - SMTP Connector/app/app.json index 90c4f87bb5..02fb547ed6 100644 --- a/Apps/W1/Email - SMTP Connector/app/app.json +++ b/Apps/W1/Email - SMTP Connector/app/app.json @@ -4,13 +4,13 @@ "publisher": "Microsoft", "brief": "Enable all users to use a single email account through the SMTP protocol to send email in Business Central.", "description": "This app enables all users to send email from the same email account in Business Central.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2134520", "url": "https://go.microsoft.com/fwlink/?linkid=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", + "application": "24.0.0.0", "internalsVisibleTo": [ { "id": "725ef69c-e9f2-4dfb-8170-0faedcd52a5b", @@ -23,13 +23,13 @@ "id": "8fc50dfb-d338-4fd9-9499-5e44cc8cbf50", "name": "Email - SMTP API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 4511, diff --git a/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailAdminSMTP.permissionsetext.al b/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailAdminSMTP.permissionsetext.al index 2119ddbbd0..e635b4aae0 100644 --- a/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailAdminSMTP.permissionsetext.al +++ b/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailAdminSMTP.permissionsetext.al @@ -5,8 +5,6 @@ namespace System.Email; -using System.Security.AccessControl; - permissionsetextension 4512 "Email - Admin - SMTP" extends "Email - Admin" { IncludedPermissionSets = "Email SMTP - Edit"; diff --git a/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailEditSMTP.permissionsetext.al b/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailEditSMTP.permissionsetext.al index da56a029b7..59a84ae7f9 100644 --- a/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailEditSMTP.permissionsetext.al +++ b/Apps/W1/Email - SMTP Connector/app/src/Permissions/EmailEditSMTP.permissionsetext.al @@ -5,8 +5,6 @@ namespace System.Email; -using System.Security.AccessControl; - permissionsetextension 4511 "Email - Edit - SMTP" extends "Email - Edit" { IncludedPermissionSets = "Email SMTP - Read"; diff --git a/Apps/W1/Email - SMTP Connector/test/app.json b/Apps/W1/Email - SMTP Connector/test/app.json index ebaf939e51..a39f674947 100644 --- a/Apps/W1/Email - SMTP Connector/test/app.json +++ b/Apps/W1/Email - SMTP Connector/test/app.json @@ -4,55 +4,55 @@ "publisher": "Microsoft", "brief": "Tests for the Email - SMTP Connector app", "description": "Tests for the Email - SMTP Connector app", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2134520", "url": "https://go.microsoft.com/fwlink/?linkid=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "8fc50dfb-d338-4fd9-9499-5e44cc8cbf50", "name": "Email - SMTP API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "68e13fa3-217a-4be0-9141-99e5bf0ca818", "name": "Email - SMTP Connector", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 100000, diff --git a/Apps/W1/EmailLogging/app/.objidconfig b/Apps/W1/EmailLogging/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/EmailLogging/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/EmailLogging/app/app.json b/Apps/W1/EmailLogging/app/app.json index a9cca09f18..09115dd087 100644 --- a/Apps/W1/EmailLogging/app/app.json +++ b/Apps/W1/EmailLogging/app/app.json @@ -2,7 +2,7 @@ "id": "114e4e19-182b-42e2-b5a9-91d8b8ee8ce1", "name": "_Exclude_Email Logging Using Graph API", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "_Exclude_Email Logging Using Graph API", "description": "_Exclude_Email Logging Using Graph API", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -23,7 +23,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -37,5 +37,5 @@ "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingManagement.Codeunit.al b/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingManagement.Codeunit.al index c3b88dfd05..581261ab79 100644 --- a/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingManagement.Codeunit.al +++ b/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingManagement.Codeunit.al @@ -9,7 +9,9 @@ using Microsoft.CRM.Interaction; using System.Globalization; using System.Media; using System; +#if not CLEAN22 using System.EMail; +#endif using System.Utilities; using System.Security.Encryption; using Microsoft.Utilities; diff --git a/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingUpgrade.Codeunit.al b/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingUpgrade.Codeunit.al index e59a538782..1a433befd4 100644 --- a/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingUpgrade.Codeunit.al +++ b/Apps/W1/EmailLogging/app/src/codeunits/EmailLoggingUpgrade.Codeunit.al @@ -1,9 +1,11 @@ namespace Microsoft.CRM.EmailLoggin; using System.Upgrade; +#if not CLEAN22 using Microsoft.CRM.Outlook; -using Microsoft.CRM.Setup; using System.Threading; +#endif +using Microsoft.CRM.Setup; codeunit 1688 "Email Logging Upgrade" { diff --git a/Apps/W1/EmailLogging/app/src/enums/FeatureToUpdateEmailLog.EnumExt.al b/Apps/W1/EmailLogging/app/src/enums/FeatureToUpdateEmailLog.EnumExt.al index 526f5d70c0..fadaeb8594 100644 --- a/Apps/W1/EmailLogging/app/src/enums/FeatureToUpdateEmailLog.EnumExt.al +++ b/Apps/W1/EmailLogging/app/src/enums/FeatureToUpdateEmailLog.EnumExt.al @@ -1,8 +1,8 @@ +#if not CLEAN22 namespace Microsoft.CRM.EmailLoggin; using System.Environment.Configuration; -#if not CLEAN22 enumextension 1680 "Feature To Update - Email Log." extends "Feature To Update" { value(1680; EmailLoggingUsingGraphApi) diff --git a/Apps/W1/EmailLogging/test/app.json b/Apps/W1/EmailLogging/test/app.json index 9c1b5f3534..6ba50922f5 100644 --- a/Apps/W1/EmailLogging/test/app.json +++ b/Apps/W1/EmailLogging/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the _Exclude_Email Logging Using Graph API extension.", "description": "Tests for the _Exclude_Email Logging Using Graph API extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206445", @@ -16,24 +16,24 @@ "id": "114e4e19-182b-42e2-b5a9-91d8b8ee8ce1", "name": "_Exclude_Email Logging using Graph API", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/EnforcedDigitalVouchers/app/app.json b/Apps/W1/EnforcedDigitalVouchers/app/app.json index 89b927b84a..cf5a8fbdb8 100644 --- a/Apps/W1/EnforcedDigitalVouchers/app/app.json +++ b/Apps/W1/EnforcedDigitalVouchers/app/app.json @@ -1,44 +1,40 @@ { - "id": "e2ae191d-8829-44c3-a373-3749a2742d4e", - "name": "Enforced Digital Vouchers", - "publisher": "Microsoft", - "brief": "The Digital Vouchers extension makes it easy to generate digital version for every general ledger register.", - "description": "In some countries authorities require to make sure that for every single general ledger register ther is a digital vouchers assigned.", - "version": "23.3.0.0", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/finance-how-setup-use-service-declaration", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2204541", - "dependencies": [ - - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "internalsVisibleTo": [ - { - "id": "928f7b70-0dbd-431a-beb5-f45c4adbd361", - "name": "Enforced Digital Vouchers Test Library", - "publisher": "Microsoft" - } - ], - "features": [ - "TranslationFile" - ], - "idRanges": [ - { - "from": 5579, - "to": 5597 - } - ], - "resourceExposurePolicy": { - "allowDebugging": true, - "allowDownloadingSource": true, - "includeSourceInSymbolFile": true - }, - "application": "23.3.0.0", - "target": "Cloud" + "id": "e2ae191d-8829-44c3-a373-3749a2742d4e", + "name": "Enforced Digital Vouchers", + "publisher": "Microsoft", + "brief": "The Digital Vouchers extension makes it easy to generate digital version for every general ledger register.", + "description": "In some countries authorities require to make sure that for every single general ledger register ther is a digital vouchers assigned.", + "version": "24.0.0.0", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/finance-how-setup-use-service-declaration", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2204541", + "dependencies": [], + "screenshots": [], + "platform": "24.0.0.0", + "internalsVisibleTo": [ + { + "id": "928f7b70-0dbd-431a-beb5-f45c4adbd361", + "name": "Enforced Digital Vouchers Test Library", + "publisher": "Microsoft" + } + ], + "features": [ + "TranslationFile" + ], + "idRanges": [ + { + "from": 5579, + "to": 5597 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "application": "24.0.0.0", + "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/EnforcedDigitalVouchers/test library/app.json b/Apps/W1/EnforcedDigitalVouchers/test library/app.json index 9216a86c02..06e57d2852 100644 --- a/Apps/W1/EnforcedDigitalVouchers/test library/app.json +++ b/Apps/W1/EnforcedDigitalVouchers/test library/app.json @@ -1,39 +1,37 @@ { - "id": "928f7b70-0dbd-431a-beb5-f45c4adbd361", - "name": "Enforced Digital Vouchers Test Library", - "publisher": "Microsoft", - "brief": "The app is to test the Digital Vouchers feature", - "description": "The app is to test the Digital Vouchers feature", - "version": "23.3.0.0", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/finance-how-setup-use-service-declaration", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2204541", - "dependencies": [ - { - "id": "e2ae191d-8829-44c3-a373-3749a2742d4e", - "name": "Enforced Digital Vouchers", - "publisher": "Microsoft", - "version": "23.3.0.0" - } - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "idRanges": [ - { - "from": 139517, - "to": 139518 - } - ], - "resourceExposurePolicy": { - "allowDebugging": true, - "allowDownloadingSource": true, - "includeSourceInSymbolFile": true - }, - "application": "23.3.0.0", - "target": "OnPrem" + "id": "928f7b70-0dbd-431a-beb5-f45c4adbd361", + "name": "Enforced Digital Vouchers Test Library", + "publisher": "Microsoft", + "brief": "The app is to test the Digital Vouchers feature", + "description": "The app is to test the Digital Vouchers feature", + "version": "24.0.0.0", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/finance-how-setup-use-service-declaration", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2204541", + "dependencies": [ + { + "id": "e2ae191d-8829-44c3-a373-3749a2742d4e", + "name": "Enforced Digital Vouchers", + "publisher": "Microsoft", + "version": "24.0.0.0" + } + ], + "screenshots": [], + "platform": "24.0.0.0", + "idRanges": [ + { + "from": 139517, + "to": 139518 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "application": "24.0.0.0", + "target": "OnPrem" } \ No newline at end of file diff --git a/Apps/W1/EnforcedDigitalVouchers/test/app.json b/Apps/W1/EnforcedDigitalVouchers/test/app.json index 5209582f3a..e5aebdaa25 100644 --- a/Apps/W1/EnforcedDigitalVouchers/test/app.json +++ b/Apps/W1/EnforcedDigitalVouchers/test/app.json @@ -1,54 +1,54 @@ { - "id": "f0eb8756-ea72-4ef8-b0de-686d2a44b259", - "name": "Enforced Digital Vouchers Tests", - "publisher": "Microsoft", - "version": "23.3.0.0", - "brief": "Tests for the Enforced Digital Vouchers extension.", - "description": "Tests for the Enforced Digital Vouchers extension.", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://go.microsoft.com/fwlink/?LinkId=724011", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", - "dependencies": [ - { - "id": "e2ae191d-8829-44c3-a373-3749a2742d4e", - "name": "Enforced Digital Vouchers", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "928f7b70-0dbd-431a-beb5-f45c4adbd361", - "name": "Enforced Digital Vouchers Test Library", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", - "name": "Tests-TestLibraries", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", - "name": "System Application Test Library", - "publisher": "Microsoft", - "version": "23.3.0.0" - } - ], - "idRanges": [ - { - "from": 139515, - "to": 139516 - } - ], - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2141039", - "resourceExposurePolicy": { - "allowDebugging": false, - "allowDownloadingSource": true, - "includeSourceInSymbolFile": true - }, - "target": "OnPrem" + "id": "f0eb8756-ea72-4ef8-b0de-686d2a44b259", + "name": "Enforced Digital Vouchers Tests", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "Tests for the Enforced Digital Vouchers extension.", + "description": "Tests for the Enforced Digital Vouchers extension.", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?LinkId=724011", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + "platform": "24.0.0.0", + "application": "24.0.0.0", + "dependencies": [ + { + "id": "e2ae191d-8829-44c3-a373-3749a2742d4e", + "name": "Enforced Digital Vouchers", + "publisher": "Microsoft", + "version": "24.0.0.0" + }, + { + "id": "928f7b70-0dbd-431a-beb5-f45c4adbd361", + "name": "Enforced Digital Vouchers Test Library", + "publisher": "Microsoft", + "version": "24.0.0.0" + }, + { + "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", + "name": "Tests-TestLibraries", + "publisher": "Microsoft", + "version": "24.0.0.0" + }, + { + "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", + "name": "System Application Test Library", + "publisher": "Microsoft", + "version": "24.0.0.0" + } + ], + "idRanges": [ + { + "from": 139515, + "to": 139516 + } + ], + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2141039", + "resourceExposurePolicy": { + "allowDebugging": false, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "target": "OnPrem" } \ No newline at end of file diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/.objidconfig b/Apps/W1/ErrorMessagesWithRecommendations/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/app.json b/Apps/W1/ErrorMessagesWithRecommendations/app/app.json index ee50515846..a2ad84f5cf 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/app.json +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/app.json @@ -2,7 +2,7 @@ "id": "64c9d5e2-7744-4866-bc0e-5ebc2898e651", "name": "Error Messages with Recommendations", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "[Preview] Use the actionable error messages displayed on the Error Messages page to resolve the issue and continue working.", "description": "Error messages can sometimes prevent you from completing a task, especially if the task requires an easy fix. To help you get unblocked and back to work, we have updated our Error Messages page to include actions that can make it easy to fix the problem yourself or fix it in bulk across multiple errors. For example, you can fix dimension errors one by one or in bulk by selecting multiple errors in Error Messages page and running Accept Recommended action.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -17,8 +17,8 @@ "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 7900, diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageExt.TableExt.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageExt.TableExt.al index 8f0259e4da..58e17e4d6f 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageExt.TableExt.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageExt.TableExt.al @@ -2,6 +2,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using System.Utilities; tableextension 7900 "Error Message Ext." extends "Error Message" { fields diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageStatus.Enum.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageStatus.Enum.al index 6f009b9bf5..97af5a4dfd 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageStatus.Enum.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessageStatus.Enum.al @@ -2,6 +2,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; enum 7900 "Error Message Status" { Extensible = true; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandler.Codeunit.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandler.Codeunit.al index 95544f3be1..9236132d5c 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandler.Codeunit.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandler.Codeunit.al @@ -3,6 +3,10 @@ // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ +namespace Microsoft.Shared.Error; + +using System.Utilities; + /// /// Exposes the functionality to handle recommended actions on the error messages page. /// diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandlerImpl.Codeunit.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandlerImpl.Codeunit.al index 295f5c8d5d..da6d0c183b 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandlerImpl.Codeunit.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesActionHandlerImpl.Codeunit.al @@ -2,6 +2,13 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using System.Utilities; +using System.Telemetry; +using Microsoft.Finance.GeneralLedger.Journal; +using Microsoft.Finance.Dimension; codeunit 7905 ErrorMessagesActionHandlerImpl { Access = Internal; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesCardPart.Page.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesCardPart.Page.al index aaafb98956..eceab4e282 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesCardPart.Page.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesCardPart.Page.al @@ -2,6 +2,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using System.Utilities; page 7900 "Error Messages Card Part" { Caption = 'Details'; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesRecommendationExt.PageExt.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesRecommendationExt.PageExt.al index eef879f5d9..ab617c817e 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesRecommendationExt.PageExt.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ErrorMessagesRecommendationExt.PageExt.al @@ -2,6 +2,11 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using System.Utilities; +using System.Telemetry; pageextension 7900 ErrorMessagesRecommendationExt extends "Error Messages" { layout diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ExecuteErrorAction.Codeunit.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ExecuteErrorAction.Codeunit.al index 1a164edd03..3cbf1a7b1a 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/ExecuteErrorAction.Codeunit.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/ExecuteErrorAction.Codeunit.al @@ -2,6 +2,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using System.Utilities; codeunit 7901 "Execute Error Action" { Access = Internal; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DefaultImplErrorMessage.Codeunit.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DefaultImplErrorMessage.Codeunit.al index b8c31e4bbd..e51dd3c194 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DefaultImplErrorMessage.Codeunit.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DefaultImplErrorMessage.Codeunit.al @@ -2,6 +2,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using System.Utilities; codeunit 7902 "Default Impl. Error Message" implements ErrorMessageFix { procedure OnSetErrorMessageProps(var ErrorMessage: Record "Error Message" temporary); diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimCodeSameButMissingErr.Codeunit.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimCodeSameButMissingErr.Codeunit.al index 606c2808c5..b224ffa230 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimCodeSameButMissingErr.Codeunit.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimCodeSameButMissingErr.Codeunit.al @@ -2,6 +2,12 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using Microsoft.Finance.Dimension; +using System.Utilities; +using System.Reflection; codeunit 7906 "Dim. Code Same But Missing Err" implements ErrorMessageFix { Access = Internal; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeMustBeBlank.Codeunit.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeMustBeBlank.Codeunit.al index 542bd07d26..d5ff64fd80 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeMustBeBlank.Codeunit.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeMustBeBlank.Codeunit.al @@ -2,6 +2,12 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using Microsoft.Finance.Dimension; +using System.Utilities; +using System.Reflection; codeunit 7904 "Dimension Code Must Be Blank" implements ErrorMessageFix { Access = Internal; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeSameError.Codeunit.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeSameError.Codeunit.al index 95e9e92307..167b3df300 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeSameError.Codeunit.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/DimensionCodeSameError.Codeunit.al @@ -2,6 +2,12 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; + +using Microsoft.Finance.Dimension; +using System.Utilities; +using System.Reflection; codeunit 7903 "Dimension Code Same Error" implements ErrorMessageFix { Access = Internal; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/ErrorMsgFixImplementation.Enum.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/ErrorMsgFixImplementation.Enum.al index d02e45b3db..942bc0614e 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/ErrorMsgFixImplementation.Enum.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Implementation/ErrorMsgFixImplementation.Enum.al @@ -2,6 +2,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Error; enum 7901 "Error Msg. Fix Implementation" implements ErrorMessageFix { Extensible = true; diff --git a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Interface/ErrorMessageFix.Interface.al b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Interface/ErrorMessageFix.Interface.al index 53766d152b..d9495f617a 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/app/src/Interface/ErrorMessageFix.Interface.al +++ b/Apps/W1/ErrorMessagesWithRecommendations/app/src/Interface/ErrorMessageFix.Interface.al @@ -3,6 +3,10 @@ // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ +namespace Microsoft.Shared.Error; + +using System.Utilities; + /// /// An error message fix interface for setting additional properties and executing the fix from error message page. /// diff --git a/Apps/W1/ErrorMessagesWithRecommendations/test/app.json b/Apps/W1/ErrorMessagesWithRecommendations/test/app.json index fa00dd430f..6cefdff530 100644 --- a/Apps/W1/ErrorMessagesWithRecommendations/test/app.json +++ b/Apps/W1/ErrorMessagesWithRecommendations/test/app.json @@ -2,7 +2,7 @@ "id": "5f2328eb-b988-422b-8163-0bd3f3ae5d07", "name": "Error Messages with Recommendations Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Error Messages with Recommendations Tests", "description": "Error Messages with Recommendations Tests", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,25 +16,25 @@ "id": "64c9d5e2-7744-4866-bc0e-5ebc2898e651", "name": "Error Messages with Recommendations", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ @@ -46,8 +46,8 @@ "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, diff --git a/Apps/W1/EssentialBusinessHeadlines/app/.objidconfig b/Apps/W1/EssentialBusinessHeadlines/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/EssentialBusinessHeadlines/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/EssentialBusinessHeadlines/app/app.json b/Apps/W1/EssentialBusinessHeadlines/app/app.json index a509b9b181..d2570e8052 100644 --- a/Apps/W1/EssentialBusinessHeadlines/app/app.json +++ b/Apps/W1/EssentialBusinessHeadlines/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Essential business headlines draw facts out of your data. Your people draw the conclusions.", "description": "Displays headlines with actionable business insights on Role Center pages. The insights surface interesting facts from your business data so people don't need to go find them.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=870429", @@ -16,7 +16,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "includeSourceInSymbolFile": true }, "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=870429", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/EssentialBusinessHeadlines/test/app.json b/Apps/W1/EssentialBusinessHeadlines/test/app.json index e3a9b5ef99..6b02364582 100644 --- a/Apps/W1/EssentialBusinessHeadlines/test/app.json +++ b/Apps/W1/EssentialBusinessHeadlines/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Essential Business Headlines extension.", "description": "Tests for the Essential Business Headlines extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=870429", @@ -16,19 +16,19 @@ "id": "2a89f298-7ffd-44a5-a7ce-e08dac98abce", "name": "Essential Business Headlines", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -45,5 +45,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/EssentialBusinessHeadlines/test/src/codeunits/TestEssentialBusHeadlines.Codeunit.al b/Apps/W1/EssentialBusinessHeadlines/test/src/codeunits/TestEssentialBusHeadlines.Codeunit.al index 1fda08f1ac..870db9767f 100644 --- a/Apps/W1/EssentialBusinessHeadlines/test/src/codeunits/TestEssentialBusHeadlines.Codeunit.al +++ b/Apps/W1/EssentialBusinessHeadlines/test/src/codeunits/TestEssentialBusHeadlines.Codeunit.al @@ -762,7 +762,6 @@ codeunit 139600 "Test Essential Bus. Headlines" end; local procedure CreateInvoice(Customer: Record Customer); - var begin Clear(SalesHeader); LibrarySales.CreateSalesHeader(SalesHeader, SalesHeader."Document Type"::Invoice, Customer."No."); diff --git a/Apps/W1/ExternalEvents/app/.objidconfig b/Apps/W1/ExternalEvents/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ExternalEvents/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ExternalEvents/app/app.json b/Apps/W1/ExternalEvents/app/app.json index 0b18fd9e82..30133b7f4f 100644 --- a/Apps/W1/ExternalEvents/app/app.json +++ b/Apps/W1/ExternalEvents/app/app.json @@ -2,7 +2,7 @@ "id": "6f2c034f-5ebe-4eae-b34c-90a0d4e87687", "name": "_Exclude_Business_Events_", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Business Events. Use business events to notify and trigger external systems", "description": "Business Events. Use business events to notify and trigger external systems", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 38500, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/ExternalEvents/test/app.json b/Apps/W1/ExternalEvents/test/app.json index ce586887cd..5184415d9a 100644 --- a/Apps/W1/ExternalEvents/test/app.json +++ b/Apps/W1/ExternalEvents/test/app.json @@ -2,7 +2,7 @@ "id": "d65067bd-e0d4-4bab-a5c5-9c0eb94d8f88", "name": "_Exclude_Business_Events_Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Business Events. Use business events to notify and trigger external systems", "description": "Business Events. Use business events to notify and trigger external systems", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,38 +16,38 @@ "id": "6f2c034f-5ebe-4eae-b34c-90a0d4e87687", "name": "_Exclude_Business_Events_", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 139640, diff --git a/Apps/W1/HybridAPI/app/.objidconfig b/Apps/W1/HybridAPI/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/HybridAPI/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/HybridAPI/app/app.json b/Apps/W1/HybridAPI/app/app.json index a185adfaf7..14d1e8d834 100644 --- a/Apps/W1/HybridAPI/app/app.json +++ b/Apps/W1/HybridAPI/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This extension can help you set up and manage migration to Business Central online through an API.", "description": "This extension can help you set up and manage migration to Business Central online through an API. Use automation to manage the cloud migration end-to-end without using UI.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2009036", @@ -15,14 +15,14 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -35,5 +35,5 @@ "includeSourceInSymbolFile": true }, "target": "Cloud", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/HybridBC/app/.objidconfig b/Apps/W1/HybridBC/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/HybridBC/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/HybridBC/app/app.json b/Apps/W1/HybridBC/app/app.json index 9ac3994821..77958d6542 100644 --- a/Apps/W1/HybridBC/app/app.json +++ b/Apps/W1/HybridBC/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This extension will take you through the process to configure your Cloud Migration environment.", "description": "This extension will take you through the process to configure and manage your Cloud Migration environment. Once your Cloud Migration environment is configured, you will be able to manage data migrations from your on-premises solution to your Dynamics 365 Business Central cloud tenant.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2009119", @@ -16,13 +16,13 @@ "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", "name": "Intelligent Cloud Base", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -35,5 +35,5 @@ "includeSourceInSymbolFile": true }, "target": "Cloud", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/HybridBC/test/app.json b/Apps/W1/HybridBC/test/app.json index b001b7c23d..ab837381dd 100644 --- a/Apps/W1/HybridBC/test/app.json +++ b/Apps/W1/HybridBC/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Business Central Intelligent Cloud extension.", "description": "Tests for the Business Central Intelligent Cloud extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2005800", @@ -16,37 +16,37 @@ "id": "334ef79e-547e-4631-8ba1-7a7f18e14de6", "name": "Business Central Intelligent Cloud", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", "name": "Intelligent Cloud Base", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "cf07faa6-4d21-428b-bfcf-8078c5b0e582", "name": "Intelligent Cloud Base Tests", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -63,5 +63,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/HybridBC/test/src/HybridBCManagementTest.Codeunit.al b/Apps/W1/HybridBC/test/src/HybridBCManagementTest.Codeunit.al index 49b1fec616..1b2be61e61 100644 --- a/Apps/W1/HybridBC/test/src/HybridBCManagementTest.Codeunit.al +++ b/Apps/W1/HybridBC/test/src/HybridBCManagementTest.Codeunit.al @@ -28,7 +28,6 @@ codeunit 139654 "HybridBC Management Test" HybridReplicationSummary: Record "Hybrid Replication Summary"; HybridBCWizard: Codeunit "Hybrid BC Wizard"; RunId: Text; - StartTime: DateTime; TriggerType: Text; begin // [GIVEN] A Webhook Subscription exists for DynamicsBC @@ -36,17 +35,14 @@ codeunit 139654 "HybridBC Management Test" // [WHEN] A notification record is inserted TriggerType := 'Scheduled'; - InsertNotification(SubscriptionId, RunId, StartTime, TriggerType, HybridReplicationSummary.ReplicationType::Diagnostic, ''); + InsertNotification(SubscriptionId, RunId, TriggerType, HybridReplicationSummary.ReplicationType::Diagnostic, ''); // [THEN] A Hybrid Replication Summary record is created HybridReplicationSummary.Get(RunId); - with HybridReplicationSummary do begin - Assert.AreEqual(Source, HybridBCWizard.ProductName(), 'Unexpected value in summary for source.'); - Assert.AreEqual("Run ID", RunId, 'Unexpected value in summary for Run ID.'); - Assert.AreEqual("Start Time", StartTime, 'Unexpected value in summary for Start Time.'); - Assert.AreEqual("Trigger Type", "Trigger Type"::Scheduled, 'Unexpected value in summary for Trigger Type.'); - Assert.AreEqual(ReplicationType, ReplicationType::Diagnostic, 'Unexpected value in summary for Replication Type.'); - end; + Assert.AreEqual(HybridReplicationSummary.Source, HybridBCWizard.ProductName(), 'Unexpected value in summary for source.'); + Assert.AreEqual(HybridReplicationSummary."Run ID", RunId, 'Unexpected value in summary for Run ID.'); + Assert.AreEqual(HybridReplicationSummary."Trigger Type", HybridReplicationSummary."Trigger Type"::Scheduled, 'Unexpected value in summary for Trigger Type.'); + Assert.AreEqual(HybridReplicationSummary.ReplicationType, HybridReplicationSummary.ReplicationType::Diagnostic, 'Unexpected value in summary for Replication Type.'); end; [Test] @@ -167,7 +163,6 @@ codeunit 139654 "HybridBC Management Test" HybridReplicationSummary: Record "Hybrid Replication Summary"; HybridBCWizard: Codeunit "Hybrid BC Wizard"; RunId: Text; - StartTime: DateTime; TriggerType: Text; begin // [GIVEN] A Webhook Subscription exists for DynamicsBC @@ -175,18 +170,15 @@ codeunit 139654 "HybridBC Management Test" // [WHEN] A notification record is inserted TriggerType := 'Scheduled'; - InsertNotification(SubscriptionId, RunId, StartTime, TriggerType, HybridReplicationSummary.ReplicationType::Diagnostic, 'INIT'); + InsertNotification(SubscriptionId, RunId, TriggerType, HybridReplicationSummary.ReplicationType::Diagnostic, 'INIT'); // [THEN] A Hybrid Replication Summary record is created HybridReplicationSummary.Get(RunId); - with HybridReplicationSummary do begin - Assert.AreEqual(Source, HybridBCWizard.ProductName(), 'Unexpected value in summary for source.'); - Assert.AreEqual("Run ID", RunId, 'Unexpected value in summary for Run ID.'); - Assert.AreEqual("Start Time", StartTime, 'Unexpected value in summary for Start Time.'); - Assert.AreEqual("Trigger Type", "Trigger Type"::Scheduled, 'Unexpected value in summary for Trigger Type.'); - Assert.AreEqual(ReplicationType, ReplicationType::Diagnostic, 'Unexpected value in summary for Replication Type.'); - Assert.IsTrue(Details.HasValue(), 'Details should contain text.'); - end; + Assert.AreEqual(HybridReplicationSummary.Source, HybridBCWizard.ProductName(), 'Unexpected value in summary for source.'); + Assert.AreEqual(HybridReplicationSummary."Run ID", RunId, 'Unexpected value in summary for Run ID.'); + Assert.AreEqual(HybridReplicationSummary."Trigger Type", HybridReplicationSummary."Trigger Type"::Scheduled, 'Unexpected value in summary for Trigger Type.'); + Assert.AreEqual(HybridReplicationSummary.ReplicationType, HybridReplicationSummary.ReplicationType::Diagnostic, 'Unexpected value in summary for Replication Type.'); + Assert.IsTrue(HybridReplicationSummary.Details.HasValue(), 'Details should contain text.'); end; [Test] @@ -272,7 +264,7 @@ codeunit 139654 "HybridBC Management Test" LibraryHybridManagement.SetDiagnosticRunsEnabled(true); IntelligentCloudSetup."Product ID" := HybridBCWizard.ProductId(); - IF NOT IntelligentCloudSetup.Insert() then + if not IntelligentCloudSetup.Insert() then IntelligentCloudSetup.Modify(); BindSubscription(LibraryHybridManagement); @@ -285,11 +277,12 @@ codeunit 139654 "HybridBC Management Test" Json := ', "Code": "' + MessageCode + '"'; end; - local procedure InsertNotification(SubscriptionId: Text; var RunId: Text; var StartTime: DateTime; var TriggerType: Text; ReplicationType: Integer; MessageCode: Code[10]) + local procedure InsertNotification(SubscriptionId: Text; var RunId: Text; var TriggerType: Text; ReplicationType: Integer; MessageCode: Code[10]) var WebhookNotification: Record "Webhook Notification"; NotificationOutStream: OutStream; NotificationText: Text; + StartTime: DateTime; begin NotificationText := LibraryHybridManagement.GetNotificationPayload(SubscriptionId, RunId, StartTime, TriggerType, ReplicationType, AdditionalNotificationText(MessageCode)); WebhookNotification.Init(); diff --git a/Apps/W1/HybridBC/test/src/HybridBCWizardTest.Codeunit.al b/Apps/W1/HybridBC/test/src/HybridBCWizardTest.Codeunit.al deleted file mode 100644 index c9c6f909e6..0000000000 --- a/Apps/W1/HybridBC/test/src/HybridBCWizardTest.Codeunit.al +++ /dev/null @@ -1,434 +0,0 @@ -codeunit 139651 "HybridBC Wizard Tests" -{ - // [FEATURE] [Intelligent Edge Hybrid Business Central Wizard] - Subtype = Test; - TestPermissions = Disabled; - - var - Assert: Codeunit Assert; - LibraryHybridManagement: Codeunit "Library - Hybrid Management"; - Initialized: Boolean; - SqlServerTypeOption: Option SQLServer,AzureSQL; - ProductNameTxt: Label 'Dynamics 365 Business Central current version (v.%1)', Locked = true; - NoCompaniesSelectedMsg: Label 'You must select at least one company to replicate to continue.'; - - local procedure Initialize(var HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; IsSaas: Boolean; CompanySelected: Boolean) - var - HybridDeploymentSetup: Record "Hybrid Deployment Setup"; - HybridCompany: Record "Hybrid Company"; - HybridReplicationSummary: Record "Hybrid Replication Summary"; - AssistedSetupTestLibrary: Codeunit "Assisted Setup Test Library"; - EnvironmentInfoTestLibrary: Codeunit "Environment Info Test Library"; - begin - HybridReplicationSummary.DeleteAll(); - HybridDeploymentSetup.DeleteAll(); - HybridDeploymentSetup."Handler Codeunit ID" := Codeunit::"Library - Hybrid Management"; - HybridDeploymentSetup.Insert(); - - HybridDeploymentSetup.Get(); - - if not Initialized then begin - BindSubscription(LibraryHybridManagement); - Initialized := true; - end; - - EnvironmentInfoTestLibrary.SetTestabilitySoftwareAsAService(IsSaas); - AssistedSetupTestLibrary.CallOnRegister(); - AssistedSetupTestLibrary.SetStatusToNotCompleted(Page::"Hybrid Cloud Setup Wizard"); - HybridCloudSetupWizard.Trap(); - - Page.Run(Page::"Hybrid Cloud Setup Wizard"); - - HybridCloudSetupWizard.AgreePrivacy.SetValue(true); - - HybridCompany.DeleteAll(); - HybridCompany.Init(); - HybridCompany."Name" := 'TWO'; - HybridCompany."Display Name" := 'Fabrikam, Inc.'; - HybridCompany.Replicate := CompanySelected; - HybridCompany.Insert(); - end; - - [Test] - [HandlerFunctions('ProvidersBCPageHandler')] - procedure TestSqlConfigurationWindow() - var - HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; - currentOption: Text; - optionCount: Integer; - sqlAzureTxt: Label 'Azure SQL'; - sqlServerTxt: Label 'SQL Server'; - begin - // [SCENARIO] User starts wizard from saas environment and navigates to SQL Type window. - - // [GIVEN] User starts the wizard. - Initialize(HybridCloudSetupWizard, true, true); - optionCount := 1; - - with HybridCloudSetupWizard do begin - // [GIVEN] User clicks 'Next' on Welcome window. - ActionNext.Invoke(); - - // [WHEN] User selects a product and clicks 'Next' on Dynamics Product window. - "Product Name".AssistEdit(); - ActionNext.Invoke(); - - // [THEN] SQL Configuration window is displayed and expected SQL types are listed. - VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); - while optionCount <= "Sql Server Type".OptionCount() do begin - currentOption := "Sql Server Type".GetOption(optionCount); - - case OptionCount of - 1: - Assert.AreEqual(sqlServerTxt, currentOption, 'Unexpected SqlType'); - 2: - Assert.AreEqual(sqlAzureTxt, currentOption, 'Unexpected SqlType'); - else - Assert.Fail('SqlType out of range'); - end; - - OptionCount += 1; - end; - end; - end; - - - [Test] - [HandlerFunctions('ProvidersBCPageHandler,ConfirmNoHandler')] - procedure TestAzureSqlScheduleFlow() - var - GuidedExperience: Codeunit "Guided Experience"; - HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; - begin - // [SCENARIO] User starts wizard from saas environment and navigates the wizard selecting Azure SQL server. - - // [GIVEN] User starts the wizard. - Initialize(HybridCloudSetupWizard, true, true); - - with HybridCloudSetupWizard do begin - // [THEN] Welcome window is displayed. - VerifySaasWelcomeWindow(HybridCloudSetupWizard); - // [GIVEN] User clicks 'Next' on Welcome window. - ActionNext.Invoke(); - - // [THEN] Dynamics Product window is displayed. - VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); - // [GIVEN] User selects Dynamics Business Central. - "Product Name".AssistEdit(); - - // [GIVEN] User clicks 'Next' on Dynamics Product window. - ActionNext.Invoke(); - - // [THEN] SQL Configuration window is displayed. - VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); - // [WHEN] User selects Azure SQL. - "Sql Server Type".SetValue(SqlServerTypeOption::AzureSql); - - // [GIVEN] Users sets a connection string. - SqlConnectionString.SetValue('someconnectionstring'); - // [GIVEN] User clicks 'Next' on SQL Configuration window. - ActionNext.Invoke(); - - // [THEN] ADF IR Runtime window is displayed. - Assert.IsFalse(DownloadShir.Visible(), 'ADF Instructions window Download Self Hosted Integration Runtime should not be visible.'); - - // [THEN] Company Selection window is displayed. - VerifyCompanySelectionWindow(HybridCloudSetupWizard); - - // [GIVEN] User clicks 'Next' on Company Selection window. - ActionNext.Invoke(); - - // [THEN] Done window is displayed. - VerifySaasDoneWindow(HybridCloudSetupWizard, 1); - - // [GIVEN] User clicks 'Finish' on Done window. - ActionFinish.Invoke(); - - // [THEN] Status of assisted setup remains not completed. - Assert.IsTrue(GuidedExperience.IsAssistedSetupComplete(ObjectType::Page, Page::"Hybrid Cloud Setup Wizard"), 'Wizard status should be completed.'); - end; - end; - - [Test] - [HandlerFunctions('ProvidersBCPageHandler')] - procedure TestLocalSqlNextAndBackFlows() - var - HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; - begin - // [SCENARIO] User navigates the wizard selecting Local SQL server and clicks back on done window to verify correct windows are displayed. - - // [GIVEN] User starts the wizard. - Initialize(HybridCloudSetupWizard, true, true); - - with HybridCloudSetupWizard do begin - // [THEN] Welcome window is displayed. - VerifySaasWelcomeWindow(HybridCloudSetupWizard); - // [GIVEN] User clicks 'Next' on Welcome window. - ActionNext.Invoke(); - - // [THEN] Dynamics Product window is displayed. - VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); - // [GIVEN] User selects Dynamics Business Central. - "Product Name".AssistEdit(); - - // [GIVEN] User clicks 'Next' on Dynamics Product window. - ActionNext.Invoke(); - - // [THEN] SQL Configuration window is displayed. - VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); - - // [GIVEN] User selects Local SQL. - "Sql Server Type".SetValue(SqlServerTypeOption::SQLServer); - - // [GIVEN] User enters connection string. - SqlConnectionString.SetValue('someconnectionstring'); - - // [GIVEN] User clicks 'Next' on SQL Configuration window. - ActionNext.Invoke(); - - // [THEN] ADF IR Runtime window is displayed. - VerifySaasIRInstructionsWindow(HybridCloudSetupWizard); - // [GIVEN] User clicks 'Next' on ADF Information window. - ActionNext.Invoke(); - - // [THEN] Company Selection window is displayed. - VerifyCompanySelectionWindow(HybridCloudSetupWizard); - - // [GIVEN] User clicks 'Next' on Company Selection window. - ActionNext.Invoke(); - - // [THEN] Done window is displayed. - VerifySaasDoneWindow(HybridCloudSetupWizard, 1); - - // [GIVEN] User clicks 'Back' on Done window. - ActionBack.Invoke(); - - // [GIVEN] User clicks 'Back' on ADF Instructions window. - ActionBack.Invoke(); - end; - end; - - [Test] - [HandlerFunctions('ProvidersBCPageHandler,ConfirmNoHandler')] - procedure TestExistingIntegrationRuntime() - var - GuidedExperience: Codeunit "Guided Experience"; - HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; - begin - // [SCENARIO] User navigates the wizard and enters an existing Runtime Name to verify correct windows are displayed. - - // [GIVEN] User starts the wizard. - Initialize(HybridCloudSetupWizard, true, true); - - with HybridCloudSetupWizard do begin - // [THEN] Welcome window is displayed. - VerifySaasWelcomeWindow(HybridCloudSetupWizard); - // [GIVEN] User clicks 'Next' on Welcome window. - ActionNext.Invoke(); - - // [THEN] Dynamics Product window is displayed. - VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); - // [GIVEN] User selects Dynamics Business Central. - "Product Name".AssistEdit(); - - // [GIVEN] User clicks 'Next' on Dynamics Product window. - ActionNext.Invoke(); - - // [THEN] SQL Configuration window is displayed. - VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); - // [GIVEN] User selects SQL Server. - "Sql Server Type".SetValue(SqlServerTypeOption::SQLServer); - - // [GIVEN] User sets a connection string. - SqlConnectionString.SetValue('someconnectionstring'); - - // [GIVEN] User sets an existing runtime name. - RuntimeName.SetValue('someexistingruntimename'); - - // [GIVEN] User clicks 'Next' on SQL Configuration window. - ActionNext.Invoke(); - - // [THEN] ADF Instructions window should not be displayed. - Assert.IsFalse(DownloadShir.Visible(), 'ADF Instructions window should not be displayed.'); - - // [THEN] Company Selection window is displayed. - VerifyCompanySelectionWindow(HybridCloudSetupWizard); - - // [GIVEN] User clicks 'Next' on Company Selection window. - ActionNext.Invoke(); - - // [THEN] Done window is displayed - VerifySaasDoneWindow(HybridCloudSetupWizard, 1); - - // [GIVEN] User clicks 'Finish' on Done window. - ActionFinish.Invoke(); - - // [THEN] Status of assisted setup is completed. - Assert.IsTrue(GuidedExperience.IsAssistedSetupComplete(ObjectType::Page, Page::"Hybrid Cloud Setup Wizard"), 'Wizard status should be completed.'); - end; - end; - - [Test] - [HandlerFunctions('ProvidersBCPageHandler,ConfirmYesHandler')] - procedure TestNoCompanyMessage() - var - HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; - begin - // [SCENARIO] User navigates the wizard selecting Local SQL server and clicks back on done window to verify correct windows are displayed. - - // [GIVEN] User starts the wizard. - Initialize(HybridCloudSetupWizard, true, false); - - with HybridCloudSetupWizard do begin - // [THEN] Welcome window is displayed. - VerifySaasWelcomeWindow(HybridCloudSetupWizard); - // [GIVEN] User clicks 'Next' on Welcome window. - ActionNext.Invoke(); - - // [THEN] Dynamics Product window is displayed. - VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); - // [GIVEN] User selects Dynamics Business Central. - "Product Name".AssistEdit(); - - // [GIVEN] User clicks 'Next' on Dynamics Product window. - ActionNext.Invoke(); - - // [THEN] SQL Configuration window is displayed. - VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); - - // [GIVEN] User selects Local SQL. - "Sql Server Type".SetValue(SqlServerTypeOption::SQLServer); - - // [GIVEN] User enters connection string. - SqlConnectionString.SetValue('someconnectionstring'); - - // [GIVEN] User clicks 'Next' on SQL Configuration window. - ActionNext.Invoke(); - - // [THEN] ADF IR Runtime window is displayed. - VerifySaasIRInstructionsWindow(HybridCloudSetupWizard); - // [GIVEN] User clicks 'Next' on ADF Information window. - ActionNext.Invoke(); - - // [THEN] Company Selection window is displayed. - VerifyCompanySelectionWindow(HybridCloudSetupWizard); - - // [GIVEN] Deselect all companies - SelectAll.SetValue(false); - - // [GIVEN] User clicks 'Next' on Company Selection window. - AssertError ActionNext.Invoke(); - - // [THEN] User gets a message to select at least one company. - Assert.ExpectedError(NoCompaniesSelectedMsg); - end; - end; - - [Test] - [HandlerFunctions('ConfirmYesHandler')] - procedure TestNoProductSelectedError() - var - HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; - begin - // [SCENARIO] User navigates the wizard selecting Local SQL server and clicks back on done window to verify correct windows are displayed. - - // [GIVEN] User starts the wizard. - Initialize(HybridCloudSetupWizard, true, false); - - with HybridCloudSetupWizard do begin - // [THEN] Welcome window is displayed. - VerifySaasWelcomeWindow(HybridCloudSetupWizard); - // [GIVEN] User clicks 'Next' on Welcome window. - ActionNext.Invoke(); - - // [THEN] Dynamics Product window is displayed. - VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); - - // [GIVEN] User clicks 'Next' on Dynamics Product window. - AssertError ActionNext.Invoke(); - end; - end; - - local procedure VerifySaasWelcomeWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") - begin - with HybridCloudSetupWizard do begin - Assert.IsFalse(ActionBack.Enabled(), 'Welcome window ActionBack should be disabled.'); - Assert.IsTrue(ActionNext.Enabled(), 'Welcome window ActionNext should be enabled.'); - Assert.IsFalse(ActionFinish.Enabled(), 'Welcome window ActionFinish should be disabled.'); - end; - end; - - local procedure VerifySaasDynamicsProductWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") - begin - with HybridCloudSetupWizard do begin - Assert.IsTrue(ActionBack.Enabled(), 'Dynamics Product window ActionBack should be enabled.'); - Assert.IsTrue(ActionNext.Enabled(), 'Dynamics Product window ActionNext should be enabled.'); - Assert.IsFalse(ActionFinish.Enabled(), 'Dynamics Product window ActionFinish should be disabled.'); - end; - end; - - local procedure VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") - begin - with HybridCloudSetupWizard do begin - Assert.IsTrue(ActionBack.Enabled(), 'SQL Type window ActionBack should be enabled.'); - Assert.IsTrue(ActionNext.Enabled(), 'SQL Type window ActionNext should be enabled.'); - Assert.IsFalse(ActionFinish.Enabled(), 'SQL Type window ActionFinish should be disabled.'); - end; - end; - - local procedure VerifySaasIRInstructionsWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") - begin - with HybridCloudSetupWizard do begin - Assert.IsTrue(ActionBack.Enabled(), 'ADF Info window ActionBack should be enabled.'); - Assert.IsTrue(ActionNext.Enabled(), 'ADF Info window ActionNext should be enabled.'); - Assert.IsFalse(ActionFinish.Enabled(), 'ADF Info window ActionFinish should be disabled.'); - Assert.IsTrue(DownLoadShir.Visible(), 'ADF Instructions window Download Self Hosted Integration Runtime should be visible.'); - end; - end; - - local procedure VerifyCompanySelectionWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") - begin - with HybridCloudSetupWizard do begin - Assert.IsTrue(ActionBack.Enabled(), 'ADF Connection window ActionBack should be enabled.'); - Assert.IsTrue(ActionNext.Enabled(), 'ADF Connection window ActionNext should be enabled.'); - Assert.IsFalse(ActionFinish.Enabled(), 'ADF Connection window ActionFinish should be disabled.'); - end; - end; - - local procedure VerifySaasDoneWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; executeNumber: Integer) - begin - with HybridCloudSetupWizard do begin - Assert.IsTrue(ActionBack.Enabled(), StrSubstNo('Done window ActionBack should be enabled. Run %1', executeNumber)); - Assert.IsFalse(ActionNext.Enabled(), StrSubstNo('Done window ActionNext should be disabled. Run %1', executeNumber)); - Assert.IsTrue(ActionFinish.Enabled(), StrSubstNo('Done window ActionFinish should be enabled. Run %1', executeNumber)); - end; - end; - - [ConfirmHandler] - procedure ConfirmYesHandler(question: Text[1024]; var reply: Boolean) - begin - reply := true; - end; - - [ConfirmHandler] - procedure ConfirmNoHandler(question: Text[1024]; var reply: Boolean) - begin - reply := false; - end; - - - [ModalPageHandler] - procedure ProvidersBCPageHandler(var HybridProductTypes: TestPage "Hybrid Product Types") - begin - HybridProductTypes.FindFirstField("Display Name", GetProductName()); - HybridProductTypes.OK().Invoke(); - end; - - local procedure GetProductName(): Text - var - CurrentModuleInfo: ModuleInfo; - begin - NavApp.GetCurrentModuleInfo(CurrentModuleInfo); - exit(StrSubstNo(ProductNameTxt, CurrentModuleInfo.AppVersion.Major)); - end; -} diff --git a/Apps/W1/HybridBC/test/src/HybridBCWizardTests.Codeunit.al b/Apps/W1/HybridBC/test/src/HybridBCWizardTests.Codeunit.al new file mode 100644 index 0000000000..32905cd077 --- /dev/null +++ b/Apps/W1/HybridBC/test/src/HybridBCWizardTests.Codeunit.al @@ -0,0 +1,370 @@ +codeunit 139651 "HybridBC Wizard Tests" +{ + // [FEATURE] [Intelligent Edge Hybrid Business Central Wizard] + Subtype = Test; + TestPermissions = Disabled; + + var + Assert: Codeunit Assert; + LibraryHybridManagement: Codeunit "Library - Hybrid Management"; + Initialized: Boolean; + SqlServerTypeOption: Option SQLServer,AzureSQL; + ProductNameTxt: Label 'Dynamics 365 Business Central current version (v.%1)', Locked = true; + NoCompaniesSelectedMsg: Label 'You must select at least one company to replicate to continue.'; + + local procedure Initialize(var HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; IsSaas: Boolean; CompanySelected: Boolean) + var + HybridDeploymentSetup: Record "Hybrid Deployment Setup"; + HybridCompany: Record "Hybrid Company"; + HybridReplicationSummary: Record "Hybrid Replication Summary"; + AssistedSetupTestLibrary: Codeunit "Assisted Setup Test Library"; + EnvironmentInfoTestLibrary: Codeunit "Environment Info Test Library"; + begin + HybridReplicationSummary.DeleteAll(); + HybridDeploymentSetup.DeleteAll(); + HybridDeploymentSetup."Handler Codeunit ID" := Codeunit::"Library - Hybrid Management"; + HybridDeploymentSetup.Insert(); + + HybridDeploymentSetup.Get(); + + if not Initialized then begin + BindSubscription(LibraryHybridManagement); + Initialized := true; + end; + + EnvironmentInfoTestLibrary.SetTestabilitySoftwareAsAService(IsSaas); + AssistedSetupTestLibrary.CallOnRegister(); + AssistedSetupTestLibrary.SetStatusToNotCompleted(Page::"Hybrid Cloud Setup Wizard"); + HybridCloudSetupWizard.Trap(); + + Page.Run(Page::"Hybrid Cloud Setup Wizard"); + + HybridCloudSetupWizard.AgreePrivacy.SetValue(true); + + HybridCompany.DeleteAll(); + HybridCompany.Init(); + HybridCompany."Name" := 'TWO'; + HybridCompany."Display Name" := 'Fabrikam, Inc.'; + HybridCompany.Replicate := CompanySelected; + HybridCompany.Insert(); + end; + + [Test] + [HandlerFunctions('ProvidersBCPageHandler')] + procedure TestSqlConfigurationWindow() + var + HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; + currentOption: Text; + optionCount: Integer; + sqlAzureTxt: Label 'Azure SQL'; + sqlServerTxt: Label 'SQL Server'; + begin + // [SCENARIO] User starts wizard from saas environment and navigates to SQL Type window. + + // [GIVEN] User starts the wizard. + Initialize(HybridCloudSetupWizard, true, true); + optionCount := 1; + // [GIVEN] User clicks 'Next' on Welcome window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [WHEN] User selects a product and clicks 'Next' on Dynamics Product window. + HybridCloudSetupWizard."Product Name".AssistEdit(); + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] SQL Configuration window is displayed and expected SQL types are listed. + VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); + while optionCount <= HybridCloudSetupWizard."Sql Server Type".OptionCount() do begin + currentOption := HybridCloudSetupWizard."Sql Server Type".GetOption(optionCount); + + case OptionCount of + 1: + Assert.AreEqual(sqlServerTxt, currentOption, 'Unexpected SqlType'); + 2: + Assert.AreEqual(sqlAzureTxt, currentOption, 'Unexpected SqlType'); + else + Assert.Fail('SqlType out of range'); + end; + + OptionCount += 1; + end; + end; + + + [Test] + [HandlerFunctions('ProvidersBCPageHandler,ConfirmNoHandler')] + procedure TestAzureSqlScheduleFlow() + var + GuidedExperience: Codeunit "Guided Experience"; + HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; + begin + // [SCENARIO] User starts wizard from saas environment and navigates the wizard selecting Azure SQL server. + + // [GIVEN] User starts the wizard. + Initialize(HybridCloudSetupWizard, true, true); + // [THEN] Welcome window is displayed. + VerifySaasWelcomeWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Welcome window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Dynamics Product window is displayed. + VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); + // [GIVEN] User selects Dynamics Business Central. + HybridCloudSetupWizard."Product Name".AssistEdit(); + // [GIVEN] User clicks 'Next' on Dynamics Product window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] SQL Configuration window is displayed. + VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); + // [WHEN] User selects Azure SQL. + HybridCloudSetupWizard."Sql Server Type".SetValue(SqlServerTypeOption::AzureSql); + // [GIVEN] Users sets a connection string. + HybridCloudSetupWizard.SqlConnectionString.SetValue('someconnectionstring'); + // [GIVEN] User clicks 'Next' on SQL Configuration window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] ADF IR Runtime window is displayed. + Assert.IsFalse(HybridCloudSetupWizard.DownloadShir.Visible(), 'ADF Instructions window Download Self Hosted Integration Runtime should not be visible.'); + // [THEN] Company Selection window is displayed. + VerifyCompanySelectionWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Company Selection window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Done window is displayed. + VerifySaasDoneWindow(HybridCloudSetupWizard, 1); + // [GIVEN] User clicks 'Finish' on Done window. + HybridCloudSetupWizard.ActionFinish.Invoke(); + // [THEN] Status of assisted setup remains not completed. + Assert.IsTrue(GuidedExperience.IsAssistedSetupComplete(ObjectType::Page, Page::"Hybrid Cloud Setup Wizard"), 'Wizard status should be completed.'); + end; + + [Test] + [HandlerFunctions('ProvidersBCPageHandler')] + procedure TestLocalSqlNextAndBackFlows() + var + HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; + begin + // [SCENARIO] User navigates the wizard selecting Local SQL server and clicks back on done window to verify correct windows are displayed. + + // [GIVEN] User starts the wizard. + Initialize(HybridCloudSetupWizard, true, true); + // [THEN] Welcome window is displayed. + VerifySaasWelcomeWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Welcome window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Dynamics Product window is displayed. + VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); + // [GIVEN] User selects Dynamics Business Central. + HybridCloudSetupWizard."Product Name".AssistEdit(); + // [GIVEN] User clicks 'Next' on Dynamics Product window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] SQL Configuration window is displayed. + VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); + // [GIVEN] User selects Local SQL. + HybridCloudSetupWizard."Sql Server Type".SetValue(SqlServerTypeOption::SQLServer); + // [GIVEN] User enters connection string. + HybridCloudSetupWizard.SqlConnectionString.SetValue('someconnectionstring'); + // [GIVEN] User clicks 'Next' on SQL Configuration window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] ADF IR Runtime window is displayed. + VerifySaasIRInstructionsWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on ADF Information window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Company Selection window is displayed. + VerifyCompanySelectionWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Company Selection window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Done window is displayed. + VerifySaasDoneWindow(HybridCloudSetupWizard, 1); + // [GIVEN] User clicks 'Back' on Done window. + HybridCloudSetupWizard.ActionBack.Invoke(); + // [GIVEN] User clicks 'Back' on ADF Instructions window. + HybridCloudSetupWizard.ActionBack.Invoke(); + end; + + [Test] + [HandlerFunctions('ProvidersBCPageHandler,ConfirmNoHandler')] + procedure TestExistingIntegrationRuntime() + var + GuidedExperience: Codeunit "Guided Experience"; + HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; + begin + // [SCENARIO] User navigates the wizard and enters an existing Runtime Name to verify correct windows are displayed. + + // [GIVEN] User starts the wizard. + Initialize(HybridCloudSetupWizard, true, true); + + with HybridCloudSetupWizard do begin + // [THEN] Welcome window is displayed. + VerifySaasWelcomeWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Welcome window. + ActionNext.Invoke(); + + // [THEN] Dynamics Product window is displayed. + VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); + // [GIVEN] User selects Dynamics Business Central. + "Product Name".AssistEdit(); + + // [GIVEN] User clicks 'Next' on Dynamics Product window. + ActionNext.Invoke(); + + // [THEN] SQL Configuration window is displayed. + VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); + // [GIVEN] User selects SQL Server. + "Sql Server Type".SetValue(SqlServerTypeOption::SQLServer); + + // [GIVEN] User sets a connection string. + SqlConnectionString.SetValue('someconnectionstring'); + + // [GIVEN] User sets an existing runtime name. + RuntimeName.SetValue('someexistingruntimename'); + + // [GIVEN] User clicks 'Next' on SQL Configuration window. + ActionNext.Invoke(); + + // [THEN] ADF Instructions window should not be displayed. + Assert.IsFalse(DownloadShir.Visible(), 'ADF Instructions window should not be displayed.'); + + // [THEN] Company Selection window is displayed. + VerifyCompanySelectionWindow(HybridCloudSetupWizard); + + // [GIVEN] User clicks 'Next' on Company Selection window. + ActionNext.Invoke(); + + // [THEN] Done window is displayed + VerifySaasDoneWindow(HybridCloudSetupWizard, 1); + + // [GIVEN] User clicks 'Finish' on Done window. + ActionFinish.Invoke(); + + // [THEN] Status of assisted setup is completed. + Assert.IsTrue(GuidedExperience.IsAssistedSetupComplete(ObjectType::Page, Page::"Hybrid Cloud Setup Wizard"), 'Wizard status should be completed.'); + end; + end; + + [Test] + [HandlerFunctions('ProvidersBCPageHandler,ConfirmYesHandler')] + procedure TestNoCompanyMessage() + var + HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; + begin + // [SCENARIO] User navigates the wizard selecting Local SQL server and clicks back on done window to verify correct windows are displayed. + + // [GIVEN] User starts the wizard. + Initialize(HybridCloudSetupWizard, true, false); + // [THEN] Welcome window is displayed. + VerifySaasWelcomeWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Welcome window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Dynamics Product window is displayed. + VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); + // [GIVEN] User selects Dynamics Business Central. + HybridCloudSetupWizard."Product Name".AssistEdit(); + // [GIVEN] User clicks 'Next' on Dynamics Product window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] SQL Configuration window is displayed. + VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard); + // [GIVEN] User selects Local SQL. + HybridCloudSetupWizard."Sql Server Type".SetValue(SqlServerTypeOption::SQLServer); + // [GIVEN] User enters connection string. + HybridCloudSetupWizard.SqlConnectionString.SetValue('someconnectionstring'); + // [GIVEN] User clicks 'Next' on SQL Configuration window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] ADF IR Runtime window is displayed. + VerifySaasIRInstructionsWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on ADF Information window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Company Selection window is displayed. + VerifyCompanySelectionWindow(HybridCloudSetupWizard); + // [GIVEN] Deselect all companies + HybridCloudSetupWizard.SelectAll.SetValue(false); + // [GIVEN] User clicks 'Next' on Company Selection window. + asserterror HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] User gets a message to select at least one company. + Assert.ExpectedError(NoCompaniesSelectedMsg); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure TestNoProductSelectedError() + var + HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; + begin + // [SCENARIO] User navigates the wizard selecting Local SQL server and clicks back on done window to verify correct windows are displayed. + + // [GIVEN] User starts the wizard. + Initialize(HybridCloudSetupWizard, true, false); + // [THEN] Welcome window is displayed. + VerifySaasWelcomeWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Welcome window. + HybridCloudSetupWizard.ActionNext.Invoke(); + // [THEN] Dynamics Product window is displayed. + VerifySaasDynamicsProductWindow(HybridCloudSetupWizard); + // [GIVEN] User clicks 'Next' on Dynamics Product window. + asserterror HybridCloudSetupWizard.ActionNext.Invoke(); + end; + + local procedure VerifySaasWelcomeWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") + begin + Assert.IsFalse(HybridCloudSetupWizard.ActionBack.Enabled(), 'Welcome window ActionBack should be disabled.'); + Assert.IsTrue(HybridCloudSetupWizard.ActionNext.Enabled(), 'Welcome window ActionNext should be enabled.'); + Assert.IsFalse(HybridCloudSetupWizard.ActionFinish.Enabled(), 'Welcome window ActionFinish should be disabled.'); + end; + + local procedure VerifySaasDynamicsProductWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") + begin + Assert.IsTrue(HybridCloudSetupWizard.ActionBack.Enabled(), 'Dynamics Product window ActionBack should be enabled.'); + Assert.IsTrue(HybridCloudSetupWizard.ActionNext.Enabled(), 'Dynamics Product window ActionNext should be enabled.'); + Assert.IsFalse(HybridCloudSetupWizard.ActionFinish.Enabled(), 'Dynamics Product window ActionFinish should be disabled.'); + end; + + local procedure VerifySaasSqlConfigurationWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") + begin + Assert.IsTrue(HybridCloudSetupWizard.ActionBack.Enabled(), 'SQL Type window ActionBack should be enabled.'); + Assert.IsTrue(HybridCloudSetupWizard.ActionNext.Enabled(), 'SQL Type window ActionNext should be enabled.'); + Assert.IsFalse(HybridCloudSetupWizard.ActionFinish.Enabled(), 'SQL Type window ActionFinish should be disabled.'); + end; + + local procedure VerifySaasIRInstructionsWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") + begin + Assert.IsTrue(HybridCloudSetupWizard.ActionBack.Enabled(), 'ADF Info window ActionBack should be enabled.'); + Assert.IsTrue(HybridCloudSetupWizard.ActionNext.Enabled(), 'ADF Info window ActionNext should be enabled.'); + Assert.IsFalse(HybridCloudSetupWizard.ActionFinish.Enabled(), 'ADF Info window ActionFinish should be disabled.'); + Assert.IsTrue(HybridCloudSetupWizard.DownLoadShir.Visible(), 'ADF Instructions window Download Self Hosted Integration Runtime should be visible.'); + end; + + local procedure VerifyCompanySelectionWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard") + begin + Assert.IsTrue(HybridCloudSetupWizard.ActionBack.Enabled(), 'ADF Connection window ActionBack should be enabled.'); + Assert.IsTrue(HybridCloudSetupWizard.ActionNext.Enabled(), 'ADF Connection window ActionNext should be enabled.'); + Assert.IsFalse(HybridCloudSetupWizard.ActionFinish.Enabled(), 'ADF Connection window ActionFinish should be disabled.'); + end; + + local procedure VerifySaasDoneWindow(HybridCloudSetupWizard: TestPage "Hybrid Cloud Setup Wizard"; executeNumber: Integer) + begin + Assert.IsTrue(HybridCloudSetupWizard.ActionBack.Enabled(), StrSubstNo('Done window ActionBack should be enabled. Run %1', executeNumber)); + Assert.IsFalse(HybridCloudSetupWizard.ActionNext.Enabled(), StrSubstNo('Done window ActionNext should be disabled. Run %1', executeNumber)); + Assert.IsTrue(HybridCloudSetupWizard.ActionFinish.Enabled(), StrSubstNo('Done window ActionFinish should be enabled. Run %1', executeNumber)); + end; + + [ConfirmHandler] + procedure ConfirmYesHandler(question: Text[1024]; var reply: Boolean) + begin + reply := true; + end; + + [ConfirmHandler] + procedure ConfirmNoHandler(question: Text[1024]; var reply: Boolean) + begin + reply := false; + end; + + + [ModalPageHandler] + procedure ProvidersBCPageHandler(var HybridProductTypes: TestPage "Hybrid Product Types") + begin + HybridProductTypes.FindFirstField("Display Name", GetProductName()); + HybridProductTypes.OK().Invoke(); + end; + + local procedure GetProductName(): Text + var + CurrentModuleInfo: ModuleInfo; + begin + NavApp.GetCurrentModuleInfo(CurrentModuleInfo); + exit(StrSubstNo(ProductNameTxt, CurrentModuleInfo.AppVersion.Major)); + end; +} diff --git a/Apps/W1/HybridBCLast/app/.objidconfig b/Apps/W1/HybridBCLast/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/HybridBCLast/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/Permissions/INTELLIGENTCLOUDHBCL.PermissionSetExt.al b/Apps/W1/HybridBCLast/app/Permissions/INTELLIGENTCLOUDHBCL.PermissionSetExt.al index cf760546d5..631b703234 100644 --- a/Apps/W1/HybridBCLast/app/Permissions/INTELLIGENTCLOUDHBCL.PermissionSetExt.al +++ b/Apps/W1/HybridBCLast/app/Permissions/INTELLIGENTCLOUDHBCL.PermissionSetExt.al @@ -5,6 +5,10 @@ using System.Security.AccessControl; permissionsetextension 4021 "INTELLIGENT CLOUD - HBCL" extends "INTELLIGENT CLOUD" { Permissions = tabledata "Source Table Mapping" = RIMD, - tabledata "Hybrid BC Last Setup" = RIMD, - tabledata "Stg Incoming Document" = RIMD; +#if not CLEAN24 +#pragma warning disable AL0432 + tabledata "Stg Incoming Document" = RIMD, +#pragma warning restore AL0432 +#endif + tabledata "Hybrid BC Last Setup" = RIMD; } \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/Permissions/d365basicHBCL.permissionsetext.al b/Apps/W1/HybridBCLast/app/Permissions/d365basicHBCL.permissionsetext.al index b7973b3579..3ca93884e4 100644 --- a/Apps/W1/HybridBCLast/app/Permissions/d365basicHBCL.permissionsetext.al +++ b/Apps/W1/HybridBCLast/app/Permissions/d365basicHBCL.permissionsetext.al @@ -5,6 +5,10 @@ using System.Security.AccessControl; permissionsetextension 4018 "D365 BASIC - HBCL" extends "D365 BASIC" { Permissions = tabledata "Source Table Mapping" = RIMD, - tabledata "Hybrid BC Last Setup" = RIMD, - tabledata "Stg Incoming Document" = RIMD; +#if not CLEAN24 +#pragma warning disable AL0432 + tabledata "Stg Incoming Document" = RIMD, +#pragma warning restore AL0432 +#endif + tabledata "Hybrid BC Last Setup" = RIMD; } \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/Permissions/d365basicisvHBCL.permissionsetext.al b/Apps/W1/HybridBCLast/app/Permissions/d365basicisvHBCL.permissionsetext.al index e2e362204f..6b9ea13e9b 100644 --- a/Apps/W1/HybridBCLast/app/Permissions/d365basicisvHBCL.permissionsetext.al +++ b/Apps/W1/HybridBCLast/app/Permissions/d365basicisvHBCL.permissionsetext.al @@ -5,6 +5,10 @@ using System.Security.AccessControl; permissionsetextension 4019 "D365 BASIC ISV - HBCL" extends "D365 BASIC ISV" { Permissions = tabledata "Source Table Mapping" = RIMD, - tabledata "Hybrid BC Last Setup" = RIMD, - tabledata "Stg Incoming Document" = RIMD; +#if not CLEAN24 +#pragma warning disable AL0432 + tabledata "Stg Incoming Document" = RIMD, +#pragma warning restore AL0432 +#endif + tabledata "Hybrid BC Last Setup" = RIMD; } \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/Permissions/d365teammemberHBCL.permissionsetext.al b/Apps/W1/HybridBCLast/app/Permissions/d365teammemberHBCL.permissionsetext.al index f13bbf9ef5..78cbf567c2 100644 --- a/Apps/W1/HybridBCLast/app/Permissions/d365teammemberHBCL.permissionsetext.al +++ b/Apps/W1/HybridBCLast/app/Permissions/d365teammemberHBCL.permissionsetext.al @@ -5,6 +5,10 @@ using System.Security.AccessControl; permissionsetextension 4020 "D365 TEAM MEMBER - HBCL" extends "D365 TEAM MEMBER" { Permissions = tabledata "Source Table Mapping" = RIMD, - tabledata "Hybrid BC Last Setup" = RIMD, - tabledata "Stg Incoming Document" = RIMD; +#if not CLEAN24 +#pragma warning disable AL0432 + tabledata "Stg Incoming Document" = RIMD, +#pragma warning restore AL0432 +#endif + tabledata "Hybrid BC Last Setup" = RIMD; } \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/app.json b/Apps/W1/HybridBCLast/app/app.json index e23fb39d83..4552956072 100644 --- a/Apps/W1/HybridBCLast/app/app.json +++ b/Apps/W1/HybridBCLast/app/app.json @@ -2,7 +2,7 @@ "id": "6992416f-3f39-4d3c-8242-3fff61350bea", "name": "Business Central Cloud Migration - Previous Release", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Enables data migration from the previous version of Dynamics BC (n-1) to the current release of Dynamics 365 Business Central SaaS.", "description": "This extension will take you through the process to migrate data from your Business Central on-premises solution to your Dynamics 365 Business Central cloud tenant. This extension updates system and application tables. Once you have walked through the cloud migration wizard in assisted setup, you will be able to migrate your data from your on-premises environment to your cloud tenant.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,7 +15,7 @@ { "publisher": "Microsoft", "name": "Intelligent Cloud Base", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" } ], @@ -29,7 +29,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -42,5 +42,5 @@ "includeSourceInSymbolFile": true }, "target": "Cloud", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al b/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al index 9929179f64..0a0a4ae73e 100644 --- a/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al +++ b/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al @@ -29,10 +29,6 @@ codeunit 4026 "W1 Management" PleaseWaitForUpgradeToBeTriggeredErr: Label 'The upgrade has been scheduled at %1. Please wait for %2 minutes for the task to start. You can check if the upgrade was scheduled and track the progress in on the Operations tab in the Business Central admin center. If the task does not start during this time, start the process again.', Comment = '%1 - Time upgrade action was invoked. %2 Time in minutes to wait.'; CheckUpgradeStatusInTenantAdminCenterMsg: Label 'The upgrade was scheduled at %1. You can see if the upgrade has run on the Operations tab in the Business Central admin center. In case the upgrade fails, we will have restored the tenant to the point before the upgrade, so you can fix any issues and start a new upgrade run.', Comment = '%1 - Time upgrade action was invoked.'; SettingTheHybridReplicationSummaryToCompletedTxt: Label 'Updating Hybrid Replication Summary records to completed.', Locked = true; -#if not CLEAN21 - UpgradeEngineSelectQst: Label 'AL Code,Invoke Full Upgrade (New)'; - UseLegacyUpgradeEngineWasChangedTxt: Label 'The setting for using the legacy upgrade engine was changed to %1', Locked = true; -#endif trigger OnRun() begin @@ -447,36 +443,6 @@ codeunit 4026 "W1 Management" exit(HybridCompanyStatus."Upgrade Status" = HybridCompanyStatus."Upgrade Status"::Pending); end; -#if not CLEAN21 -#pragma warning disable AS0072 - [Obsolete('No longer supported.', '21.0')] - procedure ChangeUpgradeEngine() - var - IntelligentCloudSetup: Record "Intelligent Cloud Setup"; - HybridBCLastManagement: Codeunit "Hybrid BC Last Management"; - Selection: Integer; - CurrentlySelected: Integer; - begin - if not HybridBCLastManagement.GetBCLastProductEnabled() then - exit; - - IntelligentCloudSetup.Get(); - - CurrentlySelected := 1; - if IntelligentCloudSetup."Use Legacy Upgrade Engine" then - CurrentlySelected := 1; - - Selection := StrMenu(UpgradeEngineSelectQst, CurrentlySelected); - if Selection = 0 then - exit; - - IntelligentCloudSetup."Use Legacy Upgrade Engine" := Selection = 1; - IntelligentCloudSetup.Modify(); - Session.LogMessage('0000IG9', StrSubstNo(UseLegacyUpgradeEngineWasChangedTxt, Format(IntelligentCloudSetup."Use Legacy Upgrade Engine", 0, 9)), Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', CloudMigrationTok); - end; -#pragma warning restore AS0072 -#endif - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Deployment", 'OnHandleVerifyCanStartUpgrade', '', false, false)] local procedure HandleVerifyCanStartUpgrade(var CanStartUpgrade: Boolean; var Handled: Boolean) begin diff --git a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigBaseApp.Codeunit.al b/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigBaseApp.Codeunit.al deleted file mode 100644 index 6fb1f854aa..0000000000 --- a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigBaseApp.Codeunit.al +++ /dev/null @@ -1,434 +0,0 @@ -namespace Microsoft.DataMigration.BC; - -using Microsoft.Finance.Dimension; -using Microsoft.Finance.GeneralLedger.Journal; -using Microsoft.Inventory.Item; -using Microsoft.Projects.Project.Job; -using Microsoft.Integration.Entity; -using Microsoft.Sales.Document; -using Microsoft.Sales.History; -using Microsoft.Purchases.Document; -using Microsoft.Purchases.History; -using Microsoft.Sales.Customer; -using Microsoft.Purchases.Vendor; -using Microsoft.Finance.Currency; -using Microsoft.Inventory.Tracking; -using Microsoft.Foundation.Shipping; - -codeunit 4052 "Upg Mig - BaseApp" -{ - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '17.0'; - - trigger OnRun() - begin - // This code is based on standard app upgrade logic. - // Matching file: .\App\Layers\W1\BaseApp\Upgrade\UpgradeBaseApp.Codeunit.al - // Based on commit: d4aef6b7b9 - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"W1 Company Handler", 'OnUpgradePerCompanyDataForVersion', '', false, false)] - local procedure OnCompanyMigrationUpgrade(TargetVersion: Decimal) - begin - if TargetVersion <> 15.0 then - exit; - - UpdateDefaultDimensionsReferencedIds(); - UpdateGenJournalBatchReferencedIds(); - UpdateItems(); - UpdateJobs(); - UpdateItemTrackingCodes(); - UpgradeStandardCustomerSalesCodes(); - UpgradeStandardVendorPurchaseCode(); - - UpgradeAPIs(); - end; - - local procedure UpdateDefaultDimensionsReferencedIds() - var - DefaultDimension: Record "Default Dimension"; - begin - if DefaultDimension.FindSet() then - repeat - DefaultDimension.UpdateReferencedIds(); // Record is modified in procedure call - until DefaultDimension.Next() = 0; - end; - - local procedure UpdateGenJournalBatchReferencedIds() - var - GenJournalBatch: Record "Gen. Journal Batch"; - begin - if GenJournalBatch.FindSet() then - repeat - GenJournalBatch.UpdateBalAccountId(); -#pragma warning disable AA0214 - if GenJournalBatch.Modify() then; - until GenJournalBatch.Next() = 0; - end; - - local procedure UpdateItems() - var - ItemCategory: Record "Item Category"; - Item: Record "Item"; - begin - if not ItemCategory.IsEmpty() then begin - Item.SetFilter("Item Category Code", '<>'''''); - if Item.FindSet(true) then - repeat - Item.UpdateItemCategoryId(); - if Item.Modify() then; - until Item.Next() = 0; - end; - end; - - local procedure UpdateJobs() - var - Job: Record "Job"; - begin - if Job.FindSet(true) then - repeat - if IsNullGuid(Job.SystemId) then - Job.UpdateReferencedIds(); - until Job.Next() = 0; - end; - - local procedure UpgradeAPIs() - begin - UpgradeSalesInvoiceEntityAggregate(); - UpgradePurchInvEntityAggregate(); - UpgradeSalesOrderEntityBuffer(); - UpgradeSalesQuoteEntityBuffer(); - UpgradeSalesCrMemoEntityBuffer(); - UpgradeSalesOrderShipmentMethod(); - UpgradeSalesCrMemoShipmentMethod(); - end; - - local procedure UpgradeSalesInvoiceEntityAggregate() - var - SalesInvoiceEntityAggregate: Record "Sales Invoice Entity Aggregate"; - SalesHeader: Record "Sales Header"; - SalesInvoiceHeader: Record "Sales Invoice Header"; - SourceRecordRef: RecordRef; - TargetRecordRef: RecordRef; - begin - if SalesInvoiceEntityAggregate.FindSet(true) then - repeat - if SalesInvoiceEntityAggregate.Posted then begin - SalesInvoiceHeader.SetRange(SystemId, SalesInvoiceEntityAggregate.Id); - if SalesInvoiceHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesInvoiceHeader); - TargetRecordRef.GetTable(SalesInvoiceEntityAggregate); - UpdateSalesDocumentFields(SourceRecordRef, TargetRecordRef, true, true, true); - end; - end else begin - SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Invoice); - SalesHeader.SetRange(SystemId, SalesInvoiceEntityAggregate.Id); - if SalesHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesHeader); - TargetRecordRef.GetTable(SalesInvoiceEntityAggregate); - UpdateSalesDocumentFields(SourceRecordRef, TargetRecordRef, true, true, true); - end; - end; - until SalesInvoiceEntityAggregate.Next() = 0; - end; - - local procedure UpgradePurchInvEntityAggregate() - var - PurchInvEntityAggregate: Record "Purch. Inv. Entity Aggregate"; - PurchaseHeader: Record "Purchase Header"; - PurchInvHeader: Record "Purch. Inv. Header"; - SourceRecordRef: RecordRef; - TargetRecordRef: RecordRef; - begin - if PurchInvEntityAggregate.FindSet(true) then - repeat - if PurchInvEntityAggregate.Posted then begin - PurchInvHeader.SetRange(SystemId, PurchInvEntityAggregate.Id); - if PurchInvHeader.FindFirst() then begin - SourceRecordRef.GetTable(PurchInvHeader); - TargetRecordRef.GetTable(PurchInvEntityAggregate); - UpdatePurchaseDocumentFields(SourceRecordRef, TargetRecordRef, true, true); - end; - end else begin - PurchaseHeader.SetRange("Document Type", PurchaseHeader."Document Type"::Invoice); - PurchaseHeader.SetRange(SystemId, PurchInvEntityAggregate.Id); - if PurchaseHeader.FindFirst() then begin - SourceRecordRef.GetTable(PurchaseHeader); - TargetRecordRef.GetTable(PurchInvEntityAggregate); - UpdatePurchaseDocumentFields(SourceRecordRef, TargetRecordRef, true, true); - end; - end; - until PurchInvEntityAggregate.Next() = 0; - end; - - local procedure UpgradeSalesOrderEntityBuffer() - var - SalesOrderEntityBuffer: Record "Sales Order Entity Buffer"; - SalesHeader: Record "Sales Header"; - SourceRecordRef: RecordRef; - TargetRecordRef: RecordRef; - begin - if SalesOrderEntityBuffer.FindSet(true) then - repeat - SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Order); - SalesHeader.SetRange(SystemId, SalesOrderEntityBuffer.Id); - if SalesHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesHeader); - TargetRecordRef.GetTable(SalesOrderEntityBuffer); - UpdateSalesDocumentFields(SourceRecordRef, TargetRecordRef, true, true, true); - end; - until SalesOrderEntityBuffer.Next() = 0; - end; - - local procedure UpgradeSalesQuoteEntityBuffer() - var - SalesQuoteEntityBuffer: Record "Sales Quote Entity Buffer"; - SalesHeader: Record "Sales Header"; - SourceRecordRef: RecordRef; - TargetRecordRef: RecordRef; - begin - if SalesQuoteEntityBuffer.FindSet(true) then - repeat - SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Quote); - SalesHeader.SetRange(SystemId, SalesQuoteEntityBuffer.Id); - if SalesHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesHeader); - TargetRecordRef.GetTable(SalesQuoteEntityBuffer); - UpdateSalesDocumentFields(SourceRecordRef, TargetRecordRef, true, true, true); - end; - until SalesQuoteEntityBuffer.Next() = 0; - end; - - local procedure UpgradeSalesCrMemoEntityBuffer() - var - SalesCrMemoEntityBuffer: Record "Sales Cr. Memo Entity Buffer"; - SalesHeader: Record "Sales Header"; - SalesCrMemoHeader: Record "Sales Cr.Memo Header"; - SourceRecordRef: RecordRef; - TargetRecordRef: RecordRef; - begin - if SalesCrMemoEntityBuffer.FindSet(true) then - repeat - if SalesCrMemoEntityBuffer.Posted then begin - SalesCrMemoHeader.SetRange(SystemId, SalesCrMemoEntityBuffer.Id); - if SalesCrMemoHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesCrMemoHeader); - TargetRecordRef.GetTable(SalesCrMemoEntityBuffer); - UpdateSalesDocumentFields(SourceRecordRef, TargetRecordRef, true, true, false); - end; - end else begin - SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::"Credit Memo"); - SalesHeader.SetRange(SystemId, SalesCrMemoEntityBuffer.Id); - if SalesHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesHeader); - TargetRecordRef.GetTable(SalesCrMemoEntityBuffer); - UpdateSalesDocumentFields(SourceRecordRef, TargetRecordRef, true, true, false); - end; - end; - until SalesCrMemoEntityBuffer.Next() = 0; - end; - - local procedure UpdateSalesDocumentFields(var SourceRecordRef: RecordRef; var TargetRecordRef: RecordRef; SellTo: Boolean; BillTo: Boolean; ShipTo: Boolean) - var - SalesHeader: Record "Sales Header"; - SalesOrderEntityBuffer: Record "Sales Order Entity Buffer"; - Customer: Record "Customer"; - CodeFieldRef: FieldRef; - IdFieldRef: FieldRef; - EmptyGuid: Guid; - begin - if SellTo then begin - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Sell-to Phone No.")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Sell-to E-Mail")); - end; - if BillTo then begin - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to Customer No.")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to Name")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to Address")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to Address 2")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to City")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to Contact")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to Post Code")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to County")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Bill-to Country/Region Code")); - CodeFieldRef := TargetRecordRef.Field(SalesOrderEntityBuffer.FIELDNO("Bill-to Customer No.")); - IdFieldRef := TargetRecordRef.Field(SalesOrderEntityBuffer.FIELDNO("Bill-to Customer Id")); - if Customer.Get(CodeFieldRef.Value()) then - IdFieldRef.Value(Customer.SystemId) - else - IdFieldRef.Value(EmptyGuid); - end; - if ShipTo then begin - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to Code")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to Name")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to Address")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to Address 2")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to City")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to Contact")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to Post Code")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to County")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Ship-to Country/Region Code")); - end; - TargetRecordRef.Modify(); - end; - - local procedure UpdatePurchaseDocumentFields(var SourceRecordRef: RecordRef; var TargetRecordRef: RecordRef; PayTo: Boolean; ShipTo: Boolean) - var - PurchaseHeader: Record "Purchase Header"; - PurchInvEntityAggregate: Record "Purch. Inv. Entity Aggregate"; - Vendor: Record "Vendor"; - Currency: Record "Currency"; - CodeFieldRef: FieldRef; - IdFieldRef: FieldRef; - EmptyGuid: Guid; - begin - if PayTo then begin - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to Vendor No.")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to Name")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to Address")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to Address 2")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to City")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to Contact")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to Post Code")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to County")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Pay-to Country/Region Code")); - CodeFieldRef := TargetRecordRef.Field(PurchInvEntityAggregate.FIELDNO("Pay-to Vendor No.")); - IdFieldRef := TargetRecordRef.Field(PurchInvEntityAggregate.FIELDNO("Pay-to Vendor Id")); - if Vendor.Get(CodeFieldRef.Value()) then - IdFieldRef.Value(Vendor.SystemId) - else - IdFieldRef.Value(EmptyGuid); - CodeFieldRef := TargetRecordRef.Field(PurchInvEntityAggregate.FIELDNO("Currency Code")); - IdFieldRef := TargetRecordRef.Field(PurchInvEntityAggregate.FIELDNO("Currency Id")); - if Vendor.Get(CodeFieldRef.Value()) then - IdFieldRef.Value(Currency.SystemId) - else - IdFieldRef.Value(EmptyGuid); - end; - if ShipTo then begin - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to Code")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to Name")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to Address")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to Address 2")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to City")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to Contact")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to Post Code")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to County")); - CopyFieldValue(SourceRecordRef, TargetRecordRef, PurchaseHeader.FIELDNO("Ship-to Country/Region Code")); - end; - TargetRecordRef.Modify(); - end; - - local procedure CopyFieldValue(var SourceRecordRef: RecordRef; var TargetRecordRef: RecordRef; FieldNo: Integer) - var - SourceFieldRef: FieldRef; - TargetFieldRef: FieldRef; - begin - SourceFieldRef := SourceRecordRef.Field(FieldNo); - TargetFieldRef := TargetRecordRef.Field(FieldNo); - if TargetFieldRef.Value() <> SourceFieldRef.Value() then - TargetFieldRef.Value(SourceFieldRef.Value()); - end; - - local procedure UpdateItemTrackingCodes() - var - ItemTrackingCode: Record "Item Tracking Code"; - begin - ItemTrackingCode.SetRange("Use Expiration Dates", false); - if not ItemTrackingCode.IsEmpty() then - // until now, expiration date was always ON, so let's reflect this - ItemTrackingCode.ModifyAll("Use Expiration Dates", true); - end; - - local procedure UpgradeStandardCustomerSalesCodes() - var - StandardSalesCode: Record "Standard Sales Code"; - StandardCustomerSalesCode: Record "Standard Customer Sales Code"; - begin - if StandardSalesCode.FindSet() then - repeat - StandardCustomerSalesCode.SetRange(Code, StandardSalesCode.Code); - StandardCustomerSalesCode.ModifyAll("Currency Code", StandardSalesCode."Currency Code"); - until StandardSalesCode.Next() = 0; - end; - - local procedure UpgradeStandardVendorPurchaseCode() - var - StandardPurchaseCode: Record "Standard Purchase Code"; - StandardVendorPurchaseCode: Record "Standard Vendor Purchase Code"; - begin - if StandardPurchaseCode.FindSet() then - repeat - StandardVendorPurchaseCode.SetRange(Code, StandardPurchaseCode.Code); - StandardVendorPurchaseCode.ModifyAll("Currency Code", StandardPurchaseCode."Currency Code"); - until StandardPurchaseCode.Next() = 0; - end; - - local procedure UpgradeSalesOrderShipmentMethod() - var - SalesOrderEntityBuffer: Record "Sales Order Entity Buffer"; - SalesHeader: Record "Sales Header"; - SourceRecordRef: RecordRef; - TargetRecordRef: RecordRef; - begin - if SalesOrderEntityBuffer.FindSet(true) then - repeat - SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Order); - SalesHeader.SetRange(SystemId, SalesOrderEntityBuffer.Id); - if SalesHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesHeader); - TargetRecordRef.GetTable(SalesOrderEntityBuffer); - UpdateSalesDocumentShipmentMethodFields(SourceRecordRef, TargetRecordRef); - end; - until SalesOrderEntityBuffer.Next() = 0; - end; - - local procedure UpgradeSalesCrMemoShipmentMethod() - var - SalesCrMemoEntityBuffer: Record "Sales Cr. Memo Entity Buffer"; - SalesHeader: Record "Sales Header"; - SalesCrMemoHeader: Record "Sales Cr.Memo Header"; - SourceRecordRef: RecordRef; - TargetRecordRef: RecordRef; - begin - if SalesCrMemoEntityBuffer.FindSet(true) then - repeat - if SalesCrMemoEntityBuffer.Posted then begin - SalesCrMemoHeader.SetRange(SystemId, SalesCrMemoEntityBuffer.Id); - if SalesCrMemoHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesCrMemoHeader); - TargetRecordRef.GetTable(SalesCrMemoEntityBuffer); - UpdateSalesDocumentShipmentMethodFields(SourceRecordRef, TargetRecordRef); - end; - end else begin - SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::"Credit Memo"); - SalesHeader.SetRange(SystemId, SalesCrMemoEntityBuffer.Id); - if SalesHeader.FindFirst() then begin - SourceRecordRef.GetTable(SalesHeader); - TargetRecordRef.GetTable(SalesCrMemoEntityBuffer); - UpdateSalesDocumentShipmentMethodFields(SourceRecordRef, TargetRecordRef); - end; - end; - until SalesCrMemoEntityBuffer.Next() = 0; - end; - - local procedure UpdateSalesDocumentShipmentMethodFields(var SourceRecordRef: RecordRef; var TargetRecordRef: RecordRef) - var - SalesHeader: Record "Sales Header"; - SalesOrderEntityBuffer: Record "Sales Order Entity Buffer"; - ShipmentMethod: Record "Shipment Method"; - CodeFieldRef: FieldRef; - IdFieldRef: FieldRef; - EmptyGuid: Guid; - begin - CopyFieldValue(SourceRecordRef, TargetRecordRef, SalesHeader.FIELDNO("Shipment Method Code")); - CodeFieldRef := TargetRecordRef.Field(SalesOrderEntityBuffer.FIELDNO("Shipment Method Code")); - IdFieldRef := TargetRecordRef.Field(SalesOrderEntityBuffer.FIELDNO("Shipment Method Id")); - if ShipmentMethod.Get(CodeFieldRef.Value()) then - IdFieldRef.Value(ShipmentMethod.SystemId) - else - IdFieldRef.Value(EmptyGuid); - TargetRecordRef.Modify(); - end; -} diff --git a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigNamedForwardLinks.Codeunit.al b/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigNamedForwardLinks.Codeunit.al deleted file mode 100644 index 261cd2bcb6..0000000000 --- a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/15x/UpgMigNamedForwardLinks.Codeunit.al +++ /dev/null @@ -1,42 +0,0 @@ -namespace Microsoft.DataMigration.BC; - -using Microsoft.Upgrade; -using Microsoft.Utilities; -using System.Upgrade; - -codeunit 4051 "Upg Mig Named Forward Links" -{ - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by invoking the actual upgrade from each of the apps'; - ObsoleteTag = '17.0'; - - trigger OnRun() - begin - // This code is based on standard app upgrade logic. - // Matching file: .\App\Layers\W1\BaseApp\Upgrade\UpgLoadNamedForwardLinks.al - // Based on commit: d4aef6b7b9 - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"W1 Company Handler", 'OnUpgradePerCompanyDataForVersion', '', false, false)] - local procedure OnCompanyMigrationUpgrade(TargetVersion: Decimal) - begin - if TargetVersion <> 15.0 then - exit; - - LoadForwardLinks(); - end; - - procedure LoadForwardLinks() - var - NamedForwardLink: Record "Named Forward Link"; - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefinitions: Codeunit "Upgrade Tag Definitions"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitions.GetLoadNamedForwardLinksUpgradeTag()) then - exit; - - NamedForwardLink.Load(); - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitions.GetLoadNamedForwardLinksUpgradeTag()); - end; -} diff --git a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/19x/HybridUpgradeItemCrossRef.Codeunit.al b/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/19x/HybridUpgradeItemCrossRef.Codeunit.al deleted file mode 100644 index 037a90eca6..0000000000 --- a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/19x/HybridUpgradeItemCrossRef.Codeunit.al +++ /dev/null @@ -1,15 +0,0 @@ -namespace Microsoft.DataMigration.BC; - -#if not CLEAN22 -codeunit 40024 "Hybrid Upgrade Item Cross Ref" -{ - ObsoleteReason = 'Upgrade completed in earlier version.'; - ObsoleteState = Pending; - ObsoleteTag = '22.0'; - - [Obsolete('Upgrade completed in earlier version.', '22.0')] - procedure UpdateData(); - begin - end; -} -#endif diff --git a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/21x/UpgradeBaseApp21x.Codeunit.al b/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/21x/UpgradeBaseApp21x.Codeunit.al deleted file mode 100644 index 666e165bb3..0000000000 --- a/Apps/W1/HybridBCLast/app/src/codeunits/upgrade/21x/UpgradeBaseApp21x.Codeunit.al +++ /dev/null @@ -1,195 +0,0 @@ -namespace Microsoft.DataMigration.BC; - -using Microsoft.DataMigration; -using Microsoft.Integration.D365Sales; -using Microsoft.Integration.SyncEngine; -using Microsoft.Integration.Dataverse; -using Microsoft.Upgrade; -using System.Upgrade; -using Microsoft.Purchases.Document; -using Microsoft.Sales.Document; -using Microsoft.Sales.Setup; -using Microsoft.Pricing.Calculation; -using Microsoft.Finance.GeneralLedger.Setup; -using Microsoft.Finance.FinancialReports; - -// ------------------------------------------------------------------------------------------------ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// ------------------------------------------------------------------------------------------------ - -#if not CLEAN21 -codeunit 40026 "Upgrade BaseApp 21x" -{ - ObsoleteState = Pending; - ObsoleteReason = 'This functionality will be replaced by code that invokes the actual upgrade from each of the apps'; - ObsoleteTag = '21.0'; - - trigger OnRun() - begin - // This code is based on standard app upgrade logic. - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"W1 Management", 'OnUpgradeNonCompanyDataForVersion', '', false, false)] - local procedure OnUpgradeNonCompanyUpgrade(TargetVersion: Decimal) - begin - if TargetVersion <> 21.0 then - exit; - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"W1 Company Handler", 'OnUpgradePerCompanyDataForVersion', '', false, false)] - local procedure OnUpgradePerCompanyDataUpgrade(HybridReplicationSummary: Record "Hybrid Replication Summary"; CountryCode: Text; TargetVersion: Decimal) - begin - if TargetVersion <> 21.0 then - exit; - - UpgradeCRMUnitGroupMapping(); - UpgradeCRMSDK90ToCRMSDK91(); - FillItemChargeAssignmentQtyToHandle(); - UseCustomLookupInPrices(); - UpgradeAccountSchedulesToFinancialReports(); - end; - - local procedure UpgradeCRMUnitGroupMapping() - var - CRMConnectionSetup: Record "CRM Connection Setup"; - IntegrationTableMapping: Record "Integration Table Mapping"; - CRMIntegrationManagement: Codeunit "CRM Integration Management"; - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefinitions: Codeunit "Upgrade Tag Definitions"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitions.GetCRMUnitGroupMappingUpgradeTag()) then - exit; - - if not CRMConnectionSetup.Get() then - exit; - - if IntegrationTableMapping.Get('UNIT GROUP') then begin - CRMConnectionSetup."Unit Group Mapping Enabled" := true; - CRMConnectionSetup.Modify(); - end; - - CRMIntegrationManagement.UpdateItemUnitGroup(); - CRMIntegrationManagement.UpdateResourceUnitGroup(); - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitions.GetCRMUnitGroupMappingUpgradeTag()); - end; - - local procedure UpgradeCRMSDK90ToCRMSDK91() - var - CDSConnectionSetup: Record "CDS Connection Setup"; - CRMConnectionSetup: Record "CRM Connection Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefinitions: Codeunit "Upgrade Tag Definitions"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitions.GetCRMSDK90UpgradeTag()) then - exit; - - if CRMConnectionSetup.Get() then - if CRMConnectionSetup."Proxy Version" = 9 then begin - CRMConnectionSetup."Proxy Version" := 91; - CRMConnectionSetup.Modify(); - end; - - if CDSConnectionSetup.Get() then - if CDSConnectionSetup."Proxy Version" = 9 then begin - CDSConnectionSetup."Proxy Version" := 91; - CDSConnectionSetup.Modify(); - end; - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitions.GetCRMSDK90UpgradeTag()); - end; - - local procedure FillItemChargeAssignmentQtyToHandle() - var - ItemChargeAssignmentPurch: Record "Item Charge Assignment (Purch)"; - ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefinitions: Codeunit "Upgrade Tag Definitions"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitions.GetItemChargeHandleQtyUpgradeTag()) then - exit; - - ItemChargeAssignmentPurch.SetFilter("Qty. to Assign", '>0'); - if ItemChargeAssignmentPurch.FindSet(true) then - repeat - ItemChargeAssignmentPurch."Qty. to Handle" := ItemChargeAssignmentPurch."Qty. to Assign"; - ItemChargeAssignmentPurch."Amount to Handle" := ItemChargeAssignmentPurch."Amount to Assign"; - ItemChargeAssignmentPurch.Modify(); - until ItemChargeAssignmentPurch.Next() = 0; - - ItemChargeAssignmentSales.SetFilter("Qty. to Assign", '>0'); - if ItemChargeAssignmentSales.FindSet(true) then - repeat - ItemChargeAssignmentSales."Qty. to Handle" := ItemChargeAssignmentSales."Qty. to Assign"; - ItemChargeAssignmentSales."Amount to Handle" := ItemChargeAssignmentSales."Amount to Assign"; - ItemChargeAssignmentSales.Modify(); - until ItemChargeAssignmentSales.Next() = 0; - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitions.GetItemChargeHandleQtyUpgradeTag()); - end; - - local procedure UseCustomLookupInPrices() - var - SalesReceivablesSetup: Record "Sales & Receivables Setup"; - PriceCalculationMgt: Codeunit "Price Calculation Mgt."; - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefinitions: Codeunit "Upgrade Tag Definitions"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitions.GetUseCustomLookupUpgradeTag()) then - exit; - - if SalesReceivablesSetup.Get() and not SalesReceivablesSetup."Use Customized Lookup" then - if PriceCalculationMgt.FindActiveSubscriptions() <> '' then begin - SalesReceivablesSetup.Validate("Use Customized Lookup", true); - SalesReceivablesSetup.Modify(); - end; - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitions.GetUseCustomLookupUpgradeTag()); - end; - - local procedure UpgradeAccountSchedulesToFinancialReports() - var - GeneralLedgerSetup: Record "General Ledger Setup"; - FinancialReport: Record "Financial Report"; - FinancialReportMgt: Codeunit "Financial Report Mgt."; - UpgradeTag: Codeunit "Upgrade Tag"; - UpgradeTagDefinitions: Codeunit "Upgrade Tag Definitions"; - AnythingModified: Boolean; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitions.GetAccountSchedulesToFinancialReportsUpgradeTag()) then - exit; - if not GeneralLedgerSetup.Get() then - exit; - FinancialReportMgt.Initialize(); - if not (GeneralLedgerSetup."Acc. Sched. for Balance Sheet" = '') then - if FinancialReport.Get(GeneralLedgerSetup."Acc. Sched. for Balance Sheet") then - if GeneralLedgerSetup."Fin. Rep. for Balance Sheet" = '' then begin - GeneralLedgerSetup."Fin. Rep. for Balance Sheet" := GeneralLedgerSetup."Acc. Sched. for Balance Sheet"; - AnythingModified := true; - end; - if not (GeneralLedgerSetup."Acc. Sched. for Cash Flow Stmt" = '') then - if FinancialReport.Get(GeneralLedgerSetup."Acc. Sched. for Cash Flow Stmt") then - if GeneralLedgerSetup."Fin. Rep. for Cash Flow Stmt" = '' then begin - GeneralLedgerSetup."Fin. Rep. for Cash Flow Stmt" := GeneralLedgerSetup."Acc. Sched. for Cash Flow Stmt"; - AnythingModified := true; - end; - if not (GeneralLedgerSetup."Acc. Sched. for Income Stmt." = '') then - if FinancialReport.Get(GeneralLedgerSetup."Acc. Sched. for Income Stmt.") then - if GeneralLedgerSetup."Fin. Rep. for Income Stmt." = '' then begin - GeneralLedgerSetup."Fin. Rep. for Income Stmt." := GeneralLedgerSetup."Acc. Sched. for Income Stmt."; - AnythingModified := true; - end; - if not (GeneralLedgerSetup."Acc. Sched. for Retained Earn." = '') then - if FinancialReport.Get(GeneralLedgerSetup."Acc. Sched. for Retained Earn.") then - if GeneralLedgerSetup."Fin. Rep. for Retained Earn." = '' then begin - GeneralLedgerSetup."Fin. Rep. for Retained Earn." := GeneralLedgerSetup."Acc. Sched. for Retained Earn."; - AnythingModified := true; - end; - if AnythingModified then - GeneralLedgerSetup.Modify(); - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitions.GetAccountSchedulesToFinancialReportsUpgradeTag()); - end; - -} -#endif \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/src/tables/StgIncomingDocument.Table.al b/Apps/W1/HybridBCLast/app/src/tables/StgIncomingDocument.Table.al index d3de73d231..09796c6bd7 100644 --- a/Apps/W1/HybridBCLast/app/src/tables/StgIncomingDocument.Table.al +++ b/Apps/W1/HybridBCLast/app/src/tables/StgIncomingDocument.Table.al @@ -4,6 +4,14 @@ table 4037 "Stg Incoming Document" { ReplicateData = false; Extensible = false; +#if not CLEAN24 + ObsoleteState = Pending; + ObsoleteTag = '24.0'; +# else + ObsoleteState = Removed; + ObsoleteTag = '27.0'; +#endif + ObsoleteReason = 'Upgrade has moved away from using the duplicated codeuntis to actual upgrade objets'; fields { diff --git a/Apps/W1/HybridBCLast/test/app.json b/Apps/W1/HybridBCLast/test/app.json index 041b2b758d..318c2e4de7 100644 --- a/Apps/W1/HybridBCLast/test/app.json +++ b/Apps/W1/HybridBCLast/test/app.json @@ -2,7 +2,7 @@ "id": "c8e46b67-1f61-46e2-a3a5-0239429e26fb", "name": "Business Central Cloud Migration - Previous Release Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "description": "Tests for the Business Central Cloud Migration - Previous Release extension.", "brief": "Tests for setting up data replication from Dynamics Business Central (previous version) to Dynamics 365 Business Central SaaS.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,49 +15,49 @@ { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" }, { "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228" }, { "name": "Intelligent Cloud Base", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0" }, { "name": "Business Central Cloud Migration - Previous Release", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "6992416f-3f39-4d3c-8242-3fff61350bea" }, { "name": "Intelligent Cloud Base Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "cf07faa6-4d21-428b-bfcf-8078c5b0e582" }, { "name": "Library Variable Storage", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5095f467-0a01-4b99-99d1-9ff1237d286f" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/test/src/cod139670.ApiEvents.al b/Apps/W1/HybridBCLast/test/src/ApiEvents.Codeunit.al similarity index 100% rename from Apps/W1/HybridBCLast/test/src/cod139670.ApiEvents.al rename to Apps/W1/HybridBCLast/test/src/ApiEvents.Codeunit.al diff --git a/Apps/W1/HybridBCLast/test/src/cod139672.HybridBCLastManagementTest.al b/Apps/W1/HybridBCLast/test/src/HybridBCLastManagementTest.Codeunit.al similarity index 97% rename from Apps/W1/HybridBCLast/test/src/cod139672.HybridBCLastManagementTest.al rename to Apps/W1/HybridBCLast/test/src/HybridBCLastManagementTest.Codeunit.al index fba234fdc4..9a7b6908cf 100644 --- a/Apps/W1/HybridBCLast/test/src/cod139672.HybridBCLastManagementTest.al +++ b/Apps/W1/HybridBCLast/test/src/HybridBCLastManagementTest.Codeunit.al @@ -14,7 +14,6 @@ codeunit 139672 "Hybrid BC Last Management Test" HybridReplicationSummary: Record "Hybrid Replication Summary"; HybridBCLastWizard: Codeunit "Hybrid BC Last Wizard"; RunId: Text; - StartTime: DateTime; TriggerType: Text; SyncedVersion: BigInteger; begin @@ -24,14 +23,13 @@ codeunit 139672 "Hybrid BC Last Management Test" // [WHEN] A notification record is inserted TriggerType := 'Scheduled'; SyncedVersion := 100; - LibraryHybridBCLast.InsertNotification(RunId, StartTime, TriggerType, '', SyncedVersion); + LibraryHybridBCLast.InsertNotification(RunId, TriggerType, '', SyncedVersion); // [THEN] A Hybrid Replication Summary record is created HybridReplicationSummary.Get(RunId); with HybridReplicationSummary do begin Assert.AreEqual(Source, HybridBCLastWizard.ProductName(), 'Unexpected value in summary for source.'); Assert.AreEqual("Run ID", RunId, 'Unexpected value in summary for Run ID.'); - Assert.AreEqual("Start Time", StartTime, 'Unexpected value in summary for Start Time.'); Assert.AreEqual("Synced Version", SyncedVersion, 'Synced Version did not get set.'); Assert.AreEqual("Trigger Type", "Trigger Type"::Scheduled, 'Unexpected value in summary for Replication Type.'); end; @@ -43,7 +41,6 @@ codeunit 139672 "Hybrid BC Last Management Test" HybridReplicationSummary: Record "Hybrid Replication Summary"; HybridBCLastWizard: Codeunit "Hybrid BC Last Wizard"; RunId: Text; - StartTime: DateTime; TriggerType: Text; SyncedVersion: BigInteger; begin @@ -53,14 +50,13 @@ codeunit 139672 "Hybrid BC Last Management Test" // [WHEN] A notification record is inserted TriggerType := 'Scheduled'; SyncedVersion := 100; - LibraryHybridBCLast.InsertNotification(RunId, StartTime, TriggerType, 'INIT', SyncedVersion); + LibraryHybridBCLast.InsertNotification(RunId, TriggerType, 'INIT', SyncedVersion); // [THEN] A Hybrid Replication Summary record is created HybridReplicationSummary.Get(RunId); with HybridReplicationSummary do begin Assert.AreEqual(Source, HybridBCLastWizard.ProductName(), 'Unexpected value in summary for source.'); Assert.AreEqual("Run ID", RunId, 'Unexpected value in summary for Run ID.'); - Assert.AreEqual("Start Time", StartTime, 'Unexpected value in summary for Start Time.'); Assert.AreEqual("Trigger Type", "Trigger Type"::Scheduled, 'Unexpected value in summary for Replication Type.'); Assert.AreEqual("Synced Version", SyncedVersion, 'Synced Version did not get set.'); Assert.IsTrue(Details.HasValue(), 'Details should contain text.'); diff --git a/Apps/W1/HybridBCLast/test/src/cod139667.LibraryHybridBCLast.al b/Apps/W1/HybridBCLast/test/src/LibraryHybridBCLast.Codeunit.al similarity index 98% rename from Apps/W1/HybridBCLast/test/src/cod139667.LibraryHybridBCLast.al rename to Apps/W1/HybridBCLast/test/src/LibraryHybridBCLast.Codeunit.al index de3b292e51..48e17341d5 100644 --- a/Apps/W1/HybridBCLast/test/src/cod139667.LibraryHybridBCLast.al +++ b/Apps/W1/HybridBCLast/test/src/LibraryHybridBCLast.Codeunit.al @@ -26,11 +26,12 @@ codeunit 139667 "Library - Hybrid BC Last" W1Management.PopulateTableMapping(); end; - procedure InsertNotification(var RunId: Text; var StartTime: DateTime; var TriggerType: Text; MessageCode: Code[10]; SyncedVersion: Integer) + procedure InsertNotification(var RunId: Text; var TriggerType: Text; MessageCode: Code[10]; SyncedVersion: Integer) var WebhookNotification: Record "Webhook Notification"; NotificationStream: OutStream; NotificationText: Text; + StartTime: DateTime; begin NotificationText := LibraryHybridManagement.GetNotificationPayload(SubscriptionIdTxt, RunId, StartTime, TriggerType, AdditionalNotificationText(MessageCode, SyncedVersion)); WebhookNotification.Init(); diff --git a/Apps/W1/HybridBCLast/test/src/cod139666.TestTransformationW1.al b/Apps/W1/HybridBCLast/test/src/TestTransformationW1.Codeunit.al similarity index 100% rename from Apps/W1/HybridBCLast/test/src/cod139666.TestTransformationW1.al rename to Apps/W1/HybridBCLast/test/src/TestTransformationW1.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/.objidconfig b/Apps/W1/HybridBaseDeployment/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/HybridBaseDeployment/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/HybridBaseDeployment/app/Permissions/intelligentcloudHBD.permisisonsetextension.al b/Apps/W1/HybridBaseDeployment/app/Permissions/INTELLIGENTCLOUDHBD.PermissionSetExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/Permissions/intelligentcloudHBD.permisisonsetextension.al rename to Apps/W1/HybridBaseDeployment/app/Permissions/INTELLIGENTCLOUDHBD.PermissionSetExt.al diff --git a/Apps/W1/HybridBaseDeployment/app/app.json b/Apps/W1/HybridBaseDeployment/app/app.json index 501df345a3..0e784376a2 100644 --- a/Apps/W1/HybridBaseDeployment/app/app.json +++ b/Apps/W1/HybridBaseDeployment/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This extension will take you through the process to configure your Cloud Migration environment.", "description": "This extension will take you through the process to configure your Cloud Migration environment. Once your Cloud Migration environment is configured, you will be able to replicate data from your Dynamics 365 Business Central on-premises solution to your Dynamics 365 Business Central cloud tenant. This will enable you to take full advantage of what the cloud has to offer your business such as, enhanced insights into your business, artificial intelligence, multiple device access, and anytime, anywhere access.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2009036", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,22 +30,22 @@ "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0", + "application": "24.0.0.0", "internalsVisibleTo": [ { - "id": "57623bfa-0559-4bc2-ae1c-0979c29fc8d1", - "name": "Business Central Cloud Migration API", + "id": "57623bfa-0559-4bc2-ae1c-0979c29fc8d1", + "name": "Business Central Cloud Migration API", "publisher": "Microsoft" }, { - "id": "334ef79e-547e-4631-8ba1-7a7f18e14de6", - "name": "Business Central Intelligent Cloud", - "publisher": "Microsoft" + "id": "334ef79e-547e-4631-8ba1-7a7f18e14de6", + "name": "Business Central Intelligent Cloud", + "publisher": "Microsoft" }, { - "id": "6992416f-3f39-4d3c-8242-3fff61350bea", - "name": "Business Central Cloud Migration - Previous Release", - "publisher": "Microsoft" + "id": "6992416f-3f39-4d3c-8242-3fff61350bea", + "name": "Business Central Cloud Migration - Previous Release", + "publisher": "Microsoft" }, { "id": "cf07faa6-4d21-428b-bfcf-8078c5b0e582", @@ -53,13 +53,13 @@ "publisher": "Microsoft" }, { - "id": "c8e46b67-1f61-46e2-a3a5-0239429e26fb", - "name": "Business Central Cloud Migration - Previous Release Tests", - "publisher": "Microsoft" + "id": "c8e46b67-1f61-46e2-a3a5-0239429e26fb", + "name": "Business Central Cloud Migration - Previous Release Tests", + "publisher": "Microsoft" }, { - "id": "82acac14-8067-499b-8cf0-f068448dff34", - "name": "Dynamics GP Intelligent Cloud Tests", + "id": "82acac14-8067-499b-8cf0-f068448dff34", + "name": "Dynamics GP Intelligent Cloud Tests", "publisher": "Microsoft" } ] diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4010.CalculateAmts.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/CalculateAmounts.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4010.CalculateAmts.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/CalculateAmounts.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4004.CreateCompaniesIC.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/CreateCompaniesIC.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4004.CreateCompaniesIC.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/CreateCompaniesIC.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40015.DataLakeMigrationCleanup.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/DataLakeMigrationCleanup.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40015.DataLakeMigrationCleanup.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/DataLakeMigrationCleanup.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40018.FixDataOnRunCompleted.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/FixDataOnRunCompleted.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40018.FixDataOnRunCompleted.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/FixDataOnRunCompleted.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4012.HandleCreateCompanyICFailure.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HandleCreateCompanyFailure.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4012.HandleCreateCompanyICFailure.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HandleCreateCompanyFailure.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40019.HandleFixDataFailure.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HandleFixDataFailure.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40019.HandleFixDataFailure.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HandleFixDataFailure.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4000.HybridCloudInstall.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCloudInstall.Codeunit.al similarity index 66% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4000.HybridCloudInstall.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCloudInstall.Codeunit.al index a85906aeae..6cffaffa11 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4000.HybridCloudInstall.al +++ b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCloudInstall.Codeunit.al @@ -10,9 +10,4 @@ codeunit 4000 "Hybrid Cloud Install" begin HybridCueSetupManagement.InsertDataForReplicationSuccessRateCue(); end; - - [Obsolete('No longer needed since the underlying field is removed.', '17.0')] - procedure UpdateHybridReplicationDetailRecords() - begin - end; } \ No newline at end of file diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4001.HybridCloudManagement.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCloudManagement.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4001.HybridCloudManagement.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCloudManagement.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40016.HybridCompanyInitialize.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCompanyInitialize.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40016.HybridCompanyInitialize.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCompanyInitialize.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4006.HybridCueSetupManagement.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCueSetupManagement.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4006.HybridCueSetupManagement.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridCueSetupManagement.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40017.HybridHandleCompanyInitError.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridHandleCompInitError.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod40017.HybridHandleCompanyInitError.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridHandleCompInitError.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4011.HybridMessageManagement.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridMessageManagement.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4011.HybridMessageManagement.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/HybridMessageManagement.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4013.ICUpdateAvailableNotifier.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/IntelligentCloudNotifier.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4013.ICUpdateAvailableNotifier.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/IntelligentCloudNotifier.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4014.NotificationHandler.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/NotificationHandler.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4014.NotificationHandler.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/NotificationHandler.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4003.PostMigrationNotificaton.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/PostMigrationNotificaton.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/codeunits/cod4003.PostMigrationNotificaton.al rename to Apps/W1/HybridBaseDeployment/app/src/codeunits/PostMigrationNotificaton.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9016.Ext4018.AccountantRC.al b/Apps/W1/HybridBaseDeployment/app/src/pages/AccountantRC.PageExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/Pag9016.Ext4018.AccountantRC.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/AccountantRC.PageExt.al index b678bb2565..b3a9bddcdf 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9016.Ext4018.AccountantRC.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/AccountantRC.PageExt.al @@ -1,8 +1,8 @@ +#if not CLEAN23 namespace Microsoft.DataMigration; using Microsoft.Finance.RoleCenters; -#if not CLEAN23 pageextension 4018 AccountantRC extends "Accountant Role Center" { ObsoleteReason = 'Intelligent Cloud Insights is discontinued'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9022.Ext4019.BusinessManagerRC.al b/Apps/W1/HybridBaseDeployment/app/src/pages/BusinessManagerRC.PageExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/Pag9022.Ext4019.BusinessManagerRC.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/BusinessManagerRC.PageExt.al index 516179e68a..73e596163a 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9022.Ext4019.BusinessManagerRC.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/BusinessManagerRC.PageExt.al @@ -1,8 +1,8 @@ +#if not CLEAN23 namespace Microsoft.DataMigration; using Microsoft.Finance.RoleCenters; -#if not CLEAN23 pageextension 4019 BusinessManagerRC extends "Business Manager Role Center" { ObsoleteReason = 'Intelligent Cloud Insights is discontinued'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag40025.CloudMigrationAdlSetup.al b/Apps/W1/HybridBaseDeployment/app/src/pages/CloudMigrationADLSetup.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag40025.CloudMigrationAdlSetup.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/CloudMigrationADLSetup.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4023.DatabaseSizeTooLargeDialog.al b/Apps/W1/HybridBaseDeployment/app/src/pages/DatabaseSizeTooLargeDialog.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4023.DatabaseSizeTooLargeDialog.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/DatabaseSizeTooLargeDialog.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4011-Ext9037.HybridAccountantActivities.al b/Apps/W1/HybridBaseDeployment/app/src/pages/HybridAccountantActivities.PageExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4011-Ext9037.HybridAccountantActivities.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/HybridAccountantActivities.PageExt.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4000.HybridCloudWizard.al b/Apps/W1/HybridBaseDeployment/app/src/pages/HybridCloudSetupWizard.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4000.HybridCloudWizard.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/HybridCloudSetupWizard.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4005.HybridCompanies.al b/Apps/W1/HybridBaseDeployment/app/src/pages/HybridCompanies.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4005.HybridCompanies.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/HybridCompanies.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag40015.HybridCompaniesList.al b/Apps/W1/HybridBaseDeployment/app/src/pages/HybridCompaniesList.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag40015.HybridCompaniesList.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/HybridCompaniesList.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag4018.HybridCompaniesManagement.al b/Apps/W1/HybridBaseDeployment/app/src/pages/HybridCompaniesManagement.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/Pag4018.HybridCompaniesManagement.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/HybridCompaniesManagement.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4009-Ext1310.HybridO365Activities.al b/Apps/W1/HybridBaseDeployment/app/src/pages/HybridO365Activities.PageExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4009-Ext1310.HybridO365Activities.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/HybridO365Activities.PageExt.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4002.HybridProductTypes.al b/Apps/W1/HybridBaseDeployment/app/src/pages/HybridProductTypes.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4002.HybridProductTypes.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/HybridProductTypes.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4006.HybridReplicationStatus.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudDetails.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4006.HybridReplicationStatus.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudDetails.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4013.IntelligentCloudInsight.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudInsights.Page.al similarity index 99% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4013.IntelligentCloudInsight.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudInsights.Page.al index 303b0fb778..537bd3f83a 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4013.IntelligentCloudInsight.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudInsights.Page.al @@ -1,9 +1,9 @@ +#if not CLEAN23 namespace Microsoft.DataMigration; using Microsoft.CashFlow.Forecast; using System.Integration.PowerBI; -#if not CLEAN21 page 4013 "Intelligent Cloud Insights" { PageType = Card; diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4003.HybridReplicationManagement.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudManagement.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4003.HybridReplicationManagement.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudManagement.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4019.IntelligentCloudNotMigrated.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudNotMigrated.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4019.IntelligentCloudNotMigrated.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudNotMigrated.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4007.HybridCloudReady.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudReady.Page.al similarity index 87% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4007.HybridCloudReady.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudReady.Page.al index 5e7962bef3..875f78b02d 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4007.HybridCloudReady.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudReady.Page.al @@ -90,28 +90,6 @@ page 4007 "Intelligent Cloud Ready" { area(Processing) { - action(RunReplicationNow) - { - Enabled = IsSuperAndSetupComplete; - Visible = false; - ApplicationArea = Basic, Suite; - Caption = 'Run Migration Now'; - ToolTip = 'Manually trigger Cloud Migration.'; - Image = Setup; - ObsoleteState = Pending; - ObsoleteReason = 'Conflicts with instructions/not needed here'; - ObsoleteTag = '17.0'; - - trigger OnAction() - var - HybridReplicationSummary: Record "Hybrid Replication Summary"; - HybridCloudManagement: Codeunit "Hybrid Cloud Management"; - begin - HybridCloudManagement.RunReplication(HybridReplicationSummary.ReplicationType::Normal); - Message(RunReplicationTxt); - end; - } - action(DisableReplication) { Enabled = IsSuperAndSetupComplete and InAgreement; @@ -180,7 +158,6 @@ page 4007 "Intelligent Cloud Ready" var DisableReplicationConfirmQst: Label 'You will no longer have the Cloud Migration setup. Are you sure you want to disable?'; - RunReplicationTxt: Label 'Cloud migration has been started. You can track the status on the management page.'; ReadMigrationWhitePaperTxt: Label '1. Read the Business Central Cloud Migration help.'; ReadWhitePaperURLTxt: Label 'https://go.microsoft.com/fwlink/?linkid=2009758', Locked = true; HaveAllUsersExitTxt: Label '2. Have all users exit both the cloud tenant and on-premises solution.'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4001.HybridReplicationSchedule.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudSchedule.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4001.HybridReplicationSchedule.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudSchedule.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4008.HybridReplicationStatisticsFactBox.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudStatFactbox.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4008.HybridReplicationStatisticsFactBox.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudStatFactbox.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4017.IntelligentCloudUpdate.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudUpdate.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4017.IntelligentCloudUpdate.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudUpdate.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4012.IntelligentEdgeInsites.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentEdgeInsights.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4012.IntelligentEdgeInsites.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentEdgeInsights.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4014.IntelligentEdgeKPI.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentEdgeKPIs.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4014.IntelligentEdgeKPI.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentEdgeKPIs.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9015.Ext4017.JobProjectManagerRC.al b/Apps/W1/HybridBaseDeployment/app/src/pages/JobProjectManagerRC.PageExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/Pag9015.Ext4017.JobProjectManagerRC.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/JobProjectManagerRC.PageExt.al index 50c43bd639..a9cdf65054 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9015.Ext4017.JobProjectManagerRC.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/JobProjectManagerRC.PageExt.al @@ -1,8 +1,8 @@ +#if not CLEAN23 namespace Microsoft.DataMigration; using Microsoft.Projects.RoleCenters; -#if not CLEAN23 pageextension 4017 JobProjectManagerRC extends "Job Project Manager RC" { ObsoleteReason = 'Intelligent Cloud Insights is discontinued'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4009.MigrationTableMapping.al b/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableMapping.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4009.MigrationTableMapping.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableMapping.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4022.UserMapping.al b/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationUserMapping.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4022.UserMapping.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/MigrationUserMapping.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/pag4020PostMigrationChecklist.al b/Apps/W1/HybridBaseDeployment/app/src/pages/PostMigrationChecklist.Page.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/pag4020PostMigrationChecklist.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/PostMigrationChecklist.Page.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9026.Ext4020SalesAndRelationshipManagerRC.al b/Apps/W1/HybridBaseDeployment/app/src/pages/SalesAndRelationshipManagerRC.PageExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/Pag9026.Ext4020SalesAndRelationshipManagerRC.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/SalesAndRelationshipManagerRC.PageExt.al index 0a7f4e3eb0..07ace5625e 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9026.Ext4020SalesAndRelationshipManagerRC.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/SalesAndRelationshipManagerRC.PageExt.al @@ -1,8 +1,8 @@ +#if not CLEAN23 namespace Microsoft.DataMigration; using Microsoft.CRM.RoleCenters; -#if not CLEAN23 pageextension 4020 SalesAndRelationshipManagerRC extends "Sales & Relationship Mgr. RC" { ObsoleteReason = 'Intelligent Cloud Insights is discontinued'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9005.Ext4021SalesManager.al b/Apps/W1/HybridBaseDeployment/app/src/pages/SalesManagerRC.PageExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/pages/Pag9005.Ext4021SalesManager.al rename to Apps/W1/HybridBaseDeployment/app/src/pages/SalesManagerRC.PageExt.al index c1776c5bca..1d8bc0a5d2 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/Pag9005.Ext4021SalesManager.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/SalesManagerRC.PageExt.al @@ -1,8 +1,8 @@ +#if not CLEAN23 namespace Microsoft.DataMigration; using Microsoft.Sales.RoleCenters; -#if not CLEAN23 pageextension 4021 SalesManagerRC extends "Sales Manager Role Center" { ObsoleteReason = 'Intelligent Cloud Insights is discontinued'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/queries/que4001.HybridEnabledComaniesRepDetails.al b/Apps/W1/HybridBaseDeployment/app/src/queries/HybridEnabledCoRepDetails.Query.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/queries/que4001.HybridEnabledComaniesRepDetails.al rename to Apps/W1/HybridBaseDeployment/app/src/queries/HybridEnabledCoRepDetails.Query.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/queries/que4000.HybridTablesForReplication.al b/Apps/W1/HybridBaseDeployment/app/src/queries/HybridTablesForReplication.Query.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/queries/que4000.HybridTablesForReplication.al rename to Apps/W1/HybridBaseDeployment/app/src/queries/HybridTablesForReplication.Query.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab40025.CloudMigrationAdlSetup.al b/Apps/W1/HybridBaseDeployment/app/src/tables/CloudMigrationADLSetup.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab40025.CloudMigrationAdlSetup.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/CloudMigrationADLSetup.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4006.Ext1313.HybridActivitiesCue.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridActivitesCue.TableExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4006.Ext1313.HybridActivitiesCue.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/HybridActivitesCue.TableExt.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4005.HybridCompanies.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridCompany.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4005.HybridCompanies.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/HybridCompany.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4007.Ext9054.HybridFinanceCue.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridFinanceCue.TableExt.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4007.Ext9054.HybridFinanceCue.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/HybridFinanceCue.TableExt.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4000.HybridProductType.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridProductType.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4000.HybridProductType.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/HybridProductType.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4002.HybridReplicationDetail.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationDetail.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4002.HybridReplicationDetail.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationDetail.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4001.HybridReplicationSummary.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationSummary.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4001.HybridReplicationSummary.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationSummary.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4019.IntelligentCloudNotMigrated.al b/Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudNotMigrated.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4019.IntelligentCloudNotMigrated.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudNotMigrated.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4003.HybridSetup.al b/Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudSetup.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4003.HybridSetup.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudSetup.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4010.IntelligentCloudTableStatus.al b/Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudTableStatus.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4010.IntelligentCloudTableStatus.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudTableStatus.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4009.MigrationTableMapping.al b/Apps/W1/HybridBaseDeployment/app/src/tables/MigrationTableMapping.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4009.MigrationTableMapping.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/MigrationTableMapping.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4008.PostMigrationChecklist.al b/Apps/W1/HybridBaseDeployment/app/src/tables/PostMigrationChecklist.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4008.PostMigrationChecklist.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/PostMigrationChecklist.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab40026.ReplicationRunCompletedArg.al b/Apps/W1/HybridBaseDeployment/app/src/tables/ReplicationRunCompletedArg.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab40026.ReplicationRunCompletedArg.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/ReplicationRunCompletedArg.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4007.UserMappingSource.al b/Apps/W1/HybridBaseDeployment/app/src/tables/UserMappingSource.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4007.UserMappingSource.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/UserMappingSource.Table.al diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/tab4022.UserMappingWork.al b/Apps/W1/HybridBaseDeployment/app/src/tables/UserMappingWork.Table.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/app/src/tables/tab4022.UserMappingWork.al rename to Apps/W1/HybridBaseDeployment/app/src/tables/UserMappingWork.Table.al diff --git a/Apps/W1/HybridBaseDeployment/test/app.json b/Apps/W1/HybridBaseDeployment/test/app.json index b5e1f6ab41..f6f773ae4d 100644 --- a/Apps/W1/HybridBaseDeployment/test/app.json +++ b/Apps/W1/HybridBaseDeployment/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Intelligent Cloud Base extension.", "description": "Tests for the Intelligent Cloud Base extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2005800", @@ -16,31 +16,31 @@ "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "name": "Library Variable Storage", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", "name": "Intelligent Cloud Base", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -57,5 +57,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/HybridBaseDeployment/test/src/cod139657.AdlMigrationTests.al b/Apps/W1/HybridBaseDeployment/test/src/ADLMigrationTests.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/test/src/cod139657.AdlMigrationTests.al rename to Apps/W1/HybridBaseDeployment/test/src/ADLMigrationTests.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/test/src/cod139656.HybridCloudManagementTests.al b/Apps/W1/HybridBaseDeployment/test/src/HybridCloudManagementTests.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/test/src/cod139656.HybridCloudManagementTests.al rename to Apps/W1/HybridBaseDeployment/test/src/HybridCloudManagementTests.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/test/src/cod139655.HybridCueSetupManagementTest.al b/Apps/W1/HybridBaseDeployment/test/src/HybridCueSetupMgtTests.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/test/src/cod139655.HybridCueSetupManagementTest.al rename to Apps/W1/HybridBaseDeployment/test/src/HybridCueSetupMgtTests.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/test/src/cod139650.HybridWizardTest.al b/Apps/W1/HybridBaseDeployment/test/src/HybridWizardTests.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/test/src/cod139650.HybridWizardTest.al rename to Apps/W1/HybridBaseDeployment/test/src/HybridWizardTests.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/test/src/cod139652.LibraryHybridManagement.al b/Apps/W1/HybridBaseDeployment/test/src/LibraryHybridManagement.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/test/src/cod139652.LibraryHybridManagement.al rename to Apps/W1/HybridBaseDeployment/test/src/LibraryHybridManagement.Codeunit.al diff --git a/Apps/W1/HybridBaseDeployment/test/src/cod139653.HybridReplicationManagementPageTests.al b/Apps/W1/HybridBaseDeployment/test/src/ReplicationMgtPageTests.Codeunit.al similarity index 100% rename from Apps/W1/HybridBaseDeployment/test/src/cod139653.HybridReplicationManagementPageTests.al rename to Apps/W1/HybridBaseDeployment/test/src/ReplicationMgtPageTests.Codeunit.al diff --git a/Apps/W1/HybridGP/app/.objidconfig b/Apps/W1/HybridGP/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/HybridGP/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/HybridGP/app/Permissions/HybridGPEdit.PermissionSet.al b/Apps/W1/HybridGP/app/Permissions/HybridGPEdit.PermissionSet.al index 8ff8ba93f0..ebcef2f80d 100644 --- a/Apps/W1/HybridGP/app/Permissions/HybridGPEdit.PermissionSet.al +++ b/Apps/W1/HybridGP/app/Permissions/HybridGPEdit.PermissionSet.al @@ -49,13 +49,7 @@ permissionset 4031 "HybridGP - Edit" tabledata "GPSOPTrxHist" = IMD, tabledata "GPSOPUserDefinedWorkHist" = IMD, tabledata "GPSOPWorkflowWorkHist" = IMD, -#if not CLEAN21 -#pragma warning disable AL0432 -#endif tabledata "GPForecastTemp" = IMD, -#if not CLEAN21 -#pragma warning restore AL0432 -#endif #if not CLEAN22 #pragma warning disable AL0432 tabledata "GP POPPOHeader" = IMD, diff --git a/Apps/W1/HybridGP/app/Permissions/HybridGPObjects.PermissionSet.al b/Apps/W1/HybridGP/app/Permissions/HybridGPObjects.PermissionSet.al index 3f862de5ab..3b9a3ac574 100644 --- a/Apps/W1/HybridGP/app/Permissions/HybridGPObjects.PermissionSet.al +++ b/Apps/W1/HybridGP/app/Permissions/HybridGPObjects.PermissionSet.al @@ -61,14 +61,8 @@ permissionset 4029 "HybridGP - Objects" codeunit "GPForecastHandler" = X, codeunit "GP PO Migrator" = X, codeunit "GP Populate Hist. Tables" = X, -#if not CLEAN21 -#pragma warning disable AL0432 -#endif table "GPForecastTemp" = X, codeunit "Install GP SmartLists" = X, -#if not CLEAN21 -#pragma warning restore AL0432 -#endif #if not CLEAN22 #pragma warning disable AL0432 table "GP POPPOHeader" = X, diff --git a/Apps/W1/HybridGP/app/Permissions/HybridGPRead.PermissionSet.al b/Apps/W1/HybridGP/app/Permissions/HybridGPRead.PermissionSet.al index e15f419ff8..b74d1ef91c 100644 --- a/Apps/W1/HybridGP/app/Permissions/HybridGPRead.PermissionSet.al +++ b/Apps/W1/HybridGP/app/Permissions/HybridGPRead.PermissionSet.al @@ -49,13 +49,7 @@ permissionset 4032 "HybridGP - Read" tabledata "GPSOPTrxHist" = R, tabledata "GPSOPUserDefinedWorkHist" = R, tabledata "GPSOPWorkflowWorkHist" = R, -#if not CLEAN21 -#pragma warning disable AL0432 -#endif tabledata "GPForecastTemp" = R, -#if not CLEAN21 -#pragma warning restore AL0432 -#endif #if not CLEAN22 #pragma warning disable AL0432 tabledata "GP POPPOHeader" = R, diff --git a/Apps/W1/HybridGP/app/Permissions/INTELLIGENTCLOUDHGP.PermissionSetExt.al b/Apps/W1/HybridGP/app/Permissions/INTELLIGENTCLOUDHGP.PermissionSetExt.al index ed68212f46..ccf3d3e588 100644 --- a/Apps/W1/HybridGP/app/Permissions/INTELLIGENTCLOUDHGP.PermissionSetExt.al +++ b/Apps/W1/HybridGP/app/Permissions/INTELLIGENTCLOUDHGP.PermissionSetExt.al @@ -8,13 +8,7 @@ permissionsetextension 4028 "INTELLIGENT CLOUD - HGP" extends "INTELLIGENT CLOUD tabledata GPPOPTaxHist = RIMD, tabledata GPSOPTrxHist = RIMD, tabledata GPSOPProcessHoldWorkHist = RIMD, -#if not CLEAN21 -#pragma warning disable AL0432 -#endif tabledata GPForecastTemp = RIMD, -#if not CLEAN21 -#pragma warning restore AL0432 -#endif tabledata GPIVTrxAmountsHist = RIMD, tabledata GPSOPWorkflowWorkHist = RIMD, tabledata "GP GLTransactions" = RIMD, diff --git a/Apps/W1/HybridGP/app/app.json b/Apps/W1/HybridGP/app/app.json index b1b6d38fd6..da3b9037e3 100644 --- a/Apps/W1/HybridGP/app/app.json +++ b/Apps/W1/HybridGP/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This extension will allow you to set up data migration from your Dynamics GP companies to your Dynamics 365 Business Central tenant through a wizard.", "description": "This extension will take you through the process to migrate data from your Dynamics GP on-premises solution to your Dynamics 365 Business Central cloud tenant. This will enable you to take advantage of what the cloud has to offer your business such as, enhanced insights into your business, artificial intelligence, multiple device access, and anytime, anywhere access.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2009037", @@ -16,19 +16,19 @@ "id": "7c7d97ca-3598-40f5-b263-f713f49bd2a5", "name": "Dynamics GP Historical Data", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", "name": "Intelligent Cloud Base", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "c526b3e9-b8ca-4683-81ba-fcd5f6b1472a", "name": "Sales and Inventory Forecast", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ @@ -41,7 +41,7 @@ "publisher": "Microsoft" } ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -54,5 +54,5 @@ "includeSourceInSymbolFile": true }, "target": "Cloud", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastHandler.codeunit.al b/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastHandler.codeunit.al index e31c769423..428ef583fc 100644 --- a/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastHandler.codeunit.al +++ b/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastHandler.codeunit.al @@ -15,13 +15,7 @@ codeunit 4034 "GPForecastHandler" var TempGPTimeSeriesBuffer: Record "Time Series Buffer" temporary; -#if not CLEAN21 -#pragma warning disable AL0432 -#endif TempGPForecastTemp: Record "GPForecastTemp" temporary; -#if not CLEAN21 -#pragma warning restore AL0432 -#endif CashFlowSetup: Record "Cash Flow Setup"; MSSalesForecastSetup: Record "MS - Sales Forecast Setup"; TimeSeriesManagement: Codeunit "Time Series Management"; diff --git a/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastTemp.table.al b/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastTemp.table.al index 91d237b675..7bca55ca1f 100644 --- a/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastTemp.table.al +++ b/Apps/W1/HybridGP/app/src/Migration/History/AI/GPForecastTemp.table.al @@ -3,13 +3,7 @@ namespace Microsoft.DataMigration.GP; #pragma warning disable AS0109 table 4031 "GPForecastTemp" { -#if CLEAN21 TableType = Temporary; -#else - ObsoleteState = Pending; - ObsoleteReason = 'Table will be moved to temporary'; - ObsoleteTag = '21.0'; -#endif ReplicateData = false; Extensible = false; diff --git a/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookMSTR.table.al b/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookMSTR.table.al index 207c9c1927..902e568335 100644 --- a/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookMSTR.table.al +++ b/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookMSTR.table.al @@ -180,14 +180,4 @@ table 40099 "GP Checkbook MSTR" Clustered = true; } } - -#if not CLEAN21 - [Obsolete('This method is obsolete. Code has been moved to GP Checkbook Migrator codeunit.', '21.0')] - procedure MoveStagingData() - var - GPCheckbookMigrator: codeunit "GP Checkbook Migrator"; - begin - GPCheckbookMigrator.MoveCheckbookStagingData(); - end; -#endif } \ No newline at end of file diff --git a/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookTransactions.table.al b/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookTransactions.table.al index cf2b0b7464..bd805e1af7 100644 --- a/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookTransactions.table.al +++ b/Apps/W1/HybridGP/app/src/Migration/Support/CheckBooks/GPCheckbookTransactions.table.al @@ -220,12 +220,4 @@ table 40101 "GP Checkbook Transactions" Clustered = true; } } - -#if not CLEAN21 - [Obsolete('This method is obsolete. Code has been moved to GP Checkbook Migrator codeunit.', '21.0')] - procedure MoveStagingData(CheckbookId: Code[15]; PostingGroup: Code[20]) - begin - - end; -#endif } \ No newline at end of file diff --git a/Apps/W1/HybridGP/app/src/Migration/Support/HelperFunctions.codeunit.al b/Apps/W1/HybridGP/app/src/Migration/Support/HelperFunctions.codeunit.al index bd18e389a1..4cd75341e1 100644 --- a/Apps/W1/HybridGP/app/src/Migration/Support/HelperFunctions.codeunit.al +++ b/Apps/W1/HybridGP/app/src/Migration/Support/HelperFunctions.codeunit.al @@ -1,6 +1,5 @@ namespace Microsoft.DataMigration.GP; -using System.Environment; using System.Reflection; using System.Utilities; using System.Integration; @@ -10,7 +9,6 @@ using Microsoft.Inventory.Item; using Microsoft.Inventory.Location; using Microsoft.Finance.Dimension; using Microsoft.Finance.GeneralLedger.Journal; -using Microsoft.Finance.VAT.Setup; using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Inventory.Setup; using Microsoft.Finance.GeneralLedger.Ledger; @@ -110,25 +108,6 @@ codeunit 4037 "Helper Functions" GeneralTemplateNameTxt: Label 'GENERAL', Locked = true; NotAllJournalLinesPostedMsg: Label 'Not all journal lines were posted. Number of unposted lines - %1.', Comment = '%1 Number of unposted lines'; -#if not CLEAN21 - [Obsolete('Method is not supported, it was using files', '21.0')] - procedure GetEntities(EntityName: Text; var JArray: JsonArray): Boolean - begin - exit(false); - end; - - [Obsolete('Method is not supported, it was using files', '21.0')] - procedure GetEntitiesAsJToken(EntityName: Text; var JToken: JsonToken): Boolean - begin - exit(false); - end; - - [Obsolete('Method is not supported, it was using files', '21.0')] - procedure GetObjectCount(EntityName: Text; var ObjectCount: Integer) - begin - end; -#endif - procedure GetTextFromJToken(JToken: JsonToken; Path: Text): Text var SelectedJToken: JsonToken; @@ -927,13 +906,6 @@ codeunit 4037 "Helper Functions" until GPCodes.Next() = 0; end; -#if not CLEAN21 - [Obsolete('Method is not supported, it was using files', '21.0')] - procedure GetDimensionInfo() - begin - end; -#endif - procedure AnyCompaniesWithTooManySegments(var CompanyList: List of [Text]) var GPCompanyMigrationSettings: Record "GP Company Migration Settings"; diff --git a/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOHeader.table.al b/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOHeader.table.al index 3af190a436..e538b55de9 100644 --- a/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOHeader.table.al +++ b/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOHeader.table.al @@ -1,9 +1,11 @@ namespace Microsoft.DataMigration.GP; +#if not CLEAN22 using Microsoft.Purchases.Setup; using Microsoft.Foundation.Company; -using Microsoft.Purchases.Document; using System.Integration; +#endif +using Microsoft.Purchases.Document; table 40102 "GP POPPOHeader" { diff --git a/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOLine.table.al b/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOLine.table.al index e5ec437085..455ddb2c64 100644 --- a/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOLine.table.al +++ b/Apps/W1/HybridGP/app/src/Migration/Support/PurchaseOrders/GPPOPPOLine.table.al @@ -2,7 +2,9 @@ namespace Microsoft.DataMigration.GP; using Microsoft.Purchases.Document; using Microsoft.Inventory.Item; +#if not CLEAN22 using System.Integration; +#endif table 40103 "GP POPPOLine" { diff --git a/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorMigrator.codeunit.al b/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorMigrator.codeunit.al index 57333dae03..459ef8fd1c 100644 --- a/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorMigrator.codeunit.al +++ b/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorMigrator.codeunit.al @@ -490,13 +490,6 @@ codeunit 4022 "GP Vendor Migrator" RemitAddress.Modify(); end; -#if not CLEAN21 - [Obsolete('Method is not supported, it was using files', '21.0')] - procedure GetAll() - begin - end; -#endif - procedure PopulateStagingTable(JArray: JsonArray) begin GlobalDocumentNo := 'V00000'; diff --git a/Apps/W1/HybridGP/app/src/tables/GPUpgradeSettings.Table.al b/Apps/W1/HybridGP/app/src/tables/GPUpgradeSettings.Table.al index 96be05d6a7..65a8e89ef6 100644 --- a/Apps/W1/HybridGP/app/src/tables/GPUpgradeSettings.Table.al +++ b/Apps/W1/HybridGP/app/src/tables/GPUpgradeSettings.Table.al @@ -47,6 +47,7 @@ table 40150 "GP Upgrade Settings" } field(8; "One Step Upgrade"; Boolean) { + InitValue = true; DataClassification = CustomerContent; Caption = 'Run upgrade after replication'; } @@ -74,6 +75,7 @@ table 40150 "GP Upgrade Settings" begin if not GPUpgradeSettings.Get() then begin GPUpgradeSettings."Upgrade Duration" := HybridGPManagement.GetDefaultJobTimeout(); + GPUpgradeSettings."One Step Upgrade" := true; GPUpgradeSettings."One Step Upgrade Delay" := GetUpgradeDelay(); GPUpgradeSettings.Insert(); GPUpgradeSettings.Get(); diff --git a/Apps/W1/HybridGP/test/app.json b/Apps/W1/HybridGP/test/app.json index ac73fc4e54..6665ca2357 100644 --- a/Apps/W1/HybridGP/test/app.json +++ b/Apps/W1/HybridGP/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Dynamics GP Intelligent Cloud extension.", "description": "Tests for the Dynamics GP Intelligent Cloud extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2005800", @@ -16,49 +16,49 @@ "id": "feeb3504-556e-4790-b28d-a2b9ce302d81", "name": "Dynamics GP Intelligent Cloud", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", "name": "Intelligent Cloud Base", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "cf07faa6-4d21-428b-bfcf-8078c5b0e582", "name": "Intelligent Cloud Base Tests", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "c526b3e9-b8ca-4683-81ba-fcd5f6b1472a", "name": "Sales and Inventory Forecast", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "name": "Library Variable Storage", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -75,5 +75,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/.objidconfig b/Apps/W1/INTaxEngine/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/INTaxEngine/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/Permissions/advobjectstaxengine.permission.al b/Apps/W1/INTaxEngine/app/Permissions/AdvObjectsTaxEngine.PermissionSet.al similarity index 100% rename from Apps/W1/INTaxEngine/app/Permissions/advobjectstaxengine.permission.al rename to Apps/W1/INTaxEngine/app/Permissions/AdvObjectsTaxEngine.PermissionSet.al diff --git a/Apps/W1/INTaxEngine/app/Permissions/d365accessintaxengine.permission.al b/Apps/W1/INTaxEngine/app/Permissions/D365AccessINTaxEngine.PermissionSet.al similarity index 100% rename from Apps/W1/INTaxEngine/app/Permissions/d365accessintaxengine.permission.al rename to Apps/W1/INTaxEngine/app/Permissions/D365AccessINTaxEngine.PermissionSet.al diff --git a/Apps/W1/INTaxEngine/app/Permissions/d365readaccessintaxengine.permission.al b/Apps/W1/INTaxEngine/app/Permissions/D365ReadAccessTaxEngine.PermissionSet.al similarity index 100% rename from Apps/W1/INTaxEngine/app/Permissions/d365readaccessintaxengine.permission.al rename to Apps/W1/INTaxEngine/app/Permissions/D365ReadAccessTaxEngine.PermissionSet.al diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-Core/.objidconfig b/Apps/W1/INTaxEngine/app/TaxEngine-Core/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/INTaxEngine/app/TaxEngine-Core/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-Core/app.json b/Apps/W1/INTaxEngine/app/TaxEngine-Core/app.json index c86db3bf4c..6ccd033e3b 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-Core/app.json +++ b/Apps/W1/INTaxEngine/app/TaxEngine-Core/app.json @@ -2,7 +2,7 @@ "id": "52cd6cb4-0433-4e94-8e62-9d12fff1a02b", "name": "Tax Engine Core", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Contains Tax Engine's core functionality.", "description": "Core contains user interface elements and tables that are used throughout Tax Engine. It also provides library functions that extensions can use to get values.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,8 +10,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2139719", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "screenshots": [ ], diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/.objidconfig b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/app.json b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/app.json index c3b7663c74..67b7953c38 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/app.json +++ b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/app.json @@ -2,7 +2,7 @@ "id": "b5831077-0836-4f9e-8be3-e1217b9d6305", "name": "Tax Engine Json Exchange", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides export and import functionality using JSON files.", "description": "The JSON Exchange extension lets you import and export Tax Engine configuration data as JSON files.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,31 +15,31 @@ "id": "52cd6cb4-0433-4e94-8e62-9d12fff1a02b", "publisher": "Microsoft", "name": "Tax Engine Core", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "0382879d-7e2a-46fd-bfd6-2672e3b9add4", "publisher": "Microsoft", "name": "Tax Engine Script Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "6557efcc-709a-40d9-bb71-526f2ba1a1e9", "publisher": "Microsoft", "name": "Tax Engine Tax Type Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "968ef3c8-1bbd-4cd1-83da-099bd66f11c5", "publisher": "Microsoft", "name": "Tax Engine Use Case Builder", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "d400443e-5a25-4eae-95dd-7891e382e068", "publisher": "Microsoft", "name": "Tax Engine Posting Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -52,8 +52,8 @@ "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 20360, diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al index 39c74d8a04..054046c222 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al +++ b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al @@ -6,11 +6,11 @@ namespace Microsoft.Finance.TaxEngine.JsonExchange; using Microsoft.Finance.TaxEngine.TaxTypeHandler; using Microsoft.Finance.TaxEngine.UseCaseBuilder; +using Microsoft.RoleCenters; using System.Environment.Configuration; using System.Globalization; using System.IO; using System.Media; -using Microsoft.RoleCenters; codeunit 20366 "Tax Engine Assisted Setup" { diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/.objidconfig b/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/app.json b/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/app.json index 025877265c..9b5ec9738d 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/app.json +++ b/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/app.json @@ -2,7 +2,7 @@ "id": "d400443e-5a25-4eae-95dd-7891e382e068", "name": "Tax Engine Posting Handler", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Runs posting logic for taxes and updates tax ledgers.", "description": "The Posting Handler extension contains user interface elements and tables that determine how tax is posted to G/L accounts and their ledgers.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,25 +15,25 @@ "id": "52cd6cb4-0433-4e94-8e62-9d12fff1a02b", "publisher": "Microsoft", "name": "Tax Engine Core", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "0382879d-7e2a-46fd-bfd6-2672e3b9add4", "publisher": "Microsoft", "name": "Tax Engine Script Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "6557efcc-709a-40d9-bb71-526f2ba1a1e9", "publisher": "Microsoft", "name": "Tax Engine Tax Type Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "968ef3c8-1bbd-4cd1-83da-099bd66f11c5", "publisher": "Microsoft", "name": "Tax Engine Use Case Builder", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -46,8 +46,8 @@ "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 20334, diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/src/PostingManagement/codeunit/TaxDocumentGLPosting.Codeunit.al b/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/src/PostingManagement/codeunit/TaxDocumentGLPosting.Codeunit.al index 4ec1bc7f9b..eccc09ee98 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/src/PostingManagement/codeunit/TaxDocumentGLPosting.Codeunit.al +++ b/Apps/W1/INTaxEngine/app/TaxEngine-PostingHandler/src/PostingManagement/codeunit/TaxDocumentGLPosting.Codeunit.al @@ -445,7 +445,6 @@ codeunit 20341 "Tax Document GL Posting" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Line", 'OnAfterPostGenJnlLine', '', false, false)] local procedure OnAfterPostGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; Balancing: Boolean) - var begin if not IsNullGuid(GenJournalLine."Tax ID") then RevertGenJnlLineAmount(GenJournalLine, Balancing); diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/.objidconfig b/Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/app.json b/Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/app.json index ecc63840b3..31a6b836d7 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/app.json +++ b/Apps/W1/INTaxEngine/app/TaxEngine-ScriptHandler/app.json @@ -2,7 +2,7 @@ "id": "0382879d-7e2a-46fd-bfd6-2672e3b9add4", "name": "Tax Engine Script Handler", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides scripting ability to Tax Engine.", "description": "Script Handler Tests contains user interface elements and tables for scripting business logic in use cases.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,7 +15,7 @@ "id": "52cd6cb4-0433-4e94-8e62-9d12fff1a02b", "publisher": "Microsoft", "name": "Tax Engine Core", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -33,8 +33,8 @@ "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 20156, diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/.objidconfig b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/app.json b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/app.json index 7f2176be3a..5a6d75a23c 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/app.json +++ b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/app.json @@ -2,7 +2,7 @@ "id": "6557efcc-709a-40d9-bb71-526f2ba1a1e9", "name": "Tax Engine Tax Type Handler", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Defines core elements of taxes, such as components, attributes, and rates.", "description": "The Tax Type Handler extension contains user interface elements and tables that are helpers for configuring a business use case.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,20 +10,20 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2139719", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "dependencies": [ { "id": "52cd6cb4-0433-4e94-8e62-9d12fff1a02b", "publisher": "Microsoft", "name": "Tax Engine Core", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "0382879d-7e2a-46fd-bfd6-2672e3b9add4", "publisher": "Microsoft", "name": "Tax Engine Script Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/AdvancedSetup.PageExt.al b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/TaxSettingsExt.PageExt.al similarity index 100% rename from Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/AdvancedSetup.PageExt.al rename to Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/TaxSettingsExt.PageExt.al diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/TaxTypeCard.Page.al b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/TaxType.Page.al similarity index 100% rename from Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/TaxTypeCard.Page.al rename to Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/Page/TaxType.Page.al diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/rate/page/TaxRateFilter.page.al b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/rate/page/TaxRateFilters.Page.al similarity index 100% rename from Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/rate/page/TaxRateFilter.page.al rename to Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxType/rate/page/TaxRateFilters.Page.al diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxTypeDataSenstivityMgmt.Codeunit.al b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxTypeDataSenstivityMgmt.Codeunit.al index 34c8c45fed..3faf8d21a6 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxTypeDataSenstivityMgmt.Codeunit.al +++ b/Apps/W1/INTaxEngine/app/TaxEngine-TaxTypeHandler/src/TaxTypeDataSenstivityMgmt.Codeunit.al @@ -1,4 +1,4 @@ -// ------------------------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/.objidconfig b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/app.json b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/app.json index 43fd2a1376..1d0e6952ca 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/app.json +++ b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/app.json @@ -2,7 +2,7 @@ "id": "968ef3c8-1bbd-4cd1-83da-099bd66f11c5", "name": "Tax Engine Use Case Builder", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Use cases and the components calculation logic.", "description": "The Tax Use Case Handler extension contains user interface elements and tables for configuring taxation for a business use case.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,19 +15,19 @@ "id": "52cd6cb4-0433-4e94-8e62-9d12fff1a02b", "publisher": "Microsoft", "name": "Tax Engine Core", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "0382879d-7e2a-46fd-bfd6-2672e3b9add4", "publisher": "Microsoft", "name": "Tax Engine Script Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "6557efcc-709a-40d9-bb71-526f2ba1a1e9", "publisher": "Microsoft", "name": "Tax Engine Tax Type Handler", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "internalsVisibleTo": [ @@ -45,8 +45,8 @@ "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 20283, diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/Heriarichy/UseCaseTreeConditionMgmt.Codeunit.al b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/Heriarichy/UseCaseTreeConditionMgmt.Codeunit.al index dd71fcf3c0..a7af19ee5b 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/Heriarichy/UseCaseTreeConditionMgmt.Codeunit.al +++ b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/Heriarichy/UseCaseTreeConditionMgmt.Codeunit.al @@ -4,8 +4,8 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Finance.TaxEngine.UseCaseBuilder; -using System.Reflection; using System.Automation; +using System.Reflection; codeunit 20300 "Use Case Tree Condition Mgmt." { diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/UseCase/Table/UseCaseAttributeMapping.Table.al b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/UseCase/Table/UseCaseAttributeMapping.Table.al index 112709d327..fea4c42ff1 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/UseCase/Table/UseCaseAttributeMapping.Table.al +++ b/Apps/W1/INTaxEngine/app/TaxEngine-UseCaseBuilder/src/UseCase/Table/UseCaseAttributeMapping.Table.al @@ -86,7 +86,6 @@ table 20307 "Use Case Attribute Mapping" end; trigger OnDelete() - var begin SwitchStatementHelper.DeleteSwitchStatement("Case ID", "Switch Statement ID"); end; diff --git a/Apps/W1/INTaxEngine/app/app.json b/Apps/W1/INTaxEngine/app/app.json index af26858b1b..a3ac1ca06b 100644 --- a/Apps/W1/INTaxEngine/app/app.json +++ b/Apps/W1/INTaxEngine/app/app.json @@ -2,7 +2,7 @@ "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "name": "Tax Engine", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides features for calculating tax based on use cases. Intended for use only in India.", "description": "The Tax Engine extension calculates tax based on use cases that can be attached to a predefined business event. If the event meets the conditions of the rules, the Tax Engine runs the use case.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,8 +10,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2139719", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "screenshots": [ ], diff --git a/Apps/W1/INTaxEngine/test/TaxEngine-Core/app.json b/Apps/W1/INTaxEngine/test/TaxEngine-Core/app.json index 2fa9fc6bcd..0b019a0487 100644 --- a/Apps/W1/INTaxEngine/test/TaxEngine-Core/app.json +++ b/Apps/W1/INTaxEngine/test/TaxEngine-Core/app.json @@ -2,7 +2,7 @@ "id": "f4b9b739-0b47-4c9a-9e52-a1ea5408e12e", "name": "Tax Engine Core - Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Contains core functionality of Tax Engine.", "description": "Core extension contains the UI elements with their tables which are commonly used throughout Tax Engine. Also, it has some library functions available which can be used by any different extension other than Tax Engine to get any value.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,25 +10,25 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2139719", "url": "https://go.microsoft.com/fwlink/?linkid=2139719", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "dependencies": [ { "name": "Tax Engine", "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" }, { "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228" } ], diff --git a/Apps/W1/INTaxEngine/test/TaxEngine-JsonExchange/app.json b/Apps/W1/INTaxEngine/test/TaxEngine-JsonExchange/app.json index 63441fd108..d34a107381 100644 --- a/Apps/W1/INTaxEngine/test/TaxEngine-JsonExchange/app.json +++ b/Apps/W1/INTaxEngine/test/TaxEngine-JsonExchange/app.json @@ -2,7 +2,7 @@ "id": "44e82345-45d2-43f0-a175-06eaadf45457", "name": "Tax Engine Json Exchange Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provide export and import functionality via JSON files.", "description": "Json Exchange extension will be used where we want to import or export the configuration data of tax engine as json.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,20 +15,20 @@ "name": "Tax Engine", "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" } ], "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 137700, diff --git a/Apps/W1/INTaxEngine/test/TaxEngine-PostingHandler/app.json b/Apps/W1/INTaxEngine/test/TaxEngine-PostingHandler/app.json index 502b8b6795..8ed618efd3 100644 --- a/Apps/W1/INTaxEngine/test/TaxEngine-PostingHandler/app.json +++ b/Apps/W1/INTaxEngine/test/TaxEngine-PostingHandler/app.json @@ -2,7 +2,7 @@ "id": "a1069432-ee60-4296-a61f-d1c7e70514a1", "name": "Tax Engine Posting Handler Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Executes posting logic of tax and updates tax ledger.", "description": "Posting Handler extension contains UI elements with their tables which can be used for configuring posting of tax components to G/L Accounts and their Tax Ledgers.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,32 +15,32 @@ "name": "Tax Engine", "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" }, { "id": "8af4c184-24a7-4bc5-b7b9-b0ea7f4d5907", "publisher": "Microsoft", "name": "Tax Engine Use Case Builder Tests", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "93eca88b-3dfb-405d-86b0-6a294c0a8339", "publisher": "Microsoft", "name": "Tax Engine Tax Type Handler Tests", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 137551, diff --git a/Apps/W1/INTaxEngine/test/TaxEngine-ScriptHandler/app.json b/Apps/W1/INTaxEngine/test/TaxEngine-ScriptHandler/app.json index ecf471c426..ebaafecdee 100644 --- a/Apps/W1/INTaxEngine/test/TaxEngine-ScriptHandler/app.json +++ b/Apps/W1/INTaxEngine/test/TaxEngine-ScriptHandler/app.json @@ -2,7 +2,7 @@ "id": "7e54a3e1-f903-4308-920e-1e7f36eeceee", "name": "Tax Engine Script Handler Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides scripting ability to Tax Engine.", "description": "Script extension contains UI elements with there tables which are used in scripting of Business logics within a use case.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,32 +15,32 @@ "name": "Tax Engine", "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" }, { "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228" }, { "name": "Tax Engine Core - Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "f4b9b739-0b47-4c9a-9e52-a1ea5408e12e" } ], "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 136751, diff --git a/Apps/W1/INTaxEngine/test/TaxEngine-TaxTypeHandler/app.json b/Apps/W1/INTaxEngine/test/TaxEngine-TaxTypeHandler/app.json index c45716014b..ed2a70b331 100644 --- a/Apps/W1/INTaxEngine/test/TaxEngine-TaxTypeHandler/app.json +++ b/Apps/W1/INTaxEngine/test/TaxEngine-TaxTypeHandler/app.json @@ -2,7 +2,7 @@ "id": "93eca88b-3dfb-405d-86b0-6a294c0a8339", "name": "Tax Engine Tax Type Handler Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Defines core elements of any tax ex- Components,Attributes,Rates etc.", "description": "Tax Type Handler extension contains UI elements with there tables which are helpers for configuring a business use case.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,19 +10,19 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2139719", "url": "https://go.microsoft.com/fwlink/?linkid=2139719", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "dependencies": [ { "name": "Tax Engine", "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" } ], diff --git a/Apps/W1/INTaxEngine/test/TaxEngine-UseCaseBuilder/app.json b/Apps/W1/INTaxEngine/test/TaxEngine-UseCaseBuilder/app.json index f428b6bdf3..fa2d779ae1 100644 --- a/Apps/W1/INTaxEngine/test/TaxEngine-UseCaseBuilder/app.json +++ b/Apps/W1/INTaxEngine/test/TaxEngine-UseCaseBuilder/app.json @@ -2,7 +2,7 @@ "id": "8af4c184-24a7-4bc5-b7b9-b0ea7f4d5907", "name": "Tax Engine Use Case Builder Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Use cases and the components calculation logic.", "description": "Tax Use Case Handler extension contains UI elements with their tables which can be used for configuring taxation for a business use case.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,32 +15,32 @@ "name": "Tax Engine", "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" }, { "name": "Tax Engine Tax Type Handler Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "93eca88b-3dfb-405d-86b0-6a294c0a8339" }, { "name": "Tax Engine Core - Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "f4b9b739-0b47-4c9a-9e52-a1ea5408e12e" } ], "screenshots": [ ], - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 136851, diff --git a/Apps/W1/INTaxEngine/test/app.json b/Apps/W1/INTaxEngine/test/app.json index ce18c47214..981eea4aa3 100644 --- a/Apps/W1/INTaxEngine/test/app.json +++ b/Apps/W1/INTaxEngine/test/app.json @@ -2,7 +2,7 @@ "id": "68bed2a6-e0d4-4774-b94f-eb81a3fc6dae", "name": "Tax Engine Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for Tax Engine", "description": "Tests for Tax Engine", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,25 +10,25 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2139719", "url": "https://go.microsoft.com/fwlink/?linkid=2139719", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "dependencies": [ { "id": "c1eafb3f-e397-468e-bdb4-ecc5c317ca00", "publisher": "Microsoft", "name": "Tax Engine", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" }, { "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228" } ], diff --git a/Apps/W1/ImageAnalysis/app/.objidconfig b/Apps/W1/ImageAnalysis/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ImageAnalysis/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ImageAnalysis/app/app.json b/Apps/W1/ImageAnalysis/app/app.json index 96acb47551..e3e5b64ca9 100644 --- a/Apps/W1/ImageAnalysis/app/app.json +++ b/Apps/W1/ImageAnalysis/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Analyze images using Microsoft Cognitive Services.", "description": "Uses Microsoft Cognitive Services to analyze images. Analyze images of an item, and assign item attributes and item category based on the results. Analyze images of a contact, and assign age and gender to the a contact profile questionnaire.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=850308", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICISVImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICISVImageAnalyzer.PermissionSetExt.al index b82dc987ce..025031432e 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICISVImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICISVImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 29582 "D365 BASIC ISVImage Analyzer" extends "D365 BASIC ISV" { diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICImageAnalyzer.PermissionSetExt.al index 804d138f0a..3e4e7f30bd 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BASICImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 31135 "D365 BASICImage Analyzer" extends "D365 BASIC" { diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSFULLACCESSImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSFULLACCESSImageAnalyzer.PermissionSetExt.al index 10d6003310..b75b428a7d 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSFULLACCESSImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSFULLACCESSImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 35981 "D365 BUS FULL ACCESSImage Analyzer" extends "D365 BUS FULL ACCESS" { diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSPREMIUMImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSPREMIUMImageAnalyzer.PermissionSetExt.al index fe21ecfd24..ab9cebbab2 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSPREMIUMImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/D365BUSPREMIUMImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 9453 "D365 BUS PREMIUMImage Analyzer" extends "D365 BUS PREMIUM" { diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/D365FULLACCESSImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/D365FULLACCESSImageAnalyzer.PermissionSetExt.al index 69fb24ec52..5516ce7fad 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/D365FULLACCESSImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/D365FULLACCESSImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 42789 "D365 FULL ACCESSImage Analyzer" extends "D365 FULL ACCESS" { diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/D365READImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/D365READImageAnalyzer.PermissionSetExt.al index 63adb0a3b0..047a787bca 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/D365READImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/D365READImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 6820 "D365 READImage Analyzer" extends "D365 READ" { diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/D365TEAMMEMBERImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/D365TEAMMEMBERImageAnalyzer.PermissionSetExt.al index de90e9c448..32b1e986f8 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/D365TEAMMEMBERImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/D365TEAMMEMBERImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 4209 "D365 TEAM MEMBERImage Analyzer" extends "D365 TEAM MEMBER" { diff --git a/Apps/W1/ImageAnalysis/app/src/Permissions/INTELLIGENTCLOUDImageAnalyzer.PermissionSetExt.al b/Apps/W1/ImageAnalysis/app/src/Permissions/INTELLIGENTCLOUDImageAnalyzer.PermissionSetExt.al index 92c7f72f92..b2516b10aa 100644 --- a/Apps/W1/ImageAnalysis/app/src/Permissions/INTELLIGENTCLOUDImageAnalyzer.PermissionSetExt.al +++ b/Apps/W1/ImageAnalysis/app/src/Permissions/INTELLIGENTCLOUDImageAnalyzer.PermissionSetExt.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Utility.ImageAnalysis; -using System.Security.AccessControl; permissionsetextension 27453 "INTELLIGENT CLOUDImage Analyzer" extends "INTELLIGENT CLOUD" { diff --git a/Apps/W1/ImageAnalysis/app/src/codeunits/Install.Codeunit.al b/Apps/W1/ImageAnalysis/app/src/codeunits/ImageAnalysisInstall.Codeunit.al similarity index 100% rename from Apps/W1/ImageAnalysis/app/src/codeunits/Install.Codeunit.al rename to Apps/W1/ImageAnalysis/app/src/codeunits/ImageAnalysisInstall.Codeunit.al diff --git a/Apps/W1/ImageAnalysis/app/src/codeunits/ImageAnalyzerExtMgt.Codeunit.al b/Apps/W1/ImageAnalysis/app/src/codeunits/ImageAnalyzerExtMgt.Codeunit.al index ec1a52c7e4..0ebc391180 100644 --- a/Apps/W1/ImageAnalysis/app/src/codeunits/ImageAnalyzerExtMgt.Codeunit.al +++ b/Apps/W1/ImageAnalysis/app/src/codeunits/ImageAnalyzerExtMgt.Codeunit.al @@ -3,8 +3,10 @@ namespace Microsoft.Utility.ImageAnalysis; using System.AI; using System.Environment.Configuration; using System.Environment; +#if not CLEAN23 using Microsoft.Inventory.Item; using Microsoft.CRM.Contact; +#endif using Microsoft.Utilities; using System.Security.User; using System.Globalization; diff --git a/Apps/W1/ImageAnalysis/app/src/pages/Blacklist.Page.al b/Apps/W1/ImageAnalysis/app/src/pages/ImageAnalysisBlacklist.Page.al similarity index 100% rename from Apps/W1/ImageAnalysis/app/src/pages/Blacklist.Page.al rename to Apps/W1/ImageAnalysis/app/src/pages/ImageAnalysisBlacklist.Page.al diff --git a/Apps/W1/ImageAnalysis/app/src/pages/SetupExt.PageExt.al b/Apps/W1/ImageAnalysis/app/src/pages/ImageAnalysisSetupExt.PageExt.al similarity index 100% rename from Apps/W1/ImageAnalysis/app/src/pages/SetupExt.PageExt.al rename to Apps/W1/ImageAnalysis/app/src/pages/ImageAnalysisSetupExt.PageExt.al diff --git a/Apps/W1/ImageAnalysis/app/src/pages/Tags.Page.al b/Apps/W1/ImageAnalysis/app/src/pages/ImageAnalysisTags.Page.al similarity index 100% rename from Apps/W1/ImageAnalysis/app/src/pages/Tags.Page.al rename to Apps/W1/ImageAnalysis/app/src/pages/ImageAnalysisTags.Page.al diff --git a/Apps/W1/ImageAnalysis/test/app.json b/Apps/W1/ImageAnalysis/test/app.json index d3d2a35987..3dcd456212 100644 --- a/Apps/W1/ImageAnalysis/test/app.json +++ b/Apps/W1/ImageAnalysis/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Image Analyzer extension.", "description": "Tests for the Image Analyzer extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=850308", @@ -16,25 +16,25 @@ "id": "e868ad92-21b8-4e08-af2b-8975a8b06e04", "name": "Image Analyzer", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -51,5 +51,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/Intrastat/app/.objidconfig b/Apps/W1/Intrastat/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/Intrastat/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/Intrastat/app/app.json b/Apps/W1/Intrastat/app/app.json index d2b15c91ed..76b574dfd5 100644 --- a/Apps/W1/Intrastat/app/app.json +++ b/Apps/W1/Intrastat/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Intrastat extension makes it easy to export the Intrastat report in the format that the authorities in your country require.", "description": "The formats that businesses must use to report Intrastat vary from country to country. The Intrastat extension makes it easy to export the Intrastat report in the format that the authorities in your country require.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2204541", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 4810, @@ -29,6 +29,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "OnPrem" } \ No newline at end of file diff --git a/Apps/W1/Intrastat/app/src/IntrastatReportSetup.Page.al b/Apps/W1/Intrastat/app/src/IntrastatReportSetup.Page.al index 6b9a38ec59..ddb6c154c4 100644 --- a/Apps/W1/Intrastat/app/src/IntrastatReportSetup.Page.al +++ b/Apps/W1/Intrastat/app/src/IntrastatReportSetup.Page.al @@ -4,7 +4,9 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Inventory.Intrastat; +#if not CLEAN22 using System.Environment.Configuration; +#endif page 4810 "Intrastat Report Setup" { diff --git a/Apps/W1/Intrastat/app/src/IntrastatReportSubform.Page.al b/Apps/W1/Intrastat/app/src/IntrastatReportSubform.Page.al index eb5c6c73a9..59c900e34a 100644 --- a/Apps/W1/Intrastat/app/src/IntrastatReportSubform.Page.al +++ b/Apps/W1/Intrastat/app/src/IntrastatReportSubform.Page.al @@ -281,21 +281,21 @@ page 4813 "Intrastat Report Subform" local procedure UpdateErrors() var - ErrorMessage: Record "Error Message"; - IsHandled: Boolean; + IsHandled, ErrorExists : Boolean; begin IsHandled := false; OnBeforeUpdateErrors(IsHandled, Rec); if IsHandled then exit; - ErrorMessage.SetRange("Record ID", Rec.RecordId); - if ErrorMessage.IsEmpty then - LineStyleExpression := 'None' + ErrorExists := ErrorsExistOnCurrentLine(); + + if ErrorExists then + LineStyleExpression := 'Attention' else - LineStyleExpression := 'Attention'; + LineStyleExpression := 'None'; - Rec.Mark(ErrorsExistOnCurrentLine()); + Rec.Mark(ErrorExists); end; [IntegrationEvent(true, false)] diff --git a/Apps/W1/Intrastat/test/app.json b/Apps/W1/Intrastat/test/app.json index 66c4cb356f..b9c0caa25e 100644 --- a/Apps/W1/Intrastat/test/app.json +++ b/Apps/W1/Intrastat/test/app.json @@ -2,7 +2,7 @@ "id": "f4d9555a-a512-45de-a6d6-27a8b6077139", "name": "Intrastat Core Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft Intrastat Core extension.", "description": "Tests for the Microsoft Intrastat Core extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2179727", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "70912191-3c4c-49fc-a1de-bc6ea1ac9da6", "name": "Intrastat Core", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/Intrastat/test/src/IntrastatReportTest.Codeunit.al b/Apps/W1/Intrastat/test/src/IntrastatReportTest.Codeunit.al index 555899e7b5..45ba72c015 100644 --- a/Apps/W1/Intrastat/test/src/IntrastatReportTest.Codeunit.al +++ b/Apps/W1/Intrastat/test/src/IntrastatReportTest.Codeunit.al @@ -3212,14 +3212,12 @@ codeunit 139550 "Intrastat Report Test" [ModalPageHandler] [Scope('OnPrem')] procedure IntrastatReportChecklistModalPageHandler(var IntrastatReportChecklist: TestPage "Intrastat Report Checklist") - var begin end; [ModalPageHandler] [Scope('OnPrem')] procedure IntrastatReportSetupModalPageHandler(var IntrastatReportSetupPage: TestPage "Intrastat Report Setup") - var begin end; } \ No newline at end of file diff --git a/Apps/W1/LatePaymentPredictor/app/.objidconfig b/Apps/W1/LatePaymentPredictor/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/LatePaymentPredictor/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/LatePaymentPredictor/app/app.json b/Apps/W1/LatePaymentPredictor/app/app.json index b720dd27ec..99828c454a 100644 --- a/Apps/W1/LatePaymentPredictor/app/app.json +++ b/Apps/W1/LatePaymentPredictor/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Predict whether payments for sales will be on-time.", "description": "Keep receivables healthy by assessing the risk of late payments up-front. This extension uses historical data to predict delinquent invoices, so you can take a pre-emptive action such as changing the payment terms.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206446", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/LatePaymentPredictor/app/src/CustomerLedgerEntry.TableExt.al b/Apps/W1/LatePaymentPredictor/app/src/CustomerLedgerEntryLPP.TableExt.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/CustomerLedgerEntry.TableExt.al rename to Apps/W1/LatePaymentPredictor/app/src/CustomerLedgerEntryLPP.TableExt.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/Activities.PageExt.al b/Apps/W1/LatePaymentPredictor/app/src/LPActivities.PageExt.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/Activities.PageExt.al rename to Apps/W1/LatePaymentPredictor/app/src/LPActivities.PageExt.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/FeatureTableHelper.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LPFeatureTableHelper.Codeunit.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/FeatureTableHelper.Codeunit.al rename to Apps/W1/LatePaymentPredictor/app/src/LPFeatureTableHelper.Codeunit.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/MLInputData.Table.al b/Apps/W1/LatePaymentPredictor/app/src/LPMLInputData.Table.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/MLInputData.Table.al rename to Apps/W1/LatePaymentPredictor/app/src/LPMLInputData.Table.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/MachineLearningSetup.Page.al b/Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Page.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/MachineLearningSetup.Page.al rename to Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Page.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/MachineLearningSetup.Table.al b/Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Table.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/MachineLearningSetup.Table.al rename to Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Table.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/ModelManagement.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LPModelManagement.Codeunit.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/ModelManagement.Codeunit.al rename to Apps/W1/LatePaymentPredictor/app/src/LPModelManagement.Codeunit.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/CustomerLedgerEntries.PageExt.al b/Apps/W1/LatePaymentPredictor/app/src/LPPCustomerLedgerEntries.PageExt.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/CustomerLedgerEntries.PageExt.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPCustomerLedgerEntries.PageExt.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/SalesHeader.TableExt.al b/Apps/W1/LatePaymentPredictor/app/src/LPPSalesHeader.TableExt.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/SalesHeader.TableExt.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPSalesHeader.TableExt.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/SalesInvoice.PageExt.al b/Apps/W1/LatePaymentPredictor/app/src/LPPSalesInvoice.PageExt.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/SalesInvoice.PageExt.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPSalesInvoice.PageExt.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/SalesInvoiceHeaderInput.Query.al b/Apps/W1/LatePaymentPredictor/app/src/LPPSalesInvoiceHeaderInput.Query.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/SalesInvoiceHeaderInput.Query.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPSalesInvoiceHeaderInput.Query.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/SalesOrder.PageExt.al b/Apps/W1/LatePaymentPredictor/app/src/LPPSalesOrder.PageExt.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/SalesOrder.PageExt.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPSalesOrder.PageExt.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/SalesQuote.PageExt.al b/Apps/W1/LatePaymentPredictor/app/src/LPPSalesQuote.PageExt.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/SalesQuote.PageExt.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPSalesQuote.PageExt.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/Scheduler.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LPPScheduler.Codeunit.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/Scheduler.Codeunit.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPScheduler.Codeunit.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/Update.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LPPUpdate.Codeunit.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/Update.Codeunit.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPUpdate.Codeunit.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/PredictionFactBox.Page.al b/Apps/W1/LatePaymentPredictor/app/src/LPPredictionFactBox.Page.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/PredictionFactBox.Page.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPredictionFactBox.Page.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/PredictionMgt.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LPPredictionMgt.Codeunit.al similarity index 99% rename from Apps/W1/LatePaymentPredictor/app/src/PredictionMgt.Codeunit.al rename to Apps/W1/LatePaymentPredictor/app/src/LPPredictionMgt.Codeunit.al index 78538f03c2..557305d9ce 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/PredictionMgt.Codeunit.al +++ b/Apps/W1/LatePaymentPredictor/app/src/LPPredictionMgt.Codeunit.al @@ -235,7 +235,6 @@ codeunit 1950 "LP Prediction Mgt." end; procedure LearnMore(var Notification: Notification) - var begin Hyperlink(LearnMoreUriTxt); end; diff --git a/Apps/W1/LatePaymentPredictor/app/src/Subscribers.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LPSubscribers.Codeunit.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/app/src/Subscribers.Codeunit.al rename to Apps/W1/LatePaymentPredictor/app/src/LPSubscribers.Codeunit.al diff --git a/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al index 8d9521049a..e880973812 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al +++ b/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al @@ -16,7 +16,6 @@ codeunit 1958 "Late Payment Upgrade" end; trigger OnValidateUpgradePerCompany() - var begin VerifySecretsUpgradeToIsolatedStorage(); end; diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basicisvlatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basicisvlatepaymentprediction.permissionsetext.al index a7de75bf4e..97acdd2c40 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basicisvlatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basicisvlatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 26131 "D365 BASIC ISV - Late Payment Prediction" extends "D365 BASIC ISV" { diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basiclatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basiclatepaymentprediction.permissionsetext.al index 9051892806..4a381eb3b2 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basiclatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365basiclatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 38237 "D365 BASIC - Late Payment Prediction" extends "D365 BASIC" { diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365busfullaccesslatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365busfullaccesslatepaymentprediction.permissionsetext.al index 29ce10a068..3d564d763b 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365busfullaccesslatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365busfullaccesslatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 28676 "D365 BUS FULL ACCESS - Late Payment Prediction" extends "D365 BUS FULL ACCESS" { diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365buspremiumlatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365buspremiumlatepaymentprediction.permissionsetext.al index f6a063d159..c2eae857bc 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365buspremiumlatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365buspremiumlatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 3216 "D365 BUS PREMIUM - Late Payment Prediction" extends "D365 BUS PREMIUM" { diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365fullaccesslatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365fullaccesslatepaymentprediction.permissionsetext.al index d45bfb8c3b..2578338fd9 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365fullaccesslatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365fullaccesslatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 3503 "D365 FULL ACCESS - Late Payment Prediction" extends "D365 FULL ACCESS" { diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365readlatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365readlatepaymentprediction.permissionsetext.al index be261c6550..bf47850d28 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365readlatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365readlatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 13804 "D365 READ - Late Payment Prediction" extends "D365 READ" { diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365teammemberlatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365teammemberlatepaymentprediction.permissionsetext.al index a2ab5f4133..193ba1cdc8 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365teammemberlatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/d365teammemberlatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 48239 "D365 TEAM MEMBER - Late Payment Prediction" extends "D365 TEAM MEMBER" { diff --git a/Apps/W1/LatePaymentPredictor/app/src/Permissions/intelligentcloudlatepaymentprediction.permissionsetext.al b/Apps/W1/LatePaymentPredictor/app/src/Permissions/intelligentcloudlatepaymentprediction.permissionsetext.al index df767debfe..510a5cf34a 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/Permissions/intelligentcloudlatepaymentprediction.permissionsetext.al +++ b/Apps/W1/LatePaymentPredictor/app/src/Permissions/intelligentcloudlatepaymentprediction.permissionsetext.al @@ -1,7 +1,6 @@ namespace System.Security.AccessControl; using Microsoft.Finance.Latepayment; -using System.Security.AccessControl; permissionsetextension 8309 "INTELLIGENT CLOUD - Late Payment Prediction" extends "INTELLIGENT CLOUD" { diff --git a/Apps/W1/LatePaymentPredictor/test/app.json b/Apps/W1/LatePaymentPredictor/test/app.json index d30b624319..ebb68438ce 100644 --- a/Apps/W1/LatePaymentPredictor/test/app.json +++ b/Apps/W1/LatePaymentPredictor/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Late Payment Prediction extension.", "description": "Tests for the Late Payment Prediction extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2206446", @@ -16,25 +16,25 @@ "id": "3d5b2137-efeb-4014-8489-41d37f8fd4c3", "name": "Late Payment Prediction", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -51,5 +51,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/LatePaymentPredictor/test/src/MLInputDataTest.Codeunit.al b/Apps/W1/LatePaymentPredictor/test/src/LPMLInputDataTest.Codeunit.al similarity index 100% rename from Apps/W1/LatePaymentPredictor/test/src/MLInputDataTest.Codeunit.al rename to Apps/W1/LatePaymentPredictor/test/src/LPMLInputDataTest.Codeunit.al diff --git a/Apps/W1/LatePaymentPredictor/test/src/PredictionTest.Codeunit.al b/Apps/W1/LatePaymentPredictor/test/src/LPPredictionTest.Codeunit.al similarity index 99% rename from Apps/W1/LatePaymentPredictor/test/src/PredictionTest.Codeunit.al rename to Apps/W1/LatePaymentPredictor/test/src/LPPredictionTest.Codeunit.al index 4d0ebb5d62..1169601e3c 100644 --- a/Apps/W1/LatePaymentPredictor/test/src/PredictionTest.Codeunit.al +++ b/Apps/W1/LatePaymentPredictor/test/src/LPPredictionTest.Codeunit.al @@ -10,6 +10,7 @@ using System.AI; using System.Reflection; using System.Environment; using Microsoft.Finance.GeneralLedger.Journal; + codeunit 139575 "LP Prediction Test" { Subtype = Test; @@ -23,7 +24,6 @@ codeunit 139575 "LP Prediction Test" LibraryInventory: Codeunit "Library - Inventory"; LPPredictionTest: Codeunit "LP Prediction Test"; LibraryUtility: Codeunit "Library - Utility"; - LibraryERMCountryData: Codeunit "Library - ERM Country Data"; EnvironmentInfoTestLibrary: Codeunit "Environment Info Test Library"; EnableNotificationMsg: Label 'Want to know if a sales document will be paid on time? The Late Payment Prediction extension can predict that.'; PredictionResultWillBeLateTxt: Label 'The payment is predicted to be late, with Low confidence in the prediction.'; @@ -637,7 +637,11 @@ codeunit 139575 "LP Prediction Test" end; local procedure Initialize() + var + LibraryERM: Codeunit "Library - ERM"; + LibraryERMCountryData: Codeunit "Library - ERM Country Data"; begin + LibraryERM.SetEnableDataCheck(false); LibraryERMCountryData.UpdateLocalData(); end; diff --git a/Apps/W1/LibraryNoTransactions/.objidconfig b/Apps/W1/LibraryNoTransactions/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/LibraryNoTransactions/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/LibraryNoTransactions/app.json b/Apps/W1/LibraryNoTransactions/app.json index 2bde93f68c..edb180def9 100644 --- a/Apps/W1/LibraryNoTransactions/app.json +++ b/Apps/W1/LibraryNoTransactions/app.json @@ -4,8 +4,8 @@ "brief": "Used for testing that no transactions are invoked", "description": "This app is used for testing that the transactions are not executed. If any transaction is detected with this extension published we will throw an error.", "publisher": "Microsoft", - "version": "23.3.0.0", - "platform": "23.0.0.0", + "version": "24.0.0.0", + "platform": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206178", diff --git a/Apps/W1/MSWalletPayments/app/.objidconfig b/Apps/W1/MSWalletPayments/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/MSWalletPayments/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/MSWalletPayments/app/app.json b/Apps/W1/MSWalletPayments/app/app.json index f9384e6878..8f734050c1 100644 --- a/Apps/W1/MSWalletPayments/app/app.json +++ b/Apps/W1/MSWalletPayments/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Microsoft Pay Payments service adds a Microsoft Pay Payments link to your sales documents so customers can easily pay using Microsoft Pay Payments. From inside Dynamics 365 Business Central you can send the documents by email to provide higher customer service and shorten the time it takes for customers' payments to arrive on your bank account.", "description": "Customers continuously require higher levels of service, both in terms of the quality of product, but also in terms of delivery and payment services. The Microsoft Pay Payments service adds a Microsoft Pay Payments link to your sales documents so customers can easily pay using Microsoft Pay Payments. You can send the documents by email to provide higher customer service and shorten the time it takes for customer payments to arrive in your bank account. This extension can embed a link to Microsoft Pay Payments on all invoices automatically, or a user can do it on individual invoices. The Microsoft Pay Payments extension gives customers more ways to pay invoices because Microsoft Pay Payments offers multiple ways of handling payments, including credit card processing, WePay, PayPal, and other sources. Plus, Microsoft Pay Payments delivers a trustworthy payment service, which customers prefer to entering credit card information on unknown websites, and Microsoft Pay Payments does not require monthly fees or setup fees. Because this functionality is built as an extension, it gives you full control to enable it when and if your business processes require it.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=857276", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/MSWalletPayments/app/src/pages/PaymentServices.PageExt.al b/Apps/W1/MSWalletPayments/app/src/pages/PaymentServices.PageExt.al deleted file mode 100644 index 75b1709699..0000000000 --- a/Apps/W1/MSWalletPayments/app/src/pages/PaymentServices.PageExt.al +++ /dev/null @@ -1,66 +0,0 @@ -#if not CLEAN21 -pageextension 1088 "MS - Wallet Payment Services" extends "BC O365 Payment Services" -{ - ObsoleteReason = 'Microsoft Invoicing has been discontinued.'; - ObsoleteState = Pending; - ObsoleteTag = '21.0'; - - layout - { - addafter(Control85) - { - group("MsPayIsSetUpSpace") - { - InstructionalText = ' '; - ShowCaption = false; - } - group("SetUpPayPalInMsPay") - { - InstructionalText = 'You can set up your PayPal account in Microsoft Pay Payments easily and fast. Once you do it, come back here and choose Microsoft Pay Payments as your payment service.'; - ShowCaption = false; - } - group("SetUpMsPay") - { - InstructionalText = 'You can set up your Microsoft Pay Payments merchant profile easily and fast. Accept the terms of service and add your favourite payment providers, and we will take care of the rest.'; - ShowCaption = false; - } - group(NonAdminUserMessage) - { - InstructionalText = 'Ask your Office 365 administrator to set up Microsoft Pay Payments so that your customers can pay you easily and fast.'; - ShowCaption = false; - } - group("MsPayIsSetUp") - { - InstructionalText = 'Your Microsoft Pay Payments merchant profile is configured and active. You are on track to be paid fast and easily!'; - ShowCaption = false; - } - - group("SetUpMsPayLinkGroup") - { - ShowCaption = false; - field("SetUpMsPayLinkControl"; MsPaySetupLbl) - { - ApplicationArea = Basic, Suite; - Editable = false; - ShowCaption = false; - ToolTip = 'Initiates the steps required to set up Microsoft Pay Payments for this company.'; - } - } - group("MsPaySettingsLinkGroup") - { - ShowCaption = false; - field("MsPaySettingsLinkControl"; MsPaySettingsLbl) - { - ApplicationArea = Basic, Suite; - Editable = false; - ShowCaption = false; - } - } - } - } - - var - MsPaySetupLbl: Label 'Set up Microsoft Pay Payments'; - MsPaySettingsLbl: Label 'Microsoft Pay Payments Settings'; -} -#endif \ No newline at end of file diff --git a/Apps/W1/MSWalletPayments/app/src/tables/Charge.Table.al b/Apps/W1/MSWalletPayments/app/src/tables/MSWalletCharge.Table.al similarity index 100% rename from Apps/W1/MSWalletPayments/app/src/tables/Charge.Table.al rename to Apps/W1/MSWalletPayments/app/src/tables/MSWalletCharge.Table.al diff --git a/Apps/W1/MSWalletPayments/app/src/tables/MerchantAccount.Table.al b/Apps/W1/MSWalletPayments/app/src/tables/MSWalletMerchantAccount.Table.al similarity index 100% rename from Apps/W1/MSWalletPayments/app/src/tables/MerchantAccount.Table.al rename to Apps/W1/MSWalletPayments/app/src/tables/MSWalletMerchantAccount.Table.al diff --git a/Apps/W1/MSWalletPayments/app/src/tables/MerchantTemplate.Table.al b/Apps/W1/MSWalletPayments/app/src/tables/MSWalletMerchantTemplate.Table.al similarity index 96% rename from Apps/W1/MSWalletPayments/app/src/tables/MerchantTemplate.Table.al rename to Apps/W1/MSWalletPayments/app/src/tables/MSWalletMerchantTemplate.Table.al index dd4c383694..df06b15267 100644 --- a/Apps/W1/MSWalletPayments/app/src/tables/MerchantTemplate.Table.al +++ b/Apps/W1/MSWalletPayments/app/src/tables/MSWalletMerchantTemplate.Table.al @@ -51,13 +51,6 @@ table 1081 "MS - Wallet Merchant Template" } } - fieldgroups - { - fieldgroup(Description; Description) - { - } - } - procedure GetPaymentRequestURL(): Text; var InStream: InStream; diff --git a/Apps/W1/MSWalletPayments/app/src/tables/Payment.Table.al b/Apps/W1/MSWalletPayments/app/src/tables/MSWalletPayment.Table.al similarity index 100% rename from Apps/W1/MSWalletPayments/app/src/tables/Payment.Table.al rename to Apps/W1/MSWalletPayments/app/src/tables/MSWalletPayment.Table.al diff --git a/Apps/W1/MSWalletPayments/test/ExtensionLogo.png b/Apps/W1/MSWalletPayments/test/ExtensionLogo.png deleted file mode 100644 index fbdb8292f03e490170886df57f3be01b9f4449e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1854 zcmb_dc{Cdc6AxwA)z`IFC@Nj*rc|P(g0C8ht5HXs+0^mTXpw44u^M*wS&I)G${d=gxaG^XAQa^PA(%Ox{%_;<%cg8UO$| z?&S#!kn624tn!syx}w$|003Vrd%-RRr9Ix@x+Lho(gs8d@5ib08A%WR=4yJzEL)Q5 z`@Tt5vpQ7(Ny|HpI_ZjEd(3Un@13M*p68Zd1& z_Z+ImCOWJS32ec8BdsCy?Tn0YCr3xe!;h)`W-YY_eE$e<0mgs!!)4?i zNTk>5PL~TVbJoSUn_c0JO(#y>6I54M=K-b9e)+oWk?l1kTL=PyWD9I^h(N^TOifwF z&K^sG0RmT_=bmt@Sl)#FZD3$Pvn53qryCrefZMsG3;!K``(+)XnEsOb=?rL3o<%Z` z&%V*+hPi8#e5!e|C3t<^-ZkC=k`o}|1`Rrf(~^3A{9%jm-B0wcu9R;tIT4_W7t6Xs z#<-|}g$2gm<`Z==Vpo95@^Jb>?5A%R&%41Y`8XhlNuPy&H z({Vk}=E8qYVw|0wwQ5{+HKcZiLv_)?bdLd&UbT14Vqc8=ND8Nm<*hZuc9R_;XZwx z5+DzxH_+2_p~My8lO>Z%vdScDYVWimbi*{me9}}8Du{K_(J>8dIMlrTQALVMqbd?3 z(swtxc5E31O|dO%BL-H-&bYx*AL9$K9t;Y0331u)wcZMOxx|Zwr)89=M#cecaF%H? zv_H8?S!Lc)xIP;{`5Yu%&zZ%eX7`X8CV^Rz$6!T&3&$wo8s9Vn#cqhXU0*UbZVEeX z?!chRH>Kaw4+Q|1HbENmQJj_oCs$V~`-+<_yJjGCA5!AVtbb6eY7%=UyMk;zDkZS@ zGX{8t>R25H#fNG1rA@JzKkpmKy@Wy8M6Jl zZ|@l1b28@2_xda)*e|A1d0+Db*>1-fsa;tCa|4f3qv#+5SSI;47jelyW7-qW;<*<_d_4QC3v*QY`_SJ*JSgjQxw6Ei zvB~MVxvITm?cV>x_4z*am2aZPHxdDg5K#+=dk=dGujv!Y3Kf5CPtL@2(&hKCGh!Hd z8AQy{dM2-+^haoM!N?A2kQ}Pc3doNwaJ%z5;iO7r`8am0-OMZ}F7HJ+KegWl&9Er- zP_k2BS$osSKmOG(J_3{R!PXqSqC5^R(7e)K^`HM7000FF0KAK{EE|yl& diff --git a/Apps/W1/MSWalletPayments/test/app.json b/Apps/W1/MSWalletPayments/test/app.json deleted file mode 100644 index 0aa5c64ff8..0000000000 --- a/Apps/W1/MSWalletPayments/test/app.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": "94dda375-a4a8-4561-ba6c-98200bb1a098", - "name": "Microsoft Pay Tests", - "publisher": "Microsoft", - "brief": "Tests for the Microsoft Pay extension.", - "description": "Tests for the Microsoft Pay extension.", - "version": "23.3.0.0", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://go.microsoft.com/fwlink/?linkid=857276", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=857276", - "dependencies": [ - { - "id": "ce917438-506c-4724-9b01-13c1b860e851", - "name": "Microsoft Pay Payments", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", - "name": "Tests-TestLibraries", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", - "name": "System Application Test Library", - "publisher": "Microsoft", - "version": "23.3.0.0" - }, - { - "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", - "publisher": "Microsoft", - "name": "Library Variable Storage", - "version": "23.3.0.0" - } - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "idRanges": [ - { - "from": 139500, - "to": 139899 - }, - { - "from": 148000, - "to": 148499 - } - ], - "target": "OnPrem", - "resourceExposurePolicy": { - "allowDebugging": false, - "allowDownloadingSource": true, - "includeSourceInSymbolFile": true - }, - "application": "23.3.0.0" -} \ No newline at end of file diff --git a/Apps/W1/MSWalletPayments/test/appsourcecop.json b/Apps/W1/MSWalletPayments/test/appsourcecop.json deleted file mode 100644 index fd7e06283a..0000000000 --- a/Apps/W1/MSWalletPayments/test/appsourcecop.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "mandatoryaffixes" : ["MS - Wallet"] -} diff --git a/Apps/W1/MasterDataManagement/app/.objidconfig b/Apps/W1/MasterDataManagement/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/MasterDataManagement/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/MasterDataManagement/app/app.json b/Apps/W1/MasterDataManagement/app/app.json index 78a2651810..5b1d5bb937 100644 --- a/Apps/W1/MasterDataManagement/app/app.json +++ b/Apps/W1/MasterDataManagement/app/app.json @@ -2,7 +2,7 @@ "id": "a01864f8-9c3f-42f6-8328-8d7be1ce3e20", "name": "_Exclude_Master_Data_Management", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "_Exclude_Master_Data_Management", "description": "_Exclude_Master_Data_Management", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -23,7 +23,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -37,7 +37,7 @@ "includeSourceInSymbolFile": true }, "target": "Cloud", - "application": "23.3.0.0", + "application": "24.0.0.0", "features": [ "TranslationFile", "GenerateCaptions" diff --git a/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtSetupDefault.Codeunit.al b/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtSetupDefault.Codeunit.al index 652cd6c5fd..670268f1fe 100644 --- a/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtSetupDefault.Codeunit.al +++ b/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtSetupDefault.Codeunit.al @@ -7,6 +7,7 @@ using System.Reflection; using Microsoft.Purchases.Vendor; using Microsoft.CRM.Contact; using Microsoft.Foundation.Address; +using System.Globalization; using Microsoft.Finance.Currency; using Microsoft.Foundation.PaymentTerms; using Microsoft.Sales.Setup; @@ -1251,6 +1252,7 @@ codeunit 7230 "Master Data Mgt. Setup Default" IntegrationTableMapping."Coupling Codeunit ID" := Codeunit::"Master Data Mgt. Table Couple"; IntegrationTableMapping."Uncouple Codeunit ID" := Codeunit::"Master Data Mgt. Tbl. Uncouple"; IntegrationTableMapping."Update-Conflict Resolution" := "Integration Update Conflict Resolution"::"Get Update from Integration"; + IntegrationTableMapping."Table Caption" := GetTableCaption(TableNo); IntegrationTableMapping.Modify(); end; @@ -1294,7 +1296,7 @@ codeunit 7230 "Master Data Mgt. Setup Default" end; end; - local procedure GetFieldCaption(TableID: Integer; FieldID: Integer): Text + internal procedure GetFieldCaption(TableID: Integer; FieldID: Integer): Text var "Field": Record "Field"; TypeHelper: Codeunit "Type Helper"; @@ -1305,6 +1307,16 @@ codeunit 7230 "Master Data Mgt. Setup Default" exit(''); end; + internal procedure GetTableCaption(TableID: Integer): Text[250] + var + ObjectTranslation: Record "Object Translation"; + begin + if TableID = 0 then + exit(''); + + exit(ObjectTranslation.TranslateObject(ObjectTranslation."Object Type"::Table, TableID)); + end; + local procedure SetIntegrationFieldMappingClearValueOnFailedSync(var IntegrationTableMapping: Record "Integration Table Mapping"; FieldNo: Integer) var IntegrationFieldMapping: Record "Integration Field Mapping"; diff --git a/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al b/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al new file mode 100644 index 0000000000..9eb0e79edd --- /dev/null +++ b/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al @@ -0,0 +1,48 @@ +namespace Microsoft.Integration.MDM; + +using Microsoft.Integration.SyncEngine; +using System.Upgrade; + +/// +/// Codeunit Master Data Mgt. Upgrade (ID 7238). +/// +codeunit 7238 "Master Data Mgt. Upgrade" +{ + Access = Internal; + Permissions = tabledata "Integration Field Mapping" = rimd, + tabledata "Integration Table Mapping" = rimd; + + internal procedure UpgradeSynchTableCaptions() + var + IntegrationTableMapping: Record "Integration Table Mapping"; + MasterDataMgtSetupDefault: Codeunit "Master Data Mgt. Setup Default"; + UpgradeTag: Codeunit "Upgrade Tag"; + begin + if UpgradeTag.HasUpgradeTag(GetSynchTableCaptionUpgradeTag()) then + exit; + + IntegrationTableMapping.SetRange(Type, IntegrationTableMapping.Type::"Master Data Management"); + IntegrationTableMapping.SetRange("Delete After Synchronization", false); + if IntegrationTableMapping.FindSet() then + repeat + if IntegrationTableMapping."Table Caption" = '' then begin + IntegrationTableMapping."Table Caption" := MasterDataMgtSetupDefault.GetTableCaption(IntegrationTableMapping."Table ID"); + IntegrationTableMapping.Modify(); + end + until IntegrationTableMapping.Next() = 0; + + UpgradeTag.SetUpgradeTag(GetSynchTableCaptionUpgradeTag()); + end; + + + local procedure GetSynchTableCaptionUpgradeTag(): Code[250] + begin + exit('MS-490934-MDMSynchTableCaption-20231125'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] + local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) + begin + PerCompanyUpgradeTags.Add(GetSynchTableCaptionUpgradeTag()); + end; +} \ No newline at end of file diff --git a/Apps/W1/MasterDataManagement/app/src/pages/MasterDataSynchTables.Page.al b/Apps/W1/MasterDataManagement/app/src/pages/MasterDataSynchTables.Page.al index f777d686bc..340d9ae148 100644 --- a/Apps/W1/MasterDataManagement/app/src/pages/MasterDataSynchTables.Page.al +++ b/Apps/W1/MasterDataManagement/app/src/pages/MasterDataSynchTables.Page.al @@ -11,6 +11,7 @@ page 7233 "Master Data Synch. Tables" Caption = 'Synchronization Tables'; PageType = List; SourceTable = "Integration Table Mapping"; + DelayedInsert = true; SourceTableView = where("Delete After Synchronization" = const(false), Type = const(7230)); UsageCategory = Lists; @@ -36,12 +37,80 @@ page 7233 "Master Data Synch. Tables" ApplicationArea = Suite; ToolTip = 'Specifies if synchronization is enabled for this table.'; } - field(TableCaptionValue; TableCaptionValue) + field(TableCaptionValue; Rec."Table Caption") { ApplicationArea = Suite; Caption = 'Table'; Editable = false; ToolTip = 'Specifies the table caption.'; + + trigger OnAssistEdit() + var + IntegrationTableMapping: Record "Integration Table Mapping"; + IntegrationFieldMapping: Record "Integration Field Mapping"; + AllObjWithCaption: Record AllObjWithCaption; + TableMetadata: Record "Table Metadata"; + RecRef: RecordRef; + ExistingSynchTableNos: List of [Integer]; + RelatedTablesToAdd: List of [Integer]; + RelatedTablesToAddText: Text; + TableFilterTxt: Text; + RelatedTableNo: Integer; + begin + if Rec."Table ID" <> 0 then + exit; + + IntegrationTableMapping.SetRange(Type, IntegrationTableMapping.Type::"Master Data Management"); + if IntegrationTableMapping.FindSet() then + repeat + if TableFilterTxt = '' then + TableFilterTxt := '<>' + Format(IntegrationTableMapping."Table ID") + else + TableFilterTxt += '&<>' + Format(IntegrationTableMapping."Table ID"); + ExistingSynchTableNos.Add(IntegrationTableMapping."Table ID"); + until IntegrationTableMapping.Next() = 0; + + AllObjWithCaption.SetRange("Object Type", AllObjWithCaption."Object Type"::Table); + AllObjWithCaption.SetFilter("Object ID", TableFilterTxt); + if Page.RunModal(Page::"Table Objects", AllObjWithCaption) <> Action::LookupOK then + exit; + + if not TableMetadata.Get(AllObjWithCaption."Object ID") then + Error(TableMetadataNotFoundErr, AllObjWithCaption."Object ID"); + + if not TableMetadata.DataPerCompany then + Error(TableNotPerCompanyErr, AllObjWithCaption."Object Name"); + + if TableMetadata.TableType <> TableMetadata.TableType::Normal then + Error(TableNotOfTypeNormalErr, AllObjWithCaption."Object Name"); + + RecRef.Open(AllObjWithCaption."Object ID"); + if not RecRef.WritePermission() then + Error(TablePermissionMissingErr, AllObjWithCaption."Object Name"); + RecRef.Close(); + + FindRelatedTables(ExistingSynchTableNos, RelatedTablesToAdd, RelatedTablesToAddText, AllObjWithCaption."Object ID"); + AddTable(IntegrationTableMapping, AllObjWithCaption."Object Name", AllObjWithCaption."Object ID"); + IntegrationFieldMapping.SetRange("Integration Table Mapping Name", IntegrationTableMapping.Name); + + if RelatedTablesToAdd.Count() > 0 then + if Confirm(StrSubstno(RelatedTablesQst, RelatedTablesToAddText)) then begin + IntegrationTableMapping.Validate(Status, IntegrationTableMapping.Status::Disabled); + IntegrationTableMapping.Modify(); + foreach RelatedTableNo in RelatedTablesToAdd do + if TableMetadata.Get(RelatedTableNo) then + if (TableMetadata.TableType = TableMetadata.TableType::Normal) and TableMetadata.DataPerCompany then begin + AddTable(IntegrationTableMapping, TableMetadata.TableName, RelatedTableNo); + IntegrationTableMapping.Validate(Status, IntegrationTableMapping.Status::Disabled); + IntegrationTableMapping.Modify(); + end; + Message(StrSubstNo(RelatedTablesAddedMsg, AllObjWithCaption."Object Name", RelatedTablesToAddText)); + exit; + end; + + Commit(); + Page.Run(Page::"Master Data Synch. Fields", IntegrationFieldMapping); + end; } field(TableFilterValue; TableFilter) { @@ -54,11 +123,11 @@ page 7233 "Master Data Synch. Tables" var FilterPageBuilder: FilterPageBuilder; begin - FilterPageBuilder.AddTable(TableCaptionValue, Rec."Table ID"); + FilterPageBuilder.AddTable(Rec."Table Caption", Rec."Table ID"); if TableFilter <> '' then - FilterPageBuilder.SetView(TableCaptionValue, TableFilter); + FilterPageBuilder.SetView(Rec."Table Caption", TableFilter); if FilterPageBuilder.RunModal() then begin - TableFilter := FilterPageBuilder.GetView(TableCaptionValue, false); + TableFilter := FilterPageBuilder.GetView(Rec."Table Caption", false); Rec.SetTableFilter(TableFilter); end; end; @@ -446,71 +515,6 @@ page 7233 "Master Data Synch. Tables" } } - trigger OnNewRecord(BelowxRec: Boolean) - var - IntegrationTableMapping: Record "Integration Table Mapping"; - IntegrationFieldMapping: Record "Integration Field Mapping"; - AllObjWithCaption: Record AllObjWithCaption; - TableMetadata: Record "Table Metadata"; - RecRef: RecordRef; - ExistingSynchTableNos: List of [Integer]; - RelatedTablesToAdd: List of [Integer]; - RelatedTablesToAddText: Text; - TableFilterTxt: Text; - RelatedTableNo: Integer; - begin - IntegrationTableMapping.SetRange(Type, IntegrationTableMapping.Type::"Master Data Management"); - if IntegrationTableMapping.FindSet() then - repeat - if TableFilterTxt = '' then - TableFilterTxt := '<>' + Format(IntegrationTableMapping."Table ID") - else - TableFilterTxt += '&<>' + Format(IntegrationTableMapping."Table ID"); - ExistingSynchTableNos.Add(IntegrationTableMapping."Table ID"); - until IntegrationTableMapping.Next() = 0; - - AllObjWithCaption.SetRange("Object Type", AllObjWithCaption."Object Type"::Table); - AllObjWithCaption.SetFilter("Object ID", TableFilterTxt); - if Page.RunModal(Page::"Table Objects", AllObjWithCaption) <> Action::LookupOK then - exit; - - if not TableMetadata.Get(AllObjWithCaption."Object ID") then - Error(TableMetadataNotFoundErr, AllObjWithCaption."Object ID"); - - if not TableMetadata.DataPerCompany then - Error(TableNotPerCompanyErr, AllObjWithCaption."Object Name"); - - if TableMetadata.TableType <> TableMetadata.TableType::Normal then - Error(TableNotOfTypeNormalErr, AllObjWithCaption."Object Name"); - - RecRef.Open(AllObjWithCaption."Object ID"); - if not RecRef.WritePermission() then - Error(TablePermissionMissingErr, AllObjWithCaption."Object Name"); - RecRef.Close(); - - FindRelatedTables(ExistingSynchTableNos, RelatedTablesToAdd, RelatedTablesToAddText, AllObjWithCaption."Object ID"); - AddTable(IntegrationTableMapping, AllObjWithCaption."Object Name", AllObjWithCaption."Object ID"); - IntegrationFieldMapping.SetRange("Integration Table Mapping Name", IntegrationTableMapping.Name); - - if RelatedTablesToAdd.Count() > 0 then - if Confirm(StrSubstno(RelatedTablesQst, RelatedTablesToAddText)) then begin - IntegrationTableMapping.Validate(Status, IntegrationTableMapping.Status::Disabled); - IntegrationTableMapping.Modify(); - foreach RelatedTableNo in RelatedTablesToAdd do - if TableMetadata.Get(RelatedTableNo) then - if (TableMetadata.TableType = TableMetadata.TableType::Normal) and TableMetadata.DataPerCompany then begin - AddTable(IntegrationTableMapping, TableMetadata.TableName, RelatedTableNo); - IntegrationTableMapping.Validate(Status, IntegrationTableMapping.Status::Disabled); - IntegrationTableMapping.Modify(); - end; - Message(StrSubstNo(RelatedTablesAddedMsg, AllObjWithCaption."Object Name", RelatedTablesToAddText)); - exit; - end; - - Commit(); - Page.Run(Page::"Master Data Synch. Fields", IntegrationFieldMapping); - end; - local procedure FindRelatedTables(var ExistingSynchTableNos: List of [Integer]; var RelatedTablesToAdd: List of [Integer]; var RelatedTablesToAddText: Text; TableId: Integer) var Field: Record Field; @@ -572,7 +576,6 @@ page 7233 "Master Data Synch. Tables" trigger OnAfterGetRecord() begin IntegrationTableCaptionValue := ObjectTranslation.TranslateObject(ObjectTranslation."Object Type"::Table, Rec."Integration Table ID"); - TableCaptionValue := ObjectTranslation.TranslateObject(ObjectTranslation."Object Type"::Table, Rec."Table ID"); IntegrationFieldCaptionValue := GetFieldCaption(); IntegrationFieldTypeValue := GetFieldType(); @@ -588,14 +591,16 @@ page 7233 "Master Data Synch. Tables" end; trigger OnInit() + var + MasterDataMgtUpgrade: Codeunit "Master Data Mgt. Upgrade"; begin SetDataSynchEnabledState(); + MasterDataMgtUpgrade.UpgradeSynchTableCaptions(); end; var ObjectTranslation: Record "Object Translation"; TypeHelper: Codeunit "Type Helper"; - TableCaptionValue: Text[250]; IntegrationFieldCaptionValue: Text; IntegrationFieldTypeValue: Text; IntegrationTableCaptionValue: Text[250]; diff --git a/Apps/W1/MasterDataManagement/app/src/xmlports/ImportMDMSetup.XmlPort.al b/Apps/W1/MasterDataManagement/app/src/xmlports/ImportMDMSetup.XmlPort.al index c4b39d1862..68b5bf0bee 100644 --- a/Apps/W1/MasterDataManagement/app/src/xmlports/ImportMDMSetup.XmlPort.al +++ b/Apps/W1/MasterDataManagement/app/src/xmlports/ImportMDMSetup.XmlPort.al @@ -172,9 +172,11 @@ xmlport 7231 ImportMDMSetup trigger OnBeforeInsertRecord() var + MasterDataMgtSetupDefault: Codeunit "Master Data Mgt. Setup Default"; TableFilterOutStr: OutStream; IntegrationTableFilterOutStr: OutStream; begin + integrationTableMapping."Table Caption" := MasterDataMgtSetupDefault.GetTableCaption(integrationTableMapping."Table ID"); integrationTableMapping."Table Filter".CreateOutStream(TableFilterOutStr); integrationTableMapping."Integration Table Filter".CreateOutStream(IntegrationTableFilterOutStr); TableFilterOutStr.WriteText(tableFilterText); @@ -184,9 +186,17 @@ xmlport 7231 ImportMDMSetup trigger OnAfterInsertRecord() var MasterDataManagementSetup: Record "Master Data Management Setup"; + IntegrationFieldMapping: Record "Integration Field Mapping"; MasterDataMgtSetupDefault: Codeunit "Master Data Mgt. Setup Default"; EnqueueJobQueueEntries: Boolean; begin + IntegrationFieldMapping.SetRange("Integration Table Mapping Name", integrationTableMapping.Name); + if IntegrationFieldMapping.FindSet() then + repeat + IntegrationFieldMapping."Field Caption" := CopyStr(MasterDataMgtSetupDefault.GetFieldCaption(integrationTableMapping."Table ID", IntegrationFieldMapping."Field No."), 1, MaxStrLen(IntegrationFieldMapping."Field Caption")); + IntegrationFieldMapping.Modify(); + until IntegrationFieldMapping.Next() = 0; + if MasterDataManagementSetup.Get() then if (MasterDataManagementSetup."Is Enabled") and (not MasterDataManagementSetup."Delay Job Scheduling") then EnqueueJobQueueEntries := true; diff --git a/Apps/W1/MasterDataManagement/test library/app.json b/Apps/W1/MasterDataManagement/test library/app.json index 0091f47f26..6e87f65078 100644 --- a/Apps/W1/MasterDataManagement/test library/app.json +++ b/Apps/W1/MasterDataManagement/test library/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Test library for the _Exclude_Master_Data_Management extension.", "description": "Test library for the _Exclude_Master_Data_Management extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206176", @@ -16,18 +16,18 @@ "id": "a01864f8-9c3f-42f6-8328-8d7be1ce3e20", "name": "_Exclude_Master_Data_Management", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "Cloud", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/MasterDataManagement/test/app.json b/Apps/W1/MasterDataManagement/test/app.json index 70f60e2a26..f6c2284d60 100644 --- a/Apps/W1/MasterDataManagement/test/app.json +++ b/Apps/W1/MasterDataManagement/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the _Exclude_Master_Data_Management extension.", "description": "Tests for the _Exclude_Master_Data_Management extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206176", @@ -16,36 +16,36 @@ "id": "a01864f8-9c3f-42f6-8328-8d7be1ce3e20", "name": "_Exclude_Master_Data_Management", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "044e7b4c-db9b-43c6-8a08-e1fd8954d40c", "name": "_Exclude_Master_Data_Management_Test_Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "Cloud", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/MasterDataManagement/test/src/MasterDataMgtSetupTests.Codeunit.al b/Apps/W1/MasterDataManagement/test/src/MasterDataMgtSetupTests.Codeunit.al index fb2de400f2..886630ccc6 100644 --- a/Apps/W1/MasterDataManagement/test/src/MasterDataMgtSetupTests.Codeunit.al +++ b/Apps/W1/MasterDataManagement/test/src/MasterDataMgtSetupTests.Codeunit.al @@ -234,6 +234,7 @@ codeunit 139770 "Master Data Mgt. Setup Tests" LibraryVariableStorage.Enqueue(Database::"Activity Log"); MasterDataSynchFields.Trap(); MasterDataSynchTables.New(); + MasterDataSynchTables.TableCaptionValue.AssistEdit(); MasterDataSynchFields.Close(); // export setup diff --git a/Apps/W1/MicrosoftUniversalPrint/.objidconfig b/Apps/W1/MicrosoftUniversalPrint/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/MicrosoftUniversalPrint/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/MicrosoftUniversalPrint/app.json b/Apps/W1/MicrosoftUniversalPrint/app.json index 13ffb91971..9551735dfb 100644 --- a/Apps/W1/MicrosoftUniversalPrint/app.json +++ b/Apps/W1/MicrosoftUniversalPrint/app.json @@ -2,7 +2,7 @@ "id": "2654d7e7-9afd-4947-9e02-6bb8f3e0cd04", "name": "Universal Print Integration", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Provides functionality for integrating with Microsoft 365 Universal Print.", "description": "Provides functionality for using Microsoft 365 Universal Print to let users print to any printer managed by their organization from any device using their AAD credentials.", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -10,8 +10,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2206179", "url": "https://go.microsoft.com/fwlink/?linkid=724011", "logo": "ExtensionLogo.png", - "application": "23.3.0.0", - "platform": "23.0.0.0", + "application": "24.0.0.0", + "platform": "24.0.0.0", "screenshots": [ ], diff --git a/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSettings.Table.al b/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSettings.Table.al index 5108f7efa9..63e1c4d82a 100644 --- a/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSettings.Table.al +++ b/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSettings.Table.al @@ -101,13 +101,8 @@ table 2751 "Universal Printer Settings" field(12; outputBin; Text[2048]) { Caption = 'Output Bin'; -#if not CLEAN18 - ObsoleteState = Pending; - ObsoleteTag = '18.0'; -#else ObsoleteState = Removed; - ObsoleteTag = '23.0'; -#endif + ObsoleteTag = '24.0'; ObsoleteReason = 'Replaced with Paper Tray'; } diff --git a/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSetup.Codeunit.al b/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSetup.Codeunit.al index fe727521ce..f1d148fa23 100644 --- a/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSetup.Codeunit.al +++ b/Apps/W1/MicrosoftUniversalPrint/src/UniversalPrinterSetup.Codeunit.al @@ -88,7 +88,6 @@ codeunit 2750 "Universal Printer Setup" end; local procedure IsLandscape(Orientation: Enum "Universal Printer Orientation"): Boolean - var begin exit(Orientation = Orientation::landscape); end; @@ -316,7 +315,6 @@ codeunit 2750 "Universal Printer Setup" end; internal procedure IsPaperSizeCustom("Paper Size": Enum "Printer Paper Kind"): Boolean - var begin exit("Paper Size" = "Paper Size"::Custom); end; diff --git a/Apps/W1/OnPrem Permissions/app/.objidconfig b/Apps/W1/OnPrem Permissions/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/OnPrem Permissions/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/OnPrem Permissions/app/app.json b/Apps/W1/OnPrem Permissions/app/app.json index caf5fadecb..085ec171a0 100644 --- a/Apps/W1/OnPrem Permissions/app/app.json +++ b/Apps/W1/OnPrem Permissions/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This extension includes permission set for on premise systems.", "description": "This extension includes permission set for on premise systems.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2009036", @@ -17,11 +17,11 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/OnPrem Permissions/test/app.json b/Apps/W1/OnPrem Permissions/test/app.json index cede5b2b60..dc240ce22e 100644 --- a/Apps/W1/OnPrem Permissions/test/app.json +++ b/Apps/W1/OnPrem Permissions/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "This extension includes tests for the onprem permission sets.", "description": "This extension includes tests for the onprem permission sets.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2009036", @@ -16,24 +16,24 @@ "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "OnPrem" } \ No newline at end of file diff --git a/Apps/W1/OnboardingSignals/app/.objidconfig b/Apps/W1/OnboardingSignals/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/OnboardingSignals/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/OnboardingSignals/app/app.json b/Apps/W1/OnboardingSignals/app/app.json index cc59babc2b..c873833e7a 100644 --- a/Apps/W1/OnboardingSignals/app/app.json +++ b/Apps/W1/OnboardingSignals/app/app.json @@ -2,7 +2,7 @@ "id": "672777d5-ab26-4369-b334-6f04256efffd", "name": "_Exclude_Onboarding Signals", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Adding first party Onboarding Signals", "description": "Adding Microsoft Onboarding Signals and Providing an example how Onboarding Signals can be added.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -24,8 +24,8 @@ "publisher": "Microsoft" } ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 20370, diff --git a/Apps/W1/OnboardingSignals/test/app.json b/Apps/W1/OnboardingSignals/test/app.json index 7952f02d7f..762992b1dc 100644 --- a/Apps/W1/OnboardingSignals/test/app.json +++ b/Apps/W1/OnboardingSignals/test/app.json @@ -2,7 +2,7 @@ "id": "b0189501-269d-460e-bf1d-38a7bc5e5deb", "name": "_Exclude_Onboarding Signals Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for first party Onboarding Signals", "description": "Tests for Microsoft Onboarding Signals and Providing an example how Onboarding Signals can be tested.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,26 +16,26 @@ "id": "672777d5-ab26-4369-b334-6f04256efffd", "name": "_Exclude_Onboarding Signals", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 139536, diff --git a/Apps/W1/PayPalPaymentsStandard/app/.objidconfig b/Apps/W1/PayPalPaymentsStandard/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/PayPalPaymentsStandard/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/PayPalPaymentsStandard/app/app.json b/Apps/W1/PayPalPaymentsStandard/app/app.json index 41147e21aa..9d61c91274 100644 --- a/Apps/W1/PayPalPaymentsStandard/app/app.json +++ b/Apps/W1/PayPalPaymentsStandard/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Payment Links to PayPal adds a PayPal link to your sales documents so customers can easily pay using PayPal. From inside Dynamics 365 Business Central; you can send the documents by email to provide higher customer service and shorten the time it takes for customers' payments to arrive on your bank account.", "description": "Customers continuously require higher levels of service, both in terms of the quality of product, but also in terms of delivery and payment services. PayPal Payments Standard adds a PayPal link to your sales documents so customers can easily pay using PayPal. You can send the documents by email to provide higher customer service and shorten the time it takes for customer payments to arrive in your bank account. This extension can embed a link to PayPal on all invoices automatically, or a user can do it on individual invoices. The PayPal Payments Standard extension gives customers more ways to pay invoices because PayPal offers multiple ways of handling payments, including credit card processing, PayPal accounts, and other sources. Plus, PayPal delivers a trustworthy payment service, which customers prefer to entering credit card information on unknown websites, and PayPal does not require monthly fees or setup fees. Because this functionality is built as an extension, it gives you full control to enable it when and if your business processes require it.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?LinkId=733363", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/Permissions/m365collaborationpaypalpaymentsstandard.permissionsetext.al b/Apps/W1/PayPalPaymentsStandard/app/src/Permissions/m365collaborationpaypalpaymentsstandard.permissionsetext.al deleted file mode 100644 index 302424fab5..0000000000 --- a/Apps/W1/PayPalPaymentsStandard/app/src/Permissions/m365collaborationpaypalpaymentsstandard.permissionsetext.al +++ /dev/null @@ -1,12 +0,0 @@ -namespace Microsoft.Bank.PayPal; - -#if not CLEAN21 -using System.Security.AccessControl; - -permissionsetextension 6559 "M365 COLLABORATION - PayPal Payments Standard" extends "M365 COLLABORATION" -{ - Permissions = tabledata "MS - PayPal Standard Account" = R, - tabledata "MS - PayPal Standard Template" = R, - tabledata "MS - PayPal Transaction" = R; -} -#endif \ No newline at end of file diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalStandardMgt.Codeunit.al b/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalStandardMgt.Codeunit.al index b985b40066..91c08b2ea7 100644 --- a/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalStandardMgt.Codeunit.al +++ b/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalStandardMgt.Codeunit.al @@ -1,23 +1,29 @@ namespace Microsoft.Bank.PayPal; using Microsoft.Bank.BankAccount; +using Microsoft.Bank.Payment; using Microsoft.Bank.Setup; -using System.Telemetry; using Microsoft.Foundation.Company; using Microsoft.Sales.Document; using Microsoft.Sales.History; using Microsoft.Utilities; +using System.Integration; using System.Environment; using System.Environment.Configuration; -using System.Integration; using System.Globalization; using System.Reflection; +using System.Telemetry; codeunit 1070 "MS - PayPal Standard Mgt." { +#if not CLEAN21 +#pragma warning disable AL0432 +#endif Permissions = TableData "Payment Method" = rimd, TableData "Payment Reporting Argument" = rimd; TableNo = "Payment Reporting Argument"; - +#if not CLEAN21 +#pragma warning restore AL0432 +#endif trigger OnRun(); var FeatureTelemetry: Codeunit "Feature Telemetry"; @@ -47,7 +53,8 @@ codeunit 1070 "MS - PayPal Standard Mgt." TermsOfServiceURLTxt: Label 'https://www.paypal.com/%1/webapps/mpp/ua/useragreement-full', Locked = true; LogoURLTxt: Label 'https://bc-cdn.dynamics.com/common/images/extensionslogos/paypal_colour_v1.png', Locked = true; PayPalBaseURLTok: Label 'https://www.paypal.com/us/cgi-bin/webscr?cmd=_xclick&charset=UTF-8&page_style=primary', Locked = true; - PayPalMandatoryParametersTok: Label 'business=%1&amount=%2&item_name=%3&invoice=%4¤cy_code=%5¬ify_url=%6', Locked = true; + PayPalMandatoryParametersTok: Label 'business=%1&amount=%2&item_name=%3&invoice=%4¤cy_code=%5', Locked = true; + PayPalNotifyURLTok: Label '¬ify_url=%1', Locked = true; TargetURLCannotBeChangedInDemoCompanyErr: Label 'You cannot change the target URL in the demonstration company.'; SandboxPayPalBaseURLTok: Label 'https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_xclick&charset=UTF-8&page_style=primary', Locked = true; PayPalHomepageLinkTxt: Label 'https://go.microsoft.com/fwlink/?linkid=836564', Locked = true; @@ -69,6 +76,12 @@ codeunit 1070 "MS - PayPal Standard Mgt." InvoiceNoFormatTxt: Label '%1 (%2 %3)', Locked = true; PaymentReportingArgumentFormatTxt: Label '%1 (%2)', Locked = true; UrlJoinPlaceholderLbl: Label '%1&%2', Comment = '%1 - First part of the URL, %2 additional query', Locked = true; + PayPalDocumentationHyperlinkLbl: Label 'https://go.microsoft.com/fwlink/?linkid=2248494', Locked = true; + PayPalWebhookNotificationsTxt: Label 'PayPal Webhooks'; + PayPalWebhookNotificationsDescriptionTxt: Label 'Notify about setting up automatic payment registration when document is paid by PayPal.'; + SetupWebhooksNotificationMsg: Label 'If you have a Business PayPal account you can automatically register payments and close open documents. Would you like to learn more?'; + LearnMoreMsg: Label 'Learn more'; + DontShowAgainMsg: Label 'Don''t show again'; PayPalTelemetryTok: Label 'PayPal', Locked = true; HyperlinkGeneratedTok: Label 'Hyperlink generated', Locked = true; @@ -77,7 +90,13 @@ codeunit 1070 "MS - PayPal Standard Mgt." exit(PayPalTelemetryTok); end; - local procedure GenerateHyperlink(var PaymentReportingArgument: Record 1062): Boolean; +#if not CLEAN21 +#pragma warning disable AL0432 +#endif + local procedure GenerateHyperlink(var PaymentReportingArgument: Record "Payment Reporting Argument"): Boolean; +#if not CLEAN21 +#pragma warning restore AL0432 +#endif var SalesInvoiceHeader: Record "Sales Invoice Header"; MsPayPalStandardAccount: Record "MS - PayPal Standard Account"; @@ -111,8 +130,12 @@ codeunit 1070 "MS - PayPal Standard Mgt." UriEscapeDataString(FORMAT(SalesInvoiceHeader."Amount Including VAT", 0, 9)), UriEscapeDataString(STRSUBSTNO(InvoiceTxt, InvoiceNo)), UriEscapeDataString(SalesInvoiceHeader."No."), - UriEscapeDataString(PaymentReportingArgument.GetCurrencyCode(SalesInvoiceHeader."Currency Code")), - UriEscapeDataString(GetNotifyURL())); + UriEscapeDataString(PaymentReportingArgument.GetCurrencyCode(SalesInvoiceHeader."Currency Code")) + ); + + if (not MsPayPalStandardAccount."Disable Webhook Notifications") then + QueryString += StrSubstNo(PayPalNotifyURLTok, UriEscapeDataString(GetNotifyURL())); + BaseURL := MsPayPalStandardAccount.GetTargetURL(); if BaseURL = '' then begin Session.LogMessage('00007ZW', PayPalTargetURLIsEmptyTxt, Verbosity::Warning, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', PayPalTelemetryCategoryTok); @@ -152,6 +175,11 @@ codeunit 1070 "MS - PayPal Standard Mgt." end; end; + local procedure GetSetupWebhooksNotificationID(): Guid + begin + exit('be1a2bc8-8c31-1eda-23ab-b153cd645355'); + end; + local procedure UriEscapeDataString(Uri: Text): Text; var TypeHelper: Codeunit "Type Helper"; @@ -159,7 +187,13 @@ codeunit 1070 "MS - PayPal Standard Mgt." exit(TypeHelper.UriEscapeDataString(Uri)); end; - local procedure SetCaptionBasedOnLanguage(var PaymentReportingArgument: Record 1062); +#if not CLEAN21 +#pragma warning disable AL0432 +#endif + local procedure SetCaptionBasedOnLanguage(var PaymentReportingArgument: Record "Payment Reporting Argument"); +#if not CLEAN21 +#pragma warning restore AL0432 +#endif var Language: Record "Language"; CurrentLanguage: Integer; @@ -208,6 +242,18 @@ codeunit 1070 "MS - PayPal Standard Mgt." RegisterPayPalPaymentMethod(PaymentMethod); end; + internal procedure RunPaymentRegistrationSetupForce() + var + PaymentRegistrationMgt: Codeunit "Payment Registration Mgt."; + SetupOK: Boolean; + begin + SetupOK := PAGE.RunModal(PAGE::"Payment Registration Setup") = ACTION::LookupOK; + if not SetupOK then + exit; + + PaymentRegistrationMgt.RunSetup(); + end; + local procedure RegisterPayPalPaymentMethod(var PaymentMethod: Record "Payment Method"); begin if PaymentMethod.GET(PayPalPaymentMethodCodeTok) then begin @@ -215,7 +261,7 @@ codeunit 1070 "MS - PayPal Standard Mgt." exit; end; - PaymentMethod.INIT(); + PaymentMethod.Init(); PaymentMethod.Code := PayPalPaymentMethodCodeTok; PaymentMethod.Description := PayPalPaymentMethodDescTok; PaymentMethod."Bal. Account Type" := PaymentMethod."Bal. Account Type"::"G/L Account"; @@ -310,8 +356,14 @@ codeunit 1070 "MS - PayPal Standard Mgt." PAGE.RUNMODAL(PAGE::"MS - PayPal Standard Setup", MSPayPalStandardAccount); end; +#if not CLEAN21 +#pragma warning disable AL0432 +#endif [EventSubscriber(ObjectType::Table, Database::"Service Connection", 'OnRegisterServiceConnection', '', false, false)] - local procedure RegisterServiceConnection(var ServiceConnection: Record 1400); + local procedure RegisterServiceConnection(var ServiceConnection: Record "Service Connection"); +#if not CLEAN21 +#pragma warning restore AL0432 +#endif var MSPayPalStandardAccount: Record "MS - PayPal Standard Account"; MSPayPalStandardTemplate: Record "MS - PayPal Standard Template"; @@ -386,11 +438,44 @@ codeunit 1070 "MS - PayPal Standard Mgt." exit(PayPalBaseURLTok); end; + internal procedure SendSendSetupWebhooksNotification() + var + MyNotifications: Record "My Notifications"; + SendSetupWebhooksNotification: Notification; + begin + if MyNotifications.Get(UserId(), GetSetupWebhooksNotificationID()) then + if MyNotifications.Enabled = false then + exit; + + SendSetupWebhooksNotification.Id := GetSetupWebhooksNotificationID(); + if SendSetupWebhooksNotification.Recall() then; + + SendSetupWebhooksNotification.Message(SetupWebhooksNotificationMsg); + SendSetupWebhooksNotification.Scope(NotificationScope::LocalScope); + SendSetupWebhooksNotification.AddAction(LearnMoreMsg, Codeunit::"MS - PayPal Standard Mgt.", 'WebhooksLearnMore'); + SendSetupWebhooksNotification.AddAction(DontShowAgainMsg, Codeunit::"MS - PayPal Standard Mgt.", 'DontShowAgainWebhooks'); + SendSetupWebhooksNotification.Send(); + end; + procedure GetSandboxURL(): Text; begin exit(SandboxPayPalBaseURLTok); end; + procedure WebhooksLearnMore(Notification: Notification) + begin + Hyperlink(PayPalDocumentationHyperlinkLbl); + end; + + procedure DontShowAgainWebhooks(Notification: Notification) + var + MyNotifications: Record "My Notifications"; + begin + if not MyNotifications.SetStatus(GetSetupWebhooksNotificationID(), false) then + MyNotifications.InsertDefault( + GetSetupWebhooksNotificationID(), PayPalWebhookNotificationsTxt, PayPalWebhookNotificationsDescriptionTxt, false); + end; + local procedure GetNotifyURL(): Text; var WebhookManagement: Codeunit "Webhook Management"; diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalWebhookManagement.Codeunit.al b/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalWebhookManagement.Codeunit.al index 1d81157462..b843991887 100644 --- a/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalWebhookManagement.Codeunit.al +++ b/Apps/W1/PayPalPaymentsStandard/app/src/codeunits/MSPayPalWebhookManagement.Codeunit.al @@ -33,7 +33,7 @@ codeunit 1073 "MS - PayPal Webhook Management" MerchantsCustomerPaidTxt: Label 'The payment of the merchant''s customer was successfully processed.', Locked = true; ProcessingPaymentInBackgroundSessionTxt: Label 'Processing payment in a background session.', Locked = true; ProcessingPaymentInCurrentSessionTxt: Label 'Processing payment in the current session.', Locked = true; - WebhookSubscriptionNotFoundTxt: Label 'Webhook subscription is not found.', Locked = true; + WebhookSubscriptionNotFoundTxt: Label 'Webhook subscription is not found or it is not a PayPal notification.', Locked = true; NoRemainingPaymentsTxt: Label 'The payment is ignored because no payment remains.', Locked = true; OverpaymentTxt: Label 'The payment is ignored because of overpayment.', Locked = true; ProcessingWebhookNotificationTxt: Label 'Processing webhook notification.', Locked = true; @@ -88,10 +88,9 @@ codeunit 1073 "MS - PayPal Webhook Management" TempPaymentRegistrationBuffer: Record 981 temporary; PaymentMethod: Record "Payment Method"; PaymentRegistrationMgt: Codeunit "Payment Registration Mgt."; - O365SalesInvoicePayment: Codeunit "O365 Sales Invoice Payment"; MSPayPalStandardMgt: Codeunit "MS - PayPal Standard Mgt."; begin - if not O365SalesInvoicePayment.CollectRemainingPayments(InvoiceNo, TempPaymentRegistrationBuffer) then begin + if not CollectRemainingPayments(InvoiceNo, TempPaymentRegistrationBuffer) then begin Session.LogMessage('00008GO', NoRemainingPaymentsTxt, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', PayPalTelemetryCategoryTok); exit(false); end; @@ -115,6 +114,14 @@ codeunit 1073 "MS - PayPal Webhook Management" exit(false); end; + procedure CollectRemainingPayments(SalesInvoiceDocumentNo: Code[20]; var PaymentRegistrationBuffer: Record "Payment Registration Buffer"): Boolean + begin + PaymentRegistrationBuffer.PopulateTable(); + PaymentRegistrationBuffer.SetRange("Document Type", PaymentRegistrationBuffer."Document Type"::Invoice); + PaymentRegistrationBuffer.SetRange("Document No.", SalesInvoiceDocumentNo); + exit(PaymentRegistrationBuffer.FindFirst()); + end; + [IntegrationEvent(false, false)] local procedure OnAfterPostPayPalPayment(var TempPaymentRegistrationBuffer: Record 981 temporary; AmountReceived: Decimal); begin diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalPaymentServices.PageExt.al b/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalPaymentServices.PageExt.al deleted file mode 100644 index 9913a03ce8..0000000000 --- a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalPaymentServices.PageExt.al +++ /dev/null @@ -1,127 +0,0 @@ -namespace Microsoft.Bank.PayPal; - -using System.Azure.Identity; -using System.Environment; - -#if not CLEAN21 -pageextension 1078 "MS - PayPal Payment Services" extends "BC O365 Payment Services" -{ - ObsoleteReason = 'Microsoft Invoicing has been discontinued.'; - ObsoleteState = Pending; - ObsoleteTag = '21.0'; - layout - { - addfirst(Control75) - { - group("PaypalGroup") - { - Visible = IsPaypalEnabledAndDefault; - ShowCaption = false; - group(UserIsNotAdminGroup) - { - ShowCaption = false; - Visible = not UserHasPermissions; - InstructionalText = 'Ask your Office 365 administrator to change the settings for PayPal.'; - } - group(UserIsAdminGroup) - { - Visible = UserHasPermissions; - ShowCaption = false; - - field(PaypalAccountIdControl; PaypalAccountId) - { - ApplicationArea = Invoicing, Basic, Suite; - Caption = 'PayPal email address'; - Editable = UserHasPermissions; - ExtendedDatatype = EMail; - ToolTip = 'Specifies the PayPal email address.'; - - trigger OnValidate(); - begin - MSPayPalStandardMgt.SetPaypalAccount(PaypalAccountId, false); - CurrPage.Update(); - end; - } - field("Terms of Service"; TermsOfServiceLbl) - { - ApplicationArea = Invoicing, Basic, Suite; - Caption = 'PayPal Terms of Service'; - Editable = false; - ShowCaption = false; - ToolTip = 'Specifies PayPal terms of service.'; - - trigger OnDrillDown(); - begin - Hyperlink(PaypalTermsOfServiceLink); - end; - } - } - } - } - } - - var - MSPayPalStandardAccount: Record "MS - PayPal Standard Account"; - MSPayPalStandardMgt: Codeunit "MS - PayPal Standard Mgt."; - PaypalAccountId: Text[250]; - PaypalTermsOfServiceLink: Text[250]; - IsPaypalEnabledAndDefault: Boolean; - UserHasPermissions: Boolean; - TermsOfServiceLbl: Label 'Terms of service'; - PayPalTelemetryCategoryTok: Label 'AL Paypal', Locked = true; - UserWithoutPermissionsTelemetryMsg: Label 'An Invoicing user without permissions saw PayPal settings page.', Locked = true; - - trigger OnOpenPage(); - var - TempPaymentServiceSetup: Record 1060 temporary; - MSPayPalStandardTemplate: Record "MS - PayPal Standard Template"; - begin - UserHasPermissions := CheckUserPermissions(); - - if not UserHasPermissions then begin - Session.LogMessage('00006ZK', UserWithoutPermissionsTelemetryMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', PayPalTelemetryCategoryTok); - exit; - end; - - if MSPayPalStandardAccount.IsEmpty() then begin - MSPayPalStandardMgt.RegisterPayPalStandardTemplate(TempPaymentServiceSetup); - - MSPayPalStandardMgt.GetTemplate(MSPayPalStandardTemplate); - MSPayPalStandardTemplate.RefreshLogoIfNeeded(); - MSPayPalStandardAccount.TransferFields(MSPayPalStandardTemplate, false); - MSPayPalStandardAccount.Insert(true); - end; - end; - - trigger OnAfterGetCurrRecord() - begin - SetPaypalFields(); - end; - - local procedure SetPaypalFields() - begin - if not MSPayPalStandardAccount.FindFirst() then - exit; - - PaypalTermsOfServiceLink := MSPayPalStandardAccount."Terms of Service"; - PaypalAccountId := MSPayPalStandardAccount."Account ID"; - IsPaypalEnabledAndDefault := MSPayPalStandardAccount.Enabled and MSPayPalStandardAccount."Always Include on Documents" - and (MSPayPalStandardAccount."Account ID" <> ''); - end; - - local procedure CheckUserPermissions(): Boolean - var - DummyMSPayPalStandardAccount: Record "MS - PayPal Standard Account"; - AzureADUserManagement: Codeunit "Azure AD User Management"; - EnvironmentInformation: Codeunit "Environment Information"; - begin - if not EnvironmentInformation.IsSaaS() then - exit(DummyMSPayPalStandardAccount.WritePermission()); - - if AzureADUserManagement.IsUserTenantAdmin() then - exit(true); - - exit(false); - end; -} -#endif \ No newline at end of file diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardAccounts.Page.al b/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardAccounts.Page.al index 4ab995c46d..eac24f27ce 100644 --- a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardAccounts.Page.al +++ b/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardAccounts.Page.al @@ -1,7 +1,6 @@ namespace Microsoft.Bank.PayPal; using System.Telemetry; - page 1073 "MS - PayPal Standard Accounts" { Caption = 'PayPal Payments Standard Accounts'; @@ -58,9 +57,6 @@ page 1073 "MS - PayPal Standard Accounts" ApplicationArea = Basic, Suite; Caption = 'New'; Image = NewDocument; - Promoted = true; - PromotedIsBig = true; - PromotedOnly = true; ToolTip = 'Creates a new PayPal Standard account.'; trigger OnAction(); @@ -73,6 +69,15 @@ page 1073 "MS - PayPal Standard Accounts" end; } } + area(Promoted) + { + group(Category_New) + { + actionref(NewAction_Promoted; NewAction) + { + } + } + } } trigger OnOpenPage() var diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardSetup.Page.al b/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardSetup.Page.al index 7fef6c2d56..316717aa52 100644 --- a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardSetup.Page.al +++ b/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardSetup.Page.al @@ -46,6 +46,7 @@ page 1070 "MS - PayPal Standard Setup" trigger OnValidate(); var EnvironmentInfo: Codeunit "Environment Information"; + MSPayPalStandardMgt: Codeunit "MS - PayPal Standard Mgt."; SetupNotification: Notification; NotificationAllowed: Boolean; begin @@ -62,6 +63,8 @@ page 1070 "MS - PayPal Standard Setup" SetupNotification.SEND(); end; + MSPayPalStandardMgt.SendSendSetupWebhooksNotification(); + if GuiAllowed() then MESSAGE(ExchangeWithExternalServicesMsg); end; @@ -69,7 +72,17 @@ page 1070 "MS - PayPal Standard Setup" field("Always Include on Documents"; Rec."Always Include on Documents") { ApplicationArea = Basic, Suite; - ToolTip = 'Specifies if this PayPal account should be included on all of the Documents by default.'; + ToolTip = 'Specifies if this PayPal account should be included on all of the documents by default.'; + } + field("Use Webhook Notifications"; UseWebhoookNotifications) + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies if the PayPal payments should automatically be registered by using PayPal Webhook notifications. When the document is paid by using a PayPal link it will automatically be closed. The notifications can only be used with Business PayPal accounts.'; + Caption = 'Register payments automatically'; + trigger OnValidate() + begin + Rec.Validate(Rec."Disable Webhook Notifications", (not UseWebhoookNotifications)); + end; } } field(Logo; MSPayPalStandardTemplate.Logo) @@ -123,10 +136,6 @@ page 1070 "MS - PayPal Standard Setup" ApplicationArea = Basic, Suite; Caption = 'Setup Template'; Image = Setup; - //The property 'PromotedCategory' can only be set if the property 'Promoted' is set to 'true' - //PromotedCategory = Process; - //The property 'PromotedIsBig' can only be set if the property 'Promoted' is set to 'true' - //PromotedIsBig = true; RunObject = Page "MS - PayPal Standard Template"; RunPageOnRec = false; ToolTip = 'Opens Template Setup for all PayPal accounts.'; @@ -148,12 +157,45 @@ page 1070 "MS - PayPal Standard Setup" ActivityLog.ShowEntries(MSPayPalStandardTemplate); end; } + action(PaymentRegistratoinSetup) + { + ApplicationArea = Basic, Suite; + Caption = 'Payment Registration Setup'; + Image = SetupPayment; + ToolTip = 'Update Payment Registration setup. Payment Registration Setup is needed if you want to use webhooks to automatically close paid invoices.'; + trigger OnAction() + var + MSPayPalStandardMgt: Codeunit "MS - PayPal Standard Mgt."; + begin + MSPayPalStandardMgt.RunPaymentRegistrationSetupForce(); + end; + } + } + area(Promoted) + { + group(Category_Process) + { + actionref(SetupTemplate_Promoted; SetupTemplate) + { + } + actionref(ActivityLog_Promoted; ActivityLog) + { + } + actionref(PaymentRegistratoinSetup_Promoted; PaymentRegistratoinSetup) + { + } + } } } trigger OnAfterGetCurrRecord(); + var + MSPayPalStandardMgt: Codeunit "MS - PayPal Standard Mgt."; begin InvoiceTargetURL := Rec.GetTargetURL(); + UseWebhoookNotifications := not Rec."Disable Webhook Notifications"; + if Rec.Enabled and (not UseWebhoookNotifications) then + MSPayPalStandardMgt.SendSendSetupWebhooksNotification(); end; trigger OnOpenPage(); @@ -183,6 +225,7 @@ page 1070 "MS - PayPal Standard Setup" MSPayPalStandardTemplate: Record "MS - PayPal Standard Template"; InvoiceTargetURL: Text; TermsOfServiceEditable: Boolean; + UseWebhoookNotifications: Boolean; EnableServiceQst: Label 'The %1 is not enabled. Are you sure you want to exit?', Comment = '%1 = pagecaption (OCR Service Setup)'; EnableAPIForWebhooksMsg: Label 'PayPal Payment Standard has been enabled. To have invoice status updated to Paid when a customer has paid, contact your system administrator to enable API services.'; ExchangeWithExternalServicesMsg: Label 'This extension uses a third-party payment service from PayPal. If you enable this extension, you will be subject to the terms, conditions, and privacy policies from PayPal.\\When you connect to PayPal through the PayPal Payments Standard extension, customer data from the invoice, such as the invoice number, due date, amount, and currency, as well as your PayPal account ID, will be inserted into the link to PayPal on invoices and sent to PayPal when the customer uses the link to pay the invoice. This data is used to ensure that the link contains enough information for your customers to pay the invoice, and for PayPal to identify you as the recipient of the payment.\\You also agree that you or your customers are accountable for any payments that are processed though this extension. Microsoft is not responsible for any payment disputes.'; diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardTemplate.Page.al b/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardTemplate.Page.al index 0892c4e80f..6f445aef2c 100644 --- a/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardTemplate.Page.al +++ b/Apps/W1/PayPalPaymentsStandard/app/src/pages/MSPayPalStandardTemplate.Page.al @@ -79,10 +79,6 @@ page 1071 "MS - PayPal Standard Template" ApplicationArea = Basic, Suite; Caption = 'Reset To Default'; Image = Restore; - Promoted = true; - PromotedCategory = Process; - PromotedIsBig = true; - PromotedOnly = true; ToolTip = 'Resets values to default.'; trigger OnAction(); @@ -94,6 +90,15 @@ page 1071 "MS - PayPal Standard Template" end; } } + area(Promoted) + { + group(Category_Process) + { + actionref(ResetToDefault_Promoted; ResetToDefault) + { + } + } + } } trigger OnAfterGetCurrRecord(); diff --git a/Apps/W1/PayPalPaymentsStandard/app/src/tables/MSPayPalStandardAccount.Table.al b/Apps/W1/PayPalPaymentsStandard/app/src/tables/MSPayPalStandardAccount.Table.al index 7ffeb698ef..55fa5bf591 100644 --- a/Apps/W1/PayPalPaymentsStandard/app/src/tables/MSPayPalStandardAccount.Table.al +++ b/Apps/W1/PayPalPaymentsStandard/app/src/tables/MSPayPalStandardAccount.Table.al @@ -92,6 +92,26 @@ table 1070 "MS - PayPal Standard Account" { Caption = 'Service URL'; } + field(20; "Disable Webhook Notifications"; Boolean) + { + InitValue = true; + + Caption = 'Disable Webhook Notifications'; + trigger OnValidate() + var + MSPayPalStandardMgt: Codeunit "MS - PayPal Standard Mgt."; + begin + if "Disable Webhook Notifications" then + exit; + + if GuiAllowed() then + if not Confirm(EnablePayPalWebhookPaymentRegistrationQst) then + Error(''); + + if Confirm(UpdatePaymentRegistrationSetupQst) then + MSPayPalStandardMgt.RunPaymentRegistrationSetupForce(); + end; + } } keys @@ -132,6 +152,8 @@ table 1070 "MS - PayPal Standard Account" WebhookSubscriptionDeletedTxt: Label 'The webhook subscription is deleted.', Locked = true; WebhookSubscriptionDoesNotExistTxt: Label 'The webhook subscription does not exist.', Locked = true; InvalidTargetURLErr: Label 'The target URL is not valid.'; + EnablePayPalWebhookPaymentRegistrationQst: Label 'To enable PayPal payment notifications you must have a Business PayPal account.\\Do you want to enable the webhooks for automatic payment registrations from PayPal?'; + UpdatePaymentRegistrationSetupQst: Label 'Would you like to update the Payment Registration setup that will be used to automatically register payments from PayPal?'; HideDialogs: Boolean; SalesHeaderFilterLbl: Label '%1|%2|%3', Comment = '%1,%2 and %3 are Document Types.', Locked = true; @@ -274,13 +296,13 @@ table 1070 "MS - PayPal Standard Account" var PaymentRegistrationSetup: Record "Payment Registration Setup"; begin - if PaymentRegistrationSetup.GET(USERID()) then begin + if PaymentRegistrationSetup.Get(UserId()) then begin Session.LogMessage('00008HA', PaymentRegistrationSetupAlreadyExistsTxt, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', PayPalTelemetryCategoryTok); exit; end; - if PaymentRegistrationSetup.GET() then begin + if PaymentRegistrationSetup.Get() then begin PaymentRegistrationSetup."User ID" := CopyStr(USERID(), 1, MaxStrLen(PaymentRegistrationSetup."User ID")); - if PaymentRegistrationSetup.INSERT(true) then begin + if PaymentRegistrationSetup.Insert(true) then begin Session.LogMessage('00008HB', PaymentRegistrationSetupCreatedTxt, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', PayPalTelemetryCategoryTok); exit; end; diff --git a/Apps/W1/PayPalPaymentsStandard/test/app.json b/Apps/W1/PayPalPaymentsStandard/test/app.json index 9d8634ecab..d2308babae 100644 --- a/Apps/W1/PayPalPaymentsStandard/test/app.json +++ b/Apps/W1/PayPalPaymentsStandard/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the PayPal Payments Standard extension.", "description": "Tests for the PayPal Payments Standard extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?LinkId=733363", @@ -16,31 +16,31 @@ "id": "d09fa965-9a2a-424d-b704-69f3b54ed0ce", "name": "Payment Links to PayPal", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -57,5 +57,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/PayPalPaymentsStandard/test/src/MSPayPalStandardTests.Codeunit.al b/Apps/W1/PayPalPaymentsStandard/test/src/MSPayPalStandardTests.Codeunit.al index ad7b290075..d95f5325b0 100644 --- a/Apps/W1/PayPalPaymentsStandard/test/src/MSPayPalStandardTests.Codeunit.al +++ b/Apps/W1/PayPalPaymentsStandard/test/src/MSPayPalStandardTests.Codeunit.al @@ -773,6 +773,8 @@ codeunit 139500 "MS - PayPal Standard Tests" Initialize(); SetupPaymentNotification(MSPayPalStandardAccount, SalesInvoiceHeader); + MSPayPalStandardAccount."Disable Webhook Notifications" := false; + MSPayPalStandardAccount.Modify(); // Exercise TempPaymentServiceSetup.CreateReportingArgs(TempPaymentReportingArgument, SalesInvoiceHeader); diff --git a/Apps/W1/PaymentPractices/app/.objidconfig b/Apps/W1/PaymentPractices/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/PaymentPractices/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/PaymentPractices/app/app.json b/Apps/W1/PaymentPractices/app/app.json index 89fac0c824..8c098a2777 100644 --- a/Apps/W1/PaymentPractices/app/app.json +++ b/Apps/W1/PaymentPractices/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Payment Practices app introduces a feature enabling the calculation of payment times, aggregated across various metrics.", "description": "Numerous countries have regulatory requirements to report payment times to vendors. This app offers a user-friendly solution to report payment times for both vendors and customers. Additionally, it offers adaptable interfaces for introducing personalized aggregation methods and data collection.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?LinkId=724011", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 685, @@ -29,6 +29,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/PaymentPractices/test/app.json b/Apps/W1/PaymentPractices/test/app.json index 41f3752e63..e801be183c 100644 --- a/Apps/W1/PaymentPractices/test/app.json +++ b/Apps/W1/PaymentPractices/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for Payment Practices app.", "description": "Tests for Payment Practices app.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?LinkId=724011", @@ -16,31 +16,31 @@ "id": "64977288-facd-4b48-aaaa-bb0e288edfb3", "name": "Payment Practices", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 134196, @@ -52,6 +52,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/PlanConfiguration/app/.objidconfig b/Apps/W1/PlanConfiguration/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/PlanConfiguration/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/PlanConfiguration/app/Permissions/PlanConfigAzureADPlan.PermissionSetExt.al b/Apps/W1/PlanConfiguration/app/Permissions/PlanConfigAzureADPlan.PermissionSetExt.al index 84980195d9..62377386f7 100644 --- a/Apps/W1/PlanConfiguration/app/Permissions/PlanConfigAzureADPlan.PermissionSetExt.al +++ b/Apps/W1/PlanConfiguration/app/Permissions/PlanConfigAzureADPlan.PermissionSetExt.al @@ -6,8 +6,6 @@ namespace System.Azure.Identity; -using System.Security.AccessControl; - permissionsetextension 9050 "Plan Config - Azure AD Plan" extends "Azure AD Plan - Admin" { IncludedPermissionSets = "Plan Configuration - Edit"; diff --git a/Apps/W1/PlanConfiguration/app/app.json b/Apps/W1/PlanConfiguration/app/app.json index 80aba58795..258df98a9c 100644 --- a/Apps/W1/PlanConfiguration/app/app.json +++ b/Apps/W1/PlanConfiguration/app/app.json @@ -2,7 +2,7 @@ "id": "5f92e0d5-a60e-435f-ae85-71ec28dd3e41", "name": "_Exclude_PlanConfiguration_", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Manage default user groups for license", "description": "Manage default user groups for license", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -17,8 +17,8 @@ "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 9048, diff --git a/Apps/W1/PlanConfiguration/test/app.json b/Apps/W1/PlanConfiguration/test/app.json index f159d5a398..c31d797ed2 100644 --- a/Apps/W1/PlanConfiguration/test/app.json +++ b/Apps/W1/PlanConfiguration/test/app.json @@ -2,7 +2,7 @@ "id": "0253c250-e019-491f-adf4-e8fd8f10e6b9", "name": "_Exclude_PlanConfiguration_ Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for Plan Configuration", "description": "Tests for Plan Configuration", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", @@ -16,38 +16,38 @@ "id": "5f92e0d5-a60e-435f-ae85-71ec28dd3e41", "name": "_Exclude_PlanConfiguration_", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 139509, diff --git a/Apps/W1/QBMigration/app/.objidconfig b/Apps/W1/QBMigration/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/QBMigration/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/QBMigration/app/app.json b/Apps/W1/QBMigration/app/app.json index c4a2fb728d..93183f204f 100644 --- a/Apps/W1/QBMigration/app/app.json +++ b/Apps/W1/QBMigration/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Enables users to migrate their Customers, Vendors, Items and Accounts and open transactions from QuickBooks to Microsoft Dynamics 365 Business Central.", "description": "This application automates the process of migrating Customers, Vendors, Items and Accounts from QuickBooks to Microsoft Dynamics 365 Business Central. The user will need to either download the exporter tool to export their data out of QuickBooks Desktop or log into the QuickBooks Online System. GL Accounts and a beginning balance transaction will migrate along with Customers and Vendors and their current open transactions. Inventory items and current quantity on hand and service items will migrate from QuickBooks.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=850307", @@ -16,13 +16,13 @@ "id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f", "name": "System Application", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -35,5 +35,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/QBMigration/app/src/Accounts/Account.Table.al b/Apps/W1/QBMigration/app/src/Accounts/MigrationQBAccount.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Accounts/Account.Table.al rename to Apps/W1/QBMigration/app/src/Accounts/MigrationQBAccount.Table.al diff --git a/Apps/W1/QBMigration/app/src/Accounts/AccountMigrator.Codeunit.al b/Apps/W1/QBMigration/app/src/Accounts/MigrationQBAccountMigrator.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Accounts/AccountMigrator.Codeunit.al rename to Apps/W1/QBMigration/app/src/Accounts/MigrationQBAccountMigrator.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Accounts/AccountTable.Page.al b/Apps/W1/QBMigration/app/src/Accounts/MigrationQBAccountTable.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Accounts/AccountTable.Page.al rename to Apps/W1/QBMigration/app/src/Accounts/MigrationQBAccountTable.Page.al diff --git a/Apps/W1/QBMigration/app/src/Customers/Customer.Table.al b/Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomer.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Customers/Customer.Table.al rename to Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomer.Table.al diff --git a/Apps/W1/QBMigration/app/src/Customers/CustomerMigrator.Codeunit.al b/Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerMigrator.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Customers/CustomerMigrator.Codeunit.al rename to Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerMigrator.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Customers/CustomerTable.Page.al b/Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerTable.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Customers/CustomerTable.Page.al rename to Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerTable.Page.al diff --git a/Apps/W1/QBMigration/app/src/Customers/CustomerTrans.Page.al b/Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerTrans.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Customers/CustomerTrans.Page.al rename to Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerTrans.Page.al diff --git a/Apps/W1/QBMigration/app/src/Customers/CustomerTrans.Table.al b/Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerTrans.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Customers/CustomerTrans.Table.al rename to Apps/W1/QBMigration/app/src/Customers/MigrationQBCustomerTrans.Table.al diff --git a/Apps/W1/QBMigration/app/src/Items/Item.Table.al b/Apps/W1/QBMigration/app/src/Items/MigrationQBItem.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Items/Item.Table.al rename to Apps/W1/QBMigration/app/src/Items/MigrationQBItem.Table.al diff --git a/Apps/W1/QBMigration/app/src/Items/ItemMigrator.Codeunit.al b/Apps/W1/QBMigration/app/src/Items/MigrationQBItemMigrator.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Items/ItemMigrator.Codeunit.al rename to Apps/W1/QBMigration/app/src/Items/MigrationQBItemMigrator.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Items/ItemTable.Page.al b/Apps/W1/QBMigration/app/src/Items/MigrationQBItemTable.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Items/ItemTable.Page.al rename to Apps/W1/QBMigration/app/src/Items/MigrationQBItemTable.Page.al diff --git a/Apps/W1/QBMigration/app/src/Support/AccountSetup.Table.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBAccountSetup.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/AccountSetup.Table.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBAccountSetup.Table.al diff --git a/Apps/W1/QBMigration/app/src/Support/Config.Table.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBConfig.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/Config.Table.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBConfig.Table.al diff --git a/Apps/W1/QBMigration/app/src/Support/DashboardMgt.Codeunit.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBDashboardMgt.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/DashboardMgt.Codeunit.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBDashboardMgt.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Support/DataLoader.Codeunit.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBDataLoader.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/DataLoader.Codeunit.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBDataLoader.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Support/DataReader.Codeunit.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBDataReader.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/DataReader.Codeunit.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBDataReader.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Support/DefaultAccounts.Page.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBDefaultAccounts.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/DefaultAccounts.Page.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBDefaultAccounts.Page.al diff --git a/Apps/W1/QBMigration/app/src/Support/HelperFunctions.Codeunit.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBHelperFunctions.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/HelperFunctions.Codeunit.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBHelperFunctions.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Support/Mgt.Codeunit.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBMgt.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/Mgt.Codeunit.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBMgt.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Support/PostingAccounts.Page.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBPostingAccounts.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/PostingAccounts.Page.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBPostingAccounts.Page.al diff --git a/Apps/W1/QBMigration/app/src/Support/WizardIntegration.Codeunit.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBWizardIntegration.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Support/WizardIntegration.Codeunit.al rename to Apps/W1/QBMigration/app/src/Support/MigrationQBWizardIntegration.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Upgrade/Upgrade.Codeunit.al b/Apps/W1/QBMigration/app/src/Upgrade/MigrationQBUpgrade.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Upgrade/Upgrade.Codeunit.al rename to Apps/W1/QBMigration/app/src/Upgrade/MigrationQBUpgrade.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Vendors/Vendor.Table.al b/Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendor.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Vendors/Vendor.Table.al rename to Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendor.Table.al diff --git a/Apps/W1/QBMigration/app/src/Vendors/VendorMigrator.Codeunit.al b/Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorMigrator.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Vendors/VendorMigrator.Codeunit.al rename to Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorMigrator.Codeunit.al diff --git a/Apps/W1/QBMigration/app/src/Vendors/VendorTable.Page.al b/Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorTable.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Vendors/VendorTable.Page.al rename to Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorTable.Page.al diff --git a/Apps/W1/QBMigration/app/src/Vendors/VendorTrans.Page.al b/Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorTrans.Page.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Vendors/VendorTrans.Page.al rename to Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorTrans.Page.al diff --git a/Apps/W1/QBMigration/app/src/Vendors/VendorTrans.Table.al b/Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorTrans.Table.al similarity index 100% rename from Apps/W1/QBMigration/app/src/Vendors/VendorTrans.Table.al rename to Apps/W1/QBMigration/app/src/Vendors/MigrationQBVendorTrans.Table.al diff --git a/Apps/W1/QBMigration/test/app.json b/Apps/W1/QBMigration/test/app.json index f27a720232..c22e4c998a 100644 --- a/Apps/W1/QBMigration/test/app.json +++ b/Apps/W1/QBMigration/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the QuickBooks Data Migration extension.", "description": "Tests for the QuickBooks Data Migration extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=850307", @@ -16,19 +16,19 @@ "id": "1b80b577-772f-4e0f-bc13-50214fb3da6e", "name": "Migration of QuickBooks Data", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -45,5 +45,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/QBMigration/test/src/AccountTests.Codeunit.al b/Apps/W1/QBMigration/test/src/MigrationQBAccountTests.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/test/src/AccountTests.Codeunit.al rename to Apps/W1/QBMigration/test/src/MigrationQBAccountTests.Codeunit.al diff --git a/Apps/W1/QBMigration/test/src/OTests.Codeunit.al b/Apps/W1/QBMigration/test/src/MigrationQBOTests.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/test/src/OTests.Codeunit.al rename to Apps/W1/QBMigration/test/src/MigrationQBOTests.Codeunit.al diff --git a/Apps/W1/QBMigration/test/src/RunAllTests.Codeunit.al b/Apps/W1/QBMigration/test/src/MigrationQBRunAllTests.Codeunit.al similarity index 100% rename from Apps/W1/QBMigration/test/src/RunAllTests.Codeunit.al rename to Apps/W1/QBMigration/test/src/MigrationQBRunAllTests.Codeunit.al diff --git a/Apps/W1/QuickbooksPayrollFileImport/app/.objidconfig b/Apps/W1/QuickbooksPayrollFileImport/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/QuickbooksPayrollFileImport/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/QuickbooksPayrollFileImport/app/app.json b/Apps/W1/QuickbooksPayrollFileImport/app/app.json index 9365cd3eef..16e9c4d1a4 100644 --- a/Apps/W1/QuickbooksPayrollFileImport/app/app.json +++ b/Apps/W1/QuickbooksPayrollFileImport/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Import of QuickBooks Payroll Files functionality allows you to import payroll transactions from a Quickbooks IIF file.", "description": "The Import of QuickBooks Payroll Files functionality allows you to import payroll transactions from a Quickbooks IIF file.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?LinkId=860351", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/QuickbooksPayrollFileImport/test/app.json b/Apps/W1/QuickbooksPayrollFileImport/test/app.json index 401dddb672..3d67c909ac 100644 --- a/Apps/W1/QuickbooksPayrollFileImport/test/app.json +++ b/Apps/W1/QuickbooksPayrollFileImport/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Quickbooks Payroll File Import extension.", "description": "Tests for the Quickbooks Payroll File Import extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?LinkId=860351", @@ -16,19 +16,19 @@ "id": "bc45ae22-3b5b-44b5-beb4-2a42bf79cc34", "name": "Import of QuickBooks Payroll Files", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -45,5 +45,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/RecommendedApps/app/.objidconfig b/Apps/W1/RecommendedApps/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/RecommendedApps/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/RecommendedApps/app/app.json b/Apps/W1/RecommendedApps/app/app.json index 5de5f504c7..85d35808f3 100644 --- a/Apps/W1/RecommendedApps/app/app.json +++ b/Apps/W1/RecommendedApps/app/app.json @@ -2,7 +2,7 @@ "id": "a53a4bb0-aa53-8ff8-77d6-fe3388db0eb8", "name": "Recommended Apps", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Create a collection of apps that you can recommend to customers.", "description": "Create a collection of apps that you can recommend to customers.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,8 +10,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2173058", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 4750, diff --git a/Apps/W1/RecommendedApps/test/app.json b/Apps/W1/RecommendedApps/test/app.json index de4b44253e..0eeb89547f 100644 --- a/Apps/W1/RecommendedApps/test/app.json +++ b/Apps/W1/RecommendedApps/test/app.json @@ -2,7 +2,7 @@ "id": "4b1cbbc7-a6fd-442c-87b1-60b1d2b059d7", "name": "Recommended Apps Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft Recommended Apps extension.", "description": "Tests for the Microsoft Recommended Apps extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2135559", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "a53a4bb0-aa53-8ff8-77d6-fe3388db0eb8", "name": "Recommended Apps", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/ReportLayouts/app/.objidconfig b/Apps/W1/ReportLayouts/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ReportLayouts/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ReportLayouts/app/Entitlements/ReportLayouts.entitlement.al b/Apps/W1/ReportLayouts/app/Entitlements/ReportLayouts.entitlement.al index 4ab8a31584..0db8675068 100644 --- a/Apps/W1/ReportLayouts/app/Entitlements/ReportLayouts.entitlement.al +++ b/Apps/W1/ReportLayouts/app/Entitlements/ReportLayouts.entitlement.al @@ -2,6 +2,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Report; + +using System.Security.AccessControl; entitlement "ReportLayouts" { Type = Implicit; diff --git a/Apps/W1/ReportLayouts/app/Permissions/ReportLayoutsObjects.permissionset.al b/Apps/W1/ReportLayouts/app/Permissions/ReportLayoutsObjects.permissionset.al index b7d60cd2b1..e9a4593313 100644 --- a/Apps/W1/ReportLayouts/app/Permissions/ReportLayoutsObjects.permissionset.al +++ b/Apps/W1/ReportLayouts/app/Permissions/ReportLayoutsObjects.permissionset.al @@ -2,6 +2,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace System.Security.AccessControl; + +using Microsoft.Shared.Report; permissionset 9660 "Report Layouts - Objects" { Assignable = false; diff --git a/Apps/W1/ReportLayouts/app/app.json b/Apps/W1/ReportLayouts/app/app.json index d61129d45c..15511b281d 100644 --- a/Apps/W1/ReportLayouts/app/app.json +++ b/Apps/W1/ReportLayouts/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Report layouts made available by extensions or created by users.", "description": "The report layouts page shows all the report layouts made available from extensions or those defined by users.", - "version": "23.3.0.0", + "version": "24.0.0.0", "help": "https://go.microsoft.com", "privacyStatement": "https://go.microsoft.com", "EULA": "https://go.microsoft.com", @@ -21,14 +21,14 @@ "publisher": "Microsoft" } ], - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, diff --git a/Apps/W1/ReportLayouts/app/src/ReportLayoutEditDialog.page.al b/Apps/W1/ReportLayouts/app/src/ReportLayoutEditDialog.page.al index 042cac1535..0e452335fb 100644 --- a/Apps/W1/ReportLayouts/app/src/ReportLayoutEditDialog.page.al +++ b/Apps/W1/ReportLayouts/app/src/ReportLayoutEditDialog.page.al @@ -2,6 +2,11 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Report; + +using System.Environment.Configuration; +using System.Reflection; /// /// A dialog page for editting report layout information. /// diff --git a/Apps/W1/ReportLayouts/app/src/ReportLayoutNewDialog.page.al b/Apps/W1/ReportLayouts/app/src/ReportLayoutNewDialog.page.al index 1f0b0f1caf..e3e0a89902 100644 --- a/Apps/W1/ReportLayouts/app/src/ReportLayoutNewDialog.page.al +++ b/Apps/W1/ReportLayouts/app/src/ReportLayoutNewDialog.page.al @@ -2,6 +2,11 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Report; + +using System.Environment.Configuration; +using System.Reflection; /// /// A dialog page for adding new report layouts. /// diff --git a/Apps/W1/ReportLayouts/app/src/ReportLayouts.page.al b/Apps/W1/ReportLayouts/app/src/ReportLayouts.page.al index 8ed941e4e3..8345707820 100644 --- a/Apps/W1/ReportLayouts/app/src/ReportLayouts.page.al +++ b/Apps/W1/ReportLayouts/app/src/ReportLayouts.page.al @@ -2,6 +2,12 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ + +namespace Microsoft.Shared.Report; + +using System.Reflection; +using System.Environment.Configuration; +using System.Integration; /// /// The report layouts page, used for adding/deleting/editing user and extension defined report layouts. /// diff --git a/Apps/W1/ReportLayouts/test/app.json b/Apps/W1/ReportLayouts/test/app.json index f3d302de98..864d825c88 100644 --- a/Apps/W1/ReportLayouts/test/app.json +++ b/Apps/W1/ReportLayouts/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Report Layouts extension.", "description": "Tests for the Report Layouts extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "help": "https://go.microsoft.com", "EULA": "https://go.microsoft.com", @@ -15,25 +15,25 @@ "id": "b7174aae-753c-4e71-bacb-d973995dce5e", "name": "_Exclude_ReportLayouts", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -50,6 +50,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "logo": "ExtensionLogo.png" } \ No newline at end of file diff --git a/Apps/W1/ReportLayouts/test/src/codeunits/ReportLayoutsTest.Codeunit.al b/Apps/W1/ReportLayouts/test/src/codeunits/ReportLayoutsTest.Codeunit.al index cc4a116be7..ea3b92216d 100644 --- a/Apps/W1/ReportLayouts/test/src/codeunits/ReportLayoutsTest.Codeunit.al +++ b/Apps/W1/ReportLayouts/test/src/codeunits/ReportLayoutsTest.Codeunit.al @@ -261,7 +261,6 @@ codeunit 139595 "Report Layouts Test" [ModalPageHandler] procedure NewLayoutModalHandler(var ReportLayoutNewDialog: TestPage "Report Layout New Dialog") - var begin ReportLayoutNewDialog.LayoutName.Value := NewLayoutNameTxt; ReportLayoutNewDialog.Description.Value := NewLayoutNameTxt; @@ -275,7 +274,6 @@ codeunit 139595 "Report Layouts Test" [ModalPageHandler] procedure NewLayoutModalHandlerCurrentCompany(var ReportLayoutNewDialog: TestPage "Report Layout New Dialog") - var begin ReportLayoutNewDialog.LayoutName.Value := NewLayoutNameTxt; ReportLayoutNewDialog.Description.Value := NewLayoutNameTxt; @@ -290,7 +288,6 @@ codeunit 139595 "Report Layouts Test" [ModalPageHandler] procedure EditLayoutModalHandlerNoCopyMakeAvailableAll(var ReportLayoutEditDialog: TestPage "Report Layout Edit Dialog") - var begin ReportLayoutEditDialog.LayoutName.Value := EditedLayoutNameTxt; ReportLayoutEditDialog.Description.Value := EditedLayoutNameTxt; @@ -300,7 +297,6 @@ codeunit 139595 "Report Layouts Test" [ModalPageHandler] procedure EditLayoutModalHandlerCopyMakeAvailableAll(var ReportLayoutEditDialog: TestPage "Report Layout Edit Dialog") - var begin ReportLayoutEditDialog.LayoutName.Value := EditedLayoutNameTxt; ReportLayoutEditDialog.Description.Value := EditedLayoutNameTxt; @@ -311,7 +307,6 @@ codeunit 139595 "Report Layouts Test" [ModalPageHandler] procedure EditLayoutModalHandlerNoCopyMakePrivate(var ReportLayoutEditDialog: TestPage "Report Layout Edit Dialog") - var begin ReportLayoutEditDialog.LayoutName.Value := EditedLayoutNameTxt; ReportLayoutEditDialog.Description.Value := EditedLayoutNameTxt; @@ -322,7 +317,6 @@ codeunit 139595 "Report Layouts Test" [ModalPageHandler] procedure EditLayoutModalHandlerCopyMakePrivate(var ReportLayoutEditDialog: TestPage "Report Layout Edit Dialog") - var begin ReportLayoutEditDialog.LayoutName.Value := EditedLayoutNameTxt; ReportLayoutEditDialog.Description.Value := EditedLayoutNameTxt; @@ -333,7 +327,6 @@ codeunit 139595 "Report Layouts Test" [ModalPageHandler] procedure EditLayoutModalHandler(var ReportLayoutEditDialog: TestPage "Report Layout Edit Dialog") - var begin ReportLayoutEditDialog.LayoutName.Value := EditedLayoutNameTxt; ReportLayoutEditDialog.Description.Value := EditedLayoutNameTxt; @@ -342,7 +335,6 @@ codeunit 139595 "Report Layouts Test" [ConfirmHandler] procedure ConfirmHandler(Question: Text[1024]; var Reply: Boolean) - var begin Reply := true; end; diff --git a/Apps/W1/ReviewGLEntries/app/.objidconfig b/Apps/W1/ReviewGLEntries/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ReviewGLEntries/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ReviewGLEntries/app/app.json b/Apps/W1/ReviewGLEntries/app/app.json index 4b51894f3a..e24aa2b218 100644 --- a/Apps/W1/ReviewGLEntries/app/app.json +++ b/Apps/W1/ReviewGLEntries/app/app.json @@ -2,9 +2,9 @@ "id": "87990153-0e35-4e5d-ba61-2e93077d1699", "name": "Review General Ledger Entries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Review General Ledger Entries", - "description": "Review General Ledger Entries", + "description": "Exclude Review General Ledger Entries", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206176", @@ -17,8 +17,8 @@ "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, diff --git a/Apps/W1/ReviewGLEntries/test/app.json b/Apps/W1/ReviewGLEntries/test/app.json index a57b6e353f..0926f11236 100644 --- a/Apps/W1/ReviewGLEntries/test/app.json +++ b/Apps/W1/ReviewGLEntries/test/app.json @@ -2,7 +2,7 @@ "id": "6cba115c-63f1-4b08-9e0d-8872a86458db", "name": "_Exclude_Review_General_Ledger_Entries_Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the _Exclude_Review_General_Ledger_Entries extension", "description": "Tests for the _Exclude_Review_General_Ledger_Entries extension", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,26 +16,26 @@ "id": "87990153-0e35-4e5d-ba61-2e93077d1699", "name": "Review General Ledger Entries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, diff --git a/Apps/W1/SAF-T/app/.objidconfig b/Apps/W1/SAF-T/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/SAF-T/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/SAF-T/app/app.json b/Apps/W1/SAF-T/app/app.json index 310afbe439..a0e8b49967 100644 --- a/Apps/W1/SAF-T/app/app.json +++ b/Apps/W1/SAF-T/app/app.json @@ -2,7 +2,7 @@ "id": "4ce93371-6bd6-4027-a78f-021064ad250e", "name": "SAF-T", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "SAF-T provides a user interface for exporting accounting, tax, and other data required by auditors or authorities.", "description": "As a part of the audit reporting, companies must be able to export transaction data according to the SAF-T format based on OECD standard. This feature enables using SAF-T format for exporting data within Audit File Export app, where you can specify Standard Chart of Accounts and map other required data to fulfill all requirements.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,31 +16,31 @@ "id": "a41b0c3e-bf1c-4c97-ad1b-b430a3933ada", "name": "Audit File Export", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], - "internalsVisibleTo": [ - { - "id": "dfe6916f-cba8-4973-afdc-1544705c661f", - "name": "SAF-T Tests", - "publisher": "Microsoft" - } - ], + "internalsVisibleTo": [ + { + "id": "dfe6916f-cba8-4973-afdc-1544705c661f", + "name": "SAF-T Tests", + "publisher": "Microsoft" + } + ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { - "from": 5280, - "to": 5299 + "from": 5280, + "to": 5299 } ], "resourceExposurePolicy": { - "allowDebugging": true, - "allowDownloadingSource": true, - "includeSourceInSymbolFile": true + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true }, "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/SAF-T/app/src/SAFTDataMgt.Codeunit.al b/Apps/W1/SAF-T/app/src/SAFTDataMgt.Codeunit.al index cf09cf53f0..e52d6599ec 100644 --- a/Apps/W1/SAF-T/app/src/SAFTDataMgt.Codeunit.al +++ b/Apps/W1/SAF-T/app/src/SAFTDataMgt.Codeunit.al @@ -25,7 +25,9 @@ using Microsoft.Sales.History; using Microsoft.Sales.Receivables; using Microsoft.Service.History; using System.Environment; +#if not CLEAN23 using System.Environment.Configuration; +#endif codeunit 5280 "SAF-T Data Mgt." { diff --git a/Apps/W1/SAF-T/app/src/Setup/SAFTWizard.Page.al b/Apps/W1/SAF-T/app/src/Setup/SAFTWizard.Page.al index b4fcd7fc9d..2ea18344f0 100644 --- a/Apps/W1/SAF-T/app/src/Setup/SAFTWizard.Page.al +++ b/Apps/W1/SAF-T/app/src/Setup/SAFTWizard.Page.al @@ -420,7 +420,6 @@ page 5280 "SAF-T Wizard" } trigger OnQueryClosePage(CloseAction: action): Boolean; - var begin if GetLastErrorText() <> '' then exit(true); @@ -547,7 +546,6 @@ page 5280 "SAF-T Wizard" end; local procedure FinishAction(); - var begin FeatureTelemetry.LogUptake('0000KTD', SAFTExportTok, Enum::"Feature Uptake Status"::"Set up"); SetupCompleted := true; diff --git a/Apps/W1/SAF-T/test/app.json b/Apps/W1/SAF-T/test/app.json index b3388de94e..96ed4b37dd 100644 --- a/Apps/W1/SAF-T/test/app.json +++ b/Apps/W1/SAF-T/test/app.json @@ -2,7 +2,7 @@ "id": "dfe6916f-cba8-4973-afdc-1544705c661f", "name": "SAF-T Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the SAF-T extension.", "description": "Tests for the SAF-T extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -16,38 +16,38 @@ "id": "a41b0c3e-bf1c-4c97-ad1b-b430a3933ada", "name": "Audit File Export", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "4ce93371-6bd6-4027-a78f-021064ad250e", "name": "SAF-T", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 139511, diff --git a/Apps/W1/SAF-T/test/src/SAFTTests.Codeunit.al b/Apps/W1/SAF-T/test/src/SAFTTests.Codeunit.al index b36d3f0caf..31eb8dea23 100644 --- a/Apps/W1/SAF-T/test/src/SAFTTests.Codeunit.al +++ b/Apps/W1/SAF-T/test/src/SAFTTests.Codeunit.al @@ -492,4 +492,4 @@ codeunit 139511 "SAF-T Tests" procedure MessageHandler(Message: Text[1024]) begin end; -} +} \ No newline at end of file diff --git a/Apps/W1/SalesAndInventoryForecast/app/.objidconfig b/Apps/W1/SalesAndInventoryForecast/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/SalesAndInventoryForecast/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/SalesAndInventoryForecast/app/app.json b/Apps/W1/SalesAndInventoryForecast/app/app.json index 232bd666ef..35393eb5e3 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/app.json +++ b/Apps/W1/SalesAndInventoryForecast/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Get insights about potential sales and a clear overview of expected stock-outs.", "description": "Inventory management is a trade-off between customer service and managing cost. On one hand, low inventory levels require less working capital. On the other hand, stock-outs can lead to missed sales. The Sales and Inventory Forecast extension uses historical data to predict potential sales so you know when to expect stock-outs. Based on the forecast, the extension saves you time by helping to create replenishment requests to your vendors.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2189535", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicisvsalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicisvsalesandinventoryforecast.permissionsetext.al index 072b0bbedd..61a50bf32a 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicisvsalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicisvsalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 46656 "D365 BASIC ISV - Sales and Inventory Forecast" extends "D365 BASIC ISV" { Permissions = tabledata "MS - Sales Forecast" = RIMD, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicsalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicsalesandinventoryforecast.permissionsetext.al index f3f23377f1..c6b228aa0e 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicsalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365basicsalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 4668 "D365 BASIC - Sales and Inventory Forecast" extends "D365 BASIC" { Permissions = tabledata "MS - Sales Forecast" = RIMD, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365busfullaccesssalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365busfullaccesssalesandinventoryforecast.permissionsetext.al index 088c0ccc3a..3b434aab22 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365busfullaccesssalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365busfullaccesssalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 44824 "D365 BUS FULL ACCESS - Sales and Inventory Forecast" extends "D365 BUS FULL ACCESS" { Permissions = tabledata "MS - Sales Forecast" = RIMD, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365buspremiumsalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365buspremiumsalesandinventoryforecast.permissionsetext.al index bea31c3d62..a8497a4fec 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365buspremiumsalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365buspremiumsalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 16230 "D365 BUS PREMIUM - Sales and Inventory Forecast" extends "D365 BUS PREMIUM" { Permissions = tabledata "MS - Sales Forecast" = RIMD, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365fullaccesssalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365fullaccesssalesandinventoryforecast.permissionsetext.al index 29d5c94e1b..a11d437c40 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365fullaccesssalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365fullaccesssalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 6323 "D365 FULL ACCESS - Sales and Inventory Forecast" extends "D365 FULL ACCESS" { Permissions = tabledata "MS - Sales Forecast" = RIMD, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365readsalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365readsalesandinventoryforecast.permissionsetext.al index 9e78665ae2..1b27b2c96f 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365readsalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365readsalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 32397 "D365 READ - Sales and Inventory Forecast" extends "D365 READ" { Permissions = tabledata "MS - Sales Forecast" = R, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365teammembersalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365teammembersalesandinventoryforecast.permissionsetext.al index e0a602e09a..3464a2aa47 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365teammembersalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/d365teammembersalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 28528 "D365 TEAM MEMBER - Sales and Inventory Forecast" extends "D365 TEAM MEMBER" { Permissions = tabledata "MS - Sales Forecast" = RIMD, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/intelligentcloudsalesandinventoryforecast.permissionsetext.al b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/intelligentcloudsalesandinventoryforecast.permissionsetext.al index 31fffb6920..d404f542fb 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/intelligentcloudsalesandinventoryforecast.permissionsetext.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/Permissions/intelligentcloudsalesandinventoryforecast.permissionsetext.al @@ -2,8 +2,6 @@ namespace System.Security.AccessControl; using Microsoft.Inventory.InventoryForecast; -using System.Security.AccessControl; - permissionsetextension 48056 "INTELLIGENT CLOUD - Sales and Inventory Forecast" extends "INTELLIGENT CLOUD" { Permissions = tabledata "MS - Sales Forecast" = RIMD, diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al index 89b5224b9f..57246a6f25 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al @@ -6,7 +6,6 @@ namespace Microsoft.Inventory.InventoryForecast; using Microsoft.Foundation.Company; using Microsoft.Inventory.Item; -using Microsoft.Utilities; using System.Environment; using System.Privacy; using System.Upgrade; diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpdate.Codeunit.al b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpdate.Codeunit.al index 389f6833a2..39bd7bcd57 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpdate.Codeunit.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpdate.Codeunit.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Inventory.InventoryForecast; -using Microsoft; using Microsoft.Inventory.Item; using System.AI; using System.Environment; diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al b/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al index 64afe7b05c..fa0e5e51d3 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al @@ -266,7 +266,6 @@ table 1853 "MS - Sales Forecast Setup" end; local procedure DeleteAPICredential(KeyId: Guid) - var begin // Clear the local key id Clear("API Key ID"); diff --git a/Apps/W1/SalesAndInventoryForecast/test/app.json b/Apps/W1/SalesAndInventoryForecast/test/app.json index 7452fe8c2e..65f0799633 100644 --- a/Apps/W1/SalesAndInventoryForecast/test/app.json +++ b/Apps/W1/SalesAndInventoryForecast/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Sales and Inventory Forecast extension.", "description": "Tests for the Sales and Inventory Forecast extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2189535", @@ -16,25 +16,25 @@ "id": "c526b3e9-b8ca-4683-81ba-fcd5f6b1472a", "name": "Sales and Inventory Forecast", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -51,5 +51,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/SalesAndInventoryForecast/test/src/SalesForecastTests.Codeunit.al b/Apps/W1/SalesAndInventoryForecast/test/src/SalesForecastTests.Codeunit.al index fb11c89139..64823569ea 100644 --- a/Apps/W1/SalesAndInventoryForecast/test/src/SalesForecastTests.Codeunit.al +++ b/Apps/W1/SalesAndInventoryForecast/test/src/SalesForecastTests.Codeunit.al @@ -922,11 +922,13 @@ codeunit 139540 "Sales Forecast Tests" MSSalesForecast: Record "MS - Sales Forecast"; MSSalesForecastParameter: Record "MS - Sales Forecast Parameter"; JobQueueEntry: Record "Job Queue Entry"; + LibraryERM: Codeunit "Library - ERM"; LibraryPermissions: Codeunit "Library - Permissions"; LibraryNotificationMgt: Codeunit "Library - Notification Mgt."; begin LibraryPermissions.SetTestabilitySoftwareAsAService(true); LibraryNotificationMgt.DisableAllNotifications(); // do not get polluted by Image analysis notifications + LibraryERM.SetEnableDataCheck(false); MSSalesForecastSetup.DeleteAll(); MSSalesForecast.DeleteAll(); diff --git a/Apps/W1/SendToEmailPrinter/.objidconfig b/Apps/W1/SendToEmailPrinter/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/SendToEmailPrinter/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/SendToEmailPrinter/app.json b/Apps/W1/SendToEmailPrinter/app.json index 220fa4908b..4c94090027 100644 --- a/Apps/W1/SendToEmailPrinter/app.json +++ b/Apps/W1/SendToEmailPrinter/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Provides functionality to use the printer's email address to send print jobs to the printer.", "description": "Provides functionality to use the printer's email address to send print jobs to the printer.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=724013", "help": "https://go.microsoft.com/fwlink/?linkid=2118801", @@ -19,7 +19,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "idRanges": [ { @@ -32,7 +32,7 @@ } ], "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2118801", - "application": "23.3.0.0", + "application": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": true, "allowDownloadingSource": true, diff --git a/Apps/W1/SendToEmailPrinter/src/EmailPrinterSettings.Page.al b/Apps/W1/SendToEmailPrinter/src/EmailPrinterSettings.Page.al index 165e27129a..951bf12e7e 100644 --- a/Apps/W1/SendToEmailPrinter/src/EmailPrinterSettings.Page.al +++ b/Apps/W1/SendToEmailPrinter/src/EmailPrinterSettings.Page.al @@ -222,7 +222,6 @@ page 2650 "Email Printer Settings" end; trigger OnDeleteRecord(): Boolean - var begin SetupPrinters.DeletePrinterSettings(ID); DeleteMode := true; diff --git a/Apps/W1/SendToEmailPrinter/src/SetupPrinters.Codeunit.al b/Apps/W1/SendToEmailPrinter/src/SetupPrinters.Codeunit.al index 1e68a7106b..edc9a976ce 100644 --- a/Apps/W1/SendToEmailPrinter/src/SetupPrinters.Codeunit.al +++ b/Apps/W1/SendToEmailPrinter/src/SetupPrinters.Codeunit.al @@ -77,7 +77,6 @@ codeunit 2650 "Setup Printers" end; internal procedure IsPaperSizeCustom("Paper Size": Enum "Printer Paper Kind"): Boolean - var begin exit("Paper Size" = "Paper Size"::Custom); end; @@ -138,7 +137,7 @@ codeunit 2650 "Setup Printers" if EmailPrinterSettings."Paper Unit" = EmailPrinterSettings."Paper Unit"::Inches then PaperTray.Add('units', PrinterUnit::Display.AsInteger()); end; - + procedure LearnMoreAction(PrivacyNotification: Notification) begin Hyperlink(PrintPrivacyUrlTxt); diff --git a/Apps/W1/ServiceDeclaration/app/.objidconfig b/Apps/W1/ServiceDeclaration/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/ServiceDeclaration/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclEdit.PermissionSet.al b/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclEdit.PermissionSet.al index 6ccb685c7d..d3679d764c 100644 --- a/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclEdit.PermissionSet.al +++ b/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclEdit.PermissionSet.al @@ -4,8 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Service.Reports; -using Microsoft.Service.Reports; - permissionset 5011 "Serv. Decl. - Edit" { Access = Public; diff --git a/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclRead.PermissionSet.al b/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclRead.PermissionSet.al index a862e34da5..041811cb8b 100644 --- a/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclRead.PermissionSet.al +++ b/Apps/W1/ServiceDeclaration/app/Permissions/ServDeclRead.PermissionSet.al @@ -4,8 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Service.Reports; -using Microsoft.Service.Reports; - permissionset 5010 "Serv. Decl. - Read" { Access = Public; diff --git a/Apps/W1/ServiceDeclaration/app/app.json b/Apps/W1/ServiceDeclaration/app/app.json index e1981018c4..9c21cd6fde 100644 --- a/Apps/W1/ServiceDeclaration/app/app.json +++ b/Apps/W1/ServiceDeclaration/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "The Service Declaration extension makes it easy to export the service declaration in the format that the authorities in your country require.", "description": "In some EU countries, authorities require reporting for exporting services to the other EU countries. This feature enables collecting EU service''s intertrade and its reporting to the authorities. Even this feature is primarily created for Belgian, French and Italian markets, it can be used in all EU countries if needed as reporting is configurable.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/finance-how-setup-use-service-declaration", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 5010, @@ -33,6 +33,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "Cloud" } \ No newline at end of file diff --git a/Apps/W1/ServiceDeclaration/test/app.json b/Apps/W1/ServiceDeclaration/test/app.json index a402144ca3..0647abc80c 100644 --- a/Apps/W1/ServiceDeclaration/test/app.json +++ b/Apps/W1/ServiceDeclaration/test/app.json @@ -2,7 +2,7 @@ "id": "bd16d8dd-8faf-45d3-b733-3ddc6b9cfabf", "name": "Service Declaration Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft Service Declaration extension.", "description": "Tests for the Microsoft Service Declaration extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/finance-how-setup-use-service-declaration", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "e2ae191d-8829-44c3-a373-3749a2742d4d", "name": "Service Declaration", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/ServiceDeclaration/test/src/ServDeclSuggestLines.Codeunit.al b/Apps/W1/ServiceDeclaration/test/src/ServDeclSuggestLines.Codeunit.al index d3249074dc..2a16d9a449 100644 --- a/Apps/W1/ServiceDeclaration/test/src/ServDeclSuggestLines.Codeunit.al +++ b/Apps/W1/ServiceDeclaration/test/src/ServDeclSuggestLines.Codeunit.al @@ -314,7 +314,6 @@ codeunit 139905 "Serv. Decl. Suggest Lines" end; local procedure Initialize() - var begin LibraryTestInitialize.OnTestInitialize(Codeunit::"Serv. Decl. Suggest Lines"); LibrarySetupStorage.Restore(); diff --git a/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationPosting.Codeunit.al b/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationPosting.Codeunit.al index 088c5fa318..616d638350 100644 --- a/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationPosting.Codeunit.al +++ b/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationPosting.Codeunit.al @@ -284,7 +284,6 @@ codeunit 139904 "Service Declaration Posting" end; local procedure Initialize() - var begin LibraryTestInitialize.OnTestInitialize(Codeunit::"Service Declaration Posting"); LibrarySetupStorage.Restore(); diff --git a/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationUT.Codeunit.al b/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationUT.Codeunit.al index f6c11a38cd..13e1ab48ef 100644 --- a/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationUT.Codeunit.al +++ b/Apps/W1/ServiceDeclaration/test/src/ServiceDeclarationUT.Codeunit.al @@ -827,7 +827,6 @@ codeunit 139903 "Service Declaration UT" end; local procedure Initialize() - var begin LibraryTestInitialize.OnTestInitialize(Codeunit::"Service Declaration UT"); LibrarySetupStorage.Restore(); diff --git a/Apps/W1/Shopify/app/.objidconfig b/Apps/W1/Shopify/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/Shopify/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/app.json b/Apps/W1/Shopify/app/app.json index 2b44e47a61..9b00fff44a 100644 --- a/Apps/W1/Shopify/app/app.json +++ b/Apps/W1/Shopify/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Seamless connection between Shopify and Dynamics 365 Business Central will synchronize order, stock, and customer information to ensure that merchants can fulfill orders faster and better serve their customers.", "description": "Connecting Dynamics 365 Business Central with Shopify will help merchants implement more agile online business processes, while keeping people focused on selling. With support for multitier pricing structures and multiple currencies, companies, and entities, Business Central will support multiple Shopify store scenarios with ease. By connecting Shopify and Business Central, you will improve visibility into stock, pricing, existing customers and order history, order status, billing, and payments.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2179727", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 30100, @@ -41,6 +41,6 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0", + "application": "24.0.0.0", "target": "OnPrem" } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyBackgroundSyncs.Codeunit.al b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyBackgroundSyncs.Codeunit.al index 093c0488a4..de7e4eebdc 100644 --- a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyBackgroundSyncs.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyBackgroundSyncs.Codeunit.al @@ -51,6 +51,7 @@ codeunit 30101 "Shpfy Background Syncs" begin if Shop.FindSet(false) then repeat + Shop.SetRecFilter(); CustomerSync(Shop); until Shop.Next() = 0; end; @@ -107,6 +108,45 @@ codeunit 30101 "Shpfy Background Syncs" end; end; + internal procedure CompanySync() + var + Shop: Record "Shpfy Shop"; + begin + if Shop.FindSet(false) then + repeat + Shop.SetRecFilter(); + CompanySync(Shop); + until Shop.Next() = 0; + end; + + internal procedure CompanySync(ShopCode: Code[20]) + var + Shop: Record "Shpfy Shop"; + begin + if Shop.Get(ShopCode) then begin + Shop.SetRecFilter(); + CompanySync(Shop); + end; + end; + + internal procedure CompanySync(var Shop: Record "Shpfy Shop") + var + Parameters: Text; + SyncTypeLbl: Label 'Companies'; + CompanyParametersTxt: Label '%1', Comment = '%1 = Shop Record View', Locked = true; + begin + Shop.SetRange("Allow Background Syncs", true); + if not Shop.IsEmpty() then begin + Parameters := StrSubstNo(CompanyParametersTxt, Shop.GetView()); + EnqueueJobEntry(Report::"Shpfy Sync Companies", Parameters, StrSubstNo(SyncDescriptionTxt, SyncTypeLbl, Shop.GetFilter(Code)), true, true); + end; + Shop.SetRange("Allow Background Syncs", false); + if not Shop.IsEmpty() then begin + Parameters := StrSubstNo(CompanyParametersTxt, Shop.GetView()); + EnqueueJobEntry(Report::"Shpfy Sync Companies", Parameters, StrSubstNo(SyncDescriptionTxt, SyncTypeLbl, Shop.GetFilter(Code)), false, true); + end; + end; + local procedure EnqueueJobEntry(ReportId: Integer; XmlParameters: Text; SyncDescription: Text; AllowBackgroundSync: Boolean; ShowNotification: Boolean): Guid begin EnqueueJobEntry(ReportId, XmlParameters, SyncDescription, AllowBackgroundSync, ShowNotification, false); @@ -382,6 +422,34 @@ codeunit 30101 "Shpfy Background Syncs" ProductsSync(Shop, true); end; + internal procedure CatalogPricesSync(ShopCode: Code[20]; CompanyId: Text) + var + Shop: Record "Shpfy Shop"; + begin + if Shop.Get(ShopCode) then begin + Shop.SetRecFilter(); + CatalogPricesSync(Shop, CompanyId); + end; + end; + + internal procedure CatalogPricesSync(var Shop: Record "Shpfy Shop"; CompanyId: Text) + var + Parameters: Text; + SyncTypeLbl: Label 'Catalog Prices'; + CatalogPricesParametersTxt: Label '%1%2', Comment = '%1 = Company Id, %2 = Shop Record View', Locked = true; + begin + Shop.SetRange("Allow Background Syncs", true); + if not Shop.IsEmpty then begin + Parameters := StrSubstNo(CatalogPricesParametersTxt, CompanyId, Shop.GetView()); + EnqueueJobEntry(Report::"Shpfy Sync Catalog Prices", Parameters, StrSubstNo(SyncDescriptionTxt, SyncTypeLbl, Shop.GetFilter(Code)), true, true); + end; + Shop.SetRange("Allow Background Syncs", false); + if not Shop.IsEmpty then begin + Parameters := StrSubstNo(CatalogPricesParametersTxt, CompanyId, Shop.GetView()); + EnqueueJobEntry(Report::"Shpfy Sync Catalog Prices", Parameters, StrSubstNo(SyncDescriptionTxt, SyncTypeLbl, Shop.GetFilter(Code)), false, true); + end; + end; + /// /// Products Sync. /// diff --git a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyInstallMgt.Codeunit.al b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyInstallMgt.Codeunit.al index 7167a29499..9de7f31bf8 100644 --- a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyInstallMgt.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyInstallMgt.Codeunit.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.Shopify; /// @@ -7,9 +8,12 @@ codeunit 30105 "Shpfy Install Mgt." { Access = Internal; Subtype = Install; + ObsoleteReason = 'This codeunit is obsolete. Use Shpfy Installer instead.'; + ObsoleteState = Pending; + ObsoleteTag = '24.0'; trigger OnInstallAppPerDatabase() - var begin end; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyTemplates.Codeunit.al b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyTemplates.Codeunit.al index 83c3c9793f..986508d065 100644 --- a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyTemplates.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyTemplates.Codeunit.al @@ -1,3 +1,4 @@ +#if not CLEAN22 namespace Microsoft.Integration.Shopify; using System.Environment.Configuration; @@ -6,7 +7,6 @@ using Microsoft.Inventory.Item; using Microsoft.Sales.Customer; using Microsoft.Foundation.Navigate; -#if not CLEAN22 codeunit 30213 "Shpfy Templates" implements "Feature Data Update" { Access = Internal; diff --git a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyUpgradeMgt.Codeunit.al b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyUpgradeMgt.Codeunit.al index e15714fa51..5a31497eab 100644 --- a/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyUpgradeMgt.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Base/Codeunits/ShpfyUpgradeMgt.Codeunit.al @@ -23,9 +23,6 @@ codeunit 30106 "Shpfy Upgrade Mgt." trigger OnUpgradePerCompany() begin SetShpfyStockCalculation(); -#if not CLEAN21 - MoveShpfyRegisteredStore(); -#endif SetAllowOutgoingRequests(); #if CLEAN22 MoveTemplatesData(); @@ -219,23 +216,6 @@ codeunit 30106 "Shpfy Upgrade Mgt." exit(TemplateCode); end; -#if not CLEAN21 - - local procedure MoveShpfyRegisteredStore() - var - RegisteredStore: Record "Shpfy Registered Store"; - RegisteredStoreNew: Record "Shpfy Registered Store New"; - begin - if RegisteredStoreNew.IsEmpty then - if RegisteredStore.FindSet() then - repeat - RegisteredStoreNew.TransferFields(RegisteredStore, true); - RegisteredStoreNew.SystemId := RegisteredStore.SystemId; - RegisteredStoreNew.Insert(true, true); - until RegisteredStore.next() = 0; - end; -#endif - local procedure SetAllowOutgoingRequests() var Shop: Record "Shpfy Shop"; @@ -356,6 +336,29 @@ codeunit 30106 "Shpfy Upgrade Mgt." UpgradeTag.SetUpgradeTag(GetAutoReleaseSalesOrderTag()); end; + internal procedure SetB2BEnabled() + var + Shop: Record "Shpfy Shop"; + UpgradeTag: Codeunit "Upgrade Tag"; + begin + if UpgradeTag.HasUpgradeTag(GetShopifyB2BEnabledUpgradeTag()) then + exit; + + Shop.SetRange(Enabled, true); + if Shop.FindSet() then + repeat + Shop."B2B Enabled" := Shop.GetB2BEnabled(); + Shop.Modify(); + until Shop.Next() = 0; + + UpgradeTag.SetUpgradeTag(GetShopifyB2BEnabledUpgradeTag()); + end; + + local procedure GetShopifyB2BEnabledUpgradeTag(): Code[250] + begin + exit('MS-490178-ShopifyB2B-20231101'); + end; + internal procedure GetAllowOutgoingRequestseUpgradeTag(): Code[250] begin exit('MS-445989-AllowOutgoingRequestseUpgradeTag-20220816'); diff --git a/Apps/W1/Shopify/app/src/Base/Enum Extensions/ShpfyFeatureToUpdate.EnumExt.al b/Apps/W1/Shopify/app/src/Base/Enum Extensions/ShpfyFeatureToUpdate.EnumExt.al index a4f3308aae..2058fa131d 100644 --- a/Apps/W1/Shopify/app/src/Base/Enum Extensions/ShpfyFeatureToUpdate.EnumExt.al +++ b/Apps/W1/Shopify/app/src/Base/Enum Extensions/ShpfyFeatureToUpdate.EnumExt.al @@ -1,8 +1,8 @@ +#if not CLEAN22 namespace Microsoft.Integration.Shopify; using System.Environment.Configuration; -#if not CLEAN22 enumextension 30101 "Shpfy Feature To Update" extends "Feature To Update" { value(30101; ShopifyNewCustomerItemTemplates) diff --git a/Apps/W1/Shopify/app/src/Base/Enums/ShpfySynchronizationType.Enum.al b/Apps/W1/Shopify/app/src/Base/Enums/ShpfySynchronizationType.Enum.al index d72bcb0c62..d435f64603 100644 --- a/Apps/W1/Shopify/app/src/Base/Enums/ShpfySynchronizationType.Enum.al +++ b/Apps/W1/Shopify/app/src/Base/Enums/ShpfySynchronizationType.Enum.al @@ -24,5 +24,8 @@ enum 30103 "Shpfy Synchronization Type" { Caption = 'Customers'; } - + value(4; Companies) + { + Caption = 'Companies'; + } } diff --git a/Apps/W1/Shopify/app/src/Base/Page Extensions/ShpfyTemplDataUpdate.PageExt.al b/Apps/W1/Shopify/app/src/Base/Page Extensions/ShpfyTemplDataUpdate.PageExt.al index 630c7d14e3..5cbea6a4a6 100644 --- a/Apps/W1/Shopify/app/src/Base/Page Extensions/ShpfyTemplDataUpdate.PageExt.al +++ b/Apps/W1/Shopify/app/src/Base/Page Extensions/ShpfyTemplDataUpdate.PageExt.al @@ -1,8 +1,8 @@ +#if not CLEAN22 namespace Microsoft.Integration.Shopify; using System.Environment.Configuration; -#if not CLEAN22 pageextension 30105 "Shpfy Templ. Data Update" extends "Schedule Feature Data Update" { ObsoleteReason = 'Feature "Shopify new customer an item templates" will be enabled by default in version 25'; @@ -38,7 +38,7 @@ pageextension 30105 "Shpfy Templ. Data Update" extends "Schedule Feature Data Up Caption = 'Data upgrade'; ApplicationArea = All; Visible = not CanUpgradeAllFields; - ToolTip = 'What to do with the templates being used in the Shopify Shops'; + ToolTip = 'Specifies what to do with the templates being used in the Shopify Shops'; OptionCaption = 'Create templates (skip fields that are not available),Do not create templates. I will update the Shopify shops manually'; trigger OnValidate() begin @@ -53,7 +53,7 @@ pageextension 30105 "Shpfy Templ. Data Update" extends "Schedule Feature Data Up Caption = 'Data upgrade'; ApplicationArea = All; Visible = CanUpgradeAllFields; - ToolTip = 'What to do with the templates being used in the Shopify Shops'; + ToolTip = 'Specifies what to do with the templates being used in the Shopify Shops'; OptionCaption = 'Create templates,Do not create any templates. I will update the Shopify shops manually'; trigger OnValidate() begin diff --git a/Apps/W1/Shopify/app/src/Base/Pages/ShpfyConnectorGuide.Page.al b/Apps/W1/Shopify/app/src/Base/Pages/ShpfyConnectorGuide.Page.al index 258064c6b5..6b0d33233f 100644 --- a/Apps/W1/Shopify/app/src/Base/Pages/ShpfyConnectorGuide.Page.al +++ b/Apps/W1/Shopify/app/src/Base/Pages/ShpfyConnectorGuide.Page.al @@ -1,7 +1,9 @@ namespace Microsoft.Integration.Shopify; using System.Environment; +#if not CLEAN22 using System.IO; +#endif using Microsoft.Inventory.Item; using Microsoft.Sales.Customer; using Microsoft.Finance.GeneralLedger.Account; @@ -961,7 +963,6 @@ page 30136 "Shpfy Connector Guide" #endif Shop.Validate("Auto Create Unknown Customers", true); Shop.Validate("Customer Import From Shopify", Shop."Customer Import From Shopify"::AllCustomers); - Shop.Validate("Export Customer To Shopify", false); // Order synchronization if IsDemoCompany then begin diff --git a/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShopCard.Page.al b/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShopCard.Page.al index 3bd2385b9f..9291614e27 100644 --- a/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShopCard.Page.al +++ b/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShopCard.Page.al @@ -1,7 +1,6 @@ namespace Microsoft.Integration.Shopify; using System.Telemetry; -using System.Text; using System.DateTime; /// @@ -36,6 +35,7 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ShowMandatory = true; + Importance = Promoted; ToolTip = 'Specifies the URL of the Shopify Shop.'; AboutTitle = 'Get people to your shop'; AboutText = 'Provide the URL that people will use to access your shop. For example, *https://myshop.myshopify.com*.'; @@ -50,6 +50,7 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ShowMandatory = true; + Importance = Promoted; ToolTip = 'Specifies if the service is enabled.'; AboutTitle = 'Ready to connect the shop'; AboutText = 'We just need the shop name and URL to connect it to Shopify. When you have checked all shop settings, enable the connection here.'; @@ -66,6 +67,7 @@ page 30101 "Shpfy Shop Card" if BulkOperationMgt.IsBulkOperationFeatureEnabled() then #endif BulkOperationMgt.EnableBulkOperations(Rec); + Rec."B2B Enabled" := Rec.GetB2BEnabled(); FeatureTelemetry.LogUptake('0000HUT', 'Shopify', Enum::"Feature Uptake Status"::"Set up"); end; } @@ -75,7 +77,7 @@ page 30101 "Shpfy Shop Card" Caption = 'Has AccessKey'; Importance = Additional; ShowMandatory = true; - ToolTip = 'Is an access key available for this store.'; + ToolTip = 'Specifies if an access key is available for this store.'; } field(CurrencyCode; Rec."Currency Code") { @@ -118,7 +120,7 @@ page 30101 "Shpfy Shop Card" ApplicationArea = All; Importance = Additional; Caption = 'Allow Data Sync to Shopify'; - ToolTip = 'Specifices whether syncing data to Shopify is enabled.'; + ToolTip = 'Specifies whether syncing data to Shopify is enabled.'; } field("API Version Expiry Date"; ApiVersionExpiryDate) { @@ -139,6 +141,7 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ToolTip = 'Specifies in which direction items are synchronized.'; + Importance = Promoted; } field(AutoCreateUnknownItems; Rec."Auto Create Unknown Items") { @@ -194,7 +197,6 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ToolTip = 'Specifies whether you want to synchronize marketing texts to Shopify.'; - Visible = EntityTextEnabled; } field(SyncItemAttributes; Rec."Sync Item Attributes") { @@ -221,8 +223,9 @@ page 30101 "Shpfy Shop Card" } field(SKUType; Rec."SKU Mapping") { - ApplicationArea = all; + ApplicationArea = All; ToolTip = 'Specifies if and based on what you want to create variants in D365BC.'; + Importance = Promoted; } field(SKUFieldSeparator; Rec."SKU Field Separator") { @@ -258,11 +261,13 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ToolTip = 'Specifies which Customer Price Group is used to calculate the prices in Shopify.'; + Importance = Promoted; } field(CustomerDiscountGroup; Rec."Customer Discount Group") { ApplicationArea = All; ToolTip = 'Specifies which Customer Discount Group is used to calculate the prices in Shopify.'; + Importance = Promoted; } field("Prices Including VAT"; Rec."Prices Including VAT") { @@ -319,16 +324,6 @@ page 30101 "Shpfy Shop Card" ToolTip = 'Specifies if prices are synchronized to Shopify with product sync.'; } } -#if not CLEAN21 - group(InventorySync) - { - Caption = 'Inventory Synchronization'; - Visible = false; - ObsoleteState = Pending; - ObsoleteReason = 'Inventory group moved to item group'; - ObsoleteTag = '21.0'; - } -#endif group(CustomerSync) { Caption = 'Customer Synchronization'; @@ -338,6 +333,7 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ToolTip = 'Specifies how Shopify customers are synced to Business Central. If you choose none and there exists no mapping for that customer, the default customer will be used if exists.'; + Importance = Promoted; } field(CustomerMappingType; Rec."Customer Mapping Type") { @@ -375,22 +371,28 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ToolTip = 'Specifies the default customer when not creating a customer for each webshop user.'; + Importance = Promoted; } field(ShopifyCanUpdateCustomer; Rec."Shopify Can Update Customer") { ApplicationArea = All; ToolTip = 'Specifies whether Shopify can update customers when synchronizing from Shopify.'; } +#if not CLEAN24 field(ExportCustomerToShopify; Rec."Export Customer To Shopify") { ApplicationArea = All; ToolTip = 'Specifies if you want to export all customers with a valid e-mail address from D365BC to Shopify.'; + Visible = false; + ObsoleteReason = 'Replaced with action Add Customers in Shopify Customers page.'; + ObsoleteState = Pending; + ObsoleteTag = '24.0'; } +#endif field(CanUpdateShopifyCustomer; Rec."Can Update Shopify Customer") { ApplicationArea = All; ToolTip = 'Specifies whether D365BC can update customers when synchronizing to Shopify.'; - Editable = Rec."Export Customer To Shopify"; } field(NameSource; Rec."Name Source") @@ -436,17 +438,18 @@ page 30101 "Shpfy Shop Card" { ApplicationArea = All; ShowMandatory = true; - ToolTip = 'G/L Account for posting the shipping cost.'; + ToolTip = 'Specifies the G/L Account for posting the shipping cost.'; + Importance = Promoted; } field(SoldGiftCardAccount; Rec."Sold Gift Card Account") { ApplicationArea = All; - ToolTip = 'G/L Account for to post the sold gift card amounts.'; + ToolTip = 'Specifies the G/L Account for to post the sold gift card amounts.'; } field(TipAccount; Rec."Tip Account") { ApplicationArea = All; - ToolTip = 'G/L Account for post the received tip amount.'; + ToolTip = 'Specifies the G/L Account for post the received tip amount.'; } field(ShopifyOrderNoOnDocLine; Rec."Shopify Order No. on Doc. Line") { @@ -481,6 +484,7 @@ page 30101 "Shpfy Shop Card" ApplicationArea = All; Caption = 'Process Type'; ToolTip = 'Specifies how returns and refunds from Shopify are handles in Business Central. The import process is always done within the import of a Shopify order.'; + Importance = Promoted; trigger OnValidate() begin @@ -525,6 +529,25 @@ page 30101 "Shpfy Shop Card" } } } + group(B2B) + { + Visible = Rec."B2B Enabled"; + field("Can Update Shopify Companies"; Rec."Can Update Shopify Companies") + { + ApplicationArea = All; + ToolTip = 'Specifies whether D365BC can update companies when synchronizing to Shopify.'; + } + field("Default Customer Permission"; Rec."Default Contact Permission") + { + ApplicationArea = All; + ToolTip = 'Specifies the default customer permission for new companies.'; + } + field("Auto Create Catalog"; Rec."Auto Create Catalog") + { + ApplicationArea = All; + ToolTip = 'Specifies whether a catalog is automatically created for new companies.'; + } + } } } @@ -659,6 +682,19 @@ page 30101 "Shpfy Shop Card" ReturnHeaders.Run(); end; } + action(Customers) + { + ApplicationArea = All; + Caption = 'Customers'; + Image = Customer; + Promoted = true; + PromotedCategory = Category4; + PromotedIsBig = true; + PromotedOnly = true; + RunObject = Page "Shpfy Customers"; + RunPageLink = "Shop Id" = field("Shop Id"); + ToolTip = 'Add, view or edit detailed information for the customers. '; + } action(CustomerTemplates) { ApplicationArea = All; @@ -672,31 +708,25 @@ page 30101 "Shpfy Shop Card" RunPageLink = "Shop Code" = field(Code); ToolTip = 'Set up a customer template and default customer per country.'; } + action(Companies) + { + ApplicationArea = All; + Caption = 'Companies'; + Image = Company; + Promoted = true; + PromotedCategory = Category4; + PromotedIsBig = true; + PromotedOnly = true; + RunObject = Page "Shpfy Companies"; + RunPageLink = "Shop Id" = field("Shop Id"); + ToolTip = 'Add, view or edit detailed information for the companies. '; + Visible = Rec."B2B Enabled"; + } } area(Processing) { group(Access) { -#if not CLEAN21 - action(RequestAccess) - { - ApplicationArea = All; - - ObsoleteState = Pending; - ObsoleteReason = 'Will be supported by the non-promoted action'; - ObsoleteTag = '21.0'; - Visible = false; - Image = EncryptionKeys; - Promoted = true; - Caption = 'Request Access'; - ToolTip = 'Request Access to your Shopify store.'; - - trigger OnAction() - begin - Rec.RequestAccessToken(); - end; - } -#endif action(RequestAccessNew) { ApplicationArea = All; @@ -827,6 +857,24 @@ page 30101 "Shpfy Shop Card" BackgroundSyncs.CustomerSync(Rec.Code); end; } + action(SyncCompanies) + { + ApplicationArea = All; + Caption = 'Sync Companies'; + Image = ImportExport; + Promoted = true; + PromotedCategory = Category5; + PromotedOnly = true; + ToolTip = 'Synchronize the companies with Shopify. The way companies are synchronized depends on the B2B settings in the Shopify Shop Card.'; + Visible = Rec."B2B Enabled"; + + trigger OnAction() + var + BackgroundSyncs: Codeunit "Shpfy Background Syncs"; + begin + BackgroundSyncs.CompanySync(Rec.Code); + end; + } action(SyncPayouts) { ApplicationArea = All; @@ -944,6 +992,18 @@ page 30101 "Shpfy Shop Card" Rec.SetLastSyncTime("Shpfy Synchronization Type"::Orders, GetResetSyncTo(Rec.GetLastSyncTime("Shpfy Synchronization Type"::Orders))); end; } + action(ResetCompanies) + { + ApplicationArea = All; + Caption = 'Reset Company Sync'; + Image = ClearFilter; + Tooltip = 'Ensure all companies are synced when executing the sync, not just the changes since last sync.'; + + trigger OnAction() + begin + Rec.SetLastSyncTime("Shpfy Synchronization Type"::Companies, GetResetSyncTo(Rec.GetLastSyncTime("Shpfy Synchronization Type"::Companies))); + end; + } } action(CreateFulfillmentService) { @@ -966,7 +1026,6 @@ page 30101 "Shpfy Shop Card" #if not CLEAN22 NewTemplatesEnabled: Boolean; #endif - EntityTextEnabled: Boolean; IsReturnRefundsVisible: Boolean; ApiVersionExpiryDate: Date; ExpirationNotificationTxt: Label 'Shopify API version 30 days before expiry notification sent.', Locked = true; @@ -979,7 +1038,6 @@ page 30101 "Shpfy Shop Card" #if not CLEAN22 ShpfyTemplates: Codeunit "Shpfy Templates"; #endif - EntityText: Codeunit "Entity Text"; CommunicationMgt: Codeunit "Shpfy Communication Mgt."; ShopMgt: Codeunit "Shpfy Shop Mgt."; ApiVersionExpiryDateTime: DateTime; @@ -988,7 +1046,6 @@ page 30101 "Shpfy Shop Card" #if not CLEAN22 NewTemplatesEnabled := ShpfyTemplates.NewTemplatesEnabled(); #endif - EntityTextEnabled := EntityText.IsEnabled(); if Rec.Enabled then begin ApiVersionExpiryDateTime := CommunicationMgt.GetApiVersionExpiryDate(); ApiVersionExpiryDate := DT2Date(ApiVersionExpiryDateTime); diff --git a/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShops.Page.al b/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShops.Page.al index 46367914b7..01cac19196 100644 --- a/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShops.Page.al +++ b/Apps/W1/Shopify/app/src/Base/Pages/ShpfyShops.Page.al @@ -42,4 +42,11 @@ page 30102 "Shpfy Shops" } } } + + trigger OnOpenPage() + var + UpgradeMgt: Codeunit "Shpfy Upgrade Mgt."; + begin + UpgradeMgt.SetB2BEnabled(); + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al b/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al index 6e69a959cb..624e38802a 100644 --- a/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al +++ b/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al @@ -236,6 +236,14 @@ table 30102 "Shpfy Shop" Caption = 'Export Customer to Shopify'; DataClassification = CustomerContent; InitValue = true; + ObsoleteReason = 'Replaced with action "Add Customer to Shopify" in Shopify Customers page.'; +#if not CLEAN24 + ObsoleteState = Pending; + ObsoleteTag = '24.0'; +#else + ObsoleteState = Removed; + ObsoleteTag = '27.0'; +#endif } field(30; "Shopify Can Update Customer"; Boolean) { @@ -512,7 +520,7 @@ table 30102 "Shpfy Shop" { Caption = 'Return Location'; DataClassification = CustomerContent; - TableRelation = Location WHERE("Use As In-Transit" = CONST(false)); + TableRelation = Location where("Use As In-Transit" = const(false)); } field(75; "Refund Acc. non-restock Items"; Code[20]) { @@ -549,13 +557,8 @@ table 30102 "Shpfy Shop" Editable = false; Access = Internal; ObsoleteReason = 'Not used. Moved to "Shpfy Synchronization Info" table.'; -#if not CLEAN21 - ObsoleteTag = '21.0'; - ObsoleteState = Pending; -#else ObsoleteTag = '24.0'; ObsoleteState = Removed; -#endif } field(101; "Collection Last Import Version"; BigInteger) { @@ -564,13 +567,8 @@ table 30102 "Shpfy Shop" Editable = false; Access = Internal; ObsoleteReason = 'Not used. Moved to "Shpfy Synchronization Info" table.'; -#if not CLEAN21 - ObsoleteTag = '21.0'; - ObsoleteState = Pending; -#else ObsoleteTag = '24.0'; ObsoleteState = Removed; -#endif } field(102; "Product Last Export Version"; BigInteger) { @@ -579,13 +577,8 @@ table 30102 "Shpfy Shop" Editable = false; Access = Internal; ObsoleteReason = 'Not used. Moved to "Shpfy Synchronization Info" table.'; -#if not CLEAN21 - ObsoleteTag = '21.0'; - ObsoleteState = Pending; -#else ObsoleteTag = '24.0'; ObsoleteState = Removed; -#endif } field(103; "Product Last Import Version"; BigInteger) { @@ -594,13 +587,8 @@ table 30102 "Shpfy Shop" Editable = false; Access = Internal; ObsoleteReason = 'Not used. Moved to "Shpfy Synchronization Info" table.'; -#if not CLEAN21 - ObsoleteTag = '21.0'; - ObsoleteState = Pending; -#else ObsoleteTag = '24.0'; ObsoleteState = Removed; -#endif } #pragma warning disable AS0004 field(104; "SKU Mapping"; Enum "Shpfy SKU Mapping") @@ -707,6 +695,28 @@ table 30102 "Shpfy Shop" DataClassification = SystemMetadata; InitValue = true; } + field(117; "B2B Enabled"; Boolean) + { + Caption = 'B2B Enabled'; + DataClassification = SystemMetadata; + } + field(118; "Can Update Shopify Companies"; Boolean) + { + Caption = 'Can Update Shopify Companies'; + DataClassification = CustomerContent; + InitValue = false; + } + field(119; "Default Contact Permission"; Enum "Shpfy Default Cont. Permission") + { + Caption = 'Default Contact Permission'; + DataClassification = CustomerContent; + InitValue = "Ordering Only"; + } + field(120; "Auto Create Catalog"; Boolean) + { + Caption = 'Auto Create Catalog'; + DataClassification = SystemMetadata; + } field(200; "Shop Id"; Integer) { DataClassification = SystemMetadata; @@ -808,6 +818,11 @@ table 30102 "Shpfy Shop" end; end; + internal procedure GetEmptySyncTime(): DateTime + begin + exit(CreateDateTime(20040101D, 0T)); + end; + internal procedure GetLastSyncTime(Type: Enum "Shpfy Synchronization Type"): DateTime var SynchronizationInfo: Record "Shpfy Synchronization Info"; @@ -818,11 +833,17 @@ table 30102 "Shpfy Shop" Rec.Modify(); end; if SynchronizationInfo.Get(Format(Rec."Shop Id"), Type) then - exit(SynchronizationInfo."Last Sync Time"); + if SynchronizationInfo."Last Sync Time" = 0DT then + exit(GetEmptySyncTime()) + else + exit(SynchronizationInfo."Last Sync Time"); end; if SynchronizationInfo.Get(Rec.Code, Type) then - exit(SynchronizationInfo."Last Sync Time"); - exit(0DT); + if SynchronizationInfo."Last Sync Time" = 0DT then + exit(GetEmptySyncTime()) + else + exit(SynchronizationInfo."Last Sync Time"); + exit(GetEmptySyncTime()); end; internal procedure SetLastSyncTime(Type: Enum "Shpfy Synchronization Type") @@ -931,4 +952,22 @@ table 30102 "Shpfy Shop" RetentionPolicySetup.Validate(Enabled, true); RetentionPolicySetup.Modify(true); end; + + internal procedure GetB2BEnabled(): Boolean; + var + CommunicationMgt: Codeunit "Shpfy Communication Mgt."; + JsonHelper: Codeunit "Shpfy Json Helper"; + JResponse: JsonToken; + JItem: JsonToken; + begin + CommunicationMgt.SetShop(Rec); + JResponse := CommunicationMgt.ExecuteGraphQL('{"query":"query { shop { name plan { partnerDevelopment shopifyPlus } } }"}'); + if JResponse.SelectToken('$.data.shop.plan', JItem) then + if JItem.IsObject then begin + if JsonHelper.GetValueAsBoolean(JItem, 'shopifyPlus') then + exit(true); + if JsonHelper.GetValueAsBoolean(JItem, 'partnerDevelopment') then + exit(true); + end; + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Bulk Operations/Codeunits/ShpfyBulkOperationMgt.Codeunit.al b/Apps/W1/Shopify/app/src/Bulk Operations/Codeunits/ShpfyBulkOperationMgt.Codeunit.al index 322161a767..6612b7c6fb 100644 --- a/Apps/W1/Shopify/app/src/Bulk Operations/Codeunits/ShpfyBulkOperationMgt.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Bulk Operations/Codeunits/ShpfyBulkOperationMgt.Codeunit.al @@ -1,7 +1,9 @@ namespace Microsoft.Integration.Shopify; using System.Integration; +#if not CLEAN23 using System.Environment.Configuration; +#endif codeunit 30270 "Shpfy Bulk Operation Mgt." { diff --git a/Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfyCatalogAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfyCatalogAPI.Codeunit.al new file mode 100644 index 0000000000..37dceecf35 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfyCatalogAPI.Codeunit.al @@ -0,0 +1,207 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy Catalog API (ID 30290). +/// +codeunit 30290 "Shpfy Catalog API" +{ + Access = Internal; + + var + Shop: Record "Shpfy Shop"; + CommunicationMgt: Codeunit "Shpfy Communication Mgt."; + JsonHelper: Codeunit "Shpfy Json Helper"; + ShopifyCatalogURLLbl: Label 'https://admin.shopify.com/store/%1/catalogs/%2/editor', Comment = '%1 - Shop Name, %2 - Catalog Id', Locked = true; + + internal procedure CreateCatalog(ShopifyCompany: Record "Shpfy Company") + var + Catalog: Record "Shpfy Catalog"; + GraphQLType: Enum "Shpfy GraphQL Type"; + CatalogId: BigInteger; + JResponse: JsonToken; + Parameters: Dictionary of [Text, Text]; + begin + Parameters.Add('Title', ShopifyCompany.Name); + Parameters.Add('CompanyLocationId', Format(ShopifyCompany."Location Id")); + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType::CreateCatalog, Parameters); + CatalogId := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JResponse, 'data.catalogCreate.catalog.id')); + if CatalogId > 0 then begin + Catalog.Id := CatalogId; + Catalog."Shop Code" := Shop.Code; + Catalog.Name := ShopifyCompany.Name; + Catalog."Company SystemId" := ShopifyCompany.SystemId; + Catalog.Insert(); + CreatePublication(Catalog); + end; + end; + + internal procedure CreatePublication(var Catalog: Record "Shpfy Catalog") + var + GraphQLType: Enum "Shpfy GraphQL Type"; + Parameters: Dictionary of [Text, Text]; + begin + Parameters.Add('CatalogId', Format(Catalog.Id)); + CommunicationMgt.ExecuteGraphQL(GraphQLType::CreatePublication, Parameters); + end; + + internal procedure GetCatalogs(ShopifyCompany: Record "Shpfy Company") + var + GraphQLType: Enum "Shpfy GraphQL Type"; + Cursor: Text; + JResponse: JsonToken; + Parameters: Dictionary of [Text, Text]; + begin + Parameters.Add('CompanyId', Format(ShopifyCompany.Id)); + repeat + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType::GetCatalogs, Parameters); + if JResponse.IsObject() then + if ExtractShopifyCatalogs(ShopifyCompany, JResponse.AsObject(), Cursor) then begin + if Parameters.ContainsKey('After') then + Parameters.Set('After', Cursor) + else + Parameters.Add('After', Cursor); + GraphQLType := "Shpfy GraphQL Type"::GetNextCatalogs; + end else + break; + until not JsonHelper.GetValueAsBoolean(JResponse, 'data.orders.pageInfo.hasNextPage'); + end; + + internal procedure GetCatalogPrices(CatalogId: BigInteger; var TempCatalogPrice: Record "Shpfy Catalog Price" temporary) + var + GraphQLType: Enum "Shpfy GraphQL Type"; + Cursor: Text; + JResponse: JsonToken; + Parameters: Dictionary of [Text, Text]; + begin + Parameters.Add('CatalogId', Format(CatalogId)); + repeat + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType::GetCatalogPrices, Parameters); + if JResponse.IsObject() then + if ExtractShopifyCatalogPrices(TempCatalogPrice, JResponse.AsObject(), Cursor) then begin + if Parameters.ContainsKey('After') then + Parameters.Set('After', Cursor) + else + Parameters.Add('After', Cursor); + GraphQLType := "Shpfy GraphQL Type"::GetNextCatalogPrices; + end else + break; + until not JsonHelper.GetValueAsBoolean(JResponse, 'data.catalog.priceList.prices.hasNextPage'); + end; + + internal procedure AddUpdatePriceGraphQL(var TempCatalogPrice: Record "Shpfy Catalog Price" temporary; Price: Decimal; CompareAtPrice: Decimal; var JSetPrice: JsonObject): Boolean + var + HasChange: Boolean; + JPrice: JsonObject; + JCompareAtPrice: JsonObject; + VariantIdTxt: Label 'gid://shopify/ProductVariant/%1', Locked = true, Comment = '%1 = The product variant Id'; + begin + JSetPrice.Add('variantId', StrSubstNo(VariantIdTxt, TempCatalogPrice."Variant Id")); + if TempCatalogPrice.Price <> Price then begin + HasChange := true; + JPrice.Add('amount', Format(Price, 0, 9)); + JPrice.Add('currencyCode', TempCatalogPrice."Price List Currency"); + JSetPrice.Add('price', JPrice); + end; + if TempCatalogPrice."Compare at Price" <> CompareAtPrice then + if (Price < CompareAtPrice) then begin + HasChange := true; + JCompareAtPrice.Add('amount', Format(CompareAtPrice, 0, 9)); + JPrice.Add('currencyCode', TempCatalogPrice."Price List Currency"); + JSetPrice.Add('compareAtPrice', JCompareAtPrice); + end else begin + HasChange := true; + JSetPrice.Add('compareAtPrice', 'null'); + end; + + if HasChange then + exit(true) + else begin + JSetPrice.Remove('variantId'); + exit(false); + end; + end; + + internal procedure UpdatePrice(JGraphQL: JsonObject; PriceListId: BigInteger) + var + IGraphQL: Interface "Shpfy IGraphQL"; + begin + IGraphQL := Enum::"Shpfy GraphQL Type"::UpdateCatalogPrices; + CommunicationMgt.ExecuteGraphQL(Format(JGraphQL).Replace('{{PriceListID}}', Format(PriceListId)), IGraphQL.GetExpectedCost()); + end; + + internal procedure UpdatePriceGraphQL(var JGraphQL: JsonObject; var JSetPrices: JsonArray) + var + IGraphQL: Interface "Shpfy IGraphQL"; + begin + IGraphQL := Enum::"Shpfy GraphQL Type"::UpdateCatalogPrices; + JGraphQL.ReadFrom(IGraphQL.GetGraphQL()); + JSetPrices := JsonHelper.GetJsonArray(JGraphQL, 'variables.prices'); + end; + + internal procedure ExtractShopifyCatalogPrices(var TempCatalogPrice: Record "Shpfy Catalog Price" temporary; JResponse: JsonObject; var Cursor: Text): Boolean + var + JCatalogs: JsonArray; + JEdge: JsonToken; + JNode: JsonObject; + begin + if JsonHelper.GetJsonArray(JResponse, JCatalogs, 'data.catalog.priceList.prices.edges') then begin + foreach JEdge in JCatalogs do begin + Cursor := JsonHelper.GetValueAsText(JEdge.AsObject(), 'cursor'); + if JsonHelper.GetJsonObject(JEdge.AsObject(), JNode, 'node') then begin + TempCatalogPrice."Variant Id" := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JNode, 'variant.id')); + TempCatalogPrice."Shop Code" := Shop.Code; + TempCatalogPrice."Price List Id" := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JResponse, 'data.catalog.priceList.id')); + TempCatalogPrice."Price List Currency" := StrSubstNo(JsonHelper.GetValueAsCode(JResponse, 'data.catalog.priceList.currency'), 1, MaxStrLen(TempCatalogPrice."Price List Currency")); + TempCatalogPrice.Price := JsonHelper.GetValueAsDecimal(JNode, 'price.amount'); + TempCatalogPrice."Compare At Price" := JsonHelper.GetValueAsDecimal(JNode, 'compareAtPrice.amount'); + TempCatalogPrice.Insert(); + end; + end; + exit(true); + end; + end; + + internal procedure ExtractShopifyCatalogs(var ShopifyCompany: Record "Shpfy Company"; JResponse: JsonObject; var Cursor: Text): Boolean + var + Catalog: Record "Shpfy Catalog"; + JCatalogs: JsonArray; + JEdge: JsonToken; + JNode: JsonObject; + CatalogId: BigInteger; + begin + if JsonHelper.GetJsonArray(JResponse, JCatalogs, 'data.catalogs.edges') then begin + foreach JEdge in JCatalogs do begin + Cursor := JsonHelper.GetValueAsText(JEdge.AsObject(), 'cursor'); + if JsonHelper.GetJsonObject(JEdge.AsObject(), JNode, 'node') then begin + CatalogId := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JNode, 'id')); + Catalog.Id := CatalogId; + Catalog."Company SystemId" := ShopifyCompany.SystemId; + Catalog."Shop Code" := Shop.Code; + Catalog.Name := CopyStr(JsonHelper.GetValueAsText(JNode, 'title'), 1, MaxStrLen(Catalog.Name)); + + Catalog.SetRange(Id, CatalogId); + Catalog.SetRange("Company SystemId", ShopifyCompany.SystemId); + if Catalog.IsEmpty() then begin + Catalog.Insert(); + Catalog."Sync Prices" := false; + end else begin + Catalog.FindFirst(); + Catalog.Modify(); + end; + end; + end; + exit(true); + end; + end; + + internal procedure GetCatalogProductsURL(CatalogId: BigInteger): Text + begin + exit(StrSubstNo(ShopifyCatalogURLLbl, Shop."Shopify URL".Substring(1, Shop."Shopify URL".IndexOf('.myshopify.com') - 1).TrimStart('https://'), Format(CatalogId))); + end; + + internal procedure SetShop(ShopifyShop: Record "Shpfy Shop") + begin + Shop := ShopifyShop; + CommunicationMgt.SetShop(Shop); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfySyncCatalogPrices.Codeunit.al b/Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfySyncCatalogPrices.Codeunit.al new file mode 100644 index 0000000000..af249e661e --- /dev/null +++ b/Apps/W1/Shopify/app/src/Catalogs/Codeunits/ShpfySyncCatalogPrices.Codeunit.al @@ -0,0 +1,106 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Inventory.Item; + +/// +/// Codeunit Shpfy Sync Catalog Prices (ID 30295). +/// +codeunit 30295 "Shpfy Sync Catalog Prices" +{ + Access = Internal; + TableNo = "Shpfy Shop"; + + trigger OnRun() + var + Catalog: Record "Shpfy Catalog"; + begin + SetShop(Rec); + Catalog.SetRange("Shop Code", Shop.Code); + Catalog.SetRange("Sync Prices", true); + if CompanyId <> '' then + Catalog.SetRange("Company SystemId", CompanyId); + if Catalog.FindSet() then + repeat + ProductPriceCalc.SetShopAndCatalog(Shop, Catalog); + SyncCatalogPrices(Catalog); + until Catalog.Next() = 0; + end; + + var + Shop: Record "Shpfy Shop"; + CatalogAPI: Codeunit "Shpfy Catalog API"; + ProductPriceCalc: Codeunit "Shpfy Product Price Calc."; + CompanyId: Text; + + internal procedure SyncCatalogPrices(var Catalog: Record "Shpfy Catalog") + var + Item: Record Item; + ItemVariant: Record "Item Variant"; + ItemUnitofMeasure: Record "Item Unit of Measure"; + ShopifyVariant: Record "Shpfy Variant"; + TempCatalogPrice: Record "Shpfy Catalog Price" temporary; + JGraphQL: JsonObject; + JSetPrices: JsonArray; + begin + CatalogAPI.GetCatalogPrices(Catalog.Id, TempCatalogPrice); + if TempCatalogPrice.FindSet() then begin + CatalogAPI.UpdatePriceGraphQL(JGraphQL, JSetPrices); + repeat + if ShopifyVariant.Get(TempCatalogPrice."Variant Id") then + if not IsNullGuid(ShopifyVariant."Item SystemId") then + if Item.GetBySystemId(ShopifyVariant."Item SystemId") then begin + Clear(ItemVariant); + if not IsNullGuid((ShopifyVariant."Item Variant SystemId")) then + if ItemVariant.GetBySystemId(ShopifyVariant."Item Variant SystemId") then; + Clear(ItemUnitofMeasure); + if Shop."UoM as Variant" then begin + case ShopifyVariant."UoM Option Id" of + 1: + if ItemUnitofMeasure.Get(Item."No.", ShopifyVariant."Option 1 Value") then; + 2: + if ItemUnitofMeasure.Get(Item."No.", ShopifyVariant."Option 2 Value") then; + 3: + if ItemUnitofMeasure.Get(Item."No.", ShopifyVariant."Option 3 Value") then; + end; + UpdateVariantPrice(TempCatalogPrice, Item, ItemVariant.Code, ItemUnitofMeasure.Code, JSetPrices); + end else + UpdateVariantPrice(TempCatalogPrice, Item, ItemVariant.Code, Item."Sales Unit of Measure", JSetPrices); + end; + + if JSetPrices.Count() = 250 then begin + CatalogAPI.UpdatePrice(JGraphQL, TempCatalogPrice."Price List Id"); + Clear(JGraphQL); + CatalogAPI.UpdatePriceGraphQL(JGraphQL, JSetPrices); + end; + until TempCatalogPrice.Next() = 0; + + CatalogAPI.UpdatePrice(JGraphQL, TempCatalogPrice."Price List Id"); + end; + end; + + local procedure UpdateVariantPrice(var TempCatalogPrice: Record "Shpfy Catalog Price" temporary; Item: Record Item; ItemVariantCode: Code[10]; ItemUnitofMeasureCode: Code[10]; var JSetPrices: JsonArray) + var + UnitCost: Decimal; + Price: Decimal; + CompareAtPrice: Decimal; + JSetPrice: JsonObject; + begin + if (not Item.Blocked) and (not Item."Sales Blocked") then begin + ProductPriceCalc.CalcPrice(Item, ItemVariantCode, ItemUnitofMeasureCode, UnitCost, Price, CompareAtPrice); + if CatalogAPI.AddUpdatePriceGraphQL(TempCatalogPrice, Price, CompareAtPrice, JSetPrice) then + JSetPrices.Add(JSetPrice); + end; + end; + + local procedure SetShop(ShopifyShop: Record "Shpfy Shop") + begin + Shop := ShopifyShop; + Shop.SetRecFilter(); + CatalogAPI.SetShop(Shop); + end; + + internal procedure SetCompanyId(ShopifyCompanyId: Text) + begin + CompanyId := ShopifyCompanyId; + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Catalogs/Pages/ShpfyCatalogs.Page.al b/Apps/W1/Shopify/app/src/Catalogs/Pages/ShpfyCatalogs.Page.al new file mode 100644 index 0000000000..ca4550064b --- /dev/null +++ b/Apps/W1/Shopify/app/src/Catalogs/Pages/ShpfyCatalogs.Page.al @@ -0,0 +1,172 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Page Shpfy Catalogs (ID 30159). +/// +page 30159 "Shpfy Catalogs" +{ + ApplicationArea = All; + Caption = 'Shopify Catalogs'; + InsertAllowed = false; + PageType = List; + SourceTable = "Shpfy Catalog"; + UsageCategory = Lists; + PromotedActionCategories = 'New,Process,Related,Catalog'; + + layout + { + area(content) + { + repeater(General) + { + field(Id; Rec.Id) + { + ApplicationArea = All; + ToolTip = 'Specifies the unique identifier for the catalog in Shopify.'; + Editable = false; + } + field(Name; Rec.Name) + { + ApplicationArea = All; + ToolTip = 'Specifies the catalog''s name.'; + Editable = false; + } + field("Company Name"; Rec."Company Name") + { + ApplicationArea = All; + Caption = 'Company'; + ToolTip = 'Specifies the name of the company that the catalog belongs to.'; + Editable = false; + } + field(SyncPrices; Rec."Sync Prices") + { + ApplicationArea = All; + ToolTip = 'Specifies if the prices are synced to Shopify.'; + } + field(CustomerPriceGroup; Rec."Customer Price Group") + { + ApplicationArea = All; + ToolTip = 'Specifies which Customer Price Group is used to calculate the prices in the catalog.'; + } + field(CustomerDiscountGroup; Rec."Customer Discount Group") + { + ApplicationArea = All; + ToolTip = 'Specifies which Customer Discount Group is used to calculate the prices in the catalog.'; + } + field("Prices Including VAT"; Rec."Prices Including VAT") + { + ApplicationArea = All; + ToolTip = 'Specifies if the prices are Including VAT.'; + } + field("Allow Line Disc."; Rec."Allow Line Disc.") + { + ApplicationArea = All; + ToolTip = 'Specifies if line discount is allowed while calculating prices for the catalog.'; + } + field("Gen. Bus. Posting Group"; Rec."Gen. Bus. Posting Group") + { + ApplicationArea = All; + ToolTip = 'Specifies which Gen. Bus. Posting Group is used to calculate the prices in the catalog.'; + } + field("VAT Bus. Posting Group"; Rec."VAT Bus. Posting Group") + { + ApplicationArea = All; + ToolTip = 'Specifies which VAT. Bus. Posting Group is used to calculate the prices in the catalog.'; + Editable = Rec."Prices Including VAT"; + } + field("Customer Posting Group"; Rec."Customer Posting Group") + { + ApplicationArea = All; + ToolTip = 'Specifies which Customer Posting Group is used to calculate the prices in the catalog.'; + } + field("VAT Country/Region Code"; Rec."VAT Country/Region Code") + { + ApplicationArea = All; + ToolTip = 'Specifies which VAT Country/Region Code is used to calculate the prices in the catalog.'; + } + field("Tax Area Code"; Rec."Tax Area Code") + { + ApplicationArea = All; + ToolTip = 'Specifies which Tax Area Code is used to calculate the prices in the catalog.'; + } + field("Tax Liable"; Rec."Tax Liable") + { + ApplicationArea = All; + ToolTip = 'Specifies if Tax Liable is used to calculate the prices in the catalog.'; + } + } + } + } + + actions + { + area(Navigation) + { + action(Products) + { + ApplicationArea = All; + Caption = 'Products'; + Image = ItemGroup; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Category4; + ToolTip = 'View a list of Shopify products for the catalog.'; + + trigger OnAction() + var + Shop: Record "Shpfy Shop"; + CatalogAPI: Codeunit "Shpfy Catalog API"; + begin + if Shop.Get(Rec."Shop Code") then begin + CatalogAPI.SetShop(Shop); + Hyperlink(CatalogAPI.GetCatalogProductsURL(Rec.Id)); + end; + end; + } + } + + area(Processing) + { + action(GetCatalogs) + { + ApplicationArea = All; + Caption = 'Get Catalogs'; + Image = Import; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Process; + ToolTip = 'Get catalogs from Shopify.'; + + trigger OnAction() + var + ShopifyCompany: Record "Shpfy Company"; + SyncCatalogs: Report "Shpfy Sync Catalogs"; + begin + if Rec.GetFilter("Company SystemId") <> '' then begin + ShopifyCompany.GetBySystemId(Rec.GetFilter("Company SystemId")); + SyncCatalogs.SetCompany(ShopifyCompany); + SyncCatalogs.UseRequestPage(false); + end; + SyncCatalogs.Run(); + end; + } + action(PriceSync) + { + ApplicationArea = All; + Caption = 'Sync Prices'; + Image = ImportExport; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Process; + ToolTip = 'Sync prices to Shopify.'; + + trigger OnAction() + var + BackgroundSyncs: Codeunit "Shpfy Background Syncs"; + begin + BackgroundSyncs.CatalogPricesSync(Rec."Shop Code", Rec.GetFilter("Company SystemId")); + end; + } + } + } +} diff --git a/Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogPrices.Report.al b/Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogPrices.Report.al new file mode 100644 index 0000000000..88004afec1 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogPrices.Report.al @@ -0,0 +1,46 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Report Shpfy Sync Catalog Prices (ID 30116). +/// +report 30116 "Shpfy Sync Catalog Prices" +{ + Caption = 'Shopify Sync Catalog Prices'; + UsageCategory = Tasks; + ApplicationArea = All; + ProcessingOnly = true; + + dataset + { + dataitem(Shop; "Shpfy Shop") + { + RequestFilterFields = Code; + + trigger OnAfterGetRecord() + begin + if CompanyId <> '' then + SyncCatalogPrices.SetCompanyId(CompanyId); + SyncCatalogPrices.Run(Shop); + end; + } + } + requestpage + { + layout + { + area(Content) + { + field(ShopifyCompanyId; CompanyId) + { + Caption = 'Company Id'; + Tooltip = 'Specifies the company id to sync prices for. If empty, all companies will be synced.'; + ApplicationArea = All; + } + } + } + } + + var + SyncCatalogPrices: Codeunit "Shpfy Sync Catalog Prices"; + CompanyId: Text; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogs.Report.al b/Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogs.Report.al new file mode 100644 index 0000000000..d7dea48b0e --- /dev/null +++ b/Apps/W1/Shopify/app/src/Catalogs/Reports/ShpfySyncCatalogs.Report.al @@ -0,0 +1,52 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Report Shpfy Sync Catalogs (ID 30115). +/// +report 30115 "Shpfy Sync Catalogs" +{ + ApplicationArea = All; + Caption = 'Shopify Sync Catalogs'; + UsageCategory = Tasks; + ProcessingOnly = true; + + dataset + { + dataitem(Shop; "Shpfy Shop") + { + RequestFilterFields = Code; + + trigger OnAfterGetRecord() + var + ShopifyCompany: Record "Shpfy Company"; + begin + if RunForOneCompany then + exit; + if CompanyId <> 0 then begin + ShopifyCompany.SetRange(Id, CompanyId); + RunForOneCompany := true; + end else begin + CatalogAPI.SetShop(Shop); + ShopifyCompany.SetRange("Shop Id", Shop."Shop Id"); + end; + + if ShopifyCompany.FindSet() then + repeat + CatalogAPI.GetCatalogs(ShopifyCompany); + until ShopifyCompany.Next() = 0; + end; + } + } + + var + CatalogAPI: Codeunit "Shpfy Catalog API"; + RunForOneCompany: Boolean; + CompanyId: BigInteger; + + internal procedure SetCompany(ShopifyCompany: Record "Shpfy Company") + begin + CompanyId := ShopifyCompany.Id; + Shop.Get(ShopifyCompany."Shop Code"); + CatalogAPI.SetShop(Shop); + end; +} diff --git a/Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalog.Table.al b/Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalog.Table.al new file mode 100644 index 0000000000..2117b2476c --- /dev/null +++ b/Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalog.Table.al @@ -0,0 +1,122 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Pricing; +using Microsoft.Sales.Customer; +using Microsoft.Foundation.Address; +using Microsoft.Finance.GeneralLedger.Setup; +using Microsoft.Finance.VAT.Setup; +using Microsoft.Finance.SalesTax; + +/// +/// Table Shpfy Catalog (ID 30152). +/// +table 30152 "Shpfy Catalog" +{ + Caption = 'Shopify Catalog'; + DataClassification = CustomerContent; + + fields + { + field(1; Id; BigInteger) + { + Caption = 'Id'; + DataClassification = SystemMetadata; + Editable = false; + } + field(2; "Company SystemId"; Guid) + { + Caption = 'Company SystemId'; + DataClassification = SystemMetadata; + Editable = false; + } + field(3; "Company Name"; Text[500]) + { + Caption = 'Company Name'; + FieldClass = FlowField; + CalcFormula = lookup("Shpfy Company".Name where(SystemId = field("Company SystemId"))); + } + field(4; Name; Text[500]) + { + Caption = 'Name'; + DataClassification = CustomerContent; + } + field(5; "Shop Code"; Code[20]) + { + Caption = 'Shop Code'; + DataClassification = CustomerContent; + Editable = false; + TableRelation = "Shpfy Shop"; + } + field(6; "Customer Price Group"; Code[10]) + { + Caption = 'Customer Price Group'; + DataClassification = SystemMetadata; + TableRelation = "Customer Price Group"; + ValidateTableRelation = true; + } + field(7; "Customer Discount Group"; Code[20]) + { + Caption = 'Customer Discount Group'; + DataClassification = SystemMetadata; + TableRelation = "Customer Discount Group"; + ValidateTableRelation = true; + } + field(8; "Gen. Bus. Posting Group"; Code[20]) + { + Caption = 'Gen. Bus. Posting Group'; + DataClassification = CustomerContent; + TableRelation = "Gen. Business Posting Group"; + } + field(9; "VAT Bus. Posting Group"; Code[20]) + { + Caption = 'VAT Bus. Posting Group'; + DataClassification = CustomerContent; + TableRelation = "VAT Business Posting Group"; + } + field(10; "Tax Area Code"; Code[20]) + { + Caption = 'Tax Area Code'; + DataClassification = CustomerContent; + TableRelation = "Tax Area"; + } + field(11; "Tax Liable"; Boolean) + { + Caption = 'Tax Liable'; + DataClassification = CustomerContent; + } + field(12; "VAT Country/Region Code"; Code[10]) + { + Caption = 'VAT Country/Region Code'; + DataClassification = CustomerContent; + TableRelation = "Country/Region"; + } + field(13; "Customer Posting Group"; Code[20]) + { + Caption = 'Customer Posting Group'; + DataClassification = CustomerContent; + TableRelation = "Customer Posting Group"; + } + field(14; "Prices Including VAT"; Boolean) + { + Caption = 'Prices Including VAT'; + DataClassification = CustomerContent; + } + field(15; "Allow Line Disc."; Boolean) + { + Caption = 'Allow Line Disc.'; + DataClassification = CustomerContent; + } + field(16; "Sync Prices"; Boolean) + { + Caption = 'Sync Prices'; + DataClassification = CustomerContent; + } + } + keys + { + key(PK; Id, "Company SystemId") + { + Clustered = true; + } + } +} diff --git a/Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalogPrice.Table.al b/Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalogPrice.Table.al new file mode 100644 index 0000000000..5a557a2f6b --- /dev/null +++ b/Apps/W1/Shopify/app/src/Catalogs/Tables/ShpfyCatalogPrice.Table.al @@ -0,0 +1,53 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Table Shpfy Catalog Price (ID 30153). +/// +table 30153 "Shpfy Catalog Price" +{ + Caption = 'Shopify Catalog Price'; + DataClassification = CustomerContent; + TableType = Temporary; + + fields + { + field(1; "Variant Id"; BigInteger) + { + Caption = 'Variant Id'; + DataClassification = SystemMetadata; + } + field(2; "Price List Id"; BigInteger) + { + Caption = 'Price List Id'; + DataClassification = SystemMetadata; + } + field(3; "Shop Code"; Code[20]) + { + Caption = 'Shop Code'; + DataClassification = CustomerContent; + TableRelation = "Shpfy Shop"; + } + field(4; Price; Decimal) + { + Caption = 'Price'; + DataClassification = CustomerContent; + } + field(5; "Compare at Price"; Decimal) + { + Caption = 'Compare at Price'; + DataClassification = CustomerContent; + } + field(6; "Price List Currency"; Code[3]) + { + Caption = 'Price List Currency'; + DataClassification = CustomerContent; + } + } + keys + { + key(PK; "Variant Id", "Price List Id") + { + Clustered = true; + } + } +} diff --git a/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al new file mode 100644 index 0000000000..8f1a3f2662 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al @@ -0,0 +1,215 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; + +/// +/// Codeunit Shpfy Company API (ID 30286). +/// +codeunit 30286 "Shpfy Company API" +{ + Access = Internal; + Permissions = tabledata Customer = rim; + + var + Shop: Record "Shpfy Shop"; + CommunicationMgt: Codeunit "Shpfy Communication Mgt."; + JsonHelper: Codeunit "Shpfy Json Helper"; + + internal procedure CreateCompany(var ShopifyCompany: Record "Shpfy Company"; var CompanyLocation: Record "Shpfy Company Location"; ShopifyCustomer: Record "Shpfy Customer"): Boolean + var + JItem: JsonToken; + JResponse: JsonToken; + JLocations: JsonArray; + GraphQuery: Text; + CompanyContactId: BigInteger; + CompanyContactRoles: Dictionary of [Text, BigInteger]; + begin + GraphQuery := CreateCompanyGraphQLQuery(ShopifyCompany, CompanyLocation); + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQuery); + if JResponse.SelectToken('$.data.companyCreate.company', JItem) then + if JItem.IsObject then + ShopifyCompany.Id := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JItem, 'id')); + if JsonHelper.GetJsonArray(JResponse, JLocations, 'data.companyCreate.company.locations.edges') then + if JLocations.Count = 1 then + if JLocations.Get(0, JItem) then begin + ShopifyCompany."Location Id" := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JItem, 'node.id')); + CompanyLocation.Id := ShopifyCompany."Location Id"; + end; + if JsonHelper.GetJsonArray(JResponse, JLocations, 'data.companyCreate.company.contactRoles.edges') then + foreach JItem in JLocations do + CompanyContactRoles.Add(JsonHelper.GetValueAsText(JItem, 'node.name'), CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JItem, 'node.id'))); + if ShopifyCompany.Id > 0 then begin + CompanyContactId := AssignCompanyMainContact(ShopifyCompany.Id, ShopifyCustomer.Id, ShopifyCompany."Location Id", CompanyContactRoles); + ShopifyCompany."Main Contact Id" := CompanyContactId; + exit(true); + end else + exit(false); + end; + + internal procedure UpdateCompany(var ShopifyCompany: Record "Shpfy Company"; var CompanyLocation: Record "Shpfy Company Location") + var + JItem: JsonToken; + JResponse: JsonToken; + GraphQuery: Text; + UpdateCustIdErr: Label 'Wrong updated Customer Id'; + begin + GraphQuery := CreateGraphQueryUpdateCompany(ShopifyCompany); + + if GraphQuery <> '' then begin + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQuery); + if JResponse.SelectToken('$.data.companyUpdate.company', JItem) then + if JItem.IsObject then begin + if ShopifyCompany.Id <> CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JItem, 'id')) then + Error(UpdateCustIdErr); + ShopifyCompany."Updated At" := JsonHelper.GetValueAsDateTime(JItem, 'updatedAt'); + end; + end; + + GraphQuery := CreateGraphQueryUpdateLocation(CompanyLocation); + if GraphQuery <> '' then + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQuery); + end; + + internal procedure SetShop(ShopifyShop: Record "Shpfy Shop") + begin + Shop := ShopifyShop; + CommunicationMgt.SetShop(Shop); + end; + + local procedure AddFieldToGraphQuery(var GraphQuery: TextBuilder; FieldName: Text; ValueAsVariant: Variant): Boolean + begin + exit(AddFieldToGraphQuery(GraphQuery, FieldName, ValueAsVariant, true)); + end; + + local procedure AddFieldToGraphQuery(var GraphQuery: TextBuilder; FieldName: Text; ValueAsVariant: Variant; ValueAsString: Boolean): Boolean + begin + GraphQuery.Append(FieldName); + if ValueAsString then + GraphQuery.Append(': \"') + else + GraphQuery.Append(': '); + GraphQuery.Append(CommunicationMgt.EscapeGrapQLData(Format(ValueAsVariant))); + if ValueAsString then + GraphQuery.Append('\", ') + else + GraphQuery.Append(', '); + exit(true); + end; + + internal procedure CreateCompanyGraphQLQuery(var ShopifyCompany: Record "Shpfy Company"; CompanyLocation: Record "Shpfy Company Location"): Text + var + GraphQuery: TextBuilder; + begin + GraphQuery.Append('{"query":"mutation {companyCreate(input: {company: {'); + if ShopifyCompany.Name <> '' then + AddFieldToGraphQuery(GraphQuery, 'name', ShopifyCompany.Name); + GraphQuery.Remove(GraphQuery.Length - 1, 2); + GraphQuery.Append('}, companyLocation: {billingSameAsShipping: true,'); + AddFieldToGraphQuery(GraphQuery, 'name', 'Main'); + if CompanyLocation."Phone No." <> '' then + AddFieldToGraphQuery(GraphQuery, 'phone', CompanyLocation."Phone No."); + GraphQuery.Append('shippingAddress: {'); + if CompanyLocation.Address <> '' then + AddFieldToGraphQuery(GraphQuery, 'address1', CompanyLocation.Address); + if CompanyLocation."Address 2" <> '' then + AddFieldToGraphQuery(GraphQuery, 'address2', CompanyLocation."Address 2"); + if CompanyLocation.Zip <> '' then + AddFieldToGraphQuery(GraphQuery, 'zip', CompanyLocation.Zip); + if CompanyLocation.City <> '' then + AddFieldToGraphQuery(GraphQuery, 'city', CompanyLocation.City); + if CompanyLocation."Phone No." <> '' then + AddFieldToGraphQuery(GraphQuery, 'phone', CompanyLocation."Phone No."); + if CompanyLocation."Country/Region Code" <> '' then + AddFieldToGraphQuery(GraphQuery, 'countryCode', CompanyLocation."Country/Region Code", false); + GraphQuery.Remove(GraphQuery.Length - 1, 2); + GraphQuery.Append('}}}) {company {id, name, locations(first: 1) {edges {node {id, name}}}, contactRoles(first:10) {edges {node {id,name}}}}, userErrors {field, message}}}"}'); + exit(GraphQuery.ToText()); + end; + + local procedure AssignCompanyMainContact(CompanyId: BigInteger; CustomerId: BigInteger; LocationId: BigInteger; CompanyContactRoles: Dictionary of [Text, BigInteger]): BigInteger + var + GraphQLType: Enum "Shpfy GraphQL Type"; + JResponse: JsonToken; + Parameters: Dictionary of [Text, Text]; + CompanyContactId: BigInteger; + begin + Parameters.Add('CompanyId', Format(CompanyId)); + Parameters.Add('CustomerId', Format(CustomerId)); + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType::CompanyAssignCustomerAsContact, Parameters); + CompanyContactId := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JResponse, 'data.companyAssignCustomerAsContact.companyContact.id')); + if CompanyContactId > 0 then begin + Clear(Parameters); + Parameters.Add('CompanyId', Format(CompanyId)); + Parameters.Add('CompanyContactId', Format(CompanyContactId)); + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType::CompanyAssignMainContact, Parameters); + AssignCompanyContactRoles(CompanyContactId, LocationId, CompanyContactRoles); + end; + exit(CompanyContactId); + end; + + local procedure AssignCompanyContactRoles(CompanyContactId: BigInteger; LocationId: BigInteger; CompanyContactRoles: Dictionary of [Text, BigInteger]) + var + GraphQLType: Enum "Shpfy GraphQL Type"; + JResponse: JsonToken; + Parameters: Dictionary of [Text, Text]; + begin + if Shop."Default Contact Permission" = "Shpfy Default Cont. Permission"::"No Permission" then + exit + else begin + Parameters.Add('LocationId', Format(LocationId)); + Parameters.Add('ContactId', Format(CompanyContactId)); + Parameters.Add('ContactRoleId', Format(CompanyContactRoles.Get(Enum::"Shpfy Default Cont. Permission".Names().Get(Enum::"Shpfy Default Cont. Permission".Ordinals().IndexOf(Shop."Default Contact Permission".AsInteger()))))); + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType::CompanyAssignContactRole, Parameters); + end; + end; + + internal procedure CreateGraphQueryUpdateCompany(var ShopifyCompany: Record "Shpfy Company"): Text + var + xShopifyCompany: Record "Shpfy Company"; + HasChange: Boolean; + GraphQuery: TextBuilder; + CompanyIdTxt: Label 'gid://shopify/Company/%1', Comment = '%1 = Company Id', Locked = true; + begin + xShopifyCompany.Get(ShopifyCompany.Id); + GraphQuery.Append('{"query":"mutation {companyUpdate(companyId: \"' + StrSubstNo(CompanyIdTxt, ShopifyCompany.Id) + '\", input: {'); + if ShopifyCompany.Name <> xShopifyCompany.Name then + HasChange := AddFieldToGraphQuery(GraphQuery, 'name', ShopifyCompany.Name); + if ShopifyCompany.GetNote() <> xShopifyCompany.GetNote() then + HasChange := AddFieldToGraphQuery(GraphQuery, 'note', CommunicationMgt.EscapeGrapQLData(ShopifyCompany.GetNote())); + + if HasChange then begin + GraphQuery.Remove(GraphQuery.Length - 1, 2); + GraphQuery.Append('}) {company {id, updatedAt}, userErrors {field, message}}}"}'); + exit(GraphQuery.ToText()); + end; + end; + + internal procedure CreateGraphQueryUpdateLocation(var CompanyLocation: Record "Shpfy Company Location"): Text + var + xCompanyLocation: Record "Shpfy Company Location"; + HasChange: Boolean; + GraphQuery: TextBuilder; + CompanyLocationIdTxt: Label 'gid://shopify/CompanyLocation/%1', Comment = '%1 = Company Location Id', Locked = true; + begin + xCompanyLocation.Get(CompanyLocation.Id); + GraphQuery.Append('{"query":"mutation {companyLocationAssignAddress(locationId: \"' + StrSubstNo(CompanyLocationIdTxt, CompanyLocation.Id) + '\", addressTypes: [BILLING,SHIPPING] address: {'); + if CompanyLocation.Address <> xCompanyLocation.Address then + HasChange := AddFieldToGraphQuery(GraphQuery, 'address1', CompanyLocation.Address); + if CompanyLocation."Address 2" <> xCompanyLocation."Address 2" then + HasChange := AddFieldToGraphQuery(GraphQuery, 'address2', CompanyLocation."Address 2"); + if CompanyLocation.Zip <> xCompanyLocation.Zip then + HasChange := AddFieldToGraphQuery(GraphQuery, 'zip', CompanyLocation.Zip); + if CompanyLocation.City <> xCompanyLocation.City then + HasChange := AddFieldToGraphQuery(GraphQuery, 'city', CompanyLocation.City); + if CompanyLocation."Phone No." <> xCompanyLocation."Phone No." then + HasChange := AddFieldToGraphQuery(GraphQuery, 'phone', CompanyLocation."Phone No."); + if CompanyLocation."Country/Region Code" <> xCompanyLocation."Country/Region Code" then + HasChange := AddFieldToGraphQuery(GraphQuery, 'countryCode', CompanyLocation."Country/Region Code", false); + GraphQuery.Remove(GraphQuery.Length - 1, 2); + + if HasChange then begin + GraphQuery.Append('}) {addresses {id}, userErrors {field, message}}}"}'); + exit(GraphQuery.ToText()); + end; + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al new file mode 100644 index 0000000000..3cce7dab43 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al @@ -0,0 +1,166 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; +using Microsoft.Foundation.Company; +using Microsoft.Foundation.Address; + +/// +/// Codeunit Shpfy Company Export (ID 30284). +/// +codeunit 30284 "Shpfy Company Export" +{ + Access = Internal; + TableNo = Customer; + + trigger OnRun() + var + Customer: Record Customer; + ShopifyCompany: Record "Shpfy Company"; + begin + Customer.CopyFilters(Rec); + if Customer.FindSet(false) then + repeat + ShopifyCompany.SetRange("Shop Code", Shop.Code); + ShopifyCompany.SetRange("Customer SystemId", Customer.SystemId); + if not ShopifyCompany.FindFirst() then begin + if CreateCustomers then + CreateShopifyCompany(Customer) + end else + if not CreateCustomers then + UpdateShopifyCompany(Customer, ShopifyCompany.Id); + Commit(); + until Customer.Next() = 0; + end; + + var + Shop: Record "Shpfy Shop"; + CompanyAPI: Codeunit "Shpfy Company API"; + CatalogAPI: Codeunit "Shpfy Catalog API"; + CreateCustomers: Boolean; + + local procedure CreateShopifyCompany(Customer: Record Customer) + var + ShopifyCompany: Record "Shpfy Company"; + ShopifyCustomer: Record "Shpfy Customer"; + CompanyLocation: Record "Shpfy Company Location"; + begin + if Customer."E-Mail" = '' then + exit; + + if CreateCompanyMainContact(Customer, ShopifyCustomer) then + if FillInShopifyCompany(Customer, ShopifyCompany, CompanyLocation) then + if CompanyAPI.CreateCompany(ShopifyCompany, CompanyLocation, ShopifyCustomer) then begin + if Shop."Auto Create Catalog" then + CatalogAPI.CreateCatalog(ShopifyCompany); + ShopifyCompany."Main Contact Customer Id" := ShopifyCustomer.Id; + ShopifyCompany."Customer SystemId" := Customer.SystemId; + ShopifyCompany."Last Updated by BC" := CurrentDateTime(); + ShopifyCompany."Shop Id" := Shop."Shop Id"; + ShopifyCompany."Shop Code" := Shop.Code; + ShopifyCompany.Insert(); + + CompanyLocation."Company SystemId" := ShopifyCompany.SystemId; + CompanyLocation.Insert(); + end; + end; + + local procedure CreateCompanyMainContact(Customer: Record Customer; var ShopifyCustomer: Record "Shpfy Customer"): Boolean + var + CustomerExport: Codeunit "Shpfy Customer Export"; + begin + CustomerExport.SetCreateCustomers(true); + CustomerExport.SetShop(Shop); + Customer.SetRange("No.", Customer."No."); + CustomerExport.Run(Customer); + + ShopifyCustomer.SetRange("Shop Id", Shop."Shop Id"); + ShopifyCustomer.SetRange("Customer SystemId", Customer.SystemId); + exit(ShopifyCustomer.FindFirst()); + end; + + internal procedure FillInShopifyCompany(Customer: Record Customer; var ShopifyCompany: Record "Shpfy Company"; var CompanyLocation: Record "Shpfy Company Location"): Boolean + var + CompanyInformation: Record "Company Information"; + CountryRegion: Record "Country/Region"; + TempShopifyCompany: Record "Shpfy Company" temporary; + TempCompanyLocation: Record "Shpfy Company Location" temporary; + begin + TempShopifyCompany := ShopifyCompany; + TempCompanyLocation := CompanyLocation; + + ShopifyCompany.Name := Customer.Name; + + CompanyLocation.Name := 'Main'; + CompanyLocation.Address := Customer.Address; + CompanyLocation."Address 2" := Customer."Address 2"; + CompanyLocation.Zip := Customer."Post Code"; + CompanyLocation.City := Customer.City; + + if (Customer."Country/Region Code" = '') and CompanyInformation.Get() then + Customer."Country/Region Code" := CompanyInformation."Country/Region Code"; + + if CountryRegion.Get(Customer."Country/Region Code") then begin + CountryRegion.TestField("ISO Code"); + CompanyLocation."Country/Region Code" := CountryRegion."ISO Code"; + end; + + CompanyLocation."Phone No." := Customer."Phone No."; + + if HasDiff(ShopifyCompany, TempShopifyCompany) or HasDiff(CompanyLocation, TempCompanyLocation) then begin + ShopifyCompany."Last Updated by BC" := CurrentDateTime; + exit(true); + end; + end; + + local procedure HasDiff(RecAsVariant: Variant; xRecAsVariant: Variant): Boolean + var + RecordRef: RecordRef; + xRecordRef: RecordRef; + Index: Integer; + begin + RecordRef.GetTable(RecAsVariant); + xRecordRef.GetTable(xRecAsVariant); + if RecordRef.Number = xRecordRef.Number then + for Index := 1 to RecordRef.FieldCount do + if RecordRef.FieldIndex(Index).Value <> xRecordRef.FieldIndex(Index).Value then + exit(true); + end; + + internal procedure SetShop(Code: Code[20]) + begin + Clear(Shop); + Shop.Get(Code); + SetShop(Shop); + end; + + internal procedure SetShop(ShopifyShop: Record "Shpfy Shop") + begin + Shop := ShopifyShop; + CompanyAPI.SetShop(Shop); + CatalogAPI.SetShop(Shop); + end; + + local procedure UpdateShopifyCompany(Customer: Record Customer; CompanyId: BigInteger) + var + ShopifyCompany: Record "Shpfy Company"; + CompanyLocation: Record "Shpfy Company Location"; + begin + ShopifyCompany.Get(CompanyId); + if ShopifyCompany."Customer SystemId" <> Customer.SystemId then + exit; + + CompanyLocation.SetRange("Company SystemId", ShopifyCompany.SystemId); + CompanyLocation.FindFirst(); + + if FillInShopifyCompany(Customer, ShopifyCompany, CompanyLocation) then begin + CompanyAPI.UpdateCompany(ShopifyCompany, CompanyLocation); + ShopifyCompany.Modify(); + CompanyLocation.Modify(); + end; + end; + + internal procedure SetCreateCompanies(NewCustomers: Boolean) + begin + CreateCustomers := NewCustomers; + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfySyncCompanies.Codeunit.al b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfySyncCompanies.Codeunit.al new file mode 100644 index 0000000000..b648e5a47a --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfySyncCompanies.Codeunit.al @@ -0,0 +1,49 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; + +/// +/// Codeunit Shpfy Sync Companies (ID 30285). +/// +codeunit 30285 "Shpfy Sync Companies" +{ + Access = Internal; + TableNo = "Shpfy Shop"; + + trigger OnRun() + var + SyncStartTime: DateTime; + begin + Rec.TestField(Enabled, true); + SetShop(Rec); + SyncStartTime := CurrentDateTime; + if Shop."Can Update Shopify Companies" then + ExportCompaniesToShopify(); + + if Shop.Find() then begin + Shop.SetLastSyncTime("Shpfy Synchronization Type"::Companies, SyncStartTime); + Shop.Modify(); + end; + end; + + var + Shop: Record "Shpfy Shop"; + CompanyExport: Codeunit "Shpfy Company Export"; + + /// + /// Export Customers To Shopify. + /// + local procedure ExportCompaniesToShopify() + var + Customer: Record Customer; + begin + CompanyExport.SetCreateCompanies(false); + CompanyExport.Run(Customer); + end; + + internal procedure SetShop(ShopifyShop: Record "Shpfy Shop") + begin + Shop := ShopifyShop; + CompanyExport.SetShop(Shop); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Companies/Enums/ShpfyDefaultContPermission.Enum.al b/Apps/W1/Shopify/app/src/Companies/Enums/ShpfyDefaultContPermission.Enum.al new file mode 100644 index 0000000000..d9c0a40c18 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Enums/ShpfyDefaultContPermission.Enum.al @@ -0,0 +1,23 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Enum Shpfy Contact State (ID 30107). +/// +enum 30148 "Shpfy Default Cont. Permission" +{ + Caption = 'Shopify Default Contact Permission'; + Extensible = false; + + value(0; "No permission") + { + Caption = 'No permission'; + } + value(1; "Ordering only") + { + Caption = 'Ordering only'; + } + value(2; "Location admin") + { + Caption = 'Location admin'; + } +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanies.Page.al b/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanies.Page.al new file mode 100644 index 0000000000..39fd16175a --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanies.Page.al @@ -0,0 +1,176 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; + +/// +/// Page Shpfy Companies (ID 30156). +/// +page 30156 "Shpfy Companies" +{ + ApplicationArea = All; + Caption = 'Shopify Companies'; + CardPageId = "Shpfy Company Card"; + Editable = false; + InsertAllowed = false; + PageType = List; + SourceTable = "Shpfy Company"; + UsageCategory = Lists; + PromotedActionCategories = 'New,Process,Related,Company'; + + layout + { + area(content) + { + repeater(General) + { + field(Id; Rec.Id) + { + ApplicationArea = All; + ToolTip = 'Specifies the unique identifier for the company in Shopify.'; + } + field("Customer No."; Rec."Customer No.") + { + ApplicationArea = All; + DrillDown = true; + ToolTip = 'Specifies the customer number.'; + + trigger OnDrillDown() + var + Customer: Record Customer; + CustomerCard: Page "Customer Card"; + begin + if Customer.GetBySystemId(Rec."Customer SystemId") then begin + Customer.SetRecFilter(); + CustomerCard.SetTableView(Customer); + CustomerCard.Run(); + end; + end; + } + field(Name; Rec.Name) + { + ApplicationArea = All; + ToolTip = 'Specifies the company''s name.'; + } + field(Note; Rec.GetNote()) + { + Caption = 'Note'; + ApplicationArea = All; + ToolTip = 'Specifies a note about the company in Shopify.'; + } + } + } + area(FactBoxes) + { + part(MainContact; "Shpfy Main Contact Factbox") + { + ApplicationArea = All; + SubPageLink = Id = field("Main Contact Customer Id"); + } + } + } + + actions + { + area(Navigation) + { + action(CustomerCard) + { + ApplicationArea = All; + Caption = 'Customer Card'; + Image = Customer; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Category4; + ToolTip = 'View or edit detailed information about the customer.'; + + trigger OnAction() + var + Customer: Record Customer; + begin + if Customer.GetBySystemId(Rec."Customer SystemId") then begin + Customer.SetRecFilter(); + Page.Run(Page::"Customer Card", Customer); + end; + end; + } + + action(ShopifyOrders) + { + ApplicationArea = All; + Caption = 'Shopify Orders'; + Image = OrderList; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Category4; + RunObject = Page "Shpfy Orders"; + RunPageLink = "Customer Id" = field(Id); + ToolTip = 'View a list of Shopify orders for the company.'; + } + action(ShopifyCatalogs) + { + ApplicationArea = All; + Caption = 'Shopify Catalogs'; + Image = ItemGroup; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Category4; + RunObject = Page "Shpfy Catalogs"; + RunPageLink = "Company SystemId" = field(SystemId); + ToolTip = 'View a list of Shopify catalogs for the company.'; + } + } + + area(Processing) + { + action(AddCompany) + { + ApplicationArea = All; + Caption = 'Add Company'; + Image = AddAction; + Promoted = true; + PromotedCategory = Process; + PromotedIsBig = true; + PromotedOnly = true; + ToolTip = 'Select which customers you want to create as companies in Shopify. Only customers with an e-mail address will be created.'; + + trigger OnAction() + var + Shop: Record "Shpfy Shop"; + AddCompanyToShopify: Report "Shpfy Add Company to Shopify"; + begin + Shop.SetFilter("Shop Id", Rec.GetFilter("Shop Id")); + if Shop.FindFirst() then + AddCompanyToShopify.SetShop(Shop.Code); + AddCompanyToShopify.Run(); + end; + } + action(Sync) + { + ApplicationArea = All; + Caption = 'Synchronize Companies'; + Image = ImportExport; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Process; + ToolTip = 'Synchronize the companies with Shopify. The way companies are synchronized depends on the B2B settings in the Shopify Shop Card.'; + + trigger OnAction() + var + Shop: Record "Shpfy Shop"; + BackgroundSyncs: Codeunit "Shpfy Background Syncs"; + ShopFilter: Text; + begin + ShopFilter := Rec.GetFilter("Shop Id"); + if ShopFilter = '' then + BackgroundSyncs.CompanySync() + else begin + Shop.SetFilter("Shop Id", ShopFilter); + if Shop.FindFirst() then + BackgroundSyncs.CompanySync(Shop.Code); + end; + end; + + } + } + } +} diff --git a/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanyCard.Page.al b/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanyCard.Page.al new file mode 100644 index 0000000000..9a5f2a6de9 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyCompanyCard.Page.al @@ -0,0 +1,160 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; + +/// +/// Page Shpfy Company Card (ID 30157). +/// +page 30157 "Shpfy Company Card" +{ + Caption = 'Shopify Company Card'; + InsertAllowed = false; + PageType = Card; + SourceTable = "Shpfy Company"; + UsageCategory = None; + PromotedActionCategories = 'New,Process,Related,Company'; + + layout + { + area(content) + { + group(General) + { + Caption = 'General'; + + field(Id; Rec.Id) + { + ApplicationArea = All; + ToolTip = 'Specifies the unique identifier for the company in Shopify.'; + Visible = false; + } + field(Name; Rec.Name) + { + ApplicationArea = All; + ToolTip = 'Specifies the company''s name.'; + } + field(Note; Rec.GetNote()) + { + ApplicationArea = All; + Caption = 'Note'; + ToolTip = 'Specifies a note about the customer in Shopify.'; + } + } + + group(Mapping) + { + Caption = 'Mapping'; + Editable = false; + + field(CustomerSystemId; Rec."Customer SystemId") + { + ApplicationArea = All; + ToolTip = 'Specifies the unique identifier for the customer in D365BC.'; + Visible = false; + } + field(CustomerNo; CustomerNo) + { + ApplicationArea = All; + Caption = 'Customer No.'; + TableRelation = Customer; + ToolTip = 'Specifies the mapped customer number.'; + Editable = false; + } + field(CustomerName; Customer."Name") + { + ApplicationArea = All; + Caption = 'Customer Name'; + ToolTip = 'Specifies the customer''s name.'; + Editable = false; + } + } + + } + area(FactBoxes) + { + part(MainContact; "Shpfy Main Contact Factbox") + { + ApplicationArea = All; + SubPageLink = Id = field("Main Contact Customer Id"); + } + } + } + + actions + { + area(Navigation) + { + action(CustomerCard) + { + ApplicationArea = All; + Caption = 'Customer Card'; + Image = Customer; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Category4; + ToolTip = 'View or edit detailed information about the customer.'; + + trigger OnAction() + var + Customer: Record Customer; + begin + if Customer.GetBySystemId(Rec."Customer SystemId") then begin + Customer.SetRecFilter(); + Page.Run(Page::"Customer Card", Customer); + end; + end; + } + action(ShopifyOrders) + { + ApplicationArea = All; + Caption = 'Shopify Orders'; + Image = OrderList; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Category4; + RunObject = Page "Shpfy Orders"; + RunPageLink = "Customer Id" = field(Id); + ToolTip = 'View a list of Shopify orders for the company.'; + } + action(ShopifyCatalogs) + { + ApplicationArea = All; + Caption = 'Shopify Catalogs'; + Image = ItemGroup; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Category4; + RunObject = Page "Shpfy Catalogs"; + RunPageLink = "Company SystemId" = field(SystemId); + ToolTip = 'View a list of Shopify catalogs for the company.'; + } + } + + } + + var + Customer: Record Customer; + CustomerNo: Code[20]; + + trigger OnAfterGetCurrRecord() + begin + GetMappedCustomer(); + end; + + /// + /// Get Mapped Customer. + /// + local procedure GetMappedCustomer() + begin + if IsNullGuid(Rec."Customer SystemId") then begin + Clear(Customer); + Clear(CustomerNo); + end else + if Customer.GetBySystemId(Rec."Customer SystemId") then + CustomerNo := Customer."No." + else begin + Clear(Customer); + Clear(CustomerNo); + end; + end; +} diff --git a/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyMainContactFactbox.Page.al b/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyMainContactFactbox.Page.al new file mode 100644 index 0000000000..3f8129d52d --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Pages/ShpfyMainContactFactbox.Page.al @@ -0,0 +1,37 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Page Shpfy Main Contact Factbox (ID 30158). +/// +page 30158 "Shpfy Main Contact Factbox" +{ + Caption = 'Shopify Main Contact'; + DeleteAllowed = false; + InsertAllowed = false; + ModifyAllowed = false; + PageType = ListPart; + RefreshOnActivate = true; + SourceTable = "Shpfy Customer"; + + layout + { + area(content) + { + repeater(Group) + { + field("First Name"; Rec."First Name") + { + ApplicationArea = All; + Caption = 'First Name'; + ToolTip = 'Specifies the first name of the customer.'; + } + field("Last Name"; Rec."Last Name") + { + ApplicationArea = All; + Caption = 'Last Name'; + ToolTip = 'Specifies the last name of the customer.'; + } + } + } + } +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Companies/Reports/ShpfyAddCompanyToShopify.Report.al b/Apps/W1/Shopify/app/src/Companies/Reports/ShpfyAddCompanyToShopify.Report.al new file mode 100644 index 0000000000..e97800477c --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Reports/ShpfyAddCompanyToShopify.Report.al @@ -0,0 +1,95 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; + +/// +/// Report Shpfy Add Company to Shopify (ID 30113). +/// +report 30113 "Shpfy Add Company to Shopify" +{ + ApplicationArea = All; + Caption = 'Add Company to Shopify'; + ProcessingOnly = true; + UsageCategory = Administration; + + dataset + { + dataitem(Customer; Customer) + { + RequestFilterFields = "No."; + trigger OnPreDataItem() + begin + if ShopCode = '' then + Error(NoShopSellectedErr); + + Clear(CompanyExport); + CompanyExport.SetShop(ShopCode); + CompanyExport.SetCreateCompanies(true); + + if GuiAllowed then begin + CurrCustomerNo := Customer."No."; + ProcessDialog.Open(ProcessMsg, CurrCustomerNo); + ProcessDialog.Update(); + end; + end; + + trigger OnAfterGetRecord() + begin + if GuiAllowed then begin + CurrCustomerNo := Customer."No."; + ProcessDialog.Update(); + end; + + CompanyExport.Run(Customer); + end; + + trigger OnPostDataItem() + begin + if GuiAllowed then + ProcessDialog.Close(); + end; + } + } + + requestpage + { + SaveValues = true; + layout + { + area(Content) + { + group(ShopFilter) + { + Caption = 'Options'; + field(Shop; ShopCode) + { + ApplicationArea = All; + Caption = 'Shop Code'; + Lookup = true; + LookupPageId = "Shpfy Shops"; + TableRelation = "Shpfy Shop"; + ToolTip = 'Specifies the Shopify Shop.'; + ShowMandatory = true; + } + } + } + } + } + + var + CompanyExport: Codeunit "Shpfy Company Export"; + ShopCode: Code[20]; + CurrCustomerNo: Code[20]; + ProcessMsg: Label 'Adding customer #1####################', Comment = '#1 = Customer no.'; + NoShopSellectedErr: Label 'You must select a shop to add the customers to.'; + ProcessDialog: Dialog; + + /// + /// Set Shop. + /// + /// Parameter of type Code[20]. + internal procedure SetShop(Shop: Code[20]) + begin + ShopCode := Shop; + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Companies/Reports/ShpfySyncCompanies.Report.al b/Apps/W1/Shopify/app/src/Companies/Reports/ShpfySyncCompanies.Report.al new file mode 100644 index 0000000000..62f02ec783 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Reports/ShpfySyncCompanies.Report.al @@ -0,0 +1,25 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Report Shpfy Sync Companies (ID 30114). +/// +report 30114 "Shpfy Sync Companies" +{ + ApplicationArea = All; + Caption = 'Shopify Sync Companies'; + UsageCategory = Tasks; + ProcessingOnly = true; + + dataset + { + dataitem(Shop; "Shpfy Shop") + { + RequestFilterFields = Code; + + trigger OnAfterGetRecord() + begin + Codeunit.Run(Codeunit::"Shpfy Sync Companies", Shop); + end; + } + } +} diff --git a/Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompany.Table.al b/Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompany.Table.al new file mode 100644 index 0000000000..103a245544 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompany.Table.al @@ -0,0 +1,133 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; +using System.Reflection; + +/// +/// Table Shpfy Company (ID 30150). +/// +table 30150 "Shpfy Company" +{ + Caption = 'Shopify Company'; + DataClassification = CustomerContent; + DrillDownPageId = "Shpfy Companies"; + LookupPageId = "Shpfy Companies"; + + fields + { + field(1; Id; BigInteger) + { + Caption = 'Id'; + DataClassification = SystemMetadata; + } + field(2; Name; Text[500]) + { + Caption = 'Name'; + DataClassification = CustomerContent; + } + field(3; Note; Blob) + { + Caption = 'Note'; + DataClassification = CustomerContent; + } + field(4; "Created At"; DateTime) + { + Caption = 'Created At'; + DataClassification = CustomerContent; + } + + field(5; "Updated At"; DateTime) + { + Caption = 'Updated At'; + DataClassification = CustomerContent; + } + field(6; "Last Updated by BC"; DateTime) + { + Caption = 'Last Updated by BC'; + DataClassification = SystemMetadata; + } + + field(7; "Customer SystemId"; Guid) + { + Caption = 'Customer SystemId'; + DataClassification = SystemMetadata; + } + field(8; "Customer No."; Code[20]) + { + CalcFormula = lookup(Customer."No." where(SystemId = field("Customer SystemId"))); + Caption = 'Customer No.'; + FieldClass = FlowField; + } + field(9; "Shop Id"; Integer) + { + Caption = 'Shop ID'; + DataClassification = SystemMetadata; + Editable = false; + } + field(10; "Shop Code"; Code[20]) + { + Caption = 'Shop Code'; + DataClassification = CustomerContent; + Editable = false; + TableRelation = "Shpfy Shop"; + } + field(11; "Main Contact Customer Id"; BigInteger) + { + Caption = 'Main Contact Id'; + DataClassification = CustomerContent; + Editable = false; + TableRelation = "Shpfy Customer"; + } + field(12; "Main Contact Id"; BigInteger) + { + Caption = 'Main Contact Id'; + DataClassification = CustomerContent; + Editable = false; + } + field(13; "Location Id"; BigInteger) + { + Caption = 'Location Id'; + DataClassification = CustomerContent; + Editable = false; + } + } + + keys + { + key(PK; Id) + { + Clustered = true; + } + + key(Idx1; "Customer SystemId") { } + key(Idx2; "Shop Id") { } + } + + trigger OnDelete() + var + CompanyLocation: Record "Shpfy Company Location"; + begin + CompanyLocation.SetRange("Company SystemId", Rec.SystemId); + CompanyLocation.DeleteAll(); + end; + + internal procedure GetNote(): Text + var + TypeHelper: Codeunit "Type Helper"; + InStream: InStream; + begin + CalcFields(Note); + Note.CreateInStream(InStream, TextEncoding::UTF8); + exit(TypeHelper.ReadAsTextWithSeparator(InStream, (TypeHelper.LFSeparator()))); + end; + + internal procedure SetNote(NewNote: Text) + var + OutStream: OutStream; + begin + Clear(Note); + Note.CreateOutStream(OutStream, TextEncoding::UTF8); + OutStream.WriteText(NewNote); + if Modify() then; + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompanyLocation.Table.al b/Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompanyLocation.Table.al new file mode 100644 index 0000000000..f0947c076a --- /dev/null +++ b/Apps/W1/Shopify/app/src/Companies/Tables/ShpfyCompanyLocation.Table.al @@ -0,0 +1,70 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Table Shpfy Company Location (ID 30151). +/// +table 30151 "Shpfy Company Location" +{ + Caption = 'Shopify Company Location'; + DataClassification = CustomerContent; + + fields + { + field(1; Id; BigInteger) + { + Caption = 'Id'; + DataClassification = SystemMetadata; + Editable = false; + } + field(2; "Company SystemId"; Guid) + { + Caption = 'Company SystemId'; + DataClassification = SystemMetadata; + Editable = false; + } + field(3; Address; Text[100]) + { + Caption = 'Address'; + DataClassification = CustomerContent; + } + field(4; "Address 2"; Text[100]) + { + Caption = 'Address 2'; + DataClassification = CustomerContent; + } + field(5; Zip; Code[20]) + { + Caption = 'Zip'; + DataClassification = CustomerContent; + } + field(6; City; Text[50]) + { + Caption = 'City'; + DataClassification = CustomerContent; + } + field(7; "Country/Region Code"; Code[2]) + { + Caption = 'Country/Region Code'; + DataClassification = CustomerContent; + } + field(8; "Phone No."; Text[30]) + { + Caption = 'Phone No.'; + DataClassification = CustomerContent; + } + field(9; Name; Text[50]) + { + Caption = 'Name'; + DataClassification = CustomerContent; + Editable = false; + } + } + keys + { + key(PK; Id) + { + Clustered = true; + } + key(Idx1; "Company SystemId") { } + } +} diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyCode.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyCode.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyCode.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyCode.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyFromJsonCode.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyFromJsonCode.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyFromJsonCode.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyFromJsonCode.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyFromJsonName.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyFromJsonName.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyFromJsonName.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyFromJsonName.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyName.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyName.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCountyName.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCountyName.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCreateCustomer.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCreateCustomer.Codeunit.al similarity index 99% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCreateCustomer.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCreateCustomer.Codeunit.al index 83252b509a..7ef4d5a28d 100644 --- a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCreateCustomer.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCreateCustomer.Codeunit.al @@ -1,10 +1,12 @@ namespace Microsoft.Integration.Shopify; +#if not CLEAN22 using System.IO; +using Microsoft.Foundation.NoSeries; +#endif using Microsoft.Sales.Customer; using Microsoft.Finance.Dimension; using Microsoft.CRM.BusinessRelation; -using Microsoft.Foundation.NoSeries; using Microsoft.Foundation.Address; /// diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustByBillto.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustByBillto.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustByBillto.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustByBillto.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustByDefaultCust.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustByDefaultCust.Codeunit.al similarity index 99% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustByDefaultCust.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustByDefaultCust.Codeunit.al index 46a5140192..a4f405b5a7 100644 --- a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustByDefaultCust.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustByDefaultCust.Codeunit.al @@ -33,7 +33,6 @@ codeunit 30112 "Shpfy Cust. By Default Cust." implements "Shpfy ICustomer Mappin /// Boolean. /// Return value of type Code[20]. internal procedure DoMapping(CustomerId: BigInteger; JCustomerInfo: JsonObject; ShopCode: Code[20]; TemplateCode: Code[20]; AllowCreate: Boolean): Code[20]; - var begin SetShop(ShopCode); exit(Shop."Default Customer No."); diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustByEmailPhone.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustByEmailPhone.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustByEmailPhone.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustByEmailPhone.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerAPI.Codeunit.al similarity index 99% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerAPI.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerAPI.Codeunit.al index 8ebacdb407..e7cee55f54 100644 --- a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerAPI.Codeunit.al @@ -201,10 +201,7 @@ codeunit 30114 "Shpfy Customer API" begin GraphQLType := GraphQLType::GetCustomerIds; LastSync := Shop.GetLastSyncTime("Shpfy Synchronization Type"::Customers); - if LastSync > 0DT then - Parameters.Add('LastSync', Format(LastSync, 0, 9)) - else - Parameters.Add('LastSync', ''); + Parameters.Add('LastSync', Format(LastSync, 0, 9)); repeat JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType, Parameters); if JsonHelper.GetJsonArray(JResponse, JCustomers, 'data.customers.edges') then begin diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerEvents.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerEvents.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerEvents.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerEvents.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerExport.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerExport.Codeunit.al similarity index 97% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerExport.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerExport.Codeunit.al index afc843aa58..ec62eec90b 100644 --- a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerExport.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerExport.Codeunit.al @@ -20,15 +20,17 @@ codeunit 30116 "Shpfy Customer Export" begin CustomerAPI.FillInMissingShopIds(); Customer.CopyFilters(Rec); - if Shop."Export Customer To Shopify" and Customer.FindSet(false) then begin + if Customer.FindSet(false) then begin CustomerMapping.SetShop(Shop); repeat - CustomerId := CustomerMapping.FindMapping(Customer); - if CustomerId = 0 then - CreateShopifyCustomer(Customer) - else + CustomerId := CustomerMapping.FindMapping(Customer, CreateCustomers); + if CustomerId = 0 then begin + if CreateCustomers then + CreateShopifyCustomer(Customer); + end else if Shop."Can Update Shopify Customer" then UpdateShopifyCustomer(Customer, CustomerId); + Commit(); until Customer.Next() = 0; end; @@ -37,6 +39,7 @@ codeunit 30116 "Shpfy Customer Export" var Shop: Record "Shpfy Shop"; CustomerApi: Codeunit "Shpfy Customer API"; + CreateCustomers: Boolean; CountyCodeTooLongLbl: Label 'Can not export customer %1 %2. The length of the string is %3, but it must be less than or equal to %4 characters. Value: %5, field: %6', Comment = '%1 - Customer No., %2 - Customer Name, %3 - Length, %4 - Max Length, %5 - Value, %6 - Field Name'; /// @@ -311,4 +314,9 @@ codeunit 30116 "Shpfy Customer Export" CustomerAddress.Modify(); end; end; + + internal procedure SetCreateCustomers(NewCustomers: Boolean) + begin + CreateCustomers := NewCustomers; + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerImport.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerImport.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerImport.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerImport.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerMapping.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerMapping.Codeunit.al similarity index 84% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerMapping.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerMapping.Codeunit.al index 696018e7b8..fb4d27cd53 100644 --- a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyCustomerMapping.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerMapping.Codeunit.al @@ -44,7 +44,7 @@ codeunit 30118 "Shpfy Customer Mapping" var Customer: Record Customer; Handled: Boolean; - Direction: enum "Shpfy Mapping Direction"; + Direction: Enum "Shpfy Mapping Direction"; begin if not IsNullGuid(ShopifyCustomer."Customer SystemId") then if Customer.GetBySystemId(ShopifyCustomer."Customer SystemId") then @@ -59,7 +59,7 @@ codeunit 30118 "Shpfy Customer Mapping" if Handled then exit(not IsNullGuid(ShopifyCustomer."Customer SystemId")); if IsNullGuid(ShopifyCustomer."Customer SystemId") then - if DoFindMapping(Direction, ShopifyCustomer, Customer) then begin + if DoFindMapping(Direction, ShopifyCustomer, Customer, false) then begin CustomerEvents.OnAfterFindMapping(Direction, ShopifyCustomer, Customer); ShopifyCustomer."Customer SystemId" := Customer.SystemId; ShopifyCustomer.Modify(); @@ -72,17 +72,17 @@ codeunit 30118 "Shpfy Customer Mapping" /// /// Parameter of type Record Customer. /// Return value of type BigInteger. - internal procedure FindMapping(Customer: Record Customer): BigInteger + internal procedure FindMapping(Customer: Record Customer; CreateCustomersInShopify: Boolean): BigInteger var ShopifyCustomer: Record "Shpfy Customer"; Handled: Boolean; - Direction: enum "Shpfy Mapping Direction"; + Direction: Enum "Shpfy Mapping Direction"; begin Direction := Direction::BCToShopify; CustomerEvents.OnBeforeFindMapping(Direction, ShopifyCustomer, Customer, Handled); if Handled then exit(ShopifyCustomer.Id); - if DoFindMapping(Direction, ShopifyCustomer, Customer) then + if DoFindMapping(Direction, ShopifyCustomer, Customer, CreateCustomersInShopify) then exit(ShopifyCustomer.Id); end; @@ -93,7 +93,7 @@ codeunit 30118 "Shpfy Customer Mapping" /// Parameter of type Record "Shopify Customer". /// Parameter of type Record Customer. /// Return value of type Boolean. - local procedure DoFindMapping(Direction: enum "Shpfy Mapping Direction"; var ShopifyCustomer: Record "Shpfy Customer"; var Customer: Record Customer): Boolean; + local procedure DoFindMapping(Direction: enum "Shpfy Mapping Direction"; var ShopifyCustomer: Record "Shpfy Customer"; var Customer: Record Customer; CreateCustomersInShopify: Boolean): Boolean; var FindCustomer: Record Customer; FindShopifyCustomer: Record "Shpfy Customer"; @@ -137,20 +137,21 @@ codeunit 30118 "Shpfy Customer Mapping" ShopifyCustomerId := CustomerApi.FindIdByPhone(Customer."Phone No."); if ShopifyCustomer.Get(ShopifyCustomerId) then exit(true) - else begin - Clear(ShopifyCustomer); - ShopifyCustomer.Id := ShopifyCustomerId; - ShopifyCustomer."Shop Id" := Shop."Shop Id"; - ShopifyCustomer.Insert(false); - if CustomerApi.RetrieveShopifyCustomer(ShopifyCustomer) then begin - ShopifyCustomer."Customer SystemId" := Customer.SystemId; - ShopifyCustomer.Modify(false); - exit(true); - end else begin - ShopifyCustomer.Delete(false); - exit(false); + else + if CreateCustomersInShopify then begin + Clear(ShopifyCustomer); + ShopifyCustomer.Id := ShopifyCustomerId; + ShopifyCustomer."Shop Id" := Shop."Shop Id"; + ShopifyCustomer.Insert(false); + if CustomerApi.RetrieveShopifyCustomer(ShopifyCustomer) then begin + ShopifyCustomer."Customer SystemId" := Customer.SystemId; + ShopifyCustomer.Modify(false); + exit(true); + end else begin + ShopifyCustomer.Delete(false); + exit(false); + end; end; - end; end; end; end; @@ -167,7 +168,7 @@ codeunit 30118 "Shpfy Customer Mapping" begin PhoneNo := DelChr(PhoneNo, '=', DelChr(PhoneNo, '=', '0123456789')); PhoneNo := PhoneNo.TrimStart('0'); - For I := 1 to StrLen(PhoneNo) do begin + for I := 1 to StrLen(PhoneNo) do begin FilterBuilder.Append('*'); FilterBuilder.Append(PhoneNo[I]); end; diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisCompanyName.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisCompanyName.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisCompanyName.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisCompanyName.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisEmpty.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisEmpty.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisEmpty.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisEmpty.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisFirstLastName.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisFirstLastName.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisFirstLastName.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisFirstLastName.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisLastFirstName.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisLastFirstName.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyNameisLastFirstName.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyNameisLastFirstName.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfySyncCountries.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfySyncCountries.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfySyncCountries.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfySyncCountries.Codeunit.al diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfySyncCustomers.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfySyncCustomers.Codeunit.al similarity index 92% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfySyncCustomers.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfySyncCustomers.Codeunit.al index e8a0bf891e..5cc41d4fe4 100644 --- a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfySyncCustomers.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfySyncCustomers.Codeunit.al @@ -19,8 +19,8 @@ codeunit 30123 "Shpfy Sync Customers" SyncStartTime := CurrentDateTime; if Shop."Customer Import From Shopify" = Shop."Customer Import From Shopify"::AllCustomers then ImportCustomersFromShopify(); - if Shop."Export Customer To Shopify" then - ExportCustomersToShopify(); + if Shop."Can Update Shopify Customer" then + SyncCustomersToShopify(); if Shop.Find() then begin Shop.SetLastSyncTime("Shpfy Synchronization Type"::Customers, SyncStartTime); @@ -36,12 +36,13 @@ codeunit 30123 "Shpfy Sync Customers" ErrMsg: Text; /// - /// Export Customers To Shopify. + /// Sync Customers To Shopify. /// - local procedure ExportCustomersToShopify() + local procedure SyncCustomersToShopify() var Customer: Record Customer; begin + CustomerExport.SetCreateCustomers(false); CustomerExport.Run(Customer); end; @@ -75,7 +76,7 @@ codeunit 30123 "Shpfy Sync Customers" Clear(TempCustomer); if TempCustomer.FindSet(false) then begin CustomerImport.SetShop(Shop); - Repeat + repeat CustomerImport.SetCustomer(TempCustomer); Commit(); ClearLastError(); diff --git a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyUpdateCustomer.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyUpdateCustomer.Codeunit.al similarity index 99% rename from Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyUpdateCustomer.Codeunit.al rename to Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyUpdateCustomer.Codeunit.al index 9a12502c70..10bd7c5f8f 100644 --- a/Apps/W1/Shopify/app/src/Customer/Codeunits/ShpfyUpdateCustomer.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyUpdateCustomer.Codeunit.al @@ -1,10 +1,12 @@ namespace Microsoft.Integration.Shopify; using Microsoft.Sales.Customer; -using System.IO; using Microsoft.CRM.BusinessRelation; using Microsoft.Foundation.Address; +#if not CLEAN22 +using System.IO; using Microsoft.Finance.Dimension; +#endif /// /// Codeunit Shpfy Update Customer (ID 30124). diff --git a/Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCountySource.Enum.al b/Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCountySource.Enum.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCountySource.Enum.al rename to Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCountySource.Enum.al diff --git a/Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCustomerImportRange.Enum.al b/Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCustomerImportRange.Enum.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCustomerImportRange.Enum.al rename to Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCustomerImportRange.Enum.al diff --git a/Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCustomerMapping.Enum.al b/Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCustomerMapping.Enum.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCustomerMapping.Enum.al rename to Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCustomerMapping.Enum.al diff --git a/Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCustomerState.Enum.al b/Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCustomerState.Enum.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Enums/ShpfyCustomerState.Enum.al rename to Apps/W1/Shopify/app/src/Customers/Enums/ShpfyCustomerState.Enum.al diff --git a/Apps/W1/Shopify/app/src/Customer/Enums/ShpfyNameSource.Enum.al b/Apps/W1/Shopify/app/src/Customers/Enums/ShpfyNameSource.Enum.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Enums/ShpfyNameSource.Enum.al rename to Apps/W1/Shopify/app/src/Customers/Enums/ShpfyNameSource.Enum.al diff --git a/Apps/W1/Shopify/app/src/Customer/Enums/ShpfyTaxBy.Enum.al b/Apps/W1/Shopify/app/src/Customers/Enums/ShpfyTaxBy.Enum.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Enums/ShpfyTaxBy.Enum.al rename to Apps/W1/Shopify/app/src/Customers/Enums/ShpfyTaxBy.Enum.al diff --git a/Apps/W1/Shopify/app/src/Customer/Enums/ShpfyTaxType.Enum.al b/Apps/W1/Shopify/app/src/Customers/Enums/ShpfyTaxType.Enum.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Enums/ShpfyTaxType.Enum.al rename to Apps/W1/Shopify/app/src/Customers/Enums/ShpfyTaxType.Enum.al diff --git a/Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICounty.Interface.al b/Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICounty.Interface.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICounty.Interface.al rename to Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICounty.Interface.al diff --git a/Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICountyFromJson.Interface.al b/Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICountyFromJson.Interface.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICountyFromJson.Interface.al rename to Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICountyFromJson.Interface.al diff --git a/Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICustomerMapping.Interface.al b/Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICustomerMapping.Interface.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICustomerMapping.Interface.al rename to Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICustomerMapping.Interface.al diff --git a/Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICustomerName.Interface.al b/Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICustomerName.Interface.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Interfaces/ShpfyICustomerName.Interface.al rename to Apps/W1/Shopify/app/src/Customers/Interfaces/ShpfyICustomerName.Interface.al diff --git a/Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomerAdresses.Page.al b/Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomerAdresses.Page.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomerAdresses.Page.al rename to Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomerAdresses.Page.al diff --git a/Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomerCard.Page.al b/Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomerCard.Page.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomerCard.Page.al rename to Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomerCard.Page.al diff --git a/Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomerTemplates.Page.al b/Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomerTemplates.Page.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomerTemplates.Page.al rename to Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomerTemplates.Page.al diff --git a/Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomers.Page.al b/Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomers.Page.al similarity index 78% rename from Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomers.Page.al rename to Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomers.Page.al index 3f9b487f0b..69f037fc5e 100644 --- a/Apps/W1/Shopify/app/src/Customer/Pages/ShpfyCustomers.Page.al +++ b/Apps/W1/Shopify/app/src/Customers/Pages/ShpfyCustomers.Page.al @@ -140,21 +140,52 @@ page 30107 "Shpfy Customers" area(Processing) { + action(AddCustomer) + { + ApplicationArea = All; + Caption = 'Add Customers'; + Image = AddAction; + Promoted = true; + PromotedCategory = Process; + PromotedIsBig = true; + PromotedOnly = true; + ToolTip = 'Select which customers you want to create in Shopify. Only customers with an e-mail address will be created.'; + + trigger OnAction() + var + Shop: Record "Shpfy Shop"; + AddCustomerToShopify: Report "Shpfy Add Customer to Shopify"; + begin + Shop.SetFilter("Shop Id", Rec.GetFilter("Shop Id")); + if Shop.FindFirst() then + AddCustomerToShopify.SetShop(Shop.Code); + AddCustomerToShopify.Run(); + end; + } action(Sync) { ApplicationArea = All; - Caption = 'Start Customer Sync'; + Caption = 'Synchronize Customers'; Image = ImportExport; Promoted = true; PromotedOnly = true; PromotedCategory = Process; - ToolTip = 'Synchronize the customers with Shopify. The way customers are imported depends on the settings in the Shopify Shop Card.'; + ToolTip = 'Synchronize the customers with Shopify. The way customers are synchronized depends on the settings in the Shopify Shop Card.'; trigger OnAction() var + Shop: Record "Shpfy Shop"; BackgroundSyncs: Codeunit "Shpfy Background Syncs"; + ShopFilter: Text; begin - BackgroundSyncs.CustomerSync(); + ShopFilter := Rec.GetFilter("Shop Id"); + if ShopFilter = '' then + BackgroundSyncs.CustomerSync() + else begin + Shop.SetFilter("Shop Id", ShopFilter); + if Shop.FindFirst() then + BackgroundSyncs.CustomerSync(Shop.Code); + end; end; } diff --git a/Apps/W1/Shopify/app/src/Customer/Pages/ShpfyTaxAreas.Page.al b/Apps/W1/Shopify/app/src/Customers/Pages/ShpfyTaxAreas.Page.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Pages/ShpfyTaxAreas.Page.al rename to Apps/W1/Shopify/app/src/Customers/Pages/ShpfyTaxAreas.Page.al diff --git a/Apps/W1/Shopify/app/src/Customers/Reports/ShpfyAddCustomerToShopify.Report.al b/Apps/W1/Shopify/app/src/Customers/Reports/ShpfyAddCustomerToShopify.Report.al new file mode 100644 index 0000000000..1ae067de53 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Customers/Reports/ShpfyAddCustomerToShopify.Report.al @@ -0,0 +1,95 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Sales.Customer; + +/// +/// Report Shpfy Add Customer to Shopify (ID 30112). +/// +report 30112 "Shpfy Add Customer to Shopify" +{ + ApplicationArea = All; + Caption = 'Add Customer to Shopify'; + ProcessingOnly = true; + UsageCategory = Administration; + + dataset + { + dataitem(Customer; Customer) + { + RequestFilterFields = "No."; + trigger OnPreDataItem() + begin + if ShopCode = '' then + Error(NoShopSellectedErr); + + Clear(CustomerExport); + CustomerExport.SetShop(ShopCode); + CustomerExport.SetCreateCustomers(true); + + if GuiAllowed then begin + CurrCustomerNo := Customer."No."; + ProcessDialog.Open(ProcessMsg, CurrCustomerNo); + ProcessDialog.Update(); + end; + end; + + trigger OnAfterGetRecord() + begin + if GuiAllowed then begin + CurrCustomerNo := Customer."No."; + ProcessDialog.Update(); + end; + + CustomerExport.Run(Customer); + end; + + trigger OnPostDataItem() + begin + if GuiAllowed then + ProcessDialog.Close(); + end; + } + } + + requestpage + { + SaveValues = true; + layout + { + area(Content) + { + group(ShopFilter) + { + Caption = 'Options'; + field(Shop; ShopCode) + { + ApplicationArea = All; + Caption = 'Shop Code'; + Lookup = true; + LookupPageId = "Shpfy Shops"; + TableRelation = "Shpfy Shop"; + ToolTip = 'Specifies the Shopify Shop.'; + ShowMandatory = true; + } + } + } + } + } + + var + CustomerExport: Codeunit "Shpfy Customer Export"; + ShopCode: Code[20]; + CurrCustomerNo: Code[20]; + ProcessMsg: Label 'Adding customer #1####################', Comment = '#1 = Customer no.'; + NoShopSellectedErr: Label 'You must select a shop to add the customers to.'; + ProcessDialog: Dialog; + + /// + /// Set Shop. + /// + /// Parameter of type Code[20]. + internal procedure SetShop(Shop: Code[20]) + begin + ShopCode := Shop; + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Customer/Reports/ShpfySyncCountries.Report.al b/Apps/W1/Shopify/app/src/Customers/Reports/ShpfySyncCountries.Report.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Reports/ShpfySyncCountries.Report.al rename to Apps/W1/Shopify/app/src/Customers/Reports/ShpfySyncCountries.Report.al diff --git a/Apps/W1/Shopify/app/src/Customer/Reports/ShpfySyncCustomers.Report.al b/Apps/W1/Shopify/app/src/Customers/Reports/ShpfySyncCustomers.Report.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Reports/ShpfySyncCustomers.Report.al rename to Apps/W1/Shopify/app/src/Customers/Reports/ShpfySyncCustomers.Report.al diff --git a/Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomer.Table.al b/Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomer.Table.al similarity index 99% rename from Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomer.Table.al rename to Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomer.Table.al index a12c15709f..b8ad162bec 100644 --- a/Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomer.Table.al +++ b/Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomer.Table.al @@ -69,7 +69,7 @@ table 30105 "Shpfy Customer" DataClassification = CustomerContent; } - Field(10; "Verified Email"; Boolean) + field(10; "Verified Email"; Boolean) { Caption = 'Verified E-Mail'; DataClassification = CustomerContent; diff --git a/Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomerAddress.Table.al b/Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomerAddress.Table.al similarity index 97% rename from Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomerAddress.Table.al rename to Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomerAddress.Table.al index 31a025c403..aaa2ca7c1d 100644 --- a/Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomerAddress.Table.al +++ b/Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomerAddress.Table.al @@ -96,13 +96,8 @@ table 30106 "Shpfy Customer Address" Caption = 'Ship-To Address SystemId'; DataClassification = SystemMetadata; ObsoleteReason = 'Not used.'; -#if not CLEAN21 - ObsoleteTag = '21.0'; - ObsoleteState = Pending; -#else ObsoleteTag = '24.0'; ObsoleteState = Removed; -#endif } field(102; CustomerSystemId; Guid) { diff --git a/Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomerTemplate.Table.al b/Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomerTemplate.Table.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Tables/ShpfyCustomerTemplate.Table.al rename to Apps/W1/Shopify/app/src/Customers/Tables/ShpfyCustomerTemplate.Table.al diff --git a/Apps/W1/Shopify/app/src/Customer/Tables/ShpfyProvince.Table.al b/Apps/W1/Shopify/app/src/Customers/Tables/ShpfyProvince.Table.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Tables/ShpfyProvince.Table.al rename to Apps/W1/Shopify/app/src/Customers/Tables/ShpfyProvince.Table.al diff --git a/Apps/W1/Shopify/app/src/Customer/Tables/ShpfyTaxArea.Table.al b/Apps/W1/Shopify/app/src/Customers/Tables/ShpfyTaxArea.Table.al similarity index 100% rename from Apps/W1/Shopify/app/src/Customer/Tables/ShpfyTaxArea.Table.al rename to Apps/W1/Shopify/app/src/Customers/Tables/ShpfyTaxArea.Table.al diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogPrices.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogPrices.Codeunit.al new file mode 100644 index 0000000000..a018b21d3b --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogPrices.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30296 "Shpfy GQL CatalogPrices" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "query { catalog(id: \"gid://shopify/Catalog/{{CatalogId}}\") { id priceList {id currency prices(first:100) {edges {cursor node {variant {id} price {amount} compareAtPrice {amount}}} pageInfo {hasNextPage}}}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(204); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogs.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogs.Codeunit.al new file mode 100644 index 0000000000..7c7daddb98 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCatalogs.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30291 "Shpfy GQL Catalogs" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "{catalogs(first:25, query: \"company_id:''{{CompanyId}}'' status:ACTIVE\"){ pageInfo{hasNextPage} edges{cursor node{ id title}}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(27); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignConRole.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignConRole.Codeunit.al new file mode 100644 index 0000000000..d0a2d9e320 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignConRole.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30289 "Shpfy GQL CompanyAssignConRole" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "mutation { companyContactAssignRole(companyContactId: \"gid://shopify/CompanyContact/{{ContactId}}\", companyContactRoleId: \"gid://shopify/CompanyContactRole/{{ContactRoleId}}\", companyLocationId: \"gid://shopify/CompanyLocation/{{LocationId}}\") { companyContactRoleAssignment {id}, userErrors {field, message}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(10); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignContact.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignContact.Codeunit.al new file mode 100644 index 0000000000..4e016cc855 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignContact.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30287 "Shpfy GQL CompanyAssignContact" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "mutation { companyAssignCustomerAsContact(companyId: \"gid://shopify/Company/{{CompanyId}}\", customerId: \"gid://shopify/Customer/{{CustomerId}}\") { companyContact {id}, userErrors {field, message}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(10); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignMainCon.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignMainCon.Codeunit.al new file mode 100644 index 0000000000..d1d810dfa2 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCompanyAssignMainCon.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30288 "Shpfy GQL CompanyAssignMainCon" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "mutation { companyAssignMainContact(companyId: \"gid://shopify/Company/{{CompanyId}}\", companyContactId: \"gid://shopify/CompanyContact/{{CompanyContactId}}\") { company {id}, userErrors {field, message}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(10); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreateCatalog.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreateCatalog.Codeunit.al new file mode 100644 index 0000000000..ddb1d92798 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreateCatalog.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30293 "Shpfy GQL CreateCatalog" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "mutation { catalogCreate(input: {title: \"{{Title}}\", status: ACTIVE, context: {companyLocationIds: \"gid://shopify/CompanyLocation/{{CompanyLocationId}}\"}}) { catalog {id}, userErrors {field, message}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(10); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreatePublication.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreatePublication.Codeunit.al new file mode 100644 index 0000000000..d39067fac8 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLCreatePublication.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30294 "Shpfy GQL CreatePublication" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "mutation { publicationCreate(input: {autoPublish: true, catalogId: \"gid://shopify/CompanyLocationCatalog/{{CatalogId}}\", defaultState: ALL_PRODUCTS}) { publication {id}, userErrors {field, message}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(10); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLFFOrdersFromOrder.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLFFOrdersFromOrder.Codeunit.al index 76463590f9..5e141f5bd5 100644 --- a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLFFOrdersFromOrder.Codeunit.al +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLFFOrdersFromOrder.Codeunit.al @@ -10,7 +10,7 @@ codeunit 30267 "Shpfy GQL FFOrdersFromOrder" implements "Shpfy IGraphQL" /// Return value of type Text. internal procedure GetGraphQL(): Text begin - exit('{"query":"{order(id: \"gid:\/\/shopify\/Order\/{{OrderId}}\") { legacyResourceId fulfillmentOrders(first: 25) { pageInfo { hasNextPage } edges { cursor node { id updatedAt status assignedLocation {location {legacyResourceId}} order {legacyResourceId}}}}}}"}'); + exit('{"query":"{order(id: \"gid:\/\/shopify\/Order\/{{OrderId}}\") { legacyResourceId fulfillmentOrders(first: 25, query:\"-status:closed\") { pageInfo { hasNextPage } edges { cursor node { id updatedAt status assignedLocation {location {legacyResourceId}} order {legacyResourceId}}}}}}"}'); end; /// diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al new file mode 100644 index 0000000000..5aa746ead1 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30297 "Shpfy GQL NextCatalogPrices" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "query { catalog(id: \"gid://shopify/Catalog/{{CatalogId}}\") { id priceList {id prices(first:100, after:\"{{After}}\") {edges {cursor node {variant {id} price {amount} compareAtPrice {amount}}} pageInfo {hasNextPage}}}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(204); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogs.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogs.Codeunit.al new file mode 100644 index 0000000000..2fc52f707d --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogs.Codeunit.al @@ -0,0 +1,24 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30292 "Shpfy GQL NextCatalogs" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query": "{catalogs(first:25, after:\"{{After}}\", query: \"company_id:''{{CompanyId}}'' status:ACTIVE\"){ pageInfo{hasNextPage} edges{cursor node{ id title}}}}"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(27); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextFFOrdersFromOrd.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextFFOrdersFromOrd.Codeunit.al index ce6c0870f9..7f12022ea0 100644 --- a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextFFOrdersFromOrd.Codeunit.al +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextFFOrdersFromOrd.Codeunit.al @@ -10,7 +10,7 @@ codeunit 30268 "Shpfy GQL NextFFOrdersFromOrd" implements "Shpfy IGraphQL" /// Return value of type Text. internal procedure GetGraphQL(): Text begin - exit('{"query":"{order(id: \"gid:\/\/shopify\/Order\/{{OrderId}}\") { legacyResourceId fulfillmentOrders(first: 25, after:\"{{After}}\") { pageInfo { hasNextPage } edges { cursor node { id updatedAt assignedLocation {location {legacyResourceId}} order {legacyResourceId}}}}}}"}'); + exit('{"query":"{order(id: \"gid:\/\/shopify\/Order\/{{OrderId}}\") { legacyResourceId fulfillmentOrders(first: 25, after:\"{{After}}\", query:\"-status:closed\") { pageInfo { hasNextPage } edges { cursor node { id updatedAt assignedLocation {location {legacyResourceId}} order {legacyResourceId}}}}}}"}'); end; /// diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLUpdateCatalogPrices.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLUpdateCatalogPrices.Codeunit.al new file mode 100644 index 0000000000..e946321f86 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLUpdateCatalogPrices.Codeunit.al @@ -0,0 +1,22 @@ +namespace Microsoft.Integration.Shopify; + +codeunit 30298 "Shpfy GQL UpdateCatalogPrices" implements "Shpfy IGraphQL" +{ + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query":"mutation priceListFixedPricesAdd($priceListId: ID!, $prices: [PriceListPriceInput!]!) { priceListFixedPricesAdd(priceListId: $priceListId, prices: $prices) { prices { variant { id }} userErrors { field message }}}","variables":{"priceListId": "gid://shopify/PriceList/{{PriceListID}}","prices": []}}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(204); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al b/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al index f1c8730307..7b5175f352 100644 --- a/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al +++ b/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al @@ -27,9 +27,7 @@ enum 30111 "Shpfy GraphQL Type" implements "Shpfy IGraphQL" value(3; GetCustomer) { Caption = 'Get Customer'; - Implementation = "Shpfy IGraphQL" = "Shpfy GQL Customer"; - } value(4; GetOrdersToImport) { @@ -312,4 +310,54 @@ enum 30111 "Shpfy GraphQL Type" implements "Shpfy IGraphQL" Caption = 'Get Bulk Operation'; Implementation = "Shpfy IGraphQL" = "Shpfy GQL BulkOperation"; } + value(60; CompanyAssignCustomerAsContact) + { + Caption = 'Company Assign Customer As Contact'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL CompanyAssignContact"; + } + value(61; CompanyAssignMainContact) + { + Caption = 'Company Assign Main Contact'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL CompanyAssignMainCon"; + } + value(62; CompanyAssignContactRole) + { + Caption = 'Company Assign Contact Role'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL CompanyAssignConRole"; + } + value(63; GetCatalogs) + { + Caption = 'Get Catalogs'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL Catalogs"; + } + value(64; GetNextCatalogs) + { + Caption = 'Next Get Catalogs'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL NextCatalogs"; + } + value(65; CreateCatalog) + { + Caption = 'Create Catalog'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL CreateCatalog"; + } + value(66; CreatePublication) + { + Caption = 'Create Publication'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL CreatePublication"; + } + value(67; GetCatalogPrices) + { + Caption = 'Get Catalog Prices'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL CatalogPrices"; + } + value(68; GetNextCatalogPrices) + { + Caption = 'Get Next Catalog Prices'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL NextCatalogPrices"; + } + value(69; UpdateCatalogPrices) + { + Caption = 'Update Catalog Prices'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL UpdateCatalogPrices"; + } } diff --git a/Apps/W1/Shopify/app/src/Integration/Codeunits/ShpfyAuthenticationMgt.Codeunit.al b/Apps/W1/Shopify/app/src/Integration/Codeunits/ShpfyAuthenticationMgt.Codeunit.al index 7e6656ecbe..c742c13e88 100644 --- a/Apps/W1/Shopify/app/src/Integration/Codeunits/ShpfyAuthenticationMgt.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Integration/Codeunits/ShpfyAuthenticationMgt.Codeunit.al @@ -15,7 +15,7 @@ codeunit 30199 "Shpfy Authentication Mgt." var // https://shopify.dev/api/usage/access-scopes - ScopeTxt: Label 'write_orders,read_all_orders,write_assigned_fulfillment_orders,read_checkouts,write_customers,read_discounts,write_files,write_merchant_managed_fulfillment_orders,write_fulfillments,write_inventory,read_locations,read_payment_terms,write_products,write_shipping,read_shopify_payments_disputes,read_shopify_payments_payouts,write_returns,write_translations,write_third_party_fulfillment_orders,write_order_edits', Locked = true; + ScopeTxt: Label 'write_orders,read_all_orders,write_assigned_fulfillment_orders,read_checkouts,write_customers,read_discounts,write_files,write_merchant_managed_fulfillment_orders,write_fulfillments,write_inventory,read_locations,read_payment_terms,write_products,write_shipping,read_shopify_payments_disputes,read_shopify_payments_payouts,write_returns,write_translations,write_third_party_fulfillment_orders,write_order_edits,write_companies', Locked = true; ShopifyAPIKeyAKVSecretNameLbl: Label 'ShopifyApiKey', Locked = true; ShopifyAPISecretAKVSecretNameLbl: Label 'ShopifyApiSecret', Locked = true; MissingAPIKeyTelemetryTxt: Label 'The api key has not been initialized.', Locked = true; diff --git a/Apps/W1/Shopify/app/src/Integration/Tables/ShpfyRegisteredStore.Table.al b/Apps/W1/Shopify/app/src/Integration/Tables/ShpfyRegisteredStore.Table.al index d92a192237..909ed0751d 100644 --- a/Apps/W1/Shopify/app/src/Integration/Tables/ShpfyRegisteredStore.Table.al +++ b/Apps/W1/Shopify/app/src/Integration/Tables/ShpfyRegisteredStore.Table.al @@ -5,13 +5,8 @@ namespace Microsoft.Integration.Shopify; /// table 30136 "Shpfy Registered Store" { -#if not CLEAN21 - ObsoleteState = Pending; - ObsoleteTag = '21.0'; -#else ObsoleteState = removed; ObsoleteTag = '24.0'; -#endif ObsoleteReason = 'Use table 30138 "Shpfy Registered Store New" instead'; Access = Internal; diff --git a/Apps/W1/Shopify/app/src/Inventory/Codeunits/ShpfyFreeInventory.Codeunit.al b/Apps/W1/Shopify/app/src/Inventory/Codeunits/ShpfyFreeInventory.Codeunit.al new file mode 100644 index 0000000000..47032f79f7 --- /dev/null +++ b/Apps/W1/Shopify/app/src/Inventory/Codeunits/ShpfyFreeInventory.Codeunit.al @@ -0,0 +1,12 @@ +namespace Microsoft.Integration.Shopify; + +using Microsoft.Inventory.Item; + +codeunit 30283 "Shpfy Free Inventory" implements "Shpfy Stock Calculation" +{ + procedure GetStock(var Item: Record Item): decimal; + begin + Item.CalcFields(Inventory, "Reserved Qty. on Inventory"); + exit(Item.Inventory - Item."Reserved Qty. on Inventory"); + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Inventory/Enums/ShpfyStockCalculation.Enum.al b/Apps/W1/Shopify/app/src/Inventory/Enums/ShpfyStockCalculation.Enum.al index 8ff50d0e02..6a97b78115 100644 --- a/Apps/W1/Shopify/app/src/Inventory/Enums/ShpfyStockCalculation.Enum.al +++ b/Apps/W1/Shopify/app/src/Inventory/Enums/ShpfyStockCalculation.Enum.al @@ -22,5 +22,11 @@ enum 30135 "Shpfy Stock Calculation" implements "Shpfy Stock Calculation", "Shpf Implementation = "Shpfy Stock Calculation" = "Shpfy Balance Today", "Shpfy IStock Available" = "Shpfy Can Have Stock"; } + value(2; "Non-reserved Inventory") + { + Caption = 'Free Inventory (not reserved)'; + Implementation = "Shpfy Stock Calculation" = "Shpfy Free Inventory", + "Shpfy IStock Available" = "Shpfy Can Have Stock"; + } } diff --git a/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyCreateSalesDocRefund.Codeunit.al b/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyCreateSalesDocRefund.Codeunit.al index 2ace5c6793..4c05820e44 100644 --- a/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyCreateSalesDocRefund.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyCreateSalesDocRefund.Codeunit.al @@ -36,17 +36,14 @@ codeunit 30246 "Shpfy Create Sales Doc. Refund" var RefundHeader: Record "Shpfy Refund Header"; ReleaseSalesDocument: Codeunit "Release Sales Document"; - IsHandled: Boolean; begin if RefundHeader.Get(RefundId) then begin Shop.Get(RefundHeader."Shop Code"); if DoCreateSalesHeader(RefundHeader, SalesDocumentType, SalesHeader) then begin CreateSalesLines(RefundHeader, SalesHeader); - RefundProcessEvents.OnBeforeReleaseSalesHeader(SalesHeader, RefundHeader, IsHandled); RefundHeader.Get(RefundHeader."Refund Id"); - if not IsHandled then - ReleaseSalesDocument.Run(SalesHeader); - RefundProcessEvents.OnAfterReleaseSalesHeader(SalesHeader, RefundHeader); + ReleaseSalesDocument.Run(SalesHeader); + RefundProcessEvents.OnAfterProcessSalesDocument(RefundHeader, SalesHeader); end; end; end; diff --git a/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyRefundProcessEvents.Codeunit.al b/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyRefundProcessEvents.Codeunit.al index e134218f72..5b16f3a27b 100644 --- a/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyRefundProcessEvents.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Order Return Refund Processing/Codeunits/ShpfyRefundProcessEvents.Codeunit.al @@ -4,24 +4,23 @@ using Microsoft.Sales.Document; codeunit 30247 "Shpfy Refund Process Events" { - Access = Internal; - - [InternalEvent(false)] - internal procedure OnBeforeReleaseSalesHeader(var SalesHeader: Record "Sales Header"; RefundHeader: Record "Shpfy Refund Header"; var Handled: Boolean) - begin - end; - - [InternalEvent(false)] - internal procedure OnAfterReleaseSalesHeader(var SalesHeader: Record "Sales Header"; RefundHeader: Record "Shpfy Refund Header") - begin - end; - - [InternalEvent(false)] + [IntegrationEvent(false, false)] + /// + /// Raised Before Create Sales Header. + /// + /// Parameter of type Record "Shopify Refund Header". + /// Parameter of type Record "Sales Header". + /// Parameter of type Boolean. internal procedure OnBeforeCreateSalesHeader(RefundHeader: Record "Shpfy Refund Header"; var SalesHeader: Record "Sales Header"; var Handled: Boolean) begin end; - [InternalEvent(false)] + [IntegrationEvent(false, false)] + /// + /// Raised After Create Sales Header. + /// + /// Parameter of type Record "Shopify Refund Header". + /// Parameter of type Record "Sales Header". internal procedure OnAfterCreateSalesHeader(RefundHeader: Record "Shpfy Refund Header"; var SalesHeader: Record "Sales Header") begin end; @@ -31,7 +30,14 @@ codeunit 30247 "Shpfy Refund Process Events" begin end; - [InternalEvent(false)] + [IntegrationEvent(false, false)] + /// + /// Raised After Create Item Sales Line. + /// + /// Parameter of type Record "Shopify Refund Header". + /// Parameter of type Record "Shopify Refund Line". + /// Parameter of type Record "Sales Header". + /// Parameter of type Record "Sales Line". internal procedure OnAfterCreateItemSalesLine(RefundHeader: Record "Shpfy Refund Header"; RefundLine: Record "Shpfy Refund Line"; SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line") begin end; @@ -46,4 +52,13 @@ codeunit 30247 "Shpfy Refund Process Events" begin end; + [IntegrationEvent(false, false)] + /// + /// Raised After Process Sales Document. + /// + /// Parameter of type Record "Shopify Refund Header". + /// Parameter of type Record "Sales Header". + internal procedure OnAfterProcessSalesDocument(RefundHeader: Record "Shpfy Refund Header"; var SalesHeader: Record "Sales Header") + begin + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyOrdersAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyOrdersAPI.Codeunit.al index a251e1896b..196b013600 100644 --- a/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyOrdersAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyOrdersAPI.Codeunit.al @@ -42,7 +42,7 @@ codeunit 30165 "Shpfy Orders API" Clear(OrdersToImport); LastSyncTime := ShopifyShop.GetLastSyncTime("Shpfy Synchronization Type"::Orders); Parameters.Add('Time', Format(LastSyncTime, 0, 9)); - if LastSyncTime = 0DT then + if LastSyncTime = Shop.GetEmptySyncTime() then GraphQLType := "Shpfy GraphQL Type"::GetOpenOrdersToImport else GraphQLType := "Shpfy GraphQL Type"::GetOrdersToImport; diff --git a/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyProcessOrder.Codeunit.al b/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyProcessOrder.Codeunit.al index 2b1b6368a5..7718bfaa31 100644 --- a/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyProcessOrder.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Order handling/Codeunits/ShpfyProcessOrder.Codeunit.al @@ -109,7 +109,7 @@ codeunit 30166 "Shpfy Process Order" SalesHeader."Ship-to Post Code" := CopyStr(ShopifyOrderHeader."Ship-to Post Code", 1, MaxStrLen(SalesHeader."Ship-to Post Code")); SalesHeader."Ship-to County" := CopyStr(ShopifyOrderHeader."Ship-to County", 1, MaxStrLen(SalesHeader."Ship-to County")); SalesHeader."Ship-to Contact" := ShopifyOrderHeader."Ship-to Contact Name"; - SalesHeader.Validate("Prices Including VAT", ShopifyOrderHeader."VAT Included" and ProductPriceCalc.PricesIncludingVAT(ShopifyOrderHeader."Shop Code")); + SalesHeader.Validate("Prices Including VAT", ShopifyOrderHeader."VAT Included" and ProductPriceCalc.DoPricesIncludingVAT(ShopifyOrderHeader."Shop Code")); SalesHeader.Validate("Currency Code", ShopifyShop."Currency Code"); SalesHeader."Shpfy Order Id" := ShopifyOrderHeader."Shopify Order Id"; SalesHeader."Shpfy Order No." := ShopifyOrderHeader."Shopify Order No."; diff --git a/Apps/W1/Shopify/app/src/Order handling/Pages/ShpfyOrder.Page.al b/Apps/W1/Shopify/app/src/Order handling/Pages/ShpfyOrder.Page.al index c3cab56e82..5ba38157d8 100644 --- a/Apps/W1/Shopify/app/src/Order handling/Pages/ShpfyOrder.Page.al +++ b/Apps/W1/Shopify/app/src/Order handling/Pages/ShpfyOrder.Page.al @@ -1,6 +1,8 @@ namespace Microsoft.Integration.Shopify; +#if not CLEAN22 using System.IO; +#endif using Microsoft.Inventory.Item; using Microsoft.Sales.Customer; using Microsoft.Sales.Document; diff --git a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyAdmin.PermissionSet.al b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyAdmin.PermissionSet.al index 7e2e317238..2de115f3e3 100644 --- a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyAdmin.PermissionSet.al +++ b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyAdmin.PermissionSet.al @@ -11,14 +11,6 @@ permissionset 30103 "Shpfy - Admin" IncludedPermissionSets = "Shpfy - Edit"; -#if not CLEAN21 -#pragma warning disable AL0432 Permissions = - tabledata "Shpfy Registered Store" = IMD, tabledata "Shpfy Registered Store New" = IMD; -#pragma warning restore AL0432 -#else - Permissions = - tabledata "Shpfy Registered Store New" = IMD; -#endif } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyEdit.PermissionSet.al b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyEdit.PermissionSet.al index 9b38552786..8cc2ae3bcd 100644 --- a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyEdit.PermissionSet.al +++ b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyEdit.PermissionSet.al @@ -14,6 +14,10 @@ permissionset 30102 "Shpfy - Edit" Permissions = tabledata "Shpfy Bulk Operation" = IMD, + tabledata "Shpfy Catalog" = IMD, + tabledata "Shpfy Catalog Price" = IMD, + tabledata "Shpfy Company" = IMD, + tabledata "Shpfy Company Location" = IMD, tabledata "Shpfy Credit Card Company" = IMD, tabledata "Shpfy Cue" = IMD, tabledata "Shpfy Customer" = IMD, @@ -51,11 +55,6 @@ permissionset 30102 "Shpfy - Edit" tabledata "Shpfy Product" = IMD, #if not CLEAN22 tabledata "Shpfy Province" = IMD, -#endif -#if not CLEAN21 -#pragma warning disable AL0432 - tabledata "Shpfy Registered Store" = imd, -#pragma warning restore AL0432 #endif tabledata "Shpfy Registered Store New" = imd, tabledata "Shpfy Shipment Method Mapping" = IMD, diff --git a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyIndirectPerm.PermissionSet.al b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyIndirectPerm.PermissionSet.al index a02571f555..40cbab47b7 100644 --- a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyIndirectPerm.PermissionSet.al +++ b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyIndirectPerm.PermissionSet.al @@ -1,6 +1,8 @@ namespace Microsoft.Integration.Shopify; +#if not CLEAN22 using System.IO; +#endif using Microsoft.Foundation.Address; using Microsoft.Foundation.ExtendedText; using Microsoft.Foundation.Shipping; diff --git a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al index aa983433d1..7893bb017d 100644 --- a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al +++ b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al @@ -11,6 +11,10 @@ permissionset 30104 "Shpfy - Objects" Permissions = table "Shpfy Bulk Operation" = X, + table "Shpfy Catalog" = X, + table "Shpfy Catalog Price" = X, + table "Shpfy Company" = X, + table "Shpfy Company Location" = X, table "Shpfy Credit Card Company" = X, table "Shpfy Cue" = X, table "Shpfy Customer" = X, @@ -47,11 +51,6 @@ permissionset 30104 "Shpfy - Objects" table "Shpfy Product" = X, #if not CLEAN22 table "Shpfy Province" = X, -#endif -#if not CLEAN21 -#pragma warning disable AL0432 - table "Shpfy Registered Store" = X, -#pragma warning restore AL0432 #endif table "Shpfy Registered Store New" = X, table "Shpfy Shipment Method Mapping" = X, @@ -74,9 +73,12 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy Bulk Operation Mgt." = X, codeunit "Shpfy Bulk UpdateProductImage" = X, codeunit "Shpfy Bulk UpdateProductPrice" = X, + codeunit "Shpfy Catalog API" = X, codeunit "Shpfy Checklist Item List" = X, codeunit "Shpfy Communication Events" = X, codeunit "Shpfy Communication Mgt." = X, + codeunit "Shpfy Company API" = X, + codeunit "Shpfy Company Export" = X, codeunit "Shpfy County Code" = X, codeunit "Shpfy County Name" = X, codeunit "Shpfy County From Json Code" = X, @@ -106,9 +108,16 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy GQL BulkOperation" = X, codeunit "Shpfy GQL BulkOperations" = X, codeunit "Shpfy GQL BulkOpMutation" = X, + codeunit "Shpfy GQL Catalogs" = X, + codeunit "Shpfy GQL CatalogPrices" = X, codeunit "Shpfy GQL CloseOrder" = X, + codeunit "Shpfy GQL CompanyAssignContact" = X, + codeunit "Shpfy GQL CompanyAssignMainCon" = X, + codeunit "Shpfy GQL CompanyAssignConRole" = X, + codeunit "Shpfy GQL CreateCatalog" = X, codeunit "Shpfy GQL CreateFulfillment" = X, codeunit "Shpfy GQL CreateFulfillmentSvc" = X, + codeunit "Shpfy GQL CreatePublication" = X, codeunit "Shpfy GQL CreateUploadUrl" = X, codeunit "Shpfy GQL Customer" = X, codeunit "Shpfy GQL CustomerIds" = X, @@ -127,6 +136,8 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy GQL NextInvEntries" = X, codeunit "Shpfy GQL NextFFOrdersFromOrd" = X, codeunit "Shpfy GQL NextFulfillmentLines" = X, + codeunit "Shpfy GQL NextCatalogs" = X, + codeunit "Shpfy GQL NextCatalogPrices" = X, codeunit "Shpfy GQL NextOpenOrdToImport" = X, codeunit "Shpfy GQL NextOrderLines" = X, codeunit "Shpfy GQL NextOrdersToImport" = X, @@ -169,6 +180,7 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy GQL ProductIds" = X, codeunit "Shpfy GQL ProductImages" = X, codeunit "Shpfy GQL ShipmentLines" = X, + codeunit "Shpfy GQL UpdateCatalogPrices" = X, codeunit "Shpfy GQL UpdateOrderAttr" = X, codeunit "Shpfy GQL UpdateProductImage" = X, codeunit "Shpfy GQL AllCustomerIds" = X, @@ -190,7 +202,9 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy Hash" = X, codeunit "Shpfy Import Order" = X, codeunit "Shpfy Initial Import" = X, +#if not CLEAN24 codeunit "Shpfy Install Mgt." = X, +#endif codeunit "Shpfy Inventory API" = X, codeunit "Shpfy Inventory Events" = X, codeunit "Shpfy Item Reference Mgt." = X, @@ -222,6 +236,8 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy Shipping Methods" = X, codeunit "Shpfy Shop Mgt." = X, codeunit "Shpfy Suppress Asm Warning" = X, + codeunit "Shpfy Sync Catalog Prices" = X, + codeunit "Shpfy Sync Companies" = X, codeunit "Shpfy Sync Countries" = X, codeunit "Shpfy Sync Customers" = X, codeunit "Shpfy Sync Inventory" = X, @@ -244,6 +260,9 @@ permissionset 30104 "Shpfy - Objects" page "Shpfy Activities" = X, page "Shpfy Authentication" = X, page "Shpfy Bulk Operations" = X, + page "Shpfy Catalogs" = X, + page "Shpfy Companies" = X, + page "Shpfy Company Card" = X, page "Shpfy Connector Guide" = X, page "Shpfy Credit Card Companies" = X, page "Shpfy Customer Adresses" = X, @@ -260,6 +279,7 @@ permissionset 30104 "Shpfy - Objects" page "Shpfy Initial Import" = X, page "Shpfy Log Entries" = X, page "Shpfy Log Entry Card" = X, + page "Shpfy Main Contact Factbox" = X, page "Shpfy Order" = X, page "Shpfy Order Attributes" = X, page "Shpfy Order Fulfillments" = X, @@ -294,9 +314,14 @@ permissionset 30104 "Shpfy - Objects" page "Shpfy Return Lines" = X, page "Shpfy Returns" = X, query "Shpfy Shipment Location" = X, + report "Shpfy Add Company To Shopify" = X, + report "Shpfy Add Customer To Shopify" = X, report "Shpfy Add Item to Shopify" = X, report "Shpfy Create Location Filter" = X, report "Shpfy Create Sales Orders" = X, + report "Shpfy Sync Catalogs" = X, + report "Shpfy Sync Catalog Prices" = X, + report "Shpfy Sync Companies" = X, report "Shpfy Sync Countries" = X, report "Shpfy Sync Customers" = X, report "Shpfy Sync Images" = X, diff --git a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyRead.PermissionSet.al b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyRead.PermissionSet.al index 556fdaaf7b..6d24882bd4 100644 --- a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyRead.PermissionSet.al +++ b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyRead.PermissionSet.al @@ -14,6 +14,10 @@ permissionset 30100 "Shpfy - Read" Permissions = tabledata "Shpfy Bulk Operation" = R, + tabledata "Shpfy Catalog" = R, + tabledata "Shpfy Catalog Price" = R, + tabledata "Shpfy Company" = R, + tabledata "Shpfy Company Location" = R, tabledata "Shpfy Credit Card Company" = R, tabledata "Shpfy Cue" = R, tabledata "Shpfy Customer" = R, @@ -47,11 +51,6 @@ permissionset 30100 "Shpfy - Read" tabledata "Shpfy Product" = R, #if not CLEAN22 tabledata "Shpfy Province" = R, -#endif -#if not CLEAN21 -#pragma warning disable AL0432 - tabledata "Shpfy Registered Store" = R, -#pragma warning restore AL0432 #endif tabledata "Shpfy Registered Store New" = R, tabledata "Shpfy Refund Header" = R, diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateItem.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateItem.Codeunit.al index d2d28666d6..205410b083 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateItem.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateItem.Codeunit.al @@ -1,8 +1,10 @@ namespace Microsoft.Integration.Shopify; -using System.IO; using Microsoft.Inventory.Item; +#if not CLEAN22 +using System.IO; using Microsoft.Finance.Dimension; +#endif using Microsoft.Foundation.UOM; using Microsoft.Purchases.Vendor; using Microsoft.Inventory.Item.Catalog; @@ -58,7 +60,10 @@ codeunit 30171 "Shpfy Create Item" case Shop."SKU Mapping" of Shop."SKU Mapping"::"Item No. + Variant Code", Shop."SKU Mapping"::"Variant Code": - CreateItemVariant(ShopifyProduct, Rec, Item); + begin + CreateItemVariant(ShopifyProduct, Rec, Item); + CreateItemUnitOfMeasure(Rec, Item); + end; Shop."SKU Mapping"::"Item No.": if IsNullGuid(Rec."Item SystemId") or (not Item.GetBySystemId(Rec."Item SystemId")) then if ExistItem(ShopifyProduct, Rec, Item) then begin @@ -231,7 +236,6 @@ codeunit 30171 "Shpfy Create Item" DimensionsTemplate: Record "Dimensions Template"; #endif ItemCategory: Record "Item Category"; - ItemUnitofMeasure: Record "Item Unit of Measure"; ItemVariant: Record "Item Variant"; Vendor: Record Vendor; #if not CLEAN22 @@ -276,28 +280,8 @@ codeunit 30171 "Shpfy Create Item" #endif Item.Description := ShopifyProduct.Title; - case ShopifyVariant."UoM Option Id" of - 1: - Code := ShopifyVariant."Option 1 Value"; - 2: - Code := ShopifyVariant."Option 2 Value"; - 3: - Code := ShopifyVariant."Option 3 Value"; - end; - if Code <> '' then begin - Code := FindUoMCode(ShopifyVariant); - if Code <> '' then begin - ItemUnitofMeasure.SetRange("Item No.", Item."No."); - ItemUnitofMeasure.SetRange(Code, Code); - if ItemUnitofMeasure.IsEmpty() then begin - Clear(ItemUnitofMeasure); - ItemUnitofMeasure."Item No." := Item."No."; - ItemUnitofMeasure.Code := CopyStr(Code, 1, MaxStrLen(ItemUnitofMeasure.Code)); - ItemUnitofMeasure."Qty. per Unit of Measure" := 1; - ItemUnitofMeasure.Insert(); - end; - end; - end; + CreateItemUnitOfMeasure(ShopifyVariant, Item); + if ShopifyVariant."Unit Cost" <> 0 then Item.Validate("Unit Cost", ShopifyVariant."Unit Cost"); @@ -329,6 +313,35 @@ codeunit 30171 "Shpfy Create Item" CreateReferences(ShopifyProduct, ShopifyVariant, Item, ItemVariant); end; + local procedure CreateItemUnitOfMeasure(ShopifyVariant: Record "Shpfy Variant"; Item: Record Item) + var + ItemUnitofMeasure: Record "Item Unit of Measure"; + Code: Text; + begin + case ShopifyVariant."UoM Option Id" of + 1: + Code := ShopifyVariant."Option 1 Value"; + 2: + Code := ShopifyVariant."Option 2 Value"; + 3: + Code := ShopifyVariant."Option 3 Value"; + end; + if Code <> '' then begin + Code := FindUoMCode(ShopifyVariant); + if Code <> '' then begin + ItemUnitofMeasure.SetRange("Item No.", Item."No."); + ItemUnitofMeasure.SetRange(Code, Code); + if ItemUnitofMeasure.IsEmpty() then begin + Clear(ItemUnitofMeasure); + ItemUnitofMeasure."Item No." := Item."No."; + ItemUnitofMeasure.Code := CopyStr(Code, 1, MaxStrLen(ItemUnitofMeasure.Code)); + ItemUnitofMeasure."Qty. per Unit of Measure" := 1; + ItemUnitofMeasure.Insert(); + end; + end; + end; + end; + local procedure CreateItemFromTemplate(var Item: Record Item; ItemTemplCode: Code[20]; ItemNo: Code[20]) var ItemTempl: Record "Item Templ."; diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al index aa458e8f26..307e45a4ea 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al @@ -70,6 +70,8 @@ codeunit 30174 "Shpfy Create Product" ICreateProductStatus := Shop."Status for Created Products"; TempShopifyProduct.Status := ICreateProductStatus.GetStatus(Item); ItemVariant.SetRange("Item No.", Item."No."); + ItemVariant.SetRange(Blocked, false); + ItemVariant.SetRange("Sales Blocked", false); if ItemVariant.FindSet(false) then repeat TempShopifyProduct."Has Variants" := true; @@ -284,4 +286,15 @@ codeunit 30174 "Shpfy Create Product" begin exit(ProductId); end; + + internal procedure ChangeDefaultProductLocation(ErrorInfo: ErrorInfo) + var + ShpfyShop: Record "Shpfy Shop"; + ShopLocation: Record "Shpfy Shop Location"; + begin + if ShpfyShop.Get(ErrorInfo.RecordId) then begin + ShopLocation.SetRange("Shop Code", ShpfyShop.Code); + Page.Run(Page::"Shpfy Shop Locations Mapping", ShopLocation); + end; + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyItemReferenceMgt.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyItemReferenceMgt.Codeunit.al index 7322937fb7..72af11b076 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyItemReferenceMgt.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyItemReferenceMgt.Codeunit.al @@ -53,6 +53,8 @@ codeunit 30175 "Shpfy Item Reference Mgt." var ItemReference: Record "Item Reference"; begin + if ReferenceNo = '' then + exit(false); ItemReference.SetRange("Reference Type", ReferenceType); ItemReference.SetRange("Reference No.", ReferenceNo); if UnitOfMeasure <> '' then diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al index e4bbe6fbed..76d7763f98 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al @@ -78,11 +78,6 @@ codeunit 30176 "Shpfy Product API" GraphQuery.Append(', published: true'); GraphQuery.Append(', variants: {inventoryPolicy: '); GraphQuery.Append(ShopifyVariant."Inventory Policy".Names.Get(ShopifyVariant."Inventory Policy".Ordinals.IndexOf(ShopifyVariant."Inventory Policy".AsInteger()))); - if ShopifyVariant.Title <> '' then begin - GraphQuery.Append(', title: \"'); - GraphQuery.Append(CommunicationMgt.EscapeGrapQLData(ShopifyVariant.Title)); - GraphQuery.Append('\"'); - end; if ShopifyVariant.Barcode <> '' then begin GraphQuery.Append(', barcode: \"'); GraphQuery.Append(CommunicationMgt.EscapeGrapQLData(ShopifyVariant.Barcode)); @@ -376,10 +371,7 @@ codeunit 30176 "Shpfy Product API" Clear(ProductIds); GraphQLType := GraphQLType::GetProductIds; LastSyncTime := Shop.GetLastSyncTime("Shpfy Synchronization Type"::Products); - if LastSyncTime > 0DT then - Parameters.Add('Time', Format(LastSyncTime, 0, 9)) - else - Parameters.Add('Time', ''); + Parameters.Add('Time', Format(LastSyncTime, 0, 9)); repeat JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType, Parameters); if JsonHelper.GetJsonArray(JResponse, JProducts, 'data.products.edges') then begin diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al index 557920dee7..9f738ec9aa 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al @@ -152,7 +152,7 @@ codeunit 30178 "Shpfy Product Export" Result.Append(Translator.GetAttributeTitle(Shop."Language Code")); Result.Append(' '); Result.Append(' '); - Repeat + repeat if ItemAttribute.Get(ItemAttributeValueMapping."Item Attribute ID") and (not ItemAttribute.Blocked) then begin Result.Append(' '); Result.Append('
'); @@ -563,7 +563,7 @@ codeunit 30178 "Shpfy Product Export" if not IsNullGuid((ShopifyVariant."Item Variant SystemId")) then if ItemVariant.GetBySystemId(ShopifyVariant."Item Variant SystemId") then; Clear(ItemUnitofMeasure); - if Shop."UoM as Variant" then + if Shop."UoM as Variant" then begin case ShopifyVariant."UoM Option Id" of 1: if ItemUnitofMeasure.Get(Item."No.", ShopifyVariant."Option 1 Value") then @@ -575,7 +575,9 @@ codeunit 30178 "Shpfy Product Export" if ItemUnitofMeasure.Get(Item."No.", ShopifyVariant."Option 3 Value") then ; end; - UpdateProductVariant(ShopifyVariant, Item, ItemVariant, ItemUnitofMeasure); + UpdateProductVariant(ShopifyVariant, Item, ItemVariant, ItemUnitofMeasure); + end else + UpdateProductVariant(ShopifyVariant, Item, ItemVariant); end; until ShopifyVariant.Next() = 0; ItemVariant.SetRange("Item No.", Item."No."); diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductPriceCalc.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductPriceCalc.Codeunit.al index 3aa8112b6c..7c5713ba92 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductPriceCalc.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductPriceCalc.Codeunit.al @@ -1,6 +1,8 @@ namespace Microsoft.Integration.Shopify; +#if not CLEAN22 using System.IO; +#endif using Microsoft.Inventory.Item; using Microsoft.Sales.Document; using Microsoft.Sales.Customer; @@ -12,7 +14,7 @@ using Microsoft.Finance.VAT.Setup; codeunit 30182 "Shpfy Product Price Calc." { Access = Internal; - EventSubscriberInstance = Manual; + SingleInstance = true; Permissions = #if not CLEAN22 tabledata "Config. Template Header" = r, @@ -23,12 +25,22 @@ codeunit 30182 "Shpfy Product Price Calc." tabledata "Sales Header" = rimd, tabledata "Sales Line" = rmid, tabledata "VAT Posting Setup" = r; - SingleInstance = true; var TempSalesHeader: Record "Sales Header" temporary; Shop: Record "Shpfy Shop"; + Catalog: Record "Shpfy Catalog"; ProductEvents: Codeunit "Shpfy Product Events"; + GenBusPostingGroup: Code[20]; + VATBusPostingGroup: Code[20]; + TaxAreaCode: Code[20]; + TaxLiable: Boolean; + VATCountryRegionCode: Code[10]; + CustomerPriceGroup: Code[10]; + CustomerDiscGroup: Code[20]; + CustomerPostingGroup: Code[20]; + PricesIncludingVAT: Boolean; + AllowLineDisc: Boolean; /// @@ -91,76 +103,116 @@ codeunit 30182 "Shpfy Product Price Calc." TempSalesHeader."No." := Shop.Code; TempSalesHeader."Sell-to Customer No." := Shop.Code; TempSalesHeader."Bill-to Customer No." := Shop.Code; - TempSalesHeader."Gen. Bus. Posting Group" := Shop."Gen. Bus. Posting Group"; - TempSalesHeader."VAT Bus. Posting Group" := Shop."VAT Bus. Posting Group"; - TempSalesHeader."Tax Area Code" := Shop."Tax Area Code"; - TempSalesHeader."Tax Liable" := Shop."Tax Liable"; - TempSalesHeader."VAT Country/Region Code" := Shop."VAT Country/Region Code"; - TempSalesHeader."Customer Price Group" := Shop."Customer Price Group"; - TempSalesHeader."Customer Disc. Group" := Shop."Customer Discount Group"; - TempSalesHeader."Customer Posting Group" := Shop."Customer Posting Group"; - TempSalesHeader."Prices Including VAT" := Shop."Prices Including VAT"; - TempSalesHeader."Allow Line Disc." := Shop."Allow Line Disc."; + TempSalesHeader."Gen. Bus. Posting Group" := GenBusPostingGroup; + TempSalesHeader."VAT Bus. Posting Group" := VATBusPostingGroup; + TempSalesHeader."Tax Area Code" := TaxAreaCode; + TempSalesHeader."Tax Liable" := TaxLiable; + TempSalesHeader."VAT Country/Region Code" := VATCountryRegionCode; + TempSalesHeader."Customer Price Group" := CustomerPriceGroup; + TempSalesHeader."Customer Disc. Group" := CustomerDiscGroup; + TempSalesHeader."Customer Posting Group" := CustomerPostingGroup; + TempSalesHeader."Prices Including VAT" := PricesIncludingVAT; + TempSalesHeader."Allow Line Disc." := AllowLineDisc; TempSalesHeader.Validate("Document Date", WorkDate()); TempSalesHeader.Validate("Order Date", WorkDate()); TempSalesHeader.Validate("Currency Code", Shop."Currency Code"); TempSalesHeader.Insert(false); end; - internal procedure PricesIncludingVAT(ShopCode: Code[20]): Boolean + internal procedure DoPricesIncludingVAT(ShopCode: Code[20]): Boolean begin if Shop.Code <> ShopCode then Shop.Get(ShopCode); exit(Shop."Prices Including VAT"); end; + internal procedure GetCurrencyCode(): Code[10] + begin + exit(Shop."Currency Code"); + end; + + internal procedure GetAllowLineDisc(): Boolean + begin + exit(AllowLineDisc); + end; + + internal procedure GetPricesIncludingVAT(): Boolean + begin + exit(PricesIncludingVAT); + end; + + internal procedure GetVATBusPostingGroup(): Code[20] + begin + exit(VATBusPostingGroup); + end; + /// /// Set Shop. /// - /// Parameter of type Code[20]. - internal procedure SetShop(Code: Code[20]) - var - ShopifyShop: Record "Shpfy Shop"; + /// Parameter of type Record "Shopify Shop". + internal procedure SetShop(ShopifyShop: Record "Shpfy Shop") begin - ShopifyShop.Get(Code); if (Shop.Code <> ShopifyShop.Code) or (Shop.SystemModifiedAt < ShopifyShop.SystemModifiedAt) then begin Shop := ShopifyShop; + SetParameters(Shop); Clear(TempSalesHeader); TempSalesHeader.DeleteAll(); CreateTempSalesHeader(); end; end; - /// - /// Set Shop. - /// - /// Parameter of type Record "Shopify Shop". - internal procedure SetShop(ShopifyShop: Record "Shpfy Shop") + internal procedure SetShopAndCatalog(ShopifyShop: Record "Shpfy Shop"; ShopifyCatalog: Record "Shpfy Catalog") begin - SetShop(ShopifyShop.Code); - end; + if (Shop.Code <> ShopifyShop.Code) or (Shop.SystemModifiedAt < ShopifyShop.SystemModifiedAt) then + Shop := ShopifyShop; - /// - /// Set Shop. - /// - /// Parameter of type Record "Shopify Shop". - internal procedure GetShop(Var ShopifyShopCode: Code[20]) - begin - ShopifyShopCode := Shop.Code; - end; + if (Catalog.Id <> ShopifyCatalog.Id) or (Catalog.SystemModifiedAt < ShopifyCatalog.SystemModifiedAt) then + Catalog := ShopifyCatalog; + SetParameters(Catalog); + Clear(TempSalesHeader); + TempSalesHeader.DeleteAll(); + CreateTempSalesHeader(); + end; - [EventSubscriber(ObjectType::Table, Database::"Sales Line", 'OnBeforeGetSalesHeader', '', true, false)] - local procedure GetHeader(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var IsHanded: Boolean) + local procedure SetParameters(SourceRec: Variant) var - CustomerNo: Code[20]; + ShopifyShop: Record "Shpfy Shop"; + ShopifyCatalog: Record "Shpfy Catalog"; + SourceRecordRef: RecordRef; begin - if SalesLine."System-Created Entry" and (SalesLine."Document Type" = SalesLine."Document Type"::Quote) then begin - CustomerNo := SalesLine."Sell-to Customer No."; - if CustomerNo = '' then - CustomerNo := SalesHeader."Sell-to Customer No."; - SalesHeader := TempSalesHeader; - IsHanded := true; + if SourceRec.IsRecord() then + SourceRecordRef.GetTable(SourceRec); + + case SourceRecordRef.Number() of + Database::"Shpfy Shop": + begin + SourceRecordRef.SetTable(ShopifyShop); + GenBusPostingGroup := ShopifyShop."Gen. Bus. Posting Group"; + VATBusPostingGroup := ShopifyShop."VAT Bus. Posting Group"; + TaxAreaCode := ShopifyShop."Tax Area Code"; + TaxLiable := ShopifyShop."Tax Liable"; + VATCountryRegionCode := ShopifyShop."VAT Country/Region Code"; + CustomerPriceGroup := ShopifyShop."Customer Price Group"; + CustomerDiscGroup := ShopifyShop."Customer Discount Group"; + CustomerPostingGroup := ShopifyShop."Customer Posting Group"; + PricesIncludingVAT := ShopifyShop."Prices Including VAT"; + AllowLineDisc := ShopifyShop."Allow Line Disc."; + end; + Database::"Shpfy Catalog": + begin + SourceRecordRef.SetTable(ShopifyCatalog); + GenBusPostingGroup := ShopifyCatalog."Gen. Bus. Posting Group"; + VATBusPostingGroup := ShopifyCatalog."VAT Bus. Posting Group"; + TaxAreaCode := ShopifyCatalog."Tax Area Code"; + TaxLiable := ShopifyCatalog."Tax Liable"; + VATCountryRegionCode := ShopifyCatalog."VAT Country/Region Code"; + CustomerPriceGroup := ShopifyCatalog."Customer Price Group"; + CustomerDiscGroup := ShopifyCatalog."Customer Discount Group"; + CustomerPostingGroup := ShopifyCatalog."Customer Posting Group"; + PricesIncludingVAT := ShopifyCatalog."Prices Including VAT"; + AllowLineDisc := ShopifyCatalog."Allow Line Disc."; + end; end; end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfySyncProductImage.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfySyncProductImage.Codeunit.al index 8e035712c3..e572b49e66 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfySyncProductImage.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfySyncProductImage.Codeunit.al @@ -69,34 +69,43 @@ codeunit 30184 "Shpfy Sync Product Image" VariantApi: Codeunit "Shpfy Variant API"; ImageId: BigInteger; Id: BigInteger; - Images: Dictionary of [BigInteger, Dictionary of [BigInteger, Text]]; - ImageData: Dictionary of [BigInteger, Text]; + ProductImages: Dictionary of [BigInteger, Dictionary of [BigInteger, Text]]; + ProductImageData: Dictionary of [BigInteger, Text]; + VariantImages: Dictionary of [BigInteger, Dictionary of [BigInteger, Text]]; + VariantImageData: Dictionary of [BigInteger, Text]; begin ProductApi.SetShop(Shop); - ProductApi.RetrieveShopifyProductImages(Images); - foreach Id in Images.Keys do + ProductApi.RetrieveShopifyProductImages(ProductImages); + foreach Id in ProductImages.Keys do if ShopifyProduct.Get(Id) and Item.GetBySystemId(ShopifyProduct."Item SystemId") then begin - ImageData := Images.Get(Id); - foreach ImageId in ImageData.Keys do + ProductImageData := ProductImages.Get(Id); + foreach ImageId in ProductImageData.Keys do if ImageId <> ShopifyProduct."Image Id" then - if UpdateItemImage(Item, ImageData.Get(ImageId)) then begin + if UpdateItemImage(Item, ProductImageData.Get(ImageId)) then begin ShopifyProduct."Image Id" := ImageId; ShopifyProduct.Modify(); end; end; VariantApi.SetShop(Shop); - Clear(Images); - VariantApi.RetrieveShopifyProductVaraintImages(Images); - foreach Id in Images.Keys do + VariantApi.RetrieveShopifyProductVariantImages(VariantImages); + foreach Id in VariantImages.Keys do if ShopifyVariant.Get(Id) and Item.GetBySystemId(ShopifyVariant."Item SystemId") then begin - ImageData := Images.Get(Id); - foreach ImageId in ImageData.Keys do - if ImageId <> ShopifyVariant."Image Id" then - if UpdateItemImage(Item, ImageData.Get(ImageId)) then begin - ShopifyVariant."Image Id" := ImageId; - ShopifyVariant.Modify(); - end; + VariantImageData := VariantImages.Get(Id); + if VariantImageData.Keys.Count > 0 then + foreach ImageId in VariantImageData.Keys do + if ImageId <> ShopifyVariant."Image Id" then + if UpdateItemImage(Item, VariantImageData.Get(ImageId)) then begin + ShopifyVariant."Image Id" := ImageId; + ShopifyVariant.Modify(); + end; + if VariantImageData.Keys.Count = 0 then + if ProductImages.ContainsKey(ShopifyVariant."Product Id") then begin + ProductImageData := ProductImages.Get(ShopifyVariant."Product Id"); + foreach ImageId in ProductImageData.Keys do + if ImageId <> ShopifyProduct."Image Id" then + UpdateItemImage(Item, ProductImageData.Get(ImageId)); + end; end; end; diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyUpdatePriceSource.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyUpdatePriceSource.Codeunit.al index caf70a4340..640571f681 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyUpdatePriceSource.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyUpdatePriceSource.Codeunit.al @@ -11,21 +11,16 @@ codeunit 30272 "Shpfy Update Price Source" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Price Source - Customer", 'OnBeforeGetId', '', true, false)] local procedure GetId(var PriceSource: Record "Price Source"; var IsHandled: Boolean) var - ShpfyShop: Record "Shpfy Shop"; Customer: Record Customer; ShpfyProductPriceCalc: Codeunit "Shpfy Product Price Calc."; - ShpfyShopCode: Code[20]; begin - if Customer.get(PriceSource."Source No.") then + if Customer.Get(PriceSource."Source No.") then exit; - ShpfyProductPriceCalc.GetShop(ShpfyShopCode); - ShpfyShop.get(ShpfyShopCode); - - PriceSource."Currency Code" := ShpfyShop."Currency Code"; - PriceSource."Allow Line Disc." := ShpfyShop."Allow Line Disc."; - PriceSource."Price Includes VAT" := ShpfyShop."Prices Including VAT"; - PriceSource."VAT Bus. Posting Gr. (Price)" := ShpfyShop."VAT Bus. Posting Group"; + PriceSource."Currency Code" := ShpfyProductPriceCalc.GetCurrencyCode(); + PriceSource."Allow Line Disc." := ShpfyProductPriceCalc.GetAllowLineDisc(); + PriceSource."Price Includes VAT" := ShpfyProductPriceCalc.GetPricesIncludingVAT(); + PriceSource."VAT Bus. Posting Gr. (Price)" := ShpfyProductPriceCalc.GetVATBusPostingGroup(); IsHandled := true; end; } diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al index 917c455659..2fed11633b 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al @@ -72,11 +72,6 @@ codeunit 30189 "Shpfy Variant API" GraphQuery.Append('\"'); GraphQuery.Append(', inventoryPolicy: '); GraphQuery.Append(ShopifyVariant."Inventory Policy".Names.Get(ShopifyVariant."Inventory Policy".Ordinals.IndexOf(ShopifyVariant."Inventory Policy".AsInteger()))); - if ShopifyVariant.Title <> '' then begin - GraphQuery.Append(', title: \"'); - GraphQuery.Append(CommunicationMgt.EscapeGrapQLData(ShopifyVariant.Title)); - GraphQuery.Append('\"'); - end; if ShopifyVariant.Barcode <> '' then begin GraphQuery.Append(', barcode: \"'); GraphQuery.Append(CommunicationMgt.EscapeGrapQLData(ShopifyVariant.Barcode)); @@ -220,7 +215,7 @@ codeunit 30189 "Shpfy Variant API" /// Description for RetrieveShopifyProductVaraintImages. /// /// Parameter of type Dictionary of [BigInteger, Dictionary of [BigInteger, Text]]. - internal procedure RetrieveShopifyProductVaraintImages(var ProductVariantImages: Dictionary of [BigInteger, Dictionary of [BigInteger, Text]]) + internal procedure RetrieveShopifyProductVariantImages(var ProductVariantImages: Dictionary of [BigInteger, Dictionary of [BigInteger, Text]]) var Id: BigInteger; ImageData: Dictionary of [BigInteger, Text]; @@ -242,10 +237,11 @@ codeunit 30189 "Shpfy Variant API" Cursor := JsonHelper.GetValueAsText(JItem.AsObject(), 'cursor'); if JsonHelper.GetJsonObject(JItem.AsObject(), JNode, 'node') then begin Id := JsonHelper.GetValueAsBigInteger(JNode, 'legacyResourceId'); - if JsonHelper.GetJsonObject(JNode, JImage, 'image') then begin - GetImageData(JImage, ImageData); - ProductVariantImages.Add(Id, ImageData); - end; + if JsonHelper.GetJsonObject(JNode, JImage, 'image') then + GetImageData(JImage, ImageData) + else + Clear(ImageData); + ProductVariantImages.Add(Id, ImageData); end; end; if Parameters.ContainsKey('After') then @@ -346,6 +342,7 @@ codeunit 30189 "Shpfy Variant API" internal procedure UpdateProductVariant(ShopifyVariant: Record "Shpfy Variant"; xShopifyVariant: Record "Shpfy Variant") var HasChange: Boolean; + TitleChanged: Boolean; JResponse: JsonToken; GraphQuery: TextBuilder; begin @@ -358,12 +355,8 @@ codeunit 30189 "Shpfy Variant API" GraphQuery.Append(', inventoryPolicy: '); GraphQuery.Append(ShopifyVariant."Inventory Policy".Names.Get(ShopifyVariant."Inventory Policy".Ordinals.IndexOf(ShopifyVariant."Inventory Policy".AsInteger()))); end; - if ShopifyVariant.Title <> xShopifyVariant.Title then begin - HasChange := true; - GraphQuery.Append(', title: \"'); - GraphQuery.Append(ShopifyVariant.Title); - GraphQuery.Append('\"'); - end; + if ShopifyVariant.Title <> xShopifyVariant.Title then + TitleChanged := true; if ShopifyVariant.Barcode <> xShopifyVariant.Barcode then begin HasChange := true; GraphQuery.Append(', barcode: \"'); @@ -417,7 +410,9 @@ codeunit 30189 "Shpfy Variant API" ShopifyVariant."Updated At" := JsonHelper.GetValueAsDateTime(JResponse, 'data.productVariantUpdate.productVariant.updatedAt'); if ShopifyVariant."Updated At" > 0DT then ShopifyVariant.Modify(); - end; + end else + if TitleChanged then + ShopifyVariant.Modify(); end; internal procedure UpdateProductPrice(ShopifyVariant: Record "Shpfy Variant"; xShopifyVariant: Record "Shpfy Variant"; var BulkOperationInput: TextBuilder; var GraphQueryList: List of [TextBuilder]; RecordCount: Integer) @@ -556,6 +551,7 @@ codeunit 30189 "Shpfy Variant API" end; end; end; + RecordRef.SetTable(ShopifyVariant); ShopifyVariant."UoM Option Id" := 0; if Shop."UoM as Variant" then case Shop."Option Name for UoM" of @@ -566,7 +562,6 @@ codeunit 30189 "Shpfy Variant API" ShopifyVariant."Option 3 Name": ShopifyVariant."UoM Option Id" := 3; end; - RecordRef.SetTable(ShopifyVariant); ShopifyVariant.Modify(false); if JsonHelper.GetJsonObject(JVariant, JNode, 'inventoryItem') then begin diff --git a/Apps/W1/Shopify/app/src/Products/Pages/ShpfyProductsOverview.Page.al b/Apps/W1/Shopify/app/src/Products/Pages/ShpfyProductsOverview.Page.al index a550309f74..4905f68e73 100644 --- a/Apps/W1/Shopify/app/src/Products/Pages/ShpfyProductsOverview.Page.al +++ b/Apps/W1/Shopify/app/src/Products/Pages/ShpfyProductsOverview.Page.al @@ -23,7 +23,7 @@ page 30143 "Shpfy Products Overview" ApplicationArea = All; ToolTip = 'Specifies the name of the product in Shopify.'; } - field("Shop Code"; "Shop Code") + field("Shop Code"; Rec."Shop Code") { ApplicationArea = All; ToolTip = 'Specifies the name of the shop in Shopify.'; diff --git a/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al b/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al index d956c7b87a..025c64063f 100644 --- a/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al +++ b/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al @@ -18,11 +18,32 @@ report 30106 "Shpfy Add Item to Shopify" RequestFilterFields = "No.", "Item Category Code"; trigger OnPreDataItem() var - NoShopSellectedErr: Label 'You must select a shop to add the items to.'; + Shop: Record "Shpfy Shop"; + ShopLocation: Record "Shpfy Shop Location"; + MissingSKUMappingErrorInfo: ErrorInfo; begin if ShopCode = '' then Error(NoShopSellectedErr); + if Shop.Get(ShopCode) then + if Shop."SKU Mapping" = Shop."SKU Mapping"::" " then begin + ShopLocation.SetRange("Shop Code", ShopCode); + ShopLocation.SetRange("Is Fulfillment Service", true); + ShopLocation.SetRange("Default Product Location", true); + if not ShopLocation.IsEmpty() then begin + MissingSKUMappingErrorInfo.DataClassification := MissingSKUMappingErrorInfo.DataClassification::SystemMetadata; + MissingSKUMappingErrorInfo.ErrorType := MissingSKUMappingErrorInfo.ErrorType::Client; + MissingSKUMappingErrorInfo.Verbosity := MissingSKUMappingErrorInfo.Verbosity::Error; + MissingSKUMappingErrorInfo.Message := MissingSKUMappingErr; + MissingSKUMappingErrorInfo.RecordId(Shop.RecordId()); + MissingSKUMappingErrorInfo.FieldNo(Shop.FieldNo("SKU Mapping")); + MissingSKUMappingErrorInfo.AddNavigationAction(ChangeSKUMappingLbl); + MissingSKUMappingErrorInfo.PageNo(Page::"Shpfy Shop Card"); + MissingSKUMappingErrorInfo.AddAction(ChangeDefaultLocationLbl, Codeunit::"Shpfy Create Product", 'ChangeDefaultProductLocation'); + Error(MissingSKUMappingErrorInfo); + end; + end; + Clear(ShopifyCreateProduct); ShopifyCreateProduct.SetShop(ShopCode); @@ -35,14 +56,16 @@ report 30106 "Shpfy Add Item to Shopify" trigger OnAfterGetRecord() begin - if GuiAllowed then begin - CurrItemNo := Item."No."; - ProcessDialog.Update(); - end; + if not Item.Blocked and not Item."Sales Blocked" then begin + if GuiAllowed then begin + CurrItemNo := Item."No."; + ProcessDialog.Update(); + end; - ShopifyCreateProduct.Run(Item); + ShopifyCreateProduct.Run(Item); - ProductFilter += Format(ShopifyCreateProduct.GetProductId()) + '|'; + ProductFilter += Format(ShopifyCreateProduct.GetProductId()) + '|'; + end; end; trigger OnPostDataItem() @@ -156,10 +179,12 @@ report 30106 "Shpfy Add Item to Shopify" SyncInventoryVisible: Boolean; SyncImagesVisible: Boolean; ProcessMsg: Label 'Adding item #1####################', Comment = '#1 = Item no.'; + NoShopSellectedErr: Label 'You must select a shop to add the items to.'; ProcessDialog: Dialog; ProductFilter: Text; - - + MissingSKUMappingErr: Label 'You selected Business Central Fullment Services as default location. Inventory is stocked at Business Central Fulfilment Services for created products. This setting requires SKU field in the products.'; + ChangeDefaultLocationLbl: Label 'Change default location'; + ChangeSKUMappingLbl: Label 'Change SKU mapping'; /// /// Set Shop. diff --git a/Apps/W1/Shopify/app/src/Shipping/Page Extensions/ShpfySalesShipmentUpdate.PageExt.al b/Apps/W1/Shopify/app/src/Shipping/Page Extensions/ShpfySalesShipmentUpdate.PageExt.al index e1f16ad02d..2319da06aa 100644 --- a/Apps/W1/Shopify/app/src/Shipping/Page Extensions/ShpfySalesShipmentUpdate.PageExt.al +++ b/Apps/W1/Shopify/app/src/Shipping/Page Extensions/ShpfySalesShipmentUpdate.PageExt.al @@ -15,12 +15,12 @@ pageextension 30123 "Shpfy Sales Shipment Update" extends "Posted Sales Shipment { ApplicationArea = Basic, Suite; Caption = 'Shopify Fulfillment Id'; - Editable = (Rec."Shpfy Fulfillment Id" = 0) or (Rec."Shpfy Fulfillment Id" = -1); - ToolTip = 'Specifies the Shopify Fulfillment ID.'; + Editable = (Rec."Shpfy Fulfillment Id" = 0) or (Rec."Shpfy Fulfillment Id" = -1) or (Rec."Shpfy Fulfillment Id" = -2); + ToolTip = 'Specifies the Shopify Fulfillment ID. Helps track the status of shipments within Shopify, with 0 indicating readiness to synchronize, -1 indicating an error, and -2 indicating that the shipment is skipped.'; trigger OnValidate() begin - if (Rec."Shpfy Fulfillment Id" <> 0) and (Rec."Shpfy Fulfillment Id" <> -1) then + if not (Rec."Shpfy Fulfillment Id" in [0, -1, -2]) then Error(ValueNotAllowedErr); end; } @@ -35,5 +35,5 @@ pageextension 30123 "Shpfy Sales Shipment Update" extends "Posted Sales Shipment var ShopifyTabVisible: Boolean; - ValueNotAllowedErr: Label 'Allowed values are 0 or -1'; + ValueNotAllowedErr: Label 'Allowed values are 0, -1 or -2. 0 indicates readiness to synchronize, -1 indicates an error, and -2 indicates that the shipment is skipped.'; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Shipping/Reports/ShpfySyncShipmToShopify.Report.al b/Apps/W1/Shopify/app/src/Shipping/Reports/ShpfySyncShipmToShopify.Report.al index f9d94509bd..436a966454 100644 --- a/Apps/W1/Shopify/app/src/Shipping/Reports/ShpfySyncShipmToShopify.Report.al +++ b/Apps/W1/Shopify/app/src/Shipping/Reports/ShpfySyncShipmToShopify.Report.al @@ -11,6 +11,8 @@ report 30109 "Shpfy Sync Shipm. to Shopify" Caption = 'Sync Shipments To Shopify'; ProcessingOnly = true; UsageCategory = Tasks; + Permissions = tabledata "Sales Shipment Line" = r, + tabledata "Sales Shipment Header" = m; dataset { @@ -27,13 +29,21 @@ report 30109 "Shpfy Sync Shipm. to Shopify" trigger OnAfterGetRecord(); var ShopifyOrderHeader: Record "Shpfy Order Header"; + ShipmentLine: Record "Sales Shipment Line"; Shop: Record "Shpfy Shop"; begin - if ShopifyOrderHeader.Get("Sales Shipment Header"."Shpfy Order Id") then begin - Shop.Get(ShopifyOrderHeader."Shop Code"); - FulfillmentOrdersAPI.GetShopifyFulfillmentOrdersFromShopifyOrder(Shop, "Sales Shipment Header"."Shpfy Order Id"); - ExportShipments.CreateShopifyFulfillment("Sales Shipment Header"); - end; + ShipmentLine.SetRange("Document No.", "No."); + ShipmentLine.SetRange(Type, ShipmentLine.Type::"Item"); + ShipmentLine.SetFilter(Quantity, '>0'); + if ShipmentLine.IsEmpty() then begin + "Shpfy Fulfillment Id" := -2; + Modify(); + end else + if ShopifyOrderHeader.Get("Sales Shipment Header"."Shpfy Order Id") then begin + Shop.Get(ShopifyOrderHeader."Shop Code"); + FulfillmentOrdersAPI.GetShopifyFulfillmentOrdersFromShopifyOrder(Shop, "Sales Shipment Header"."Shpfy Order Id"); + ExportShipments.CreateShopifyFulfillment("Sales Shipment Header"); + end; end; } } diff --git a/Apps/W1/Shopify/app/src/Transactions/Codeunits/ShpfyTransactions.Codeunit.al b/Apps/W1/Shopify/app/src/Transactions/Codeunits/ShpfyTransactions.Codeunit.al index e6c30baaf6..9bf30ef463 100644 --- a/Apps/W1/Shopify/app/src/Transactions/Codeunits/ShpfyTransactions.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Transactions/Codeunits/ShpfyTransactions.Codeunit.al @@ -86,6 +86,7 @@ codeunit 30194 "Shpfy Transactions" JsonHelper.GetValueIntoField(JToken, 'source_name', RecordRef, OrderTransaction.FieldNo("Source Name")); JsonHelper.GetValueIntoField(JToken, 'amount', RecordRef, OrderTransaction.FieldNo(Amount)); JsonHelper.GetValueIntoField(JToken, 'currency', RecordRef, OrderTransaction.FieldNo(Currency)); + JsonHelper.GetValueIntoField(JToken, 'payment_id', RecordRef, OrderTransaction.FieldNo("Payment Id")); JsonHelper.GetValueIntoField(JToken, 'payment_details.credit_card_bin', RecordRef, OrderTransaction.FieldNo("Credit Card Bin")); JsonHelper.GetValueIntoField(JToken, 'payment_details.avs_result_code', RecordRef, OrderTransaction.FieldNo("AVS Result Code")); JsonHelper.GetValueIntoField(JToken, 'payment_details.cvv_result_code', RecordRef, OrderTransaction.FieldNo("CVV Result Code")); diff --git a/Apps/W1/Shopify/app/src/Transactions/Tables/ShpfyOrderTransaction.Table.al b/Apps/W1/Shopify/app/src/Transactions/Tables/ShpfyOrderTransaction.Table.al index dcfee7d1c5..01d3fac639 100644 --- a/Apps/W1/Shopify/app/src/Transactions/Tables/ShpfyOrderTransaction.Table.al +++ b/Apps/W1/Shopify/app/src/Transactions/Tables/ShpfyOrderTransaction.Table.al @@ -140,6 +140,12 @@ table 30133 "Shpfy Order Transaction" DataClassification = SystemMetadata; Editable = false; } + field(23; "Payment Id"; Text[250]) + { + Caption = 'Payment Id'; + DataClassification = CustomerContent; + Editable = false; + } field(101; "Sales Document No."; code[20]) { Caption = 'Sales Document No.'; diff --git a/Apps/W1/Shopify/shopify_workspace.code-workspace b/Apps/W1/Shopify/shopify_workspace.code-workspace index f5b62070e2..d08fd45ef1 100644 --- a/Apps/W1/Shopify/shopify_workspace.code-workspace +++ b/Apps/W1/Shopify/shopify_workspace.code-workspace @@ -2,15 +2,15 @@ "folders": [ { "name": "System", - "path": "..\\..\\..\\Modules\\System" + "path": "../../../BCApps/src/System Application/App" }, { "name": "BaseApp", - "path": "..\\..\\..\\Layers\\W1\\BaseApp" + "path": "../../../Layers/W1/BaseApp" }, { "name": "Application", - "path": "..\\..\\..\\Layers\\W1\\Application" + "path": "../../../Layers/W1/Application" }, { "name": "app", diff --git a/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogAPITest.Codeunit.al b/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogAPITest.Codeunit.al new file mode 100644 index 0000000000..a454935e55 --- /dev/null +++ b/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogAPITest.Codeunit.al @@ -0,0 +1,59 @@ +codeunit 139645 "Shpfy Catalog API Test" +{ + Subtype = Test; + TestPermissions = Disabled; + + var + LibraryAssert: Codeunit "Library Assert"; + + [Test] + procedure UnitTestExtractShopifyCatalogs() + var + ShopifyCompany: Record "Shpfy Company"; + Catalog: Record "Shpfy Catalog"; + CatalogAPI: Codeunit "Shpfy Catalog API"; + CatalogInitialize: Codeunit "Shpfy Catalog Initialize"; + CompanyInitialize: Codeunit "Shpfy Company Initialize"; + JResponse: JsonObject; + Result: Boolean; + Cursor: Text; + begin + // Creating Test data. + CompanyInitialize.CreateShopifyCompany(ShopifyCompany); + JResponse := CatalogInitialize.CatalogResponse(); + + // [SCENARIO] Extracting the Catalogs from the Shopify response. + // [GIVEN] JResponse with Catalogs + + // [WHEN] Invoke CatalogAPI.ExtractShopifyCatalogs + Result := CatalogAPI.ExtractShopifyCatalogs(ShopifyCompany, JResponse, Cursor); + + // [THEN] Result = true and Catalog prices are created. + LibraryAssert.IsTrue(Result, 'ExtractShopifyCatalogs'); + LibraryAssert.RecordIsNotEmpty(Catalog); + end; + + [Test] + procedure UnitTestExtractShopifyCatalogPrices() + var + TempCatalogPrice: Record "Shpfy Catalog Price" temporary; + CatalogAPI: Codeunit "Shpfy Catalog API"; + CatalogInitialize: Codeunit "Shpfy Catalog Initialize"; + JResponse: JsonObject; + Result: Boolean; + Cursor: Text; + begin + // Creating Test data. + JResponse := CatalogInitialize.CatalogPriceResponse(); + + // [SCENARIO] Extracting the Catalog Prices from the Shopify response. + // [GIVEN] JResponse with Catalog Prices + + // [WHEN] Invoke CatalogAPI.ExtractShopifyCatalogPrices + Result := CatalogAPI.ExtractShopifyCatalogPrices(TempCatalogPrice, JResponse, Cursor); + + // [THEN] Result = true and Catalog prices are created. + LibraryAssert.IsTrue(Result, 'ExtractShopifyCatalogPrices'); + LibraryAssert.RecordIsNotEmpty(TempCatalogPrice); + end; +} diff --git a/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogInitialize.Codeunit.al b/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogInitialize.Codeunit.al new file mode 100644 index 0000000000..234ea61e92 --- /dev/null +++ b/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogInitialize.Codeunit.al @@ -0,0 +1,54 @@ +codeunit 139639 "Shpfy Catalog Initialize" +{ + SingleInstance = true; + + var + Any: Codeunit Any; + + internal procedure CreateCatalog(Company: Record "Shpfy Company"): Record "Shpfy Catalog" + var + Catalog: Record "Shpfy Catalog"; + begin + + Catalog.DeleteAll(); + Catalog.Init(); + Catalog.Id := Any.IntegerInRange(1, 99999); + Catalog.Name := 'Name'; + Catalog."Company SystemId" := Company.SystemId; + Catalog.Insert(); + exit(Catalog); + end; + + internal procedure CopyParametersFromShop(var Catalog: Record "Shpfy Catalog"; var Shop: Record "Shpfy Shop") + begin + Catalog."Allow Line Disc." := Shop."Allow Line Disc."; + Catalog."Customer Discount Group" := Shop."Customer Discount Group"; + Catalog."Customer Posting Group" := Shop."Customer Posting Group"; + Catalog."Customer Price Group" := Shop."Customer Price Group"; + Catalog."Gen. Bus. Posting Group" := Shop."Gen. Bus. Posting Group"; + Catalog."Prices Including VAT" := Shop."Prices Including VAT"; + Catalog."Tax Area Code" := Shop."Tax Area Code"; + Catalog."Tax Liable" := Shop."Tax Liable"; + Catalog."VAT Bus. Posting Group" := Shop."VAT Bus. Posting Group"; + Catalog."VAT Country/Region Code" := Shop."VAT Country/Region Code"; + Catalog.Modify(); + end; + + internal procedure CatalogResponse(): JsonObject + var + JResult: JsonObject; + ResultLbl: Label '{"data":{"catalogs":{"pageInfo":{"hasNextPage":false},"edges":[{"cursor":"eyJsYXN0X2lkIjoyNTMyNjcxNTExMCwibGFzdF92YWx1ZSI6MjUzMjY3MTUxMTB9","node":{"id":"gid://shopify/CompanyLocationCatalog/25326715110","title":"Test"}}]}},"extensions":{"cost":{"requestedQueryCost":27,"actualQueryCost":3,"throttleStatus":{"maximumAvailable":1000.0,"currentlyAvailable":997,"restoreRate":50.0}}}}'; + begin + JResult.ReadFrom(ResultLbl); + exit(JResult); + end; + + internal procedure CatalogPriceResponse(): JsonObject + var + JResult: JsonObject; + ResultLbl: Label '{"data":{"catalog":{"id":"gid://shopify/CompanyLocationCatalog/25217368294","priceList":{"id":"gid://shopify/PriceList/20079640806","prices":{"edges":[{"cursor":"eyJsYXN0X2lkIjo0NDA2OTAzMTMxMzYzOCwibGFzdF92YWx1ZSI6IjQ0MDY5MDMxMzEzNjM4In0=","node":{"variant":{"id":"gid://shopify/ProductVariant/44069031313638"},"price":{"amount":"4500.0"},"compareAtPrice":null}},{"cursor":"eyJsYXN0X2lkIjo0NDA3NDAwMzc1OTMzNCwibGFzdF92YWx1ZSI6IjQ0MDc0MDAzNzU5MzM0In0=","node":{"variant":{"id":"gid://shopify/ProductVariant/44074003759334"},"price":{"amount":"900.0"},"compareAtPrice":null}},{"cursor":"eyJsYXN0X2lkIjo0NDA3NDAwMzc5MjEwMiwibGFzdF92YWx1ZSI6IjQ0MDc0MDAzNzkyMTAyIn0=","node":{"variant":{"id":"gid://shopify/ProductVariant/44074003792102"},"price":{"amount":"1000.0"},"compareAtPrice":null}},{"cursor":"eyJsYXN0X2lkIjo0NDA3NDEzMjYzNTg3OCwibGFzdF92YWx1ZSI6IjQ0MDc0MTMyNjM1ODc4In0=","node":{"variant":{"id":"gid://shopify/ProductVariant/44074132635878"},"price":{"amount":"0.0"},"compareAtPrice":null}},{"cursor":"eyJsYXN0X2lkIjo0NDA3NDEzMzU4NjE1MCwibGFzdF92YWx1ZSI6IjQ0MDc0MTMzNTg2MTUwIn0=","node":{"variant":{"id":"gid://shopify/ProductVariant/44074133586150"},"price":{"amount":"0.0"},"compareAtPrice":null}},{"cursor":"eyJsYXN0X2lkIjo0NDA3NDEzMzYxODkxOCwibGFzdF92YWx1ZSI6IjQ0MDc0MTMzNjE4OTE4In0=","node":{"variant":{"id":"gid://shopify/ProductVariant/44074133618918"},"price":{"amount":"0.0"},"compareAtPrice":null}}],"pageInfo":{"hasNextPage":false}}}}},"extensions":{"cost":{"requestedQueryCost":204,"actualQueryCost":16,"throttleStatus":{"maximumAvailable":1000.0,"currentlyAvailable":984,"restoreRate":50.0}}}}'; + begin + JResult.ReadFrom(ResultLbl); + exit(JResult); + end; +} diff --git a/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogPricesTest.Codeunit.al b/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogPricesTest.Codeunit.al new file mode 100644 index 0000000000..3a4749611e --- /dev/null +++ b/Apps/W1/Shopify/test/Catalogs/ShpfyCatalogPricesTest.Codeunit.al @@ -0,0 +1,85 @@ +codeunit 139646 "Shpfy Catalog Prices Test" +{ + Subtype = Test; + TestPermissions = Disabled; + + var + Any: Codeunit Any; + LibraryAssert: Codeunit "Library Assert"; + + [Test] + procedure UnitTestCalcCatalogPrice() + var + Shop: Record "Shpfy Shop"; + Catalog: Record "Shpfy Catalog"; + ShopifyCompany: Record "Shpfy Company"; + Item: Record Item; + CustomerDiscountGroup: Record "Customer Discount Group"; + InitializeTest: Codeunit "Shpfy Initialize Test"; + ProductInitTest: Codeunit "Shpfy Product Init Test"; + CatalogInitialize: Codeunit "Shpfy Catalog Initialize"; + CompanyInitialize: Codeunit "Shpfy Company Initialize"; + ProductPriceCalculation: Codeunit "Shpfy Product Price Calc."; +#if not CLEAN22 + ShpfyTemplates: Codeunit "Shpfy Templates"; +#endif + InitUnitCost: Decimal; + InitPrice: Decimal; + InitDiscountPerc: Decimal; + UnitCost: Decimal; + Price: Decimal; + ComparePrice: Decimal; + begin + // Creating test data. + Shop := InitializeTest.CreateShop(); + CompanyInitialize.CreateShopifyCompany(ShopifyCompany); + Catalog := CatalogInitialize.CreateCatalog(ShopifyCompany); + CatalogInitialize.CopyParametersFromShop(Catalog, Shop); + InitUnitCost := Any.DecimalInRange(10, 100, 1); + InitPrice := Any.DecimalInRange(2 * InitUnitCost, 4 * InitUnitCost, 1); + InitDiscountPerc := Any.DecimalInRange(5, 20, 1); +#if not CLEAN22 + if not ShpfyTemplates.NewTemplatesEnabled() then + Item := ProductInitTest.CreateItem(Shop."Item Template Code", InitUnitCost, InitPrice) + else + Item := ProductInitTest.CreateItem(Shop."Item Templ. Code", InitUnitCost, InitPrice); +#else + Item := ProductInitTest.CreateItem(Shop."Item Templ. Code", InitUnitCost, InitPrice); +#endif +#if not CLEAN21 + ProductInitTest.CreateSalesPrice(Shop.Code, Item."No.", InitPrice); + CustomerDiscountGroup := ProductInitTest.CreateSalesLineDiscount(Shop.Code, Item."No.", InitDiscountPerc); +#else + CustomerDiscountGroup := ProductInitTest.CreatePriceList(Shop.Code, Item."No.", InitPrice, InitDiscountPerc); +#endif + + // [SCENARIO] Doing the price calculation of an product for a catalog where the fields "Customer Price Group" and Customer Discount Group" are not filled in. + // [SCENARIO] After modify the "Customer Discount Group" for the same catalog, we must get a discounted price. + + // [GIVEN] the Catalog with the fields "Customer Price Group" and Customer Discount Group" not filled in. + ProductPriceCalculation.SetShopAndCatalog(Shop, Catalog); + // [GIVEN] The item and the variable UnitCost, Price and ComparePrice for storing the results. + // [WHEN] Invoking the procedure: CalcPrice(Item, '', '', UnitCost, Price, ComparePrice) + ProductPriceCalculation.CalcPrice(Item, '', '', UnitCost, Price, ComparePrice); + + // [THEN] InitUnitCost = UnitCost + LibraryAssert.AreEqual(InitUnitCost, UnitCost, 'Unit Cost'); + // [THEN] InitPrice = Price + LibraryAssert.AreEqual(InitPrice, Price, 'Price'); + + // [GIVEN] Update the Catalog."Customer Discount Group" field and set the catalog to the calculation codeunit. + Catalog."Customer Discount Group" := CustomerDiscountGroup.Code; + Catalog.Modify(); + ProductPriceCalculation.SetShopAndCatalog(Shop, Catalog); + + // [GIVEN] The item and the variable UnitCost, Price and ComparePrice for storing the results. + // [WHEN] Invoking the procedure: CalcPrice(Item, '', '', UnitCost, Price, ComparePrice) + ProductPriceCalculation.CalcPrice(Item, '', '', UnitCost, Price, ComparePrice); + // [THEN] InitUnitCost = UnitCost + LibraryAssert.AreEqual(InitUnitCost, UnitCost, 'Unit Cost'); + // [THEN] InitPrice = ComparePrice. ComparePrice is the price without the discount. + LibraryAssert.AreEqual(InitPrice, ComparePrice, 'Compare Price'); + // [THEN] InitPrice - InitDiscountPerc = Price + LibraryAssert.AreNearlyEqual(InitPrice * (1 - InitDiscountPerc / 100), Price, 0.01, 'Discount Price'); + end; +} diff --git a/Apps/W1/Shopify/test/Companies/ShpfyCompanyAPITest.Codeunit.al b/Apps/W1/Shopify/test/Companies/ShpfyCompanyAPITest.Codeunit.al new file mode 100644 index 0000000000..1bd4188282 --- /dev/null +++ b/Apps/W1/Shopify/test/Companies/ShpfyCompanyAPITest.Codeunit.al @@ -0,0 +1,78 @@ +codeunit 139637 "Shpfy Company API Test" +{ + Subtype = Test; + TestPermissions = Disabled; + + var + LibraryAssert: Codeunit "Library Assert"; + + [Test] + procedure UnitTestCreateCompanyGraphQuery() + var + ShopifyCompany: Record "Shpfy Company"; + CompanyLocation: Record "Shpfy Company Location"; + CompanyAPI: Codeunit "Shpfy Company API"; + CompanyInitialize: Codeunit "Shpfy Company Initialize"; + GraphQL: Text; + begin + // Creating Test data. + CompanyInitialize.CreateShopifyCompany(ShopifyCompany); + CompanyLocation := CompanyInitialize.CreateShopifyCompanyLocation(ShopifyCompany); + + // [SCENARIO] Creating the GrapghQL query to create a new company in Shopify + // [GIVEN] ShpfyCompany + // [GIVEN] ShpfyCompanyLocation + + // [WHEN] Invoke CompanyAPI.CreateCompanyGraphQLQuery + GraphQL := CompanyAPI.CreateCompanyGraphQLQuery(ShopifyCompany, CompanyLocation); + + // [THEN] CompanyInitialize.CreateCompanyGraphQLResult() = GraphQL. + LibraryAssert.AreEqual(CompanyInitialize.CreateCompanyGraphQLResult(), GraphQL, 'CreateCompanyGraphQuery'); + end; + + [Test] + procedure UnitTestCreateGraphQueryUpdateCompany() + var + ShopifyCompany: Record "Shpfy Company"; + CompanyAPI: Codeunit "Shpfy Company API"; + CompanyInitialize: Codeunit "Shpfy Company Initialize"; + GraphQL: Text; + begin + // Creating Test data. + CompanyInitialize.CreateShopifyCompany(ShopifyCompany); + + // [SCENARIO] Changing the date of an Shopify Company and the default address. + // [GIVEN] ShpfyCompany with change fields + ShopifyCompany := CompanyInitialize.ModifyFields(ShopifyCompany); + + // [WHEN] Invoke ShpfyCompanyAPI.CreateGraphQueryUpdateCompany(ShpfyCompany) + GraphQL := CompanyAPI.CreateGraphQueryUpdateCompany(ShopifyCompany); + + // [THEN] CompanyInitialize.CreateGraphQueryUpdateCompanyResult() = GraphQL. + LibraryAssert.AreEqual(CompanyInitialize.CreateGraphQueryUpdateCompanyResult(ShopifyCompany.Id), GraphQL, 'CreateGraphQueryUpdateCompany'); + end; + + [Test] + procedure UnitTestCreateGraphQueryUpdateCompanyLocation() + var + ShopifyCompany: Record "Shpfy Company"; + CompanyLocation: Record "Shpfy Company Location"; + CompanyAPI: Codeunit "Shpfy Company API"; + CompanyInitialize: Codeunit "Shpfy Company Initialize"; + GraphQL: Text; + begin + // Creating Test data. + CompanyInitialize.CreateShopifyCompany(ShopifyCompany); + CompanyLocation := CompanyInitialize.CreateShopifyCompanyLocation(ShopifyCompany); + + // [SCENARIO] Changing the date of an Shopify Customer and the default address. + // [GIVEN] ShpfyCompanyLocation with change fields + CompanyLocation := CompanyInitialize.ModifyFields(CompanyLocation); + + // [WHEN] Invoke ShpfyCompanyAPI.CreateGraphQueryUpdateLocation(ShpfyCompanyLocation) + GraphQL := CompanyAPI.CreateGraphQueryUpdateLocation(CompanyLocation); + + // [THEN] CompanyInitialize.CreateCustomerGraphQLResult() = GraphQL. + LibraryAssert.AreEqual(CompanyInitialize.CreateGraphQueryUpdateCompanyLocationResult(CompanyLocation.Id), GraphQL, 'CreateGraphQueryUpdateCompanyLocation'); + end; +} diff --git a/Apps/W1/Shopify/test/Companies/ShpfyCompanyExportTest.Codeunit.al b/Apps/W1/Shopify/test/Companies/ShpfyCompanyExportTest.Codeunit.al new file mode 100644 index 0000000000..f22ebc711d --- /dev/null +++ b/Apps/W1/Shopify/test/Companies/ShpfyCompanyExportTest.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 139636 "Shpfy Company Export Test" +{ + Subtype = Test; + TestPermissions = Disabled; + + var + LibraryAssert: Codeunit "Library Assert"; + CompanyExport: Codeunit "Shpfy Company Export"; + + [Test] + procedure UnitTestFillInShopifyCustomerData() + var + Customer: Record Customer; + ShopifyCompany: Record "Shpfy Company"; + CompanyLocation: Record "Shpfy Company Location"; + Shop: Record "Shpfy Shop"; + InitializeTest: Codeunit "Shpfy Initialize Test"; + Result: Boolean; + begin + // [SCENARIO] Convert an existing company record to a "Shpfy Company" and "Shpfy Company Location" record. + + if not Customer.FindFirst() then + exit; + Shop := InitializeTest.CreateShop(); + Shop."Name Source" := Enum::"Shpfy Name Source"::CompanyName; + Shop."Name 2 Source" := Enum::"Shpfy Name Source"::None; + Shop."Contact Source" := Enum::"Shpfy Name Source"::None; + Shop."County Source" := Enum::"Shpfy County Source"::Name; + Shop."B2B Enabled" := true; + ShopifyCompany.Init(); + CompanyLocation.Init(); + + // [GIVEN] Shop + CompanyExport.SetShop(Shop); + + // [GIVEN] Customer record + // [WHEN] Invoke ShpfyCustomerExport.FillInShopifyCompany(Customer, ShopifyCompany, CompanyLocation) + Result := CompanyExport.FillInShopifyCompany(Customer, ShopifyCompany, CompanyLocation); + + // [THEN] The result is true and the content of address fields can be found in the shpfy records. + LibraryAssert.IsTrue(Result, 'Result'); + LibraryAssert.AreEqual(Customer.Name, ShopifyCompany.Name, 'Name'); + LibraryAssert.AreEqual(Customer."Phone No.", CompanyLocation."Phone No.", 'Phone No.'); + LibraryAssert.AreEqual(Customer.Address, CompanyLocation.Address, 'Address 1'); + LibraryAssert.AreEqual(Customer."Address 2", CompanyLocation."Address 2", 'Address 2'); + LibraryAssert.AreEqual(Customer."Post Code", CompanyLocation.Zip, 'Post Code'); + LibraryAssert.AreEqual(Customer.City, CompanyLocation.City, 'City'); + LibraryAssert.AreEqual(Customer."Country/Region Code", CompanyLocation."Country/Region Code", 'Country'); + end; +} diff --git a/Apps/W1/Shopify/test/Companies/ShpfyCompanyInitialize.Codeunit.al b/Apps/W1/Shopify/test/Companies/ShpfyCompanyInitialize.Codeunit.al new file mode 100644 index 0000000000..aef46a3a86 --- /dev/null +++ b/Apps/W1/Shopify/test/Companies/ShpfyCompanyInitialize.Codeunit.al @@ -0,0 +1,81 @@ +codeunit 139638 "Shpfy Company Initialize" +{ + SingleInstance = true; + + var + + Any: Codeunit Any; + + internal procedure CreateShopifyCompanyLocation() CompanyLocation: Record "Shpfy Company Location" + var + ShopifyCompany: Record "Shpfy Company"; + begin + CreateShopifyCompany(ShopifyCompany); + exit(CreateShopifyCompanyLocation(ShopifyCompany)); + end; + + internal procedure CreateShopifyCompanyLocation(ShopifyCompany: Record "Shpfy Company") CompanyLocation: Record "Shpfy Company Location" + begin + CompanyLocation.DeleteAll(); + CompanyLocation.Init(); + CompanyLocation.Id := Any.IntegerInRange(1, 99999); + CompanyLocation."Company SystemId" := ShopifyCompany.SystemId; + CompanyLocation.Address := 'Address'; + CompanyLocation."Address 2" := 'Address 2'; + CompanyLocation."Phone No." := '111'; + CompanyLocation.Zip := '1111'; + CompanyLocation.City := 'City'; + CompanyLocation."Country/Region Code" := 'US'; + CompanyLocation.Insert(); + end; + + internal procedure CreateShopifyCompany(var ShopifyCompany: Record "Shpfy Company"): BigInteger + var + CompanyId: BigInteger; + begin + ShopifyCompany.DeleteAll(); + CompanyId := Any.IntegerInRange(1000, 99999); + ShopifyCompany.Init(); + ShopifyCompany.Id := CompanyId; + ShopifyCompany.Name := 'Name'; + ShopifyCompany.Insert(); + exit(CompanyId); + end; + + internal procedure ModifyFields(RecVariant: variant): Variant + var + RecordRef: RecordRef; + FieldRef: FieldRef; + Index: Integer; + begin + RecordRef.GetTable(RecVariant); + for Index := 1 to RecordRef.FieldCount do begin + FieldRef := RecordRef.FieldIndex(Index); + if FieldRef.Class = FieldRef.Class::Normal then + if FieldRef.Type = FieldRef.Type::Text then + if Format(FieldRef.Value) <> '' then + FieldRef.Value := CopyStr('!' + Format(FieldRef.Value), 1, FieldRef.Length); + end; + RecordRef.SetTable(RecVariant); + exit(RecVariant); + end; + + internal procedure CreateCompanyGraphQLResult(): Text + begin + exit('{"query":"mutation {companyCreate(input: {company: {name: \"Name\"}, companyLocation: {billingSameAsShipping: true,name: \"Main\", phone: \"111\", shippingAddress: {address1: \"Address\", address2: \"Address 2\", zip: \"1111\", city: \"City\", phone: \"111\", countryCode: US}}}) {company {id, name, locations(first: 1) {edges {node {id, name}}}, contactRoles(first:10) {edges {node {id,name}}}}, userErrors {field, message}}}"}'); + end; + + internal procedure CreateGraphQueryUpdateCompanyResult(CompanyId: BigInteger): Text + var + GraphQLTxt: Label '{"query":"mutation {companyUpdate(companyId: \"gid://shopify/Company/%1\", input: {name: \"!Name\"}) {company {id, updatedAt}, userErrors {field, message}}}"}', Comment = '%1 = CompanyId', Locked = true; + begin + exit(StrSubstNo(GraphQLTxt, CompanyId)); + end; + + internal procedure CreateGraphQueryUpdateCompanyLocationResult(CompanyLocationId: BigInteger): Text + var + GraphQLTxt: Label '{"query":"mutation {companyLocationAssignAddress(locationId: \"gid://shopify/CompanyLocation/%1\", addressTypes: [BILLING,SHIPPING] address: {address1: \"!Address\", address2: \"!Address 2\", city: \"!City\", phone: \"!111\"}) {addresses {id}, userErrors {field, message}}}"}', Comment = '%1 = CompanyLocationId', Locked = true; + begin + exit(StrSubstNo(GraphQLTxt, CompanyLocationId)); + end; +} diff --git a/Apps/W1/Shopify/test/Customer/ShpfyCountySourceTest.Codeunit.al b/Apps/W1/Shopify/test/Customers/ShpfyCountySourceTest.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/test/Customer/ShpfyCountySourceTest.Codeunit.al rename to Apps/W1/Shopify/test/Customers/ShpfyCountySourceTest.Codeunit.al diff --git a/Apps/W1/Shopify/test/Customer/ShpfyCreateCustomerTest.Codeunit.al b/Apps/W1/Shopify/test/Customers/ShpfyCreateCustomerTest.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/test/Customer/ShpfyCreateCustomerTest.Codeunit.al rename to Apps/W1/Shopify/test/Customers/ShpfyCreateCustomerTest.Codeunit.al diff --git a/Apps/W1/Shopify/test/Customer/ShpfyCustomerAPITest.Codeunit.al b/Apps/W1/Shopify/test/Customers/ShpfyCustomerAPITest.Codeunit.al similarity index 98% rename from Apps/W1/Shopify/test/Customer/ShpfyCustomerAPITest.Codeunit.al rename to Apps/W1/Shopify/test/Customers/ShpfyCustomerAPITest.Codeunit.al index 7381b9e4f7..73b2a2b6a3 100644 --- a/Apps/W1/Shopify/test/Customer/ShpfyCustomerAPITest.Codeunit.al +++ b/Apps/W1/Shopify/test/Customers/ShpfyCustomerAPITest.Codeunit.al @@ -22,7 +22,7 @@ codeunit 139589 "Shpfy Customer API Test" CustomerInitTest.CreateShopifyCustomer(ShopifyCustomer); CustomerAddress := CustomerInitTest.CreateShopifyCustomerAddress(ShopifyCustomer); - // [SCENARIO] Creating the GrapghQL qeury to create a new customer in Shopify + // [SCENARIO] Creating the GrapghQL query to create a new customer in Shopify // [GIVEN] ShpfyCustomer // [GIVEN] ShpfyCustomerAddress diff --git a/Apps/W1/Shopify/test/Customer/ShpfyCustomerExportTest.Codeunit.al b/Apps/W1/Shopify/test/Customers/ShpfyCustomerExportTest.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/test/Customer/ShpfyCustomerExportTest.Codeunit.al rename to Apps/W1/Shopify/test/Customers/ShpfyCustomerExportTest.Codeunit.al diff --git a/Apps/W1/Shopify/test/Customer/ShpfyCustomerGetNameTest.Codeunit.al b/Apps/W1/Shopify/test/Customers/ShpfyCustomerGetNameTest.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/test/Customer/ShpfyCustomerGetNameTest.Codeunit.al rename to Apps/W1/Shopify/test/Customers/ShpfyCustomerGetNameTest.Codeunit.al diff --git a/Apps/W1/Shopify/test/Customer/ShpfyCustomerInitTest.Codeunit.al b/Apps/W1/Shopify/test/Customers/ShpfyCustomerInitTest.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/test/Customer/ShpfyCustomerInitTest.Codeunit.al rename to Apps/W1/Shopify/test/Customers/ShpfyCustomerInitTest.Codeunit.al diff --git a/Apps/W1/Shopify/test/Customer/ShpfyCustomerMappingTest.Codeunit.al b/Apps/W1/Shopify/test/Customers/ShpfyCustomerMappingTest.Codeunit.al similarity index 100% rename from Apps/W1/Shopify/test/Customer/ShpfyCustomerMappingTest.Codeunit.al rename to Apps/W1/Shopify/test/Customers/ShpfyCustomerMappingTest.Codeunit.al diff --git a/Apps/W1/Shopify/test/Permission Sets/ShopifyTest.PermissionSet.al b/Apps/W1/Shopify/test/Permission Sets/ShopifyTest.PermissionSet.al index 04ab08a40b..f99f1a7bc2 100644 --- a/Apps/W1/Shopify/test/Permission Sets/ShopifyTest.PermissionSet.al +++ b/Apps/W1/Shopify/test/Permission Sets/ShopifyTest.PermissionSet.al @@ -5,40 +5,11 @@ permissionset 139560 "Shopify Test" { Assignable = true; Caption = 'Shopify Test', MaxLength = 30; - Permissions = - table "Shpfy Test Fields" = X, - tabledata "Shpfy Test Fields" = RIMD, - codeunit "Shpfy Base64 Test" = X, - codeunit "Shpfy CountySource Test" = X, - codeunit "Shpfy Create Customer Test" = X, - codeunit "Shpfy Create Item Test" = X, - codeunit "Shpfy Create Product Test" = X, - codeunit "Shpfy Checklist Init. Test" = X, - codeunit "Shpfy Customer API Test" = X, - codeunit "Shpfy Customer Export Test" = X, - codeunit "Shpfy Customer GetName Test" = X, - codeunit "Shpfy Customer Init Test" = X, - codeunit "Shpfy Customer Mapping Test" = X, - codeunit "Shpfy Filter Mgt. Test" = X, - codeunit "Shpfy Gift Cards Test" = X, - codeunit "Shpfy GraphQL Rate Limit Test" = X, - codeunit "Shpfy Hash Test" = X, - codeunit "Shpfy Initialize Test" = X, - codeunit "Shpfy Inventory API Test" = X, - codeunit "Shpfy Item Reference Mgt. Test" = X, - codeunit "Shpfy Json Helper Test" = X, - codeunit "Shpfy Location Subcriber" = X, - codeunit "Shpfy Order Fulfillments Test" = X, - codeunit "Shpfy Order Handling Helper" = X, - codeunit "Shpfy Order Risks Test" = X, - codeunit "Shpfy Orders API Test" = X, - codeunit "Shpfy Payments Test" = X, - codeunit "Shpfy Product Init Test" = X, - codeunit "Shpfy Product Mapping Test" = X, -#if not CLEAN23 - codeunit "Shpfy Product Price Calc. Test" = X, -#endif - codeunit "Shpfy Shipping Test" = X, - codeunit "Shpfy Test Locations" = X, - codeunit "Shpfy Test Shopify" = X; + Permissions = codeunit * = X, + page * = X, + table * = X, + query * = X, + report * = X, + xmlport * = X, + tabledata * = RIMD; } diff --git a/Apps/W1/Shopify/test/Products/ShpfyProductInitTest.Codeunit.al b/Apps/W1/Shopify/test/Products/ShpfyProductInitTest.Codeunit.al index 774f104292..7e0d6fa7e5 100644 --- a/Apps/W1/Shopify/test/Products/ShpfyProductInitTest.Codeunit.al +++ b/Apps/W1/Shopify/test/Products/ShpfyProductInitTest.Codeunit.al @@ -209,6 +209,7 @@ codeunit 139603 "Shpfy Product Init Test" ItemAttributeValue.Insert(); end; + #if not CLEAN21 internal procedure CreateSalesPrice(Code: Code[10]; ItemNo: Code[20]; Price: Decimal) var @@ -243,6 +244,30 @@ codeunit 139603 "Shpfy Product Init Test" SalesLineDiscount.Validate("Line Discount %", DiscountPerc); SalesLineDiscount.Insert(); end; +#else + internal procedure CreatePriceList(Code: Code[10]; ItemNo: Code[20]; Price: Decimal; DiscountPerc: Decimal) CustDiscGrp: Record "Customer Discount Group" + var + CustomerPriceGroup: Record "Customer Price Group"; + PriceListLine: Record "Price List Line"; + begin + CustomerPriceGroup.Init(); + CustomerPriceGroup.Code := Code; + CustomerPriceGroup."Allow Line Disc." := true; + CustomerPriceGroup.Insert(); + + CustDiscGrp.Init(); + CustDiscGrp.Code := Code; + CustDiscGrp.Insert(); + + PriceListLine.Init(); + PriceListLine."Asset Type" := PriceListLine."Asset Type"::Item; + PriceListLine."Product No." := ItemNo; + PriceListLine."Unit Price" := Price; + PriceListLine."Source Type" := PriceListLine."Source Type"::"Customer Disc. Group"; + PriceListLine."Source No." := CustDiscGrp.Code; + PriceListLine.Validate("Line Discount %", DiscountPerc); + PriceListLine.Insert(); + end; #endif internal procedure CreateStandardProduct(Shop: Record "Shpfy Shop") ShopifyVariant: Record "Shpfy Variant" @@ -301,7 +326,6 @@ codeunit 139603 "Shpfy Product Init Test" end; local procedure CreateSKUValue(Shop: Record "Shpfy Shop"): Text[50] - var begin case Shop."SKU Mapping" of "Shpfy SKU Mapping"::" ": diff --git a/Apps/W1/Shopify/test/Products/ShpfyProductPriceCalcTest.Codeunit.al b/Apps/W1/Shopify/test/Products/ShpfyProductPriceCalcTest.Codeunit.al index 383432db86..549d4a7ea2 100644 --- a/Apps/W1/Shopify/test/Products/ShpfyProductPriceCalcTest.Codeunit.al +++ b/Apps/W1/Shopify/test/Products/ShpfyProductPriceCalcTest.Codeunit.al @@ -1,4 +1,3 @@ -#if not CLEAN23 /// /// Codeunit Shpfy Product Price Calc. Test (ID 139605). /// @@ -6,18 +5,11 @@ codeunit 139605 "Shpfy Product Price Calc. Test" { Subtype = Test; TestPermissions = Disabled; - ObsoleteReason = 'Empty codeunit.'; - ObsoleteState = Pending; - ObsoleteTag = '23.0'; -#if not CLEAN21 var Any: Codeunit Any; LibraryAssert: Codeunit "Library Assert"; -#pragma warning disable AS0072 - [Obsolete('Test is no longer relevant.', '21.0')] -#pragma warning restore AS0072 [Test] procedure UnitTestCalcPriceTest() var @@ -50,8 +42,12 @@ codeunit 139605 "Shpfy Product Price Calc. Test" #else Item := ProductInitTest.CreateItem(Shop."Item Templ. Code", InitUnitCost, InitPrice); #endif +#if not CLEAN21 ProductInitTest.CreateSalesPrice(Shop.Code, Item."No.", InitPrice); CustomerDiscountGroup := ProductInitTest.CreateSalesLineDiscount(Shop.Code, Item."No.", InitDiscountPerc); +#else + CustomerDiscountGroup := ProductInitTest.CreatePriceList(Shop.Code, Item."No.", InitPrice, InitDiscountPerc); +#endif // [SCENARIO] Doing the price calculation of an product for a shop where the fields "Customer Price Group" and Customer Discount Group" are not filled in. // [SCENARIO] After modify de "Customer Discount Group" for the same shop, we must get a discounted price. @@ -82,6 +78,4 @@ codeunit 139605 "Shpfy Product Price Calc. Test" // [THEN] InitPrice - InitDiscountPerc = Price LibraryAssert.AreNearlyEqual(InitPrice * (1 - InitDiscountPerc / 100), Price, 0.01, 'Discount Price'); end; -#endif -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/Apps/W1/Shopify/test/app.json b/Apps/W1/Shopify/test/app.json index 295a49805a..9b0824a282 100644 --- a/Apps/W1/Shopify/test/app.json +++ b/Apps/W1/Shopify/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Test for the Shopify Connector extension", "description": "Test for the Shopify Connector extension", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", "help": "https://go.microsoft.com/fwlink/?linkid=2179727", @@ -16,43 +16,43 @@ "id": "ec255f57-31d0-4ca2-b751-f2fa7c745abb", "name": "Shopify Connector", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "name": "Any", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "dd0be2ea-f733-4d65-bb34-a28f4624fb14", "name": "Library Assert", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139560, @@ -69,7 +69,11 @@ { "from": 139611, "to": 139639 - } + }, + { + "from": 139645, + "to": 139649 + } ], "target": "OnPrem", "resourceExposurePolicy": { @@ -77,5 +81,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/SimplifiedBankStatementImport/app/.objidconfig b/Apps/W1/SimplifiedBankStatementImport/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/SimplifiedBankStatementImport/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/SimplifiedBankStatementImport/app/app.json b/Apps/W1/SimplifiedBankStatementImport/app/app.json index 4c371ba561..6bae487916 100644 --- a/Apps/W1/SimplifiedBankStatementImport/app/app.json +++ b/Apps/W1/SimplifiedBankStatementImport/app/app.json @@ -2,7 +2,7 @@ "id": "79b1a79a-2f66-4736-bc1b-8abb3537eb51", "name": "Simplified Bank Statement Import", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "The Simplified Bank Statement Import extension makes it easy to define a bank statement format.", "description": "The Simplified Bank Statement Import extension makes it easy to define a bank statement format.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,8 +10,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2172520", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 8850, diff --git a/Apps/W1/SimplifiedBankStatementImport/test/app.json b/Apps/W1/SimplifiedBankStatementImport/test/app.json index eae11aca08..8713b0ed46 100644 --- a/Apps/W1/SimplifiedBankStatementImport/test/app.json +++ b/Apps/W1/SimplifiedBankStatementImport/test/app.json @@ -2,7 +2,7 @@ "id": "fdf552ef-df0f-4caa-9a40-4b13b527e510", "name": "Simplified Bank Statement Import Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for Simplified Bank Statement Import.", "description": "Tests for Simplified Bank Statement Import.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,8 +10,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2172520", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 148130, @@ -23,19 +23,19 @@ "id": "79b1a79a-2f66-4736-bc1b-8abb3537eb51", "name": "Simplified Bank Statement Import", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "name": "Library Variable Storage", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2206253", diff --git a/Apps/W1/SmartList/.objidconfig b/Apps/W1/SmartList/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/SmartList/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/SmartList/app.json b/Apps/W1/SmartList/app.json index c154d499c8..f87df33670 100644 --- a/Apps/W1/SmartList/app.json +++ b/Apps/W1/SmartList/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "SmartList", "description": "View query information within Business Central list pages that dynamically renders data on the page based on query definition.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?LinkId=847985", "help": "https://go.microsoft.com/fwlink/?LinkId=849257", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "target": "OnPrem", "resourceExposurePolicy": { "allowDebugging": true, @@ -33,5 +33,5 @@ "to": 3010 } ], - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/SmartList/src/CodeUnits/SmartListInstall.Codeunit.al b/Apps/W1/SmartList/src/CodeUnits/SmartListInstall.Codeunit.al index 29df7be01a..9e7f9636cd 100644 --- a/Apps/W1/SmartList/src/CodeUnits/SmartListInstall.Codeunit.al +++ b/Apps/W1/SmartList/src/CodeUnits/SmartListInstall.Codeunit.al @@ -83,7 +83,6 @@ codeunit 2480 "SmartList Install" // end; local procedure ApplyEvaluationClassificationsForPrivacy() - var begin // Do classification here end; diff --git a/Apps/W1/SmartList/src/Queries/ItemsOverdueForCount.Query.al b/Apps/W1/SmartList/src/Queries/ItemsOverdueForCount.Query.al index 348775a2d8..e752207a60 100644 --- a/Apps/W1/SmartList/src/Queries/ItemsOverdueForCount.Query.al +++ b/Apps/W1/SmartList/src/Queries/ItemsOverdueForCount.Query.al @@ -1,7 +1,7 @@ query 2557 "Items Overdue For Count" { QueryType = Normal; - OrderBy = ascending (No); + OrderBy = ascending(No); Caption = 'Items Overdue For Count'; QueryCategory = 'Item List'; @@ -9,7 +9,7 @@ query 2557 "Items Overdue For Count" { dataitem(Item; Item) { - DataItemTableFilter = "Next Counting Start Date" = filter (<> 0DT); + DataItemTableFilter = "Next Counting Start Date" = filter(<> 0DT); column(No; "No.") { Caption = 'No.'; @@ -47,7 +47,6 @@ query 2557 "Items Overdue For Count" } trigger OnBeforeOpen() - var begin SetFilter(Next_Counting_Start_Date, '<%1', Today()); end; diff --git a/Apps/W1/SmartList/src/Queries/NegativeQuantityItems.Query.al b/Apps/W1/SmartList/src/Queries/NegativeQuantityItems.Query.al index 2e8a3dc702..1d89c4364f 100644 --- a/Apps/W1/SmartList/src/Queries/NegativeQuantityItems.Query.al +++ b/Apps/W1/SmartList/src/Queries/NegativeQuantityItems.Query.al @@ -1,7 +1,7 @@ query 2556 "Negative Quantity Items" { QueryType = Normal; - OrderBy = ascending (No); + OrderBy = ascending(No); Caption = 'Negative Quantity Items'; QueryCategory = 'Item List'; @@ -28,7 +28,6 @@ query 2556 "Negative Quantity Items" } trigger OnBeforeOpen() - var begin SetFilter(Inventory, '<%1', 0); end; diff --git a/Apps/W1/StatisticalAccounts/app/.objidconfig b/Apps/W1/StatisticalAccounts/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/StatisticalAccounts/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/StatisticalAccounts/app/app.json b/Apps/W1/StatisticalAccounts/app/app.json index b0b36889ea..8fc39826e0 100644 --- a/Apps/W1/StatisticalAccounts/app/app.json +++ b/Apps/W1/StatisticalAccounts/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Statistical Accounts lets you hold measures for use in Financial reporting to create reports with KPIs based on non-financial data.", "description": "When reporting on your Business Central data through financial Reporting you often want to add non-financial data to the reports, for KPI for comparisons etc. Statistical Accounts improve analyses and progress tracking by letting you hold number-based statistical measures in a separate ledger. For example, you might want track square meters in your buildings for KPIs on rental expenses, or number of full-time employees, for metrics such as revenue or costs per employee. You set up new accounts in Statistical Accounts, and register values in Statistical Accounts Journals. The accounts can be used in Row definitions in Financial Reporting to create new insights on your business.", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/StatisticalAccounts/app/src/StatAccFinReportingMgt.Codeunit.al b/Apps/W1/StatisticalAccounts/app/src/StatAccFinReportingMgt.Codeunit.al index 9283ceb734..d56afe51c5 100644 --- a/Apps/W1/StatisticalAccounts/app/src/StatAccFinReportingMgt.Codeunit.al +++ b/Apps/W1/StatisticalAccounts/app/src/StatAccFinReportingMgt.Codeunit.al @@ -3,7 +3,6 @@ namespace Microsoft.Finance.Analysis.StatisticalAccount; using Microsoft.Finance.FinancialReports; using Microsoft.Finance.Analysis; using Microsoft.Finance.GeneralLedger.Account; -using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Foundation.Period; codeunit 2622 "Stat. Acc. Fin Reporting Mgt" diff --git a/Apps/W1/StatisticalAccounts/app/src/StatAccJnlLinePost.Codeunit.al b/Apps/W1/StatisticalAccounts/app/src/StatAccJnlLinePost.Codeunit.al index 5d2d7ae577..013ecd463d 100644 --- a/Apps/W1/StatisticalAccounts/app/src/StatAccJnlLinePost.Codeunit.al +++ b/Apps/W1/StatisticalAccounts/app/src/StatAccJnlLinePost.Codeunit.al @@ -37,6 +37,7 @@ codeunit 2624 "Stat. Acc. Jnl. Line Post" NextEntryNo += 1; StatisticalLedgerEntry."Transaction No." := TransactionNumber; TransferStatisticalAccJournalLineTo(StatisticalAccJournalLine, StatisticalLedgerEntry); + OnBeforeInsertStatisticalLedgerEntry(StatisticalAccJournalLine, StatisticalLedgerEntry); StatisticalLedgerEntry.Insert(true); end; @@ -52,4 +53,9 @@ codeunit 2624 "Stat. Acc. Jnl. Line Post" StatisticalLedgerEntry."Global Dimension 1 Code" := StatisticalAccJournalLine."Shortcut Dimension 1 Code"; StatisticalLedgerEntry."Global Dimension 2 Code" := StatisticalAccJournalLine."Shortcut Dimension 2 Code"; end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeInsertStatisticalLedgerEntry(var StatisticalAccJournalLine: Record "Statistical Acc. Journal Line"; var StatisticalLedgerEntry: Record "Statistical Ledger Entry") + begin + end; } \ No newline at end of file diff --git a/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al b/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al index 080620c1f6..badb0ad655 100644 --- a/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al +++ b/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al @@ -2,7 +2,6 @@ namespace Microsoft.Finance.Analysis.StatisticalAccount; using Microsoft.Foundation.AuditCodes; using System.Globalization; -using System.Reflection; tableextension 2630 StatAccSourceCodeSetup extends "Source Code Setup" { diff --git a/Apps/W1/StatisticalAccounts/app/src/StatAccountBalanceLines.Page.al b/Apps/W1/StatisticalAccounts/app/src/StatAccountBalanceLines.Page.al index 4d4641dfcf..8ef768e818 100644 --- a/Apps/W1/StatisticalAccounts/app/src/StatAccountBalanceLines.Page.al +++ b/Apps/W1/StatisticalAccounts/app/src/StatAccountBalanceLines.Page.al @@ -1,6 +1,5 @@ namespace Microsoft.Finance.Analysis.StatisticalAccount; -using Microsoft.Finance.GeneralLedger.Setup; using System.Utilities; using Microsoft.Foundation.Enums; using Microsoft.Foundation.Period; diff --git a/Apps/W1/StatisticalAccounts/test/app.json b/Apps/W1/StatisticalAccounts/test/app.json index 17a7eb2ffa..87072a4208 100644 --- a/Apps/W1/StatisticalAccounts/test/app.json +++ b/Apps/W1/StatisticalAccounts/test/app.json @@ -2,7 +2,7 @@ "id": "f963cb1a-e16e-48af-b3fd-c0dd695d0998", "name": "Statistical Accounts Test", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "description": "Tests for the Statistical Accounts extension.", "brief": "Tests for the functionality of Statistical Accounts. The test are verifying the logic of tracking and reporting on non-transactional data.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -15,43 +15,43 @@ { "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5d86850b-0d76-4eca-bd7b-951ad998e997" }, { "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228" }, { "name": "Library Variable Storage", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "5095f467-0a01-4b99-99d1-9ff1237d286f" }, { "id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b", "publisher": "Microsoft", "name": "Any", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "name": "Statistical Accounts", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "id": "ea130081-c669-460f-a5f4-5dde14f03131" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "resourceExposurePolicy": { "allowDebugging": false, "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, "target": "OnPrem", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/ExtensionLogo.png b/Apps/W1/Sustainability/app/ExtensionLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2c9a626cb9617350617c40cd73904129d4c108 GIT binary patch literal 5446 zcma)=S5VVywD$iAMIcgC2u+$uktV%J6$Dhev_NQrfC^Fsq!|cJ=^|Z`P&U*^N-uuwi#_w5i!*aB*89x5SkKKnv*ua91anhEW+omc005Zp+`e`1 zOsW4C1O3^nWxbYuCX9Z!?E(M*a`E2+jm<_J0|5K}om)4pLZ&wJ&3t(K(|ffcq#?ky z#^aeQO#|lO9vyUeb0ezqQtpipl3Sj#-xy!eh7lu@5+BnW zNhL-~3Zpw&1u=bMN*Q(sgYksq4dM>Iw7p&Qk_Su~b*PgEs#LK~^K}aDaTG_6Q?_tM<8wOS}`Z+?~Et8GB>T%(k7$9`DL!d5)f!ZoXco-vj+s_QLEs2cf zKM&F>#c9w|TmM9MFtl8L*cYQgl9khf5CYMR)DJOUf;M~a9|+ys@RYR zCusNC(CSlUk|r`qdS&ZKh$O=@#&e0>;W~S#|KjHdfLx!-J9r1JtP4RGIhS|Rm0eZ6 z7eOE~Zfo4Li~K^|&)d^-r?8Rh2Q}#ZjL=?VJZ7~hlp4(!U!0K%679I`OR&x54*0&4 znho|hKu)WR)4PUVA1}N;jXHg}AG+gSKQ6O_fEP^Y51!LwBERH09|t!GNx2KH4co>r zA%cgSHxh2Sezx-w!S5DTG#0zVCbnLM6BP}2P-G{8 zh**wJHj<652FS05bSQNx-0fS7^(wREYvZwpt;$!!k4H0U*iyhS8(syBDMv>L<)~LI zPl!Y^-cM{_J@{hY1=XJ#T=Ef(FD!I^r1^lca3c0ftVuvo-(%!Zn)C1bK{}-i*Jc); zIIc+o&iMgvboj&4`@5sF23MV!*zIVmA0>{1;*H*faMAG6EZ7XydTfaGyABAGx>)yl z@Y+|)SVxCx@!GWqspay7GBetK*s2@CJ?s{8v!(b|ShLb|O;3T1rAMB?DJ?Z`@013q zoyIvV84eYiS+?kRJOz`3AFcR~ZQ1Uq7wCnbSJ%-HZwhAnJ^4zDp2W8I)~WI7ush5> z&f3O)rj~2ZGr!c@=p3!n>jG-O#9`$7&WyF7bB}(rq4ldokUp5TY?E62r+YJbJp8Jf znDW3fYZ^nBQ9O}3?zH_*mZ9+G#HHnwop1Vfm!Df~{Z%D?5KzMN&RA>&#q8iCzTfAt zV#TyMeyyh8=M$8tyA|KeUwo_Q6Si)P)%n(W-*QE~08BG|>J!sQPq?IF;;%1ypP?Z` zK_0Un>p;9=9d675ELHboC0+fNMY&(;k(|=0TS>ka)BKI3q#)zx!Jp@zv0QfeEAjU< z=vI5@-d^A^-*#|P+b2QFiGxk4z<8Tp4p6{aOp88x>SQEa0M`VxX%IUb$bya!5EgRf6$fFw zp}jNTKUXjNe0x(;)Nu)Ij5K?QD0u6~mRHQ-!;6m#VP>)}=irAqy;f$e{W-EWnR75~ zm2b0u@r7ASk4x0oTqs9{f&F|eAmD*Gf^A;te7f}J{dXqLaH_4%D_(mnp0VmWhq>^E z&7>5*-mh>FX{w5SJf^#th&GrpOQk58U-+4 zq3$q~C4ySH7@lr>W+|c0`UF*ieC+3vC1$4m}F(ic|G7}QDt(t z7`#>$c4U-4LU_;nWHhdN9Fcv~L8h6M_}nW&EGTjgW(=c}uD9>eU^rDOrkNg_effOV z^8z_y=vNIt{`wOfgG2o^3ey`R!aP1=t7Mz@&MKK3>_BH_QkgNO@4IoQ-2d8EqsDg) zTMb-5lqlubRot-7!RD@+udO?O9_Da3XV5bvjW zXTb2psHUdeiIaI(lknQE_<+YlY31}R!VfoM_BuILQ{>Q89=LB5j;V|-yAW2gY82+~ zYlu~#*R(cHw2NO1h5xaiAD2oiIEQ-aQyA-D^y^z2ZHNfM{o(3M#SbqOP3>k9FOdDO z(t%c9hk)NCPe_8>=Y^U-_-6IwS-D0cE=pwdyLp!;r-fWiXtbUS$<dl!~WV$TR8 zP$KU?K>m?*O)mSGccn&kn|nj7NXFeo<0D=ue8s^~BK#P?J~gB}v5<0nK9GPipjT#9 zkm6yXFyLlgoUIDEVxw*0Z-WDqp8swCs(bcjAqdDLl1oUqYf#a`NjT6IO3?=P`FvUZ zlWC&lWb9_dexSz%N~-oscM`oC%b#KS|KS7AptwRX5h&1VDCKWzP{&??TFdF3h53&c zU(v)WhOr)#!V6Y6d7CzOO-@KF%@67>kh34@Exj7Rh}p5_0?yUeyC7@c7DHf+mW=~wpLeLYDA9#W-Ri*S|M@g zjPHH@qHrPuzq(+5y$V*UoFEg(g$$mRNUEF!C{IN3Rig{tU54W|OD_`M0G3u)B{WhC z*D?hTF7J+YdF8-Z-Uuw{3jBx`_!aus`uDDBecwuu&tsVpj2~DZJb2-!a2l??m{}er}lR6Lqu)-2+Vm)jr(g{nfQPx9-<^1d;k-d zkU{E^g7qwp+D`b+QtU5@+swaVKp9<`>sT~U)O!EEMBo!*)~s_<`6Yl z7fX2;ki>kVDfdietW1k;TYvaY({>?5X)&(d&_y<-J7Qa@b z(zwGCI=`P#^b>1>2#Y!9T5|AdtaU|zXxw9^KpIu6CAmQf$GzaeOJmYVsc3eh5%6lb z)t~(Ak2J`;KW_L6psME-h?xF6ryr4d{q;>-b`Q$L43T{r`{N?U6cqP(Q3f%kA8`c@ z<82KXjte|7u_Lo~MV!d%y$tYi(hzU$6t+*ml~Z&Mg{eK?@}^XEBK+-&j`Uv95x)=_ zZLs=Mpg_IuZenjm(~}b8Aggaaje8NX$A_7^G%-)!xtu)C{N|S<3hVOmU;{|i+q6zn zfr(1Ua*jF!%-dU3L}O2fvWAe%-4kxtXo_vJHF(AxSx)4AI8-$^uBQO_86Z_y%RZX4 zJpu5`pOAztxv?jXv9yx|r>#9!0|`71C-fli@v${6r+V$hgvcr|W_I`{=7*0s(PKQH zzn8r2+tSeD15stz|DIJ3%X%8EkyN?bsHhuq4(5D0Oewn_)-o)Nx$eNs{0V*ZTSVt4 z3ifXGGw5fBv+9b6d~Nl+08L4VbbZqf3DL^e?l@!uZVdWkdOpJPaE?{zF!ZI?c(vF3 zvX~OK4vktvm&R$MgNpiKA~&zT!1#H7!q1h7AQiuSNG9<=$64)Zym(UQ``(j#^hDzt}{aur0pS?mmBi&z4I0Jfieqh%Pa_A%N?_1OZHm-S{ zQ*)4(N_J;y7tRh0o>xs25-s9!M-)i;@I68#SGXB2XgS}N zx_r3%V)z1jLA_M&?)E^DT$kzdHMJF%e2w6BH@iI5tKWM+zcuhCsz@N0a_1RBvrdZx zjzD>V%;c4*$RkEv{zHuVyaB+ANl(iT8w{pJdziC7YcO2&(ciqGLhs@q-dNh! zkV_V_(_~$*>ND}j1yozMedYnu-_GKMh?IpP<@D+edeB4M%3@xr3oj{@mdFKoBVpm^)1_}Y^}rOWBSB|Uv)*-pTdiU ztW9~{qq5@iB+$QpbeJVKH^n^9vV})i>Z@2CHoY2$PC888c;#Yz-pHRK@EVheWhE!> zZzjPmy?0Ni8#=o_k6_s3DY7nS^&Bm}BW&ZfAuF7bQbDgAGM$dE)RM6RvdobKb&MhsYD4exRm9*jcHPjbz#rI?vj$u zPLF5Gjv|8}?ta9`&^H}Va3H;llghU-BC7pxo6?-eTP`7CUZHJrw{5 zhkDYeIYlhL%brQJ1X#<#fz#E}Z87Kj=Hde*f{l|A`9E my8jz0{9hgZgN;Rh%;ug!HJ{lE_@04L;EulOt!iDD=>G@$cU!Ii literal 0 HcmV?d00001 diff --git a/Apps/W1/Sustainability/app/app.json b/Apps/W1/Sustainability/app/app.json new file mode 100644 index 0000000000..4262e66c9d --- /dev/null +++ b/Apps/W1/Sustainability/app/app.json @@ -0,0 +1,33 @@ +{ + "id": "b3780cd9-f8f8-4a83-a4d5-0c2ad87b28af", + "name": "Sustainability", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "Sustainability module will enable users to collect and report on their sustainability activities. Solution is the foundation that will be used for being compliant with some of ESG standards.", + "description": "Sustainability module will enable users to collect and report on their sustainability activities. Solution is the foundation that will be used for being compliant with some of ESG standards.", + "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=724013", + "help": "https://go.microsoft.com/fwlink/?linkid=2139719", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2139719", + "url": "https://go.microsoft.com/fwlink/?linkid=724011", + "logo": "./ExtensionLogo.png", + "dependencies": [], + "internalsVisibleTo": [], + "screenshots": [], + "platform": "24.0.0.0", + "application": "24.0.0.0", + "idRanges": [ + { + "from": 5150, + "to": 5199 + } + ], + "features": [ + "TranslationFile" + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + } +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/test/ExtensionLogo.png b/Apps/W1/Sustainability/test/ExtensionLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2c9a626cb9617350617c40cd73904129d4c108 GIT binary patch literal 5446 zcma)=S5VVywD$iAMIcgC2u+$uktV%J6$Dhev_NQrfC^Fsq!|cJ=^|Z`P&U*^N-uuwi#_w5i!*aB*89x5SkKKnv*ua91anhEW+omc005Zp+`e`1 zOsW4C1O3^nWxbYuCX9Z!?E(M*a`E2+jm<_J0|5K}om)4pLZ&wJ&3t(K(|ffcq#?ky z#^aeQO#|lO9vyUeb0ezqQtpipl3Sj#-xy!eh7lu@5+BnW zNhL-~3Zpw&1u=bMN*Q(sgYksq4dM>Iw7p&Qk_Su~b*PgEs#LK~^K}aDaTG_6Q?_tM<8wOS}`Z+?~Et8GB>T%(k7$9`DL!d5)f!ZoXco-vj+s_QLEs2cf zKM&F>#c9w|TmM9MFtl8L*cYQgl9khf5CYMR)DJOUf;M~a9|+ys@RYR zCusNC(CSlUk|r`qdS&ZKh$O=@#&e0>;W~S#|KjHdfLx!-J9r1JtP4RGIhS|Rm0eZ6 z7eOE~Zfo4Li~K^|&)d^-r?8Rh2Q}#ZjL=?VJZ7~hlp4(!U!0K%679I`OR&x54*0&4 znho|hKu)WR)4PUVA1}N;jXHg}AG+gSKQ6O_fEP^Y51!LwBERH09|t!GNx2KH4co>r zA%cgSHxh2Sezx-w!S5DTG#0zVCbnLM6BP}2P-G{8 zh**wJHj<652FS05bSQNx-0fS7^(wREYvZwpt;$!!k4H0U*iyhS8(syBDMv>L<)~LI zPl!Y^-cM{_J@{hY1=XJ#T=Ef(FD!I^r1^lca3c0ftVuvo-(%!Zn)C1bK{}-i*Jc); zIIc+o&iMgvboj&4`@5sF23MV!*zIVmA0>{1;*H*faMAG6EZ7XydTfaGyABAGx>)yl z@Y+|)SVxCx@!GWqspay7GBetK*s2@CJ?s{8v!(b|ShLb|O;3T1rAMB?DJ?Z`@013q zoyIvV84eYiS+?kRJOz`3AFcR~ZQ1Uq7wCnbSJ%-HZwhAnJ^4zDp2W8I)~WI7ush5> z&f3O)rj~2ZGr!c@=p3!n>jG-O#9`$7&WyF7bB}(rq4ldokUp5TY?E62r+YJbJp8Jf znDW3fYZ^nBQ9O}3?zH_*mZ9+G#HHnwop1Vfm!Df~{Z%D?5KzMN&RA>&#q8iCzTfAt zV#TyMeyyh8=M$8tyA|KeUwo_Q6Si)P)%n(W-*QE~08BG|>J!sQPq?IF;;%1ypP?Z` zK_0Un>p;9=9d675ELHboC0+fNMY&(;k(|=0TS>ka)BKI3q#)zx!Jp@zv0QfeEAjU< z=vI5@-d^A^-*#|P+b2QFiGxk4z<8Tp4p6{aOp88x>SQEa0M`VxX%IUb$bya!5EgRf6$fFw zp}jNTKUXjNe0x(;)Nu)Ij5K?QD0u6~mRHQ-!;6m#VP>)}=irAqy;f$e{W-EWnR75~ zm2b0u@r7ASk4x0oTqs9{f&F|eAmD*Gf^A;te7f}J{dXqLaH_4%D_(mnp0VmWhq>^E z&7>5*-mh>FX{w5SJf^#th&GrpOQk58U-+4 zq3$q~C4ySH7@lr>W+|c0`UF*ieC+3vC1$4m}F(ic|G7}QDt(t z7`#>$c4U-4LU_;nWHhdN9Fcv~L8h6M_}nW&EGTjgW(=c}uD9>eU^rDOrkNg_effOV z^8z_y=vNIt{`wOfgG2o^3ey`R!aP1=t7Mz@&MKK3>_BH_QkgNO@4IoQ-2d8EqsDg) zTMb-5lqlubRot-7!RD@+udO?O9_Da3XV5bvjW zXTb2psHUdeiIaI(lknQE_<+YlY31}R!VfoM_BuILQ{>Q89=LB5j;V|-yAW2gY82+~ zYlu~#*R(cHw2NO1h5xaiAD2oiIEQ-aQyA-D^y^z2ZHNfM{o(3M#SbqOP3>k9FOdDO z(t%c9hk)NCPe_8>=Y^U-_-6IwS-D0cE=pwdyLp!;r-fWiXtbUS$<dl!~WV$TR8 zP$KU?K>m?*O)mSGccn&kn|nj7NXFeo<0D=ue8s^~BK#P?J~gB}v5<0nK9GPipjT#9 zkm6yXFyLlgoUIDEVxw*0Z-WDqp8swCs(bcjAqdDLl1oUqYf#a`NjT6IO3?=P`FvUZ zlWC&lWb9_dexSz%N~-oscM`oC%b#KS|KS7AptwRX5h&1VDCKWzP{&??TFdF3h53&c zU(v)WhOr)#!V6Y6d7CzOO-@KF%@67>kh34@Exj7Rh}p5_0?yUeyC7@c7DHf+mW=~wpLeLYDA9#W-Ri*S|M@g zjPHH@qHrPuzq(+5y$V*UoFEg(g$$mRNUEF!C{IN3Rig{tU54W|OD_`M0G3u)B{WhC z*D?hTF7J+YdF8-Z-Uuw{3jBx`_!aus`uDDBecwuu&tsVpj2~DZJb2-!a2l??m{}er}lR6Lqu)-2+Vm)jr(g{nfQPx9-<^1d;k-d zkU{E^g7qwp+D`b+QtU5@+swaVKp9<`>sT~U)O!EEMBo!*)~s_<`6Yl z7fX2;ki>kVDfdietW1k;TYvaY({>?5X)&(d&_y<-J7Qa@b z(zwGCI=`P#^b>1>2#Y!9T5|AdtaU|zXxw9^KpIu6CAmQf$GzaeOJmYVsc3eh5%6lb z)t~(Ak2J`;KW_L6psME-h?xF6ryr4d{q;>-b`Q$L43T{r`{N?U6cqP(Q3f%kA8`c@ z<82KXjte|7u_Lo~MV!d%y$tYi(hzU$6t+*ml~Z&Mg{eK?@}^XEBK+-&j`Uv95x)=_ zZLs=Mpg_IuZenjm(~}b8Aggaaje8NX$A_7^G%-)!xtu)C{N|S<3hVOmU;{|i+q6zn zfr(1Ua*jF!%-dU3L}O2fvWAe%-4kxtXo_vJHF(AxSx)4AI8-$^uBQO_86Z_y%RZX4 zJpu5`pOAztxv?jXv9yx|r>#9!0|`71C-fli@v${6r+V$hgvcr|W_I`{=7*0s(PKQH zzn8r2+tSeD15stz|DIJ3%X%8EkyN?bsHhuq4(5D0Oewn_)-o)Nx$eNs{0V*ZTSVt4 z3ifXGGw5fBv+9b6d~Nl+08L4VbbZqf3DL^e?l@!uZVdWkdOpJPaE?{zF!ZI?c(vF3 zvX~OK4vktvm&R$MgNpiKA~&zT!1#H7!q1h7AQiuSNG9<=$64)Zym(UQ``(j#^hDzt}{aur0pS?mmBi&z4I0Jfieqh%Pa_A%N?_1OZHm-S{ zQ*)4(N_J;y7tRh0o>xs25-s9!M-)i;@I68#SGXB2XgS}N zx_r3%V)z1jLA_M&?)E^DT$kzdHMJF%e2w6BH@iI5tKWM+zcuhCsz@N0a_1RBvrdZx zjzD>V%;c4*$RkEv{zHuVyaB+ANl(iT8w{pJdziC7YcO2&(ciqGLhs@q-dNh! zkV_V_(_~$*>ND}j1yozMedYnu-_GKMh?IpP<@D+edeB4M%3@xr3oj{@mdFKoBVpm^)1_}Y^}rOWBSB|Uv)*-pTdiU ztW9~{qq5@iB+$QpbeJVKH^n^9vV})i>Z@2CHoY2$PC888c;#Yz-pHRK@EVheWhE!> zZzjPmy?0Ni8#=o_k6_s3DY7nS^&Bm}BW&ZfAuF7bQbDgAGM$dE)RM6RvdobKb&MhsYD4exRm9*jcHPjbz#rI?vj$u zPLF5Gjv|8}?ta9`&^H}Va3H;llghU-BC7pxo6?-eTP`7CUZHJrw{5 zhkDYeIYlhL%brQJ1X#<#fz#E}Z87Kj=Hde*f{l|A`9E my8jz0{9hgZgN;Rh%;ug!HJ{lE_@04L;EulOt!iDD=>G@$cU!Ii literal 0 HcmV?d00001 diff --git a/Apps/W1/Sustainability/test/app.json b/Apps/W1/Sustainability/test/app.json new file mode 100644 index 0000000000..e894f00d67 --- /dev/null +++ b/Apps/W1/Sustainability/test/app.json @@ -0,0 +1,31 @@ +{ + "id": "6723f320-28a1-40cc-bf4d-d4dce362cb39", + "name": "Sustainability Tests", + "publisher": "Microsoft", + "version": "24.0.0.0", + "brief": "Tests for Microsoft Sustainability app.", + "description": "Tests for Microsoft Sustainability app.", + "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=724013", + "help": "https://go.microsoft.com/fwlink/?linkid=2139719", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2139719", + "url": "https://go.microsoft.com/fwlink/?linkid=724011", + "logo": "./ExtensionLogo.png", + "dependencies": [], + "internalsVisibleTo": [], + "screenshots": [], + "platform": "24.0.0.0", + "application": "24.0.0.0", + "idRanges": [ + { + "from": 135216, + "to": 135249 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "target": "OnPrem" +} \ No newline at end of file diff --git a/Apps/W1/SyncBase/.objidconfig b/Apps/W1/SyncBase/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/SyncBase/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/SyncBase/app.json b/Apps/W1/SyncBase/app.json index 8b091b85e1..144376cf1d 100644 --- a/Apps/W1/SyncBase/app.json +++ b/Apps/W1/SyncBase/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "_Exclude_SyncBaseApp_", "description": "_Exclude_SyncBaseApp_", - "version": "23.3.0.0", + "version": "24.0.0.0", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2182906", "help": "https://go.microsoft.com/fwlink/?linkid=2206524", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -29,5 +29,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/d365basicisvsyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/d365basicisvsyncbaseapp.permissionsetext.al index 580c272993..3689cb3304 100644 --- a/Apps/W1/SyncBase/src/Permissions/d365basicisvsyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/d365basicisvsyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 35149 "D365 BASIC ISV - SyncBaseApp" extends "D365 BASIC tabledata "Sync Mapping" = RIMD, tabledata "Sync Setup" = RIMD; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/d365basicsyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/d365basicsyncbaseapp.permissionsetext.al index 29e2088915..767ccec8de 100644 --- a/Apps/W1/SyncBase/src/Permissions/d365basicsyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/d365basicsyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 12127 "D365 BASIC - SyncBaseApp" extends "D365 BASIC" tabledata "Sync Mapping" = R, tabledata "Sync Setup" = R; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/d365busfullaccesssyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/d365busfullaccesssyncbaseapp.permissionsetext.al index b554235e26..14702093fe 100644 --- a/Apps/W1/SyncBase/src/Permissions/d365busfullaccesssyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/d365busfullaccesssyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 7400 "D365 BUS FULL ACCESS - SyncBaseApp" extends "D365 B tabledata "Sync Mapping" = RIMD, tabledata "Sync Setup" = RIMD; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/d365buspremiumsyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/d365buspremiumsyncbaseapp.permissionsetext.al index 0e79db0d0e..51f8c2563c 100644 --- a/Apps/W1/SyncBase/src/Permissions/d365buspremiumsyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/d365buspremiumsyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 35314 "D365 BUS PREMIUM - SyncBaseApp" extends "D365 BUS tabledata "Sync Mapping" = RIMD, tabledata "Sync Setup" = RIMD; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/d365fullaccesssyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/d365fullaccesssyncbaseapp.permissionsetext.al index 8d69eb85f7..fec70cfec2 100644 --- a/Apps/W1/SyncBase/src/Permissions/d365fullaccesssyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/d365fullaccesssyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 48421 "D365 FULL ACCESS - SyncBaseApp" extends "D365 FULL tabledata "Sync Mapping" = RIMD, tabledata "Sync Setup" = RIMD; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/d365readsyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/d365readsyncbaseapp.permissionsetext.al index f2d53370d2..ab607151e9 100644 --- a/Apps/W1/SyncBase/src/Permissions/d365readsyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/d365readsyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 6351 "D365 READ - SyncBaseApp" extends "D365 READ" tabledata "Sync Mapping" = R, tabledata "Sync Setup" = R; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/d365teammembersyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/d365teammembersyncbaseapp.permissionsetext.al index 92652ef9fb..3bbb944e16 100644 --- a/Apps/W1/SyncBase/src/Permissions/d365teammembersyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/d365teammembersyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 19131 "D365 TEAM MEMBER - SyncBaseApp" extends "D365 TEAM tabledata "Sync Mapping" = R, tabledata "Sync Setup" = R; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/Permissions/intelligentcloudsyncbaseapp.permissionsetext.al b/Apps/W1/SyncBase/src/Permissions/intelligentcloudsyncbaseapp.permissionsetext.al index ef2d6acd53..4953b17ef4 100644 --- a/Apps/W1/SyncBase/src/Permissions/intelligentcloudsyncbaseapp.permissionsetext.al +++ b/Apps/W1/SyncBase/src/Permissions/intelligentcloudsyncbaseapp.permissionsetext.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Security.AccessControl; @@ -8,3 +9,4 @@ permissionsetextension 39475 "INTELLIGENT CLOUD - SyncBaseApp" extends "INTELLIG tabledata "Sync Mapping" = R, tabledata "Sync Setup" = R; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/codeunits/SyncBaseinstall.Codeunit.al b/Apps/W1/SyncBase/src/codeunits/SyncBaseinstall.Codeunit.al index 466196322e..526658d7f8 100644 --- a/Apps/W1/SyncBase/src/codeunits/SyncBaseinstall.Codeunit.al +++ b/Apps/W1/SyncBase/src/codeunits/SyncBaseinstall.Codeunit.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using Microsoft.Foundation.Company; @@ -7,6 +8,9 @@ using System.Privacy; codeunit 2399 "Sync Base install" { Subtype = Install; + ObsoleteState = Pending; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '24.0'; trigger OnInstallAppPerCompany() begin @@ -36,4 +40,5 @@ codeunit 2399 "Sync Base install" DataClassificationMgt.SetFieldToPersonal(Database::"Sync Change", SyncChange.FieldNo("Internal ID")); DataClassificationMgt.SetFieldToPersonal(Database::"Sync Mapping", SyncMapping.FieldNo("Internal ID")); end; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/codeunits/SyncJob.Codeunit.al b/Apps/W1/SyncBase/src/codeunits/SyncJob.Codeunit.al index 28154f8fc7..ecad9963d8 100644 --- a/Apps/W1/SyncBase/src/codeunits/SyncJob.Codeunit.al +++ b/Apps/W1/SyncBase/src/codeunits/SyncJob.Codeunit.al @@ -1,3 +1,4 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; using System.Threading; @@ -5,6 +6,10 @@ using System.Security.User; codeunit 2400 "Sync Job" { + ObsoleteState = Pending; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '24.0'; + trigger OnRun() var JobQueueEntry: Record "Job Queue Entry"; @@ -142,3 +147,4 @@ codeunit 2400 "Sync Job" end; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/codeunits/SyncManagement.Codeunit.al b/Apps/W1/SyncBase/src/codeunits/SyncManagement.Codeunit.al index 2fd2cabb95..2a68b7dfd7 100644 --- a/Apps/W1/SyncBase/src/codeunits/SyncManagement.Codeunit.al +++ b/Apps/W1/SyncBase/src/codeunits/SyncManagement.Codeunit.al @@ -1,8 +1,12 @@ +#if not CLEAN24 namespace Microsoft.Integration.SyncBase; codeunit 2401 "Sync Management" { SingleInstance = true; + ObsoleteState = Pending; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '24.0'; procedure MergeSyncChanges() var @@ -45,3 +49,4 @@ codeunit 2401 "Sync Management" end; } +#endif \ No newline at end of file diff --git a/Apps/W1/SyncBase/src/tables/SyncChange.Table.al b/Apps/W1/SyncBase/src/tables/SyncChange.Table.al index d9f41fac11..8fb62a1e2b 100644 --- a/Apps/W1/SyncBase/src/tables/SyncChange.Table.al +++ b/Apps/W1/SyncBase/src/tables/SyncChange.Table.al @@ -5,6 +5,15 @@ table 2401 "Sync Change" Caption = 'Sync Change'; DataClassification = SystemMetadata; ReplicateData = false; +#if not CLEAN24 + ObsoleteState = Pending; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '24.0'; +#else + ObsoleteState = Removed; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '27.0'; +#endif fields { diff --git a/Apps/W1/SyncBase/src/tables/SyncMapping.Table.al b/Apps/W1/SyncBase/src/tables/SyncMapping.Table.al index 2a2a79683e..24e76dbc01 100644 --- a/Apps/W1/SyncBase/src/tables/SyncMapping.Table.al +++ b/Apps/W1/SyncBase/src/tables/SyncMapping.Table.al @@ -5,6 +5,15 @@ table 2402 "Sync Mapping" Caption = 'Sync Mapping'; DataClassification = SystemMetadata; ReplicateData = false; +#if not CLEAN24 + ObsoleteState = Pending; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '24.0'; +#else + ObsoleteState = Removed; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '27.0'; +#endif fields { diff --git a/Apps/W1/SyncBase/src/tables/SyncSetup.Table.al b/Apps/W1/SyncBase/src/tables/SyncSetup.Table.al index a51fa2cb13..76cecf9277 100644 --- a/Apps/W1/SyncBase/src/tables/SyncSetup.Table.al +++ b/Apps/W1/SyncBase/src/tables/SyncSetup.Table.al @@ -5,6 +5,15 @@ table 2400 "Sync Setup" Caption = 'Sync Setup'; DataClassification = SystemMetadata; ReplicateData = false; +#if not CLEAN24 + ObsoleteState = Pending; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '24.0'; +#else + ObsoleteState = Removed; + ObsoleteReason = 'The extension is being obsoleted.'; + ObsoleteTag = '27.0'; +#endif fields { @@ -32,6 +41,8 @@ table 2400 "Sync Setup" } } +#if not CLEAN24 + [Obsolete('The extension is being obsoleted.', '24.0')] [Scope('Personalization')] procedure GetSingleInstance() begin @@ -47,5 +58,6 @@ table 2400 "Sync Setup" begin "Max No. of sync attempts" := 10; end; +#endif } diff --git a/Apps/W1/TransactionStorage/app/app.json b/Apps/W1/TransactionStorage/app/app.json index 109f73c371..12b94955a2 100644 --- a/Apps/W1/TransactionStorage/app/app.json +++ b/Apps/W1/TransactionStorage/app/app.json @@ -1,37 +1,33 @@ { - "id": "12fe63f9-1931-4404-be38-abfc46a2298d", - "name": "Transactions and Receipts Storage", - "publisher": "Microsoft", - "brief": "The Transactions and Receipts Storage app allows companies to have archived all transactions and receipts outside of the database, as required by the law.", - "description": "In some countries, authorities require to keep transactions and receipts for software users in a machine-readable format for a certain period of time. This requirement applies irrespective of any termination of Microsoft relations with the software user or its bankruptcy or forced dissolution. The recorded transactions are preserved so that they cannot be changed, backdated or deleted by the user. This app provides archiving required transactions and receipts in the Azure BLOB Storage.", - "version": "23.3.0.0", - "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/localfunctionality/denmark/denmark-local-functionality", - "url": "https://go.microsoft.com/fwlink/?LinkId=724011", - "logo": "ExtensionLogo.png", - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2204541", - "dependencies": [ - - ], - "screenshots": [ - - ], - "platform": "23.0.0.0", - "idRanges": [ - { - "from": 6200, - "to": 6250 - } - ], - "features": [ - "TranslationFile" - ], - "resourceExposurePolicy": { - "allowDebugging": true, - "allowDownloadingSource": true, - "includeSourceInSymbolFile": true - }, - "application": "23.3.0.0", - "target": "OnPrem" + "id": "12fe63f9-1931-4404-be38-abfc46a2298d", + "name": "Transactions and Receipts Storage", + "publisher": "Microsoft", + "brief": "The Transactions and Receipts Storage app allows companies to have archived all transactions and receipts outside of the database, as required by the law.", + "description": "In some countries, authorities require to keep transactions and receipts for software users in a machine-readable format for a certain period of time. This requirement applies irrespective of any termination of Microsoft relations with the software user or its bankruptcy or forced dissolution. The recorded transactions are preserved so that they cannot be changed, backdated or deleted by the user. This app provides archiving required transactions and receipts in the Azure BLOB Storage.", + "version": "24.0.0.0", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://learn.microsoft.com/en-us/dynamics365/business-central/localfunctionality/denmark/denmark-local-functionality", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2204541", + "dependencies": [], + "screenshots": [], + "platform": "24.0.0.0", + "idRanges": [ + { + "from": 6200, + "to": 6250 + } + ], + "features": [ + "TranslationFile" + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "application": "24.0.0.0", + "target": "OnPrem" } \ No newline at end of file diff --git a/Apps/W1/UKSendRemittanceAdvice/app/.objidconfig b/Apps/W1/UKSendRemittanceAdvice/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/UKSendRemittanceAdvice/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/UKSendRemittanceAdvice/app/app.json b/Apps/W1/UKSendRemittanceAdvice/app/app.json index aa1ab4dc6f..902ddc5fd0 100644 --- a/Apps/W1/UKSendRemittanceAdvice/app/app.json +++ b/Apps/W1/UKSendRemittanceAdvice/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Allows to send remittance advice to vendors by email", "description": "Allows to send remittance advice to vendors by email from payment journal and from vendor ledger entries", - "version": "23.3.0.0", + "version": "24.0.0.0", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2093433", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", @@ -17,7 +17,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/UKSendRemittanceAdvice/app/src/SetupRemittanceReports.Codeunit.al b/Apps/W1/UKSendRemittanceAdvice/app/src/SetupRemittanceReports.Codeunit.al index 8d3ca4973b..d3551bbd17 100644 --- a/Apps/W1/UKSendRemittanceAdvice/app/src/SetupRemittanceReports.Codeunit.al +++ b/Apps/W1/UKSendRemittanceAdvice/app/src/SetupRemittanceReports.Codeunit.al @@ -12,7 +12,6 @@ codeunit 4031 SetupRemittanceReports { Subtype = Install; trigger OnInstallAppPerCompany() - var begin SetupReportSelections(); end; diff --git a/Apps/W1/UKSendRemittanceAdvice/test/app.json b/Apps/W1/UKSendRemittanceAdvice/test/app.json index e389b83a63..2c2f4c2d9c 100644 --- a/Apps/W1/UKSendRemittanceAdvice/test/app.json +++ b/Apps/W1/UKSendRemittanceAdvice/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "Tests for the Send remittance advice by email extension.", "description": "Tests for the Send remittance advice by email extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2093433", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", @@ -16,25 +16,25 @@ "id": "e97bbbc7-16b6-470b-9428-376baa778970", "name": "Send remittance advice by email", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -51,5 +51,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/VATGroupManagement/app/.objidconfig b/Apps/W1/VATGroupManagement/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/VATGroupManagement/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/VATGroupManagement/app/app.json b/Apps/W1/VATGroupManagement/app/app.json index ee95c42a30..7f6d8d8fd7 100644 --- a/Apps/W1/VATGroupManagement/app/app.json +++ b/Apps/W1/VATGroupManagement/app/app.json @@ -2,7 +2,7 @@ "id": "c50a4bf0-db51-4ad2-88d5-fe2287da0eb8", "name": "VAT Group Management", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "The VAT Group Management extension makes it easy to be part of a VAT group.", "description": "This app defines member and representative companies in the VAT group. Group members submit VAT returns to the group representative, who then submits the aggregated return for all member companies to the tax authorities.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,8 +10,8 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2194309", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "idRanges": [ { "from": 4700, diff --git a/Apps/W1/VATGroupManagement/test/app.json b/Apps/W1/VATGroupManagement/test/app.json index bb4f42195b..e48dfe89e6 100644 --- a/Apps/W1/VATGroupManagement/test/app.json +++ b/Apps/W1/VATGroupManagement/test/app.json @@ -2,7 +2,7 @@ "id": "3a0baab8-a5fc-433c-88b1-60b1d2b059d7", "name": "VAT Group Management Tests", "publisher": "Microsoft", - "version": "23.3.0.0", + "version": "24.0.0.0", "brief": "Tests for the Microsoft VAT Group Management extension.", "description": "Tests for the Microsoft VAT Group Handler extension.", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", @@ -10,32 +10,32 @@ "help": "https://go.microsoft.com/fwlink/?linkid=2135559", "url": "https://go.microsoft.com/fwlink/?LinkId=724011", "logo": "ExtensionLogo.png", - "platform": "23.0.0.0", - "application": "23.3.0.0", + "platform": "24.0.0.0", + "application": "24.0.0.0", "dependencies": [ { "id": "c50a4bf0-db51-4ad2-88d5-fe2287da0eb8", "name": "VAT Group Management", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "idRanges": [ diff --git a/Apps/W1/WorldPayPaymentsStandard/app/.objidconfig b/Apps/W1/WorldPayPaymentsStandard/app/.objidconfig new file mode 100644 index 0000000000..692e082f09 --- /dev/null +++ b/Apps/W1/WorldPayPaymentsStandard/app/.objidconfig @@ -0,0 +1,3 @@ +{ + "appPoolId": "0ef705b60e6900f11232505938e0e8a87867b9eac95b5a0d58dd87d6cbb44014" +} \ No newline at end of file diff --git a/Apps/W1/WorldPayPaymentsStandard/app/app.json b/Apps/W1/WorldPayPaymentsStandard/app/app.json index b44a2d0225..4f23261fd7 100644 --- a/Apps/W1/WorldPayPaymentsStandard/app/app.json +++ b/Apps/W1/WorldPayPaymentsStandard/app/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "(Obsolete) WorldPay Payments Standard adds a WorldPay link to your sales documents so customers can easily pay using WorldPay. Then you can send the documents by email to provide higher customer service and shorten the time it takes for customers� payments to arrive on your bank account.", "description": "(Obsolete) Customers continuously require higher levels of service, both in terms of the quality of product, but also in terms of delivery and payment services. WorldPay Payments Standard adds a WorldPay link to your sales documents so customers can easily pay using WorldPay. You can send the documents by email to provide higher customer service and shorten the time it takes for customer payments to arrive in your bank account. This extension can embed a link to WorldPay on all invoices automatically, or a user can do it on individual invoices. The WorldPay Payments Standard extension gives customers more ways to pay invoices because WorldPay offers multiple ways of handling payments, including credit card processing, WorldPay accounts, and other sources. Plus, WorldPay delivers a trustworthy payment service, which customers prefer to entering credit card information on unknown websites, and WorldPay does not require monthly fees or setup fees. Because this functionality is built as an extension, it gives you full control to enable it when and if your business processes require it.", - "version": "23.3.0.0", + "version": "24.0.0.0", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=844663", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", @@ -22,7 +22,7 @@ "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 1, @@ -30,5 +30,5 @@ } ], "target": "Cloud", - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/CreateDemoData.Codeunit.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayCreateDemoData.Codeunit.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/CreateDemoData.Codeunit.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayCreateDemoData.Codeunit.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/StandardAccount.Table.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardAccount.Table.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/StandardAccount.Table.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardAccount.Table.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/StandardMgt.Codeunit.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardMgt.Codeunit.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/StandardMgt.Codeunit.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardMgt.Codeunit.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/StandardSetup.Page.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardSetup.Page.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/StandardSetup.Page.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardSetup.Page.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/StandardUpgrade.Codeunit.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardUpgrade.Codeunit.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/StandardUpgrade.Codeunit.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStandardUpgrade.Codeunit.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/StdSettings.Page.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStdSettings.Page.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/StdSettings.Page.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStdSettings.Page.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/StdTemplate.Page.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStdTemplate.Page.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/StdTemplate.Page.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStdTemplate.Page.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/StdTemplate.Table.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStdTemplate.Table.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/StdTemplate.Table.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayStdTemplate.Table.al diff --git a/Apps/W1/WorldPayPaymentsStandard/app/src/Transaction.Table.al b/Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayTransaction.Table.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/app/src/Transaction.Table.al rename to Apps/W1/WorldPayPaymentsStandard/app/src/MSWorldPayTransaction.Table.al diff --git a/Apps/W1/WorldPayPaymentsStandard/test/app.json b/Apps/W1/WorldPayPaymentsStandard/test/app.json index 57be15a19d..62d583ff9d 100644 --- a/Apps/W1/WorldPayPaymentsStandard/test/app.json +++ b/Apps/W1/WorldPayPaymentsStandard/test/app.json @@ -4,7 +4,7 @@ "publisher": "Microsoft", "brief": "(Obsolete) Tests for the WorldPay Payments Standard extension.", "description": "(Obsolete) Tests for the WorldPay Payments Standard extension.", - "version": "23.3.0.0", + "version": "24.0.0.0", "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=844663", "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", @@ -16,31 +16,31 @@ "id": "bae453ed-0fd8-4416-afdc-4b09db6c12c3", "name": "WorldPay Payments Standard", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5d86850b-0d76-4eca-bd7b-951ad998e997", "name": "Tests-TestLibraries", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "9856ae4f-d1a7-46ef-89bb-6ef056398228", "name": "System Application Test Library", "publisher": "Microsoft", - "version": "23.3.0.0" + "version": "24.0.0.0" }, { "id": "5095f467-0a01-4b99-99d1-9ff1237d286f", "publisher": "Microsoft", "name": "Library Variable Storage", - "version": "23.3.0.0" + "version": "24.0.0.0" } ], "screenshots": [ ], - "platform": "23.0.0.0", + "platform": "24.0.0.0", "idRanges": [ { "from": 139500, @@ -57,5 +57,5 @@ "allowDownloadingSource": true, "includeSourceInSymbolFile": true }, - "application": "23.3.0.0" + "application": "24.0.0.0" } \ No newline at end of file diff --git a/Apps/W1/WorldPayPaymentsStandard/test/src/StandardTests.Codeunit.al b/Apps/W1/WorldPayPaymentsStandard/test/src/MSWorldPayStandardTests.Codeunit.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/test/src/StandardTests.Codeunit.al rename to Apps/W1/WorldPayPaymentsStandard/test/src/MSWorldPayStandardTests.Codeunit.al diff --git a/Apps/W1/WorldPayPaymentsStandard/test/src/StdMockEvents.Codeunit.al b/Apps/W1/WorldPayPaymentsStandard/test/src/MSWorldPayStdMockEvents.Codeunit.al similarity index 100% rename from Apps/W1/WorldPayPaymentsStandard/test/src/StdMockEvents.Codeunit.al rename to Apps/W1/WorldPayPaymentsStandard/test/src/MSWorldPayStdMockEvents.Codeunit.al From 3e8471b6021e630b9203d1ebbb48c6a33a8db135 Mon Sep 17 00:00:00 2001 From: aholstrup1 Date: Wed, 13 Dec 2023 07:46:11 +0100 Subject: [PATCH 2/2] Update al-go config --- .github/AL-Go-Settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/AL-Go-Settings.json b/.github/AL-Go-Settings.json index d4a28d8f19..931fc5aae6 100644 --- a/.github/AL-Go-Settings.json +++ b/.github/AL-Go-Settings.json @@ -5,10 +5,10 @@ "runs-on": "windows-latest", "cacheImageName": "", "UsePsSession": false, - "artifact": "bcinsider//23.3.14424.0/base", + "artifact": "https://bcinsider.azureedge.net/sandbox/24.0.14618.0/base", "country": "base", "useProjectDependencies": true, - "repoVersion": "23.3", + "repoVersion": "24.0", "cleanModePreprocessorSymbols": [ "CLEAN17", "CLEAN18",