Extensibility changes in Dynamics 365 for Finance and Operations update 8.0.4

Important

Dynamics 365 for Finance and Operations is now being licensed as Dynamics 365 Finance and Dynamics 365 Supply Chain Management. For more information about these licensing changes, see Dynamics 365 Licensing Update.

This is a list of extensibility features that were implemented in Dynamics 365 for Finance and Operations update 8.0.4. For more information about the schedule of changes that support extensibility, see Application extensibility plans.

Refactored methods to support extensibility

These methods have been refactored to support extensibility through chain of command, delegates, or by providing access to members.

Method
AgreementHeader.getModuleType
AssetSplit.construct
BankDepositSlipController.main
BankPositivePayExport.sendFileToUser
CaseDetailForm.getRecordsFromDataSource
CostSheetDesigner.DataSource:CostSheetCalculationFactor.validateWrite
CostSheetNodeCalculation.validate
CostSheetNodeCalculationRate.calcLowestLevel
CostSheetNodeCalculationSurcharge.equal
CustAccountStatementExtController.processParty
CustAccountStatementExtDP.insertNewRecords
CustAccountStatementExtDP.setSysDocuBrandDetails
CustBillOfExchangePost.postNextStep
CustBillOfExchangePostProtestHonored.postNextStep
CustCollectionJourController.runPrintMgmt
CustCollectionLetterCreate.createJournal
CustCollectionLetterCreate.run
CustCollectionLetterNote.CustCollectionLetterJour.active
CustCollectionLetterPost.processRow
CustCollectionLetterPost.validateCollectionLetter
CustFreeInvoiceCorrection.createInvoiceLines
CustInterestPost.main
CustInterestPost.validateInterestTrans
CustInvoiceJour.printJournal
CustInvoiceTable.calcDue
CustOpenBalanceCurrency.Data Sources – VendTrans – init
CustOpenTrans.editMarkTrans
CustPackingSlipJourFormHelper.areCancelCorrectButtonsEnabled
CustPaymEntry.editIsMarkedForSettlement
CustPostInvoice.main
CustPostInvoice.run
CustPostInvoice.validate
CustPostInvoiceJob.custPostInvoiceUpdate
CustPostInvoiceJob.initializeCustPostProcess
CustPostInvoiceJob.main
CustPostInvoiceJob.processCustPostInvoiceUpdate
CustProvisionalBalanceDP.calculateAmounts
CustProvisionalBalanceDP.insertCustProvisionalBalanceTmp
CustProvisionalBalanceDP.populateCustProvisionalBalanceTmpProcessing
CustProvisionalBalanceDP.processReport
CustProvisionalBalanceDP.translateMainAccountNamesOnCustProvisionalBalanceTmpProcessing
CustQuotationJournal.launchReport
CustSettlementPriorityProcessing .createTempData
CustSettlementPriorityProcessing .setPaymentAmount
CustSettlementPriorityProcessing .updatePartialTrans
CustSettlementPriorityProcessing.classDeclaration
CustSettlementPriorityProcessing.constructCustOpenTrans
CustSettlementPriorityProcessing.constructCustPaymEntry
CustSettlementPriorityProcessing.constructOffsetVoucherCust
CustSettlementPriorityProcessing.getBillingPriorities
CustSettlementPriorityProcessing.getSettlementQuery
CustSettlementPriorityProcessing.initCustTransOpen
CustSettlementPriorityProcessing.insertAllLinesAccrossInvoices
CustSettlementPriorityProcessing.markTransactions
CustSettlementPriorityProcessing.markTransByCreditNoteOnBillingClasses
CustSettlementPriorityProcessing.validateMarkedTransactionOpenTrans
CustStatisticsUS - method calcStatistics
CustTable.validateCNPJCPF_BR
CustTrans.checkReversal
CustVendCheque.processChequeNum
CustVendCreatePaymJournal_Vend.searchTransactions
CustVendExchAdjPostingEngine.addExchangeAdjustment
CustVendFindSettlements.getTmpTrans
CustVendPaymProposalTransferToJournal.transferProposalLineToJournal
CustVendSettle.createSummaryAccountReliefTransactions
CustVendSettle.mustOffsetOriginalSummaryDistributions
CustVendSettle.postingProfileSettle_CreateDistributions
CustVendSettle.settleNow
CustVendTransDistributionController.getDistributionFactorsForPostingTypes
CustVendTransExchAdjDistController.getDistributionFactorsForPostingTypes
CustVendTransSettle.post
CustVendVoucher.initLedgerPosting
CustWriteOff.createInterestWriteOffJournalForInterestTrans
DataFileImportExportUtils.readStreamWriterAndWriteToStreamWriter
EcoResProductCreate.initDefaultControlValues
EcoResProductReleaseManager.releaseToLegalEntity
ExchangeRateImportOperation.saveRates
FormletterJournalCreate.newPurchJournalCreate
FulfillmentLineView.NewExtension
InterCompanyPost.formLetterCollect
InventCostIndirectFinancial.remainingQty
InventCostItemDim.load
InventCostJournalIndirectCost > addTrans
InventCostTrans.setRefTypeFromInventTransType
InventDimCtrl_Rep_Sales.initDimParmFormletter
InventDimCtrl_Rep_Sales.mustShowField
InventDimCtrl_Rep_Sales.reportStrItemId
InventDistinctProductOrderDefaultingController.construct
InventItemLocationCountingStatus.updateStopCountingJournal
InventItemPriceActivationJob.activateCostSheetCalculationFactor
InventJournalCheckPost_Movement.postTransLedgerMovement
InventJournalFormTrans_Movement.initReleasedProductSpecificDefaulting
InventoryMainAccDimensionListProvider.ledgerPostingType2InventAccountType
InventQualityOrderTable.setTestResult
InventSerial.init
InventSumPhysicalSpec.setValueQty
InventTable.insertInventItemOrderSetup
InventTrans.updateSumUp
InventTransferLine.updates
InventTransferUpd.beginLedger
InventTransIdSum.update
InventUpd_Estimated.updateFieldsChange
InventUpd_Financial.updateFinancialIssue
InventUpd_Financial.updateNow
InventUpd_Physical.updatePhysicalReturnedReceipt
InventUpd_Registered.pickReleatedIssueTransMore
InventUpd_Reservation.updateReserveMore
InventUpdateMarking.updateReservations
JmgAbsenceCalendar
JmgMESSwitchCode.init
LedgerExchAdj.postAdjustment
LedgerExchAdj.run
LedgerJournalEngine.initTaxGroup
LedgerJournalEngine_CustBillSettle.initCustOffsetAccount
LedgerJournalTransCustPaym.LedgerJournalTrans.CustVendBankAccountId.jumpRef
LedgerJournalTransUpdateCust
LedgerJournalTransUpdateLedger.updateNow
LogisticsPostalAddress.whsAddressFormatValidation
LogisticsPostalAddressFormEventHandler.updatePrimaryControl
Markup.calc
MCRCustPaym.ValidateWrite
McrCustPaymTotals_Sales.allPaymentsSubmitted
OffsetVoucher.updateNow
PmfCoByProdCalcTrans.updateRealCalcIndirect
PmfCoByProdCalcTrans.updateRealCalcIndirect
POSAPIdts.New Trigger
PriceDiscAdmCheckPost.checkForOverlapsAndGaps
PriceDiscAdmTrans.canEditPriceDiscValueField
ProcCategoryHierarchyManagement.init
ProdCalcTrans > method updateRealCalcIndirect
ProdIndirectTrans > method type2ItemCalcType
ProdJournalCheckPostProd.postTransLedger
ProdTableForm.handleProdTableCreatePreSuper
ProdUpdReportFinished.updateBOMConsumption
ProdUpdReportFinished.updateBOMConsumption
ProjAdjustmentUpdate.deleteJournal
ProjFundingLimitTrackingManager.updateUsingSourceDocument
ProjInvoiceProposalInsertLines.run
ProjInvoiceTableCreate.canClose
ProjInvoiceTableCreate.initializeValues
ProjPlanVersionsManager.createTemplateHierarchy
ProjPostCostJournal.projTransCreate
ProjSalesItemReq.SalesLine.linkActive
ProjTableType_TimeMaterial.validateWrite
PurchAgreement.applyQueryRanges
PurchApproveJournalPost.postPurgeLedgerAccount
PurchaseOrderResponseService.shouldPurchaseOrderBeAutoConfirmed
PurchAutoCreate_PurchReq.initializeAndCreatePurchLine
PurchAutoCreate_PurchReq.initializeAndCreatePurchLine
PurchAutoCreate_Sales.createLine
PurchCalcTax.construct
PurchCancel.run
PurchCreateFromOrder.insertMinMaxQty
PurchCreateFromSalesOrder.insertIntoTmpPurchLinePrice
PurchCreateFromSalesOrder.refreshCallerDataSource
PurchCreateFromSalesOrder.Salesline.specifyMinMaxQty
PurchCreateFromSalesOrder.SalesLine.specifyVendAccount
PurchCreateFromSalesOrder.validateSalesLine
PurchEditLines.canClose
PurchEditLinesForm.construct
PurchFormLetter.construct
PurchFormLetterContract.newFromPackedVersion
PurchFormletterParmDataInvoice.selectFromJournalLines
PurchFormLetterProvider.checkPurchLineChanged
PurchInvoiceJournalPost.updateSourceLine
PurchLine.checkInvoiceConstraints
PurchLine.ledgerDimensionItem
PurchLine.ledgerDimensionReceipt
Purchline.unLinkAgreementLinePrompt
PurchLine.validateField
PurchLine::setProjSalesPrice
PurchPrepayTable.updateAdvanceApplicationRemaining
PurchPurchOrderJournalPost.updateSourceTable
PurchReqCreate.init
PurchReqLine.setDefaultDimension
PurchReqLine.validateWrite
PurchReqTable.init
PurchReqTableForm.new
PurchRFQCaseTable.init
PurchTable.jumpRefIntercompanySalesOrder
PurchTableForm_DeliverySchedule.updatePurchLineTable
PurchTableInteraction.enableHeaderReceive
PurchTableType.validateDelete
PurchTableUpdateFromPurchReqLineMap.update
ReqTransPoMarkFirm.setPurchBuyerGroupId & updatePurchBuyerGroup
RetailGroupMemberLineHelper.internalCreateOrUpdateOrRemoveRetailGroupMemberLine
RetailLabelDP.insertTmpTable
SalesCalcAvailableDlvDates.mainOnServer
SalesConfirmJournalPost.updateSourceTable
SalesCopying.editCopy
SalesCopying.editMarkAll
SalesCopying.initReturnOrderFromCustomer
SalesCreateQuotation.canClose
SalesDropShipmentCancel.removeMarking
SalesEditLines.canClose
SalesFormletterParmData.reArrangeLines
SalesFormletterParmData.reArrangeSplit
SalesFormletterParmData.reArrangeSplit
SalesFormLetterProvider.checkJournal
SalesInvoiceDP.insertGiroInformation
SalesInvoiceJournalCreate.checkDocumentData_PL
SalesInvoiceJournalPostBase.postLine
SalesLine.resetInvent
SalesLineType.initDimensionsSpecificDefaulting
SalesLineType.initReleasedProductSpecificDefaulting
SalesPackingSlipDP.setSalesPackingSlipDetailsTmp
SalesPackingSlipJournalCreate.updateJournalLine
SalesPackingSlipJournalCreate.updateJournalLine
SalesPackingSlipJournalPost.insertBackorderLine
SalesPackingSlipJournalPost.interCompanyPost
SalesPackingSlipJournalPost.updateJournalLine
SalesPurchSummaryModel_Account.createNewJournal
SalesQuotationCalcTax_Sales.construct
SalesQuotationEditLinesForm.postUpdate
SalesQuotationLineType.initFromProjTable
SalesQuotationLineType.initReleasedProductSpecificDefaulting
SalesQuotationTable.modifiedField
SalesQuotationTableForm.createFromTemplate
SalesQuotationUpdate_Cancelled.run
SalesQuotationUpdate_Lost.run
SalesTable.initFromCustTableMandatoryFields
SalesTable.jumpRefIntercompanyPurchaseOrder
SalesTable.setShipCarrierFromLogisticsLocation
SalesTable.update
SalesTableForm.interCompanyAutoCreateOrders
SettlementPair.createSettlementForDebitOrCreditTrans
SmaServiceFunctionLine_Transfer.createJournalLine
SmaServiceFunctionLine_Transfer.postJournalTransType
SmaServiceOrderCreate.createServiceOrderLine
SmaSubscriptionGenerator::postTrans
smmBusRelTable.relation2Vendor
smmBusRelTable.updateQuotations
SmmCampaignBroadcast::validate
SmmOpportunityStatusUpdate.updateOpportunity
smmOpportunityTable\Methods\openQuotation
SmmProjectCreate.createSingleProject
SmmProjectCreate.createSingleProject
SmmUpdateBusRel.updateFromVendTableSFA2
SubledgerJournalTransferController.run
SuppItem.calcSuppItem
SuppItem::newSuppItem
SuppItemCreate::newSuppItemCreate
Tax.post
Tax.saveAndPost
TaxFreeInvoice_Invoice.updateAndPost
TaxPost.moveTaxLineToNewOwner
TaxPost.saveAndPostFromTmpTaxWorkTrans
TaxPost.saveAndPostFromTmpTaxWorkTrans
TaxVoucherService.postTaxOnErrorAccount
TradePackingSlipJourChain.createRelationship
TradeTotals.calc
TradeTotals.updateOrderBalances
VendAccountStatementIntDP.processReport
VendEditInvoice\DataSource\VendInvoiceInfoTable\Methods\write
VendInvoiceMatching.initExpectedValues
VendInvoiceWFParticipantProviderExpend.resolve
VendOpenTrans.editMarkTrans
VendorInvoiceLineSourceDocLineItem.calculateSourceDocumentAmountMap
VendPaymentJournalDP.insertDataFromLedgerJournalTrans
VendPaymentJournalDP.insertDataFromSpecTrans
VendPromissoryNotePost.postNextStep
VendProvisionalBalanceDP.calculateAmounts
VendProvisionalBalanceDP.insertVendProvisionalBalanceTmp
VendProvisionalBalanceDP.processReport
VendTransListDP.ProcessReport
VendVoucher.createInvoiceJournal
WHSDocumentRouting.printDocument
WhsLoadLineInventTransValidator.checkLoadLineInventTransConsistencyOnInventoryUpdate
WHSLoadLineUpdater.initAndInsertLoadLine
WhsShipConfirm.createASNItems
WhsWarehouseRelease.createLoadLines
WHSWorkExecute.executeShortPick
WHSWorkExecuteDisplayLPReceiving.displayForm
WHSWorkExecuteDisplayLPReceiving.displayNextForm
WHSWorkExecuteDisplayMovementByTemplate.displayForm
WhsWorkExecuteForm.createLabel
WmsJournalCheckPostReception.postTrans
WmsOnlineCountingServer.getMovement
WmsOnlineCountingServer.handleLine
WmsOrderCreate.updateCreatewmsOrder
WrkCtrResourceAbilityMapController.loadData

Enumerations made extensible

These enumerations have been made extensible in this update.

Enumeration
ABCModel
AccountOrder
AmountUnit
CostCalculationRateSubtype
CurrencyGainLossAccountType
CustInterestCodeSource
CustPaymentType
DirViewLocationNodeType
InterestCalcAccountChoice
InventTransPostingType
MCRCustSearchType
PaymentStub
PaymentStubInclAll
ProjCompletePrincip
ProjMatchingPrincip
RetailPOSSeedDataType
SalesQuotationStatus
TMSApptStatus
TMSCommunicationType

Additional extensibility enhancements

In addition to the refactored methods, the following extensibility enhancements have been made.

  • CustVendSettle: set variables protected instead of private.
  • Data manipulation method not raising event: WHSLocationDirective.loopLocDirLines.
  • Data manipulation method not raising event: WhsWorkCreate.createTempLine.
  • Map extension: LogisticsPostalAddressMap.
  • Map extension: PurchReqLineMap.
  • Metadata change: DataEntityView/ProjWBSActivityEstimatesEntity.Is Public = Yes.
  • Metadata change: DataEntityView/ProjWBSActivityEstimatesEntity.Public Collection Name = ProjWBSActivityEstimates.
  • Metadata change: DataEntityView/ProjWBSActivityEstimatesEntity.Public Entity Name = ProjWBSActivityEstimates
  • Metadata change: /Data Model/Data Entities/EcoResProductAttributeValueEntity.IsPublic = Yes.
  • Metadata change: Form/WHSLoadPlanningListPage/FormDesign/FormDesign/FormActionPaneTabControl/ActionPaneTabShipReceive.Needed permission.
  • Metadata change: WHSContainerLine, Relations WHSLoadLine & WHSShipmentTable.On Delete.
  • Metadata change: WHSContainerTable, Relation WHSShipmentTable.On Delete.
  • Project pricing: complete uptake of new pricing find methods.