i try with this command and after filre export objet command but still i getting the error
↧
Forum Post: RE: Export-NAVApplicationObject : $NavIde was not correctly set. Please assign the path to finsql.exe to $NavIde ($NavIde = path).
↧
Blog Post: DynamicsAppAlliance wants to prepare Microsoft partners for launching apps to Dynamics 365, AppSource
Three Dynamics NAV channel organizations have joined forces to form DynamicsAppAlliance , a new consultancy aimed at helping Microsoft partners develop apps for Dynamics 365 for Financials, the SaaS SMB offering that just hit general availability. and get those apps into AppSource. Liberty Grove Software , NAV Skills , and Global Mediator , three firms with a strong focus on serving Microsoft partners, decided to join forc... read more ...read more
↧
↧
Forum Post: RE: Stock Valuation
Andrew You can run the report by confirming a filter for each brand. So 6 brands means 6 reports. If you want 1 report with stock grouped by brand you will need to modify the stock valuation report. Hope this helps. Neil
↧
Blog Post: Cash Flow Forecasting & Budgeting with Dynamics NAV
It’s that time of year when you start thinking about the next year. While budgeting and forecasting is a part of business life, would it not be nice to make it easier? Listen to this webinar to will learn about some best practices that might save you and your team hours this time of year. Make it your best year end ever!
↧
Forum Post: RE: Export-NAVApplicationObject : $NavIde was not correctly set. Please assign the path to finsql.exe to $NavIde ($NavIde = path).
Have you checked that the files are actually in the locations in your command? Can you run finsql.exe outside of PowerShell?
↧
↧
Forum Post: RE: Mobile App - Setup of Dynamics NAV
Then you need to download and manually "import" the signature file to the device before you can use the client. I have no experience in how to do that on an Android (I'm a Windows Phone user of course) - but I guess its just as easy. Open the file with via a normal url-link, import and save it.
↧
Forum Post: RE: NAV 2017
I completed the first full upgrade today, including 3 small companies (2 users). It was a NAV 2016 and only contained 10 changed objects. But I've playing around with it since the early CTP's in January or February. Took me about 12 hours, but would have take even less, if I didn't have to move it to another server in the same process. AND if I had prepared my "powershell" scripts. I didn't go "all in" on the PowerShell, but did as much as I could from C/SIDE. But I really love it. The new web client is so much better!
↧
Blog Post: NAV 2017 “Assisted Setup”
in this short post, i will talk about a new feature of NAV 2017: “Assisted Setup”. “ Assisted setup ” is a nice feature (composed by a lot of wizards ready to use..) useful to guide your users through setup scenarios. With this feature is possible: – use a predefined set of data to setup main features (for selected areas) – have a great first setup configuration for your new company (enhanche first-time experience) List of some wizards ready to use: – Setup Company (Configurator for first one access) – Approval workflow – Item Approval – Power Bi embedded configutation (Azure directory) – Setup Reporting – Office 365 integration – Dynamis CRM connection – email logging etc. etc. My example: “Setup Reporting” “ Setup Reporting ” is a nice feature (wizard) to configure OData with fields selections, all in only “one shot” configuration. Definition\Scope: “you can create data sets for building report in excel, Power Bi, Odata..” below some “step by step” pictures. “item list” Data Set Configuration with fields mapping “Item list” is published like Web Service & OData “item list” json output from OData you are welcome.
↧
Blog Post: NAV 2017: All Published Events
A while ago, I posted all published events for NAV2016 . Now, with the release of NAV2017, let’s do the same for this version. I’m using the same tool as last year to analyze code. This assures that I can get a lot more than just the subscribers – like last time, I get: Which events are there How many times are they raised Where are they declared Where are they raised While we had 128 events in NAV2016, we see now that we have 226 events on NAV2017. A lot more, but definitely not enough just yet. Here they are .. enjoy! (please notice the first event “OnEditInExcel”, which seems to be some kind of platform event that isn’t raised anywhere in code… ) Number of times a publisher was raised: 0 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 3 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 3 : Codeunit .PROCEDURE 12 : Codeunit .PROCEDURE 12 : Codeunit .PROCEDURE 3 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 3 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 12 : Codeunit .PROCEDURE 12 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 3 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 2 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 1 : Codeunit .PROCEDURE 2 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Page .PROCEDURE 1 : Report .PROCEDURE 2 : Table .PROCEDURE 5 : Table .PROCEDURE 7 : Table .PROCEDURE 2 : Table .PROCEDURE 1 : Table .PROCEDURE 2 : Table .PROCEDURE 2 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 3 : Table .PROCEDURE 3 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 2 : Table .PROCEDURE 2 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 2 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 2 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 2 : Table .PROCEDURE 1 : Table .PROCEDURE 3 : Table .PROCEDURE 1 : Table .PROCEDURE 3 : Table .PROCEDURE 3 : Table .PROCEDURE 3 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 1 : Table .PROCEDURE 6 : Table .PROCEDURE DETAILS: Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: AutoFormatTranslation := AutoFormatManagement.AutoFormatTranslate(AutoFormatType,AutoFormatExpr); OnAfterAutoFormatTranslate(AutoFormatType,AutoFormatExpr,AutoFormatTranslation); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Caption := CaptionManagement.CaptionClassTranslate(Language,CaptionExpr); OnAfterCaptionClassTranslate(Language,CaptionExpr,Caption); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeCompanyClose; LogInManagement.CompanyClose; OnAfterCompanyClose; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // This needs to be the very first thing to run before company open CODEUNIT.RUN(CODEUNIT::"Azure AD User Management"); OnBeforeCompanyOpen; LogInManagement.CompanyOpen; OnAfterCompanyOpen; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF NOT PrinterSelection.GET(USERID,ReportID) THEN IF NOT PrinterSelection.GET('',ReportID) THEN IF NOT PrinterSelection.GET(USERID,0) THEN IF PrinterSelection.GET('',0) THEN; PrinterName := PrinterSelection."Printer Name"; OnAfterFindPrinter(ReportID,PrinterName); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: AppVersion := CustomApplicationVersion('BE Dynamics NAV 10.0'); OnAfterGetApplicationVersion(AppVersion); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ChangeLogMgt.GetDatabaseTableTriggerSetup(TableId,OnDatabaseInsert,OnDatabaseModify,OnDatabaseDelete,OnDatabaseRename); IntegrationManagement.GetDatabaseTableTriggerSetup(TableId,OnDatabaseInsert,OnDatabaseModify,OnDatabaseDelete,OnDatabaseRename); OnAfterGetDatabaseTableTriggerSetup(TableId,OnDatabaseInsert,OnDatabaseModify,OnDatabaseDelete,OnDatabaseRename); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: DefaultRoleCenterID := ConfPersMgt.DefaultRoleCenterID; OnAfterGetDefaultRoleCenter(DefaultRoleCenterID); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // Replaced by GetDatabaseTableTriggerSetup OnAfterGetGlobalTableTriggerMask(TableID,TableTriggerMask); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF CompanyInformation.GET THEN CompanyInformation.GetSystemIndicator(Text,Style); OnAfterGetSystemIndicator(Text,Style); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeTextFilter(TextFilterText); OnAfterMakeCodeFilter(Position,TextFilterText); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeDateFilter(DateFilterText); OnAfterMakeDateFilter(Position,DateFilterText); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeDateText(DateText); OnAfterMakeDateText(Position,DateText); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeDateTimeFilter(DateTimeFilterText); OnAfterMakeDateTimeFilter(Position,DateTimeFilterText); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeText(Text); OnAfterMakeText(Position,Text); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeTextFilter(TextFilterText); OnAfterMakeTextFilter(Position,TextFilterText); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeTimeFilter(TimeFilterText); OnAfterMakeTimeFilter(Position,TimeFilterText); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: Position := TextManagement.MakeTimeText(TimeText); OnAfterMakeTimeText(Position,TimeText); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ChangeLogMgt.LogDeletion(RecRef); IntegrationManagement.OnDatabaseDelete(RecRef); OnAfterOnDatabaseDelete(RecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ChangeLogMgt.LogInsertion(RecRef); IntegrationManagement.OnDatabaseInsert(RecRef); OnAfterOnDatabaseInsert(RecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ChangeLogMgt.LogModification(RecRef); IntegrationManagement.OnDatabaseModify(RecRef); OnAfterOnDatabaseModify(RecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ChangeLogMgt.LogRename(RecRef,xRecRef); IntegrationManagement.OnDatabaseRename(RecRef,xRecRef); OnAfterOnDatabaseRename(RecRef,xRecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // Replaced by OnDataBaseDelete. This trigger is only called from pages. OnAfterOnGlobalDelete(RecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // Replaced by OnDataBaseInsert. This trigger is only called from pages. OnAfterOnGlobalInsert(RecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // Replaced by OnDataBaseModify. This trigger is only called from pages. OnAfterOnGlobalModify(RecRef,xRecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // Replaced by OnDataBaseRename. This trigger is only called from pages. OnAfterOnGlobalRename(RecRef,xRecRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeCompanyClose; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // This needs to be the very first thing to run before company open CODEUNIT.RUN(CODEUNIT::"Azure AD User Management"); OnBeforeCompanyOpen; .PROCEDURE Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... END; IF CostAccSetup.GET THEN CostAccMgt.CheckValidCCAndCOInGLEntry(GenJnlLine."Dimension Set ID"); OnAfterCheckGenJnlLine(GenJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... GLReg."Journal Batch Name" := "Journal Batch Name"; GLReg."User ID" := USERID; GLReg."Journal Template Name" := GenJnlTemplate.Name; IsGLRegInserted := FALSE; OnAfterInitGLRegister(GLReg,GenJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... GlobalGLEntry."Add.-Currency Debit Amount" := 0; GlobalGLEntry."Add.-Currency Credit Amount" := 0; END; GlobalGLEntry."Prior-Year Entry" := GlobalGLEntry."Posting Date" .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... UpdateDebitCredit(GenJnlLine.Correction); END; TempGLEntryBuf := GLEntry; OnBeforeInsertGLEntryBuffer(TempGLEntryBuf,GenJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforePostGenJnlLine(GenJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... Status := Status::Failed; MODIFY(TRUE); COMMIT; OnAfterCreateDocFromIncomingDocFail(IncomingDocument); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... Status := Status::Created; MODIFY(TRUE); COMMIT; OnAfterCreateDocFromIncomingDocSuccess(IncomingDocument); .PROCEDURE Raised in: Codeunit . Code lines: ... "Released Date-Time" := CURRENTDATETIME; "Released By User ID" := USERSECURITYID; MODIFY(TRUE); OnAfterReleaseIncomingDoc(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IncomingDocument."OCR Status" := IncomingDocument."OCR Status"::Ready; IncomingDocument.MODIFY; CODEUNIT.RUN(CODEUNIT::"Release Incoming Document",IncomingDocument); ShowMessage(DocumentHasBeenScheduledTxt); OnAfterIncomingDocReadyForOCR(IncomingDocument); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... "OCR Status" := "OCR Status"::Success; "OCR Process Finished" := TRUE; MODIFY; COMMIT; OnAfterIncomingDocReceivedFromOCR(IncomingDocument); .PROCEDURE Code lines: ... "OCR Status" := "OCR Status"::Error; "OCR Process Finished" := TRUE; MODIFY; COMMIT; OnAfterIncomingDocReceivedFromOCR(IncomingDocument); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IncomingDocumentAttachment.SendToOCR; IncomingDocument."OCR Status" := IncomingDocument."OCR Status"::Sent; IncomingDocument.MODIFY; END; COMMIT; OnAfterIncomingDocSentToOCR(IncomingDocument); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... END ELSE LogActivitySucceeded(ContextRecordID,MarkBusinessProcessedTxt,STRSUBSTNO(DocIdImportedTxt,DocIdentifier)); COMMIT; IncomingDocument.FIND; OnAfterIncomingDocReceivedFromDocExch(IncomingDocument); .PROCEDURE Raised in: Codeunit . Code lines: // Fire the get stream event OnGetDataExchFileContentEvent(Rec,TempBlob,EventHandled); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... InsertWorkflowCategory(PurchDocCategoryTxt,PurchDocCategoryDescTxt); InsertWorkflowCategory(SalesDocCategoryTxt,SalesDocCategoryDescTxt); InsertWorkflowCategory(AdminCategoryTxt,AdminCategoryDescTxt); InsertWorkflowCategory(FinCategoryTxt,FinCategoryDescTxt); OnAddWorkflowCategoriesToLibrary; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... AddEventPredecessor(RunWorkflowOnGeneralJournalBatchBalancedCode,RunWorkflowOnSendGeneralJournalBatchForApprovalCode); RunWorkflowOnGeneralJournalBatchNotBalancedCode: AddEventPredecessor(RunWorkflowOnGeneralJournalBatchNotBalancedCode,RunWorkflowOnSendGeneralJournalBatchForApprovalCode); END; OnAddWorkflowEventPredecessorsToLibrary(EventFunctionName); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... CreateGenJnlLineFromIncDocSuccessfulEventDescTxt,0,FALSE); AddEventToLibrary( RunWorkflowOnAfterCreateGenJnlLineFromIncomingDocFailCode,DATABASE::"Incoming Document", CreateGenJnlLineFromIncDocFailsEventDescTxt,0,FALSE); OnAddWorkflowEventsToLibrary; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... AddEventToLibrary( RunWorkflowOnAfterCreateGenJnlLineFromIncomingDocFailCode,DATABASE::"Incoming Document", CreateGenJnlLineFromIncDocFailsEventDescTxt,0,FALSE); OnAddWorkflowEventsToLibrary; OnAddWorkflowTableRelationsToLibrary; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... GetSendToOCRCode: AddResponsePredecessor(GetSendToOCRCode,WorkflowEventHandling.RunWorkflowOnAfterReadyForOCRIncomingDocCode); GetSendToOCRAsyncCode: AddResponsePredecessor(GetSendToOCRAsyncCode,WorkflowEventHandling.RunWorkflowOnAfterReadyForOCRIncomingDocCode); END; OnAddWorkflowResponsePredecessorsToLibrary(ResponseFunctionName); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... AddResponseToLibrary(RevertValueForFieldCode,0,RevertRecordValueTxt,'GROUP 6'); AddResponseToLibrary(ApplyNewValuesCode,0,ApplyNewValuesTxt,'GROUP 7'); AddResponseToLibrary(DiscardNewValuesCode,0,DiscardNewValuesTxt,'GROUP 0'); OnAddWorkflowResponsesToLibrary; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... ApplyNewValuesCode: WorkflowChangeRecMgt.ApplyNewValues(Variant,ResponseWorkflowStepInstance); DiscardNewValuesCode: WorkflowChangeRecMgt.DiscardNewValues(Variant,ResponseWorkflowStepInstance); ELSE BEGIN OnExecuteWorkflowResponse(ResponseExecuted,Variant,xVariant,ResponseWorkflowStepInstance); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF ApprovalEntry."Approver ID" <> USERID THEN CheckUserAsApprovalAdministrator; ApprovalEntry.VALIDATE(Status,ApprovalEntry.Status::Approved); ApprovalEntry.MODIFY(TRUE); OnApproveApprovalRequest(ApprovalEntry); .PROCEDURE Code lines: ... EXIT; END; ApprovalEntry.SETRANGE(Status,ApprovalEntry.Status::Approved); IF ApprovalEntry.FINDLAST THEN OnApproveApprovalRequest(ApprovalEntry) .PROCEDURE Raised in: Page .Action . Code lines: ApprovalsMgmt.OnCancelCustomerApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelCustomerApprovalRequest(Rec); . Code lines: ApprovalsMgmt.OnCancelCustomerApprovalRequest(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: GetGeneralJournalBatch(GenJournalBatch,GenJournalLine); OnCancelGeneralJournalBatchApprovalRequest(GenJournalBatch); . Code lines: ApprovalsMgmt.OnCancelGeneralJournalBatchApprovalRequest(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: REPEAT IF HasOpenApprovalEntries(GenJournalLine.RECORDID) THEN OnCancelGeneralJournalLineApprovalRequest(GenJournalLine); . Code lines: ApprovalsMgmt.OnCancelGeneralJournalLineApprovalRequest(Rec); .PROCEDURE Raised in: Page .Action . Code lines: ApprovalsMgmt.OnCancelIncomingDocApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelIncomingDocApprovalRequest(Rec); .PROCEDURE Raised in: Page .Action . Code lines: ApprovalsMgmt.OnCancelItemApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelItemApprovalRequest(Rec); . Code lines: ApprovalsMgmt.OnCancelItemApprovalRequest(Rec); .PROCEDURE Raised in: Page .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelPurchaseApprovalRequest(Rec); .PROCEDURE Raised in: Page .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelSalesApprovalRequest(Rec); .PROCEDURE Raised in: Page .Action . Code lines: ApprovalsMgmt.OnCancelVendorApprovalRequest(Rec); .Action . Code lines: ApprovalsMgmt.OnCancelVendorApprovalRequest(Rec); . Code lines: ApprovalsMgmt.OnCancelVendorApprovalRequest(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... ELSE UserSetup.GET(UserSetup.Substitute); ApprovalEntry."Approver ID" := UserSetup."User ID"; ApprovalEntry.MODIFY(TRUE); OnDelegateApprovalRequest(ApprovalEntry); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF ApprovalEntry."Approver ID" <> USERID THEN CheckUserAsApprovalAdministrator; ApprovalEntry.VALIDATE(Status,ApprovalEntry.Status::Rejected); ApprovalEntry.MODIFY(TRUE); OnRejectApprovalRequest(ApprovalEntry); .PROCEDURE Raised in: Page .Action . Code lines: IF ApprovalsMgmt.CheckCustomerApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendCustomerForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckCustomerApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendCustomerForApproval(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... CheckGeneralJournalBatchApprovalsWorkflowEnabled(GenJournalBatch); IF HasOpenApprovalEntries(GenJournalBatch.RECORDID) OR HasAnyOpenJournalLineApprovalEntries(GenJournalBatch."Journal Template Name",GenJournalBatch.Name) THEN ERROR(PendingJournalBatchApprovalExistsErr); OnSendGeneralJournalBatchForApproval(GenJournalBatch); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF GenJournalLine.COUNT = 1 THEN CheckGeneralJournalLineApprovalsWorkflowEnabled(GenJournalLine); REPEAT IF WorkflowManagement.CanExecuteWorkflow(GenJournalLine, WorkflowEventHandling.RunWorkflowOnSendGeneralJournalLineForApprovalCode) AND .PROCEDURE Raised in: Page .Action . Code lines: TestReadyForApproval; IF ApprovalsMgmt.CheckIncomingDocApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendIncomingDocForApproval(Rec); .Action . Code lines: TestReadyForApproval; IF ApprovalsMgmt.CheckIncomingDocApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendIncomingDocForApproval(Rec); .PROCEDURE Code lines: IncomingDocument.TestReadyForApproval; IF ApprovalsMgmt.CheckIncomingDocApprovalsWorkflowEnabled(IncomingDocument) THEN ApprovalsMgmt.OnSendIncomingDocForApproval(IncomingDocument); .PROCEDURE Raised in: Page .Action . Code lines: IF ApprovalsMgmt.CheckItemApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendItemForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckItemApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendItemForApproval(Rec); .PROCEDURE Raised in: Page .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckPurchaseApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendPurchaseDocForApproval(Rec); .PROCEDURE Raised in: Page .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckSalesApprovalPossible(Rec) THEN ApprovalsMgmt.OnSendSalesDocForApproval(Rec); .PROCEDURE Raised in: Page .Action . Code lines: IF ApprovalsMgmt.CheckVendorApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendVendorForApproval(Rec); .Action . Code lines: IF ApprovalsMgmt.CheckVendorApprovalsWorkflowEnabled(Rec) THEN ApprovalsMgmt.OnSendVendorForApproval(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnCloseCurrentPage; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnEmailHasAttachments(Result); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnGetEmailAndAttachments(TempExchangeObject,Action,VendorNumber); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckHost; OnGetHostType(HostType); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnGetTempOfficeAddinContext(TempOfficeAddinContext); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckHost; OnInitializeContext(TempNewOfficeAddinContext); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckHost; OnInitializeExchangeObject; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnInitializeHost(NewOfficeHost,NewHostType); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckHost; OnInvokeExtension(FunctionName,Parameter1,Parameter2,Parameter3); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnIsAvailable(Result); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnIsHostInitialized(Result); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnSendToOCR(IncomingDocument); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... EXIT; END; IF EnabledPayrollServiceExists(TempServiceConnection) THEN IF SelectPayrollService(TempServiceConnection,SelectPayrollServiceToUseTxt) THEN OnImportPayroll(TempServiceConnection,GenJournalLine); .PROCEDURE Raised in: Page .PROCEDURE Code lines: PayrollManagement.OnRegisterPayrollService(TempPayrollServiceConnection); .PROCEDURE Code lines: TempServiceConnection.DELETEALL; OnRegisterPayrollService(TempServiceConnection); .PROCEDURE Code lines: ... IF SelectPayrollService(TempServiceConnection,SelectPayrollServiceToEnableTxt) THEN BEGIN SelectedServiceRecordId := TempServiceConnection."Record ID"; SelectedServiceName := TempServiceConnection.Name; SetupPayrollService(TempServiceConnection); TempServiceConnection.DELETEALL; OnRegisterPayrollService(TempServiceConnection); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... LogActivity(CleanupEventTxt,RequestInitTxt,TRUE); COMMIT; ErrorOccured := FALSE; OnCleanUpEvent(ErrorOccured); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnDownloadTemplate(HideDialog); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnUploadFile(ServerFile); '' THEN BEGIN ImportExcelDataByFileName(ServerFile); EXIT(TRUE); END; Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnRunPreview(Result,Subscriber,RecVar); .PROCEDURE Raised in: Codeunit . Code lines: ... InitVATRegNrValidationSetup; WorkflowSetup.InitWorkflow; TransformationRule.CreateDefaultTransformations; InitElectronicFormats; OnCompanyInitialize; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... TESTFIELD("Applies-to Entry"); CheckDimensions(ItemJnlLine); END; OnAfterCheckItemJnlLine(ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... END; IF (ItemLedgEntry.Quantity "Entry Type"::Transfer) THEN ItemLedgEntry."Shipped Qty. Not Returned" := ItemLedgEntry.Quantity; END; OnAfterInitItemLedgEntry(ItemLedgEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... OnBeforeInsertCorrItemLedgEntry(NewItemLedgEntry,OldItemLedgEntry,ItemJnlLine); NewItemLedgEntry.INSERT; OnAfterInsertCorrItemLedgEntry(NewItemLedgEntry,ItemJnlLine); NewItemLedgEntry."Item Tracking"::None THEN ItemTrackingMgt.ExistingExpirationDate( NewItemLedgEntry."Item No.", ... Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF NewValueEntry.Inventoriable THEN PostInventoryToGL(NewValueEntry); NewValueEntry.INSERT; OnAfterInsertCorrValueEntry(NewValueEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... ItemLedgEntry.UpdateItemTracking; ItemLedgEntry.INSERT(TRUE); OnAfterInsertItemLedgEntry(ItemLedgEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF ValueEntry.Inventoriable THEN PostInventoryToGL(ValueEntry); ValueEntry.INSERT; OnAfterInsertValueEntry(ValueEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... "Item Shpt. Entry No." := CapLedgEntryNo ELSE "Item Shpt. Entry No." := GlobalItemLedgEntry."Entry No."; END; OnAfterPostItemJnlLine(ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF OldItemLedgEntry.Positive THEN NewItemLedgEntry."Applies-to Entry" := OldItemLedgEntry."Entry No." ELSE NewItemLedgEntry."Applies-to Entry" := 0; OnBeforeInsertCorrItemLedgEntry(NewItemLedgEntry,OldItemLedgEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... NewValueEntry."Cost Posted to G/L" := 0; NewValueEntry."Cost Posted to G/L (ACY)" := 0; NewValueEntry."Expected Cost Posted to G/L" := 0; NewValueEntry."Exp. Cost Posted to G/L (ACY)" := 0; OnBeforeInsertCorrValueEntry(NewValueEntry,OldValueEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... ItemJnlLine,NewItemLedgEntry,NewItemLedgEntry."Remaining Quantity",TRUE); ApplyItemLedgEntry(NewItemLedgEntry,ItemLedgEntry2,NewValueEntry,TRUE); AutoTrack(NewItemLedgEntry,IsReserved); OnBeforeInsertTransferEntry(NewItemLedgEntry,OldItemLedgEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... ValueEntry."Sales Amount (Expected)", ValueEntry."Purchase Amount (Expected)", ItemLedgEntry.Quantity = ItemLedgEntry."Invoiced Quantity"); END; OnBeforeInsertValueEntry(ValueEntry,ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforePostItemJnlLine(ItemJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CurrClientType := CURRENTCLIENTTYPE; OnAfterGetCurrentClientType(CurrClientType); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... SetupMyVendor; SetupMyAccount; ApplicationAreaSetup.SetupApplicationArea; OnAfterLogInStart; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... InsertObject(TempAllObjWithCaption,DATABASE::"Service Order Type"); InsertObject(TempAllObjWithCaption,DATABASE::"Service Item Group"); InsertObject(TempAllObjWithCaption,DATABASE::"Service Item"); InsertObject(TempAllObjWithCaption,DATABASE::"Cash Flow Manual Expense"); InsertObject(TempAllObjWithCaption,DATABASE::"Cash Flow Manual Revenue"); OnAfterSetupObjectNoList(TempAllObjWithCaption); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... LinesWereModified := LinesWereModified OR SalesLine.UpdateVATOnLines(0,SalesHeader,SalesLine,TempVATAmountLine0) OR SalesLine.UpdateVATOnLines(1,SalesHeader,SalesLine,TempVATAmountLine1); ReleaseATOs(SalesHeader); OnAfterReleaseATOs(SalesHeader,SalesLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF NotOnlyDropShipment THEN IF "Document Type" IN ["Document Type"::Order,"Document Type"::"Return Order"] THEN WhseSalesRelease.Release(SalesHeader); OnAfterReleaseSalesDoc(SalesHeader,PreviewMode); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... MODIFY(TRUE); IF "Document Type" IN ["Document Type"::Order,"Document Type"::"Return Order"] THEN WhseSalesRelease.Reopen(SalesHeader); END; OnAfterReopenSalesDoc(SalesHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: WITH SalesHeader DO BEGIN IF Status = Status::Released THEN EXIT; OnBeforeReleaseSalesDoc(SalesHeader,PreviewMode); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeReopenSalesDoc(SalesHeader); "Document Type"::Order THEN ReopenATOs(SalesHeader); ... Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF NotOnlyDropShipment THEN IF "Document Type" IN ["Document Type"::Order,"Document Type"::"Return Order"] THEN WhsePurchRelease.Release(PurchaseHeader); OnAfterReleasePurchaseDoc(PurchaseHeader,PreviewMode); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... Status := Status::Open; MODIFY(TRUE); END; OnAfterReopenPurchaseDoc(PurchHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: WITH PurchaseHeader DO BEGIN IF Status = Status::Released THEN EXIT; OnBeforeReleasePurchaseDoc(PurchaseHeader,PreviewMode); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeReopenPurchaseDoc(PurchHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... MyTimeSheets.CHANGECOMPANY(Company); RecRef.SETTABLE(MyTimeSheets); MyTimeSheets.RENAME(UserName,MyTimeSheets."Time Sheet No."); END; END; OnAfterRenameRecord(RecRef,TableNo,NumberOfPrimaryKeyFields,UserName,Company); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... JobQueueEntry.Status := JobQueueEntry.Status::"On Hold"; JobQueueEntry."User Language ID" := GLOBALLANGUAGE; IF NOT JobQueueEntry.INSERT(TRUE) THEN JobQueueEntry.MODIFY(TRUE); OnBeforeJobQueueScheduleTask(DoNotScheduleTask); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: // OnTransferFieldData is an event for handling an exceptional mapping that is not implemented by integration records = SourceFieldRef.LENGTH) ... Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... CreateCRMIntegrationRecordClone(IntegrationTableMapping."Table ID",TempCRMIntegrationRecord); CacheFilteredNAVTable(SourceRecordRef,IntegrationTableMapping); REPEAT IgnoreRecord := FALSE; IF SourceRecordRef.GET(IntegrationRecord."Record ID") THEN BEGIN OnQueryPostFilterIgnoreRecord(SourceRecordRef,IgnoreRecord); .PROCEDURE Code lines: ... CacheFilteredCRMTable(SourceRecordRef,IntegrationTableMapping,IntegrationUserId); CreateCRMIntegrationRecordClone(IntegrationTableMapping."Table ID",TempCRMIntegrationRecord); IF SourceRecordRef.FINDSET THEN REPEAT IgnoreRecord := FALSE; OnQueryPostFilterIgnoreRecord(SourceRecordRef,IgnoreRecord); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... OnBeforeApplyRecordTemplate(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef,ConfigTemplateCode); IF ConfigTemplateHeader.GET(ConfigTemplateCode) THEN BEGIN ConfigTemplateManagement.UpdateRecord(ConfigTemplateHeader,DestinationRecordRef); OnAfterApplyRecordTemplate(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeInsertRecord(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); IF DestinationRecordRef.INSERT(TRUE) THEN BEGIN ApplyConfigTemplate(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef,JobId,SynchAction); IF SynchAction <> SynchActionType::Fail THEN BEGIN UpdateIntegrationRecordCoupling(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef,IntegrationTableConnectionType); OnAfterInsertRecord(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeModifyRecord(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); IF DestinationRecordRef.MODIFY(TRUE) THEN BEGIN UpdateIntegrationRecordCoupling(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef,IntegrationTableConnectionType); OnAfterModifyRecord(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IntegrationRecordSynch.SetParameters(SourceRecordRef,DestinationRecordRef,SynchAction <> SynchActionType::Insert); IF IntegrationRecordSynch.RUN THEN BEGIN IF ConflictFound AND IntegrationRecordSynch.GetWasModified THEN EXIT; OnAfterTransferRecordFields(SourceRecordRef,DestinationRecordRef, SynchActionType::Insert); AdditionalFieldsModified := AdditionalFieldsModified OR IntegrationRecordSynch.GetWasModified; END ELSE BEGIN SynchAction := SynchActionType::Fail; ... Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF DestinationRecordRef.NUMBER = IntegrationTableMapping."Integration Table ID" THEN ConfigTemplateCode := IntegrationTableMapping."Int. Tbl. Config Template Code" ELSE ConfigTemplateCode := IntegrationTableMapping."Table Config Template Code"; IF ConfigTemplateCode <> '' THEN BEGIN OnBeforeApplyRecordTemplate(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef,ConfigTemplateCode); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeInsertRecord(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); SynchActionType::Fail THEN BEGIN UpdateIntegrationRecordCoupling(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef,IntegrationTableConnectionType); OnAfterInsertRecord(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); END; END ELSE BEGIN SynchAction := SynchActionType::Fail; LogSynchError( ... Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeModifyRecord(IntegrationTableMapping,SourceRecordRef,DestinationRecordRef); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnBeforeTransferRecordFields(SourceRecordRef,DestinationRecordRef); SynchActionType::Insert); IF IntegrationRecordSynch.RUN THEN BEGIN IF ConflictFound AND IntegrationRecordSynch.GetWasModified THEN EXIT; OnAfterTransferRecordFields(SourceRecordRef,DestinationRecordRef, AdditionalFieldsModified,SynchAction <> SynchActionType::Insert); AdditionalFieldsModified := AdditionalFieldsModified OR IntegrationRecordSynch.GetWasModified; END ELSE BEGIN ... Codeunit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnFindUncoupledDestinationRecord( .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... SalesLine2.SetSalesHeader(SalesHeader); SalesLine2.UpdateVATOnLines(0,SalesHeader,SalesLine2,TempVATAmountLine); END; END; OnAfterCalcSalesDiscount(SalesHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: SalesSetup.GET; IF NOT UpdateHeader THEN SalesHeader.FIND; // To ensure we have the latest - otherwise update fails. OnBeforeCalcSalesDiscount(SalesHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckProvider; IF CanHandle THEN AccessToken := AuthFlow.ALAcquireTokenByAuthorizationCode(AuthorizationCode,ResourceName) ELSE OnAcquireTokenByAuthorizationCode(AuthorizationCode,ResourceName,AccessToken); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckProvider; IF CanHandle THEN AccessToken := AuthFlow.ALAcquireTokenByAuthorizationCodeWithCredentials(AuthorizationCode,ClientID,ApplicationKey,ResourceName) ELSE OnAcquireTokenByAuthorizationCodeWithCredentials(AuthorizationCode,ClientID,ApplicationKey,ResourceName,AccessToken); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckProvider; IF CanHandle THEN AccessToken := AuthFlow.ALAcquireTokenFromCache(ResourceName) ELSE OnAcquireTokenFromCache(ResourceName,AccessToken); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckProvider; IF CanHandle THEN AccessToken := AuthFlow.ALAcquireTokenFromCacheWithCredentials(ClientID,AppKey,ResourceName) ELSE OnAcquireTokenFromCacheWithCredentials(ClientID,AppKey,ResourceName,AccessToken); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF CanHandle THEN Initialized := NOT ISNULL(AuthFlow) ELSE OnCheckProvider(Initialized); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF CanHandle THEN Service := ServiceFactory.CreateServiceWrapperWithToken(Token) ELSE OnCreateExchangeServiceWrapperWithToken(Token,Service); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: CheckProvider; IF CanHandle THEN ClientID := AuthFlow.ALGetSaasClientId ELSE OnGetSaasClientId(ClientID); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF CanHandle THEN AuthFlow := AuthFlow.ALAzureAdCodeGrantFlow(SecurityId,Uri.Uri(RedirectUri)) ELSE OnInitialize(SecurityId,RedirectUri,AuthFlow); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... MESSAGE(Text019); LinesNotCopied <> 0: MESSAGE(Text004); END; OnAfterCopyPurchaseDocument(FromDocType,FromDocNo,ToPurchHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... MESSAGE(Text019); LinesNotCopied <> 0: MESSAGE(Text004); END; OnAfterCopySalesDocument(FromDocType,FromDocNo,ToSalesHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF FromDocNo = '' THEN ERROR(Text000); FIND; END; OnBeforeCopyPurchaseDocument(FromDocType,FromDocNo,ToPurchHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF FromDocNo = '' THEN ERROR(Text000); FIND; END; OnBeforeCopySalesDocument(FromDocType,FromDocNo,ToSalesHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnGetBookingItems(TempBookingItem); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnGetBookingMailboxes(TempBookingMailbox); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnGetBookingServiceForBooking(TempBookingItem,TempBookingService); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnSetBookingItemInvoiced(InvoicedBookingItem); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: OnSynchronize(TempBookingItem); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... PurchLine2.UpdateVATOnLines(0,PurchHeader,PurchLine2,TempVATAmountLine); END; END; OnAfterCalcPurchaseDiscount(PurchHeader); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: PurchSetup.GET; OnBeforeCalcPurchaseDiscount(PurchHeader); .PROCEDURE Raised in: Codeunit . Code lines: ... COMMIT; UpdateAnalysisView.UpdateAll(0,TRUE); UpdateItemAnalysisView.UpdateAll(0,TRUE); END; OnAfterPostSalesDoc( .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... ModifyHeader := UpdatePostingNos(SalesHeader); DropShipOrder := UpdateAssosOrderPostingNos(SalesHeader); OnBeforePostCommitSalesDoc(SalesHeader,GenJnlPostLine,PreviewMode,ModifyHeader); .PROCEDURE Raised in: Codeunit . Code lines: OnBeforePostSalesDoc(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: WITH SalesHeader DO CASE "Document Type" OF "Document Type"::Order: BEGIN OnSendSalesDocument(Invoice AND Ship); .PROCEDURE Raised in: Codeunit . Code lines: ... COMMIT; UpdateAnalysisView.UpdateAll(0,TRUE); UpdateItemAnalysisView.UpdateAll(0,TRUE); END; OnAfterPostPurchaseDoc( .PROCEDURE Code lines: PurchPost.OnAfterPostPurchaseDoc(Rec,GenJnlPostLine,PurchRcpHdrNo,RetShptHdrNo,PurchInvHdrNo,PurchCrMemoHdrNo); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... ModifyHeader := UpdatePostingNos(PurchHeader); DropShipOrder := UpdateAssosOrderPostingNos(PurchHeader); OnBeforePostCommitPurchaseDoc(PurchHeader,GenJnlPostLine,PreviewMode,ModifyHeader); .PROCEDURE Raised in: Codeunit . Code lines: OnBeforePostPurchaseDoc(Rec); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IsInitialized := TRUE; IF CanHandle THEN Graph := Graph.GraphQuery ELSE OnInitialize(Graph); .PROCEDURE Raised in: Page . Code lines: OnInitializingNotificationWithDefaultState; .PROCEDURE Code lines: OnInitializingNotificationWithDefaultState; .PROCEDURE Raised in: Page .Action . Code lines: OnCreateSampleFile(TempServiceConnection); .PROCEDURE Raised in: Page .Action . Code lines: CASE Step OF 0: BEGIN OnImportPayrollTransactions(TempServiceConnection,TempImportGLTransaction); .PROCEDURE Raised in: Page .Action . Code lines: PAGE.RUNMODAL(PAGE::"OCR Service Setup"); CurrPage.UPDATE; IF CURRENTCLIENTTYPE = CLIENTTYPE::Web THEN IF OCRIsEnabled THEN BEGIN OnCloseIncomingDocumentFromAction(Rec); .PROCEDURE Raised in: Page .Action . Code lines: PAGE.RUNMODAL(PAGE::"OCR Service Setup"); CurrPage.UPDATE; IF CURRENTCLIENTTYPE = CLIENTTYPE::Web THEN IF OCRIsEnabled THEN BEGIN OnCloseIncomingDocumentsFromActions(Rec); .PROCEDURE Raised in: Page .PROCEDURE Code lines: ... CostEntry.SETFILTER("Document No.",DocNoFilter); CostEntry.SETFILTER("Posting Date",PostingDateFilter); InsertIntoDocEntry( DATABASE::"Cost Entry",0,CostEntry.TABLECAPTION,CostEntry.COUNT); END; OnAfterNavigateFindRecords(Rec,DocNoFilter,PostingDateFilter); .PROCEDURE Raised in: Page .PROCEDURE Code lines: ... PAGE.RUN(0,WarrantyLedgerEntry); DATABASE::"Cost Entry": PAGE.RUN(0,CostEntry); END; OnAfterNavigateShowRecords("Table ID",DocNoFilter,PostingDateFilter,ItemTrackingSearch); .PROCEDURE Raised in: Page .Action . Code lines: OnBeforeStatisticsAction(Rec,Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnBeforeStatisticsAction(Rec,Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnBeforeStatisticsAction(Rec,Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnBeforeStatisticsAction(Rec,Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnBeforeStatisticsAction(Rec,Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnBeforeStatisticsAction(Rec,Handled); .PROCEDURE Raised in: Page .Control . Code lines: ... AllowedCompanies.LOOKUPMODE(TRUE); IF AllowedCompanies.RUNMODAL = ACTION::LookupOK THEN BEGIN AllowedCompanies.GETRECORD(SelectedCompany); OnCompanyChange(SelectedCompany.Name); .PROCEDURE Raised in: Report . Code lines: IF NOT ApprovalsMgmt.IsOverdueNotificationsWorkflowEnabled THEN ERROR(NoWorkflowEnabledErr); OnSendOverdueNotifications; .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... 0: EXIT(FALSE); 1: BEGIN TempPaymentServiceSetupProviders.FINDFIRST; OnCreatePaymentService(TempPaymentServiceSetupProviders); .PROCEDURE Code lines: ... 0: EXIT(FALSE); 1: BEGIN TempPaymentServiceSetupProviders.FINDFIRST; OnCreatePaymentService(TempPaymentServiceSetupProviders); .PROCEDURE Raised in: Table .PROCEDURE Code lines: IF NOT GUIALLOWED THEN EXIT(FALSE); OnRegisterPaymentServiceProviders(TempPaymentServiceSetupProviders); .PROCEDURE Code lines: OnRegisterPaymentServiceProviders(TempPaymentServiceSetup); .PROCEDURE Code lines: OnRegisterPaymentServiceProviders(TempPaymentServiceSetupProviders); . Code lines: OnRegisterPaymentServiceProviders(Rec); . Code lines: OnRegisterPaymentServices(Rec); OnRegisterPaymentServiceProviders(TempPaymentServiceSetupProviders); .PROCEDURE Raised in: Table .PROCEDURE Code lines: OnRegisterPaymentServices(TempPaymentServiceSetup); .PROCEDURE Code lines: TempPaymentServiceSetup.RESET; TempPaymentServiceSetup.DELETEALL; OnRegisterPaymentServices(TempPaymentServiceSetup); .PROCEDURE Code lines: SelectedPaymentServices := NoPaymentMethodsSelectedTxt; IF SetID = 0 THEN EXIT; OnRegisterPaymentServices(TempPaymentServiceSetup); .PROCEDURE Code lines: ... OnRegisterPaymentServiceProviders(TempPaymentServiceSetupProviders); IF NOT TempPaymentServiceSetupProviders.FINDFIRST THEN EXIT(FALSE); // Check if there are payment services that are not enabled OnRegisterPaymentServices(TempNotEnabledPaymentServiceSetupProviders); . Code lines: OnRegisterPaymentServices(Rec); .Action . Code lines: IF NewPaymentService THEN BEGIN RESET; DELETEALL; OnRegisterPaymentServices(Rec); .Action . Code lines: OpenSetupCard; RESET; DELETEALL; OnRegisterPaymentServices(Rec); .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... InsertRec(FOURTH_TO_SIXTH_CHARTxt,FourthToSixthCharactersDescTxt,"Transformation Type"::Substring,4,3,'',''); InsertRec(YYYYMMDDDateTxt,YYYYMMDDDateDescTxt,"Transformation Type"::"Date and Time Formatting",0,0,'yyyyMMdd',''); InsertRec(ALPHANUMERIC_ONLYTxt,AlphaNumericDescTxt,"Transformation Type"::"Remove Non-Alphanumeric Characters",0,0,'',''); InsertRec(DKNUMBERFORMATTxt,DKNUMBERFORMATDescTxt,"Transformation Type"::"Decimal Formatting",0,0,'','da-DK'); InsertRec(USDATEFORMATTxt,USDATEFORMATDescTxt,"Transformation Type"::"Date and Time Formatting",0,0,'','en-US'); OnCreateTransformationRules; . Code lines: IF ISEMPTY THEN CreateDefaultTransformations; OnCreateTransformationRules; .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... "Transformation Type"::"Date and Time Formatting": NewValue := DateTimeFormatting(OldValue); "Transformation Type"::"Decimal Formatting": NewValue := DecimalFormatting(OldValue); "Transformation Type"::Custom: OnTransformation(Code,OldValue,NewValue); '' THEN IF TransformationRule.GET("Next Transformation Rule") THEN ... Table .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... GenJnlLine.Description := COPYSTR(Description,1,MAXSTRLEN(GenJnlLine.Description)); IF GenJnlLine.INSERT(TRUE) THEN OnAfterCreateGenJnlLineFromIncomingDocSuccess(Rec) ELSE OnAfterCreateGenJnlLineFromIncomingDocFail(Rec); '' THEN ... Raised in: Table .PROCEDURE Code lines: ... ErrorMessage.SetContext(RECORDID); IF NOT ErrorMessage.HasErrors(FALSE) THEN OnAfterCreateGenJnlLineFromIncomingDocSuccess(Rec) ELSE OnAfterCreateGenJnlLineFromIncomingDocFail(Rec); .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... GenJnlLine.SetUpNewLine(LastGenJnlLine,0,TRUE); GenJnlLine."Incoming Document Entry No." := "Entry No."; GenJnlLine.Description := COPYSTR(Description,1,MAXSTRLEN(GenJnlLine.Description)); IF GenJnlLine.INSERT(TRUE) THEN OnAfterCreateGenJnlLineFromIncomingDocSuccess(Rec) .PROCEDURE Code lines: ... CreateWithDataExchange("Document Type"::Journal); ErrorMessage.SetContext(RECORDID); IF NOT ErrorMessage.HasErrors(FALSE) THEN OnAfterCreateGenJnlLineFromIncomingDocSuccess(Rec) .PROCEDURE Raised in: Table .PROCEDURE Code lines: FIND; IF ApprovalsMgmt.IsIncomingDocApprovalsWorkflowEnabled(Rec) AND (Status = Status::New) THEN ERROR(DocWhenApprovalIsCompleteErr); OnCheckIncomingDocCreateDocRestrictions; .PROCEDURE Raised in: Codeunit . Code lines: IF Status = Status::Released THEN EXIT; IF Status IN [Status::Created,Status::Posted] THEN ERROR(STRSUBSTNO(CanReleasedIfStatusErr,Status::"Pending Approval",Status::New,Status::Failed)); OnCheckIncomingDocReleaseRestrictions; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF "OCR Status" IN ["OCR Status"::Sent,"OCR Status"::Success,"OCR Status"::"Awaiting Verification"] THEN BEGIN ShowMessage(STRSUBSTNO(ErrorMessage,FORMAT("OCR Status"))); EXIT(FALSE); END; OnCheckIncomingDocSetForOCRRestrictions; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... END; INSERT(TRUE); IF Type IN [Type::Image,Type::PDF] THEN OnAttachBinaryFile; .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... EXIT; IF DefaultFileName = '' THEN DefaultFileName := Name + '.' + "File Extension"; OnGetBinaryContent(TempBlob); .PROCEDURE Code lines: CALCFIELDS(Content); TempBlob.INIT; TempBlob."Primary Key" := "Incoming Document Entry No."; OnGetBinaryContent(TempBlob); .PROCEDURE Code lines: IF Type <> Type::XML THEN EXIT; TempBlob.INIT; OnGetBinaryContent(TempBlob); .PROCEDURE Raised in: Page .PROCEDURE Code lines: DELETEALL; OnRegisterServiceConnection(Rec); . Code lines: OnRegisterServiceConnection(Rec); .PROCEDURE Code lines: ... EXIT; RecordRef.GET("Record ID"); RecordRefVariant := RecordRef; PAGE.RUNMODAL("Page ID",RecordRefVariant); DELETE; OnRegisterServiceConnection(Rec); .PROCEDURE Raised in: Table .Field . Code lines: IF Enabled <> xRec.Enabled THEN OnStateChanged("Notification Id",Enabled); .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... "User ID" := USERID; "No. Series" := GenJnlLine."Posting No. Series"; "IC Partner Code" := GenJnlLine."IC Partner Code"; "Journal Template Name" := GenJnlLine."Journal Template Name"; OnAfterCopyGLEntryFromGenJnlLine(Rec,GenJnlLine); .PROCEDURE Raised in: Page .Action . Code lines: ... ERROR(''); END; Step::Apply: BEGIN CurrPage.DataMigrationEntities.PAGE.CopyFromSourceTable(TempDataMigrationEntity); OnApplySelectedData(TempDataMigrationEntity,Handled); .PROCEDURE Raised in: Page .Action . Code lines: ... BEGIN ListOfAccounts[1] := ReceivablesAccount; ListOfAccounts[2] := ServiceChargeAccount; ListOfAccounts[3] := PayablesAccount; ListOfAccounts[4] := PurchServiceChargeAccount; OnCustomerVendorPostingSetup(ListOfAccounts); .PROCEDURE Raised in: Page .Action . Code lines: ... ERROR(''); END; Step::Import: BEGIN OnValidateSettings; OnDataImport(Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnDownloadTemplate(Handled); .PROCEDURE Raised in: Page .Action . Code lines: CASE Step OF Step::ChooseSource: BEGIN OnGetInstructions(Instructions,Handled); .PROCEDURE Raised in: Page .Action . Code lines: ... ListOfAccounts[7] := PurchLineDiscAccount; ListOfAccounts[8] := PurchInvDiscAccount; ListOfAccounts[9] := COGSAccount; ListOfAccounts[10] := InventoryAdjmtAccount; ListOfAccounts[11] := InventoryAccount; OnGLPostingSetup(ListOfAccounts); .PROCEDURE Raised in: Page .PROCEDURE Code lines: ApplyVisible := TRUE; NextEnabled := TotalNoOfMigrationRecords > 0; OnHasAdvancedApply(OpenAdvancedApplyVisible); .PROCEDURE Raised in: Page .PROCEDURE Code lines: ... NextEnabled := TRUE; FinishEnabled := FALSE; NextStep(FALSE); END; END; OnHasErrors(ShowErrorsVisible); .PROCEDURE Code lines: DoneVisible := TRUE; BackEnabled := FALSE; NextEnabled := FALSE; OnHasErrors(ShowErrorsVisible); .PROCEDURE Raised in: Page . . Code lines: IF PAGE.RUNMODAL(PAGE::"Data Migrators",Rec) = ACTION::LookupOK THEN BEGIN Text := Description; CLEAR(DataMigrationSettingsVisible); OnHasSettings(DataMigrationSettingsVisible); .PROCEDURE Code lines: ImportVisible := TRUE; OnHasTemplate(DownloadTemplateVisible); OnHasSettings(DataMigrationSettingsVisible); .PROCEDURE Raised in: Page .PROCEDURE Code lines: ImportVisible := TRUE; OnHasTemplate(DownloadTemplateVisible); .PROCEDURE Raised in: Page .Action . Code lines: OnOpenAdvancedApply(TempDataMigrationEntity,Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnOpenSettings(Handled); .PROCEDURE Raised in: Page .PROCEDURE Code lines: DoneVisible := TRUE; NextEnabled := FALSE; FinishEnabled := TRUE; BackEnabled := FALSE; OnPostingGroupSetup(AccountSetupVisible); .PROCEDURE Raised in: Page . Code lines: OnRegisterDataMigrator; .PROCEDURE Raised in: Page .Action . Code lines: ... BEGIN OnValidateSettings; OnDataImport(Handled); IF NOT Handled THEN ERROR(''); OnSelectDataToApply(TempDataMigrationEntity,Handled); .PROCEDURE Raised in: Page .Action . Code lines: OnShowErrors(Handled); .PROCEDURE Raised in: Page .Action . Code lines: ... IF NOT Handled THEN ERROR(''); END; Step::Import: BEGIN OnValidateSettings; .PROCEDURE Raised in: Table .Field . Code lines: OnEnabled("Company Name",Enabled); .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... IF (AssistedSetup.Status = AssistedSetup.Status::Completed) AND (AssistedSetup."Assisted Setup Page ID" <> 0) THEN OnAssistedSetupCompleted(EnteryId); .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... "Applies-to Ext. Doc. No." := GenJnlLine."Applies-to Ext. Doc. No."; "Payment Method Code" := GenJnlLine."Payment Method Code"; "Exported to Payment File" := GenJnlLine."Exported to Payment File"; "Journal Template Name" := GenJnlLine."Journal Template Name"; OnAfterCopyCustLedgerEntryFromGenJnlLine(Rec,GenJnlLine); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: GLSetup.GET; IF GenJournalBatch.GET(GenJnlLine."Journal Template Name",GenJnlLine."Journal Batch Name") THEN GenJournalBatch.OnCheckGenJournalLineExportRestrictions; "Bal. Account Type"::"Bank Account" THEN InsertPaymentFileError(MustBeBankAccErr); IF "Bal. Account No." = '' THEN AddFieldEmptyError(GenJnlLine,TABLECAPTION,FIELDCAPTION("Bal. Account No."),''); ... Raised in: Codeunit .PROCEDURE Code lines: TempGenJournalBatch := GenJournalBatch; TempGenJournalBatch.INSERT; GenJournalBatch.OnCheckGenJournalLineExportRestrictions; GenJournalBatch."Bal. Account Type"::"Bank Account" THEN AddBatchEmptyError(GenJournalLine,GenJournalBatch.FIELDCAPTION("Bal. Account Type"),GenJournalBatch."Bal. Account Type"); ... Table .PROCEDURE Raised in: Table .PROCEDURE Code lines: Balance := GetBalance; IF Balance = 0 THEN OnGeneralJournalBatchBalanced .PROCEDURE Raised in: Table .PROCEDURE Code lines: Balance := GetBalance; IF Balance = 0 THEN OnGeneralJournalBatchBalanced ELSE OnGeneralJournalBatchNotBalanced; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... CLEAR(GenJnlCheckLine); CLEAR(GenJnlPostLine); CLEARMARKS; END; UpdateAnalysisView.UpdateAll(0,TRUE); GenJnlBatch.OnMoveGenJournalBatch(GLReg.RECORDID); .PROCEDURE Raised in: Table .PROCEDURE Code lines: ... "Payment Reference" := GenJnlLine."Payment Reference"; "Payment Method Code" := GenJnlLine."Payment Method Code"; "Exported to Payment File" := GenJnlLine."Exported to Payment File"; "Journal Template Name" := GenJnlLine."Journal Template Name"; OnAfterCopyVendLedgerEntryFromGenJnlLine(Rec,GenJnlLine); .PROCEDURE Raised in: Table .PROCEDURE Code lines: AutoLogonPossible := TRUE; OnCheckAutoLogonPossibleEvent(Rec,AutoLogonPossible); .PROCEDURE Raised in: Table .PROCEDURE Code lines: OnCheckLinkedToStatementProviderEvent(Rec,IsBankAccountLinked); .PROCEDURE Raised in: Table .PROCEDURE Code lines: OnGetDataExchangeDefinitionEvent(DataExchDefCodeResponse,Handled); .PROCEDURE Raised in: Table .PROCEDURE Code lines: OnGetStatementProvidersEvent(TempNameValueBuffer); .PROCEDURE Code lines: OnGetStatementProvidersEvent(TempNameValueBuffer); .PROCEDURE Raised in: Table .PROCEDURE Code lines: StatementProvider := SelectBankLinkingService; IF StatementProvider <> '' THEN OnLinkStatementProviderEvent(BankAccount,StatementProvider); .PROCEDURE Raised in: Page .Action . Code lines: AssistedCompanySetup.WaitForPackageImportToComplete(ImportSessionID); BankAccount.TRANSFERFIELDS(TempBankAccount,TRUE); AssistedCompanySetup.ApplyUserInput(Rec,BankAccount,AccountingPeriodStartDate,TypeEvaluation); AssistedSetup.SetStatus(PAGE::"Assisted Company Setup Wizard",AssistedSetup.Status::Completed); IF (BankAccount."No." <> '') AND (TempOnlineBankAccLink.COUNT > 0) THEN BankAccount.OnMarkAccountLinkedEvent(TempOnlineBankAccLink,BankAccount); .PROCEDURE Raised in: Table .PROCEDURE Code lines: StatementProvider := SelectBankLinkingService; IF StatementProvider <> '' THEN OnSimpleLinkStatementProviderEvent(OnlineBankAccLink,StatementProvider); .PROCEDURE Raised in: Table .Field . Code lines: IF FORMAT("Bank Stmt. Service Record ID") = '' THEN OnUnlinkStatementProviderEvent(Rec,Handled); .PROCEDURE Code lines: OnUnlinkStatementProviderEvent(Rec,Handled); .PROCEDURE Raised in: Table .PROCEDURE Code lines: StatementProvider := SelectBankLinkingService; IF StatementProvider <> '' THEN OnUpdateBankAccountLinkingEvent(Rec,StatementProvider); .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF NOT CheckOpenPrepaymentLines(SalesHeader,DocumentType) THEN ERROR(Text001); CheckDim(SalesHeader); OnCheckSalesPostRestrictions; "Sell-to Customer No." THEN BEGIN Cust.GET("Bill-to Customer No."); ... Raised in: Codeunit . Code lines: TESTFIELD("Document Type","Document Type"::Quote); ShouldRedistributeInvoiceAmount := SalesCalcDiscountByType.ShouldRedistributeInvoiceDiscountAmount(Rec); OnCheckSalesPostRestrictions; .PROCEDURE Code lines: WITH SalesHeader DO BEGIN IF NOT PreviewMode THEN OnCheckSalesPostRestrictions; "Sell-to Customer No." THEN CheckCustBlockage(SalesHeader,"Bill-to Customer No.",FALSE); END; Table .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF Status = Status::Released THEN EXIT; OnBeforeReleaseSalesDoc(SalesHeader,PreviewMode); IF NOT PreviewMode THEN OnCheckSalesReleaseRestrictions; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... SalesHeader.OnCustomerCreditLimitNotExceeded ELSE IF InstructionMgt.IsEnabled(GetInstructionType(FORMAT(SalesHeader."Document Type"),SalesHeader."No.")) THEN BEGIN CreditLimitExceeded := TRUE; CreateAndSendNotification; SalesHeader.OnCustomerCreditLimitExceeded; .PROCEDURE Code lines: ... IF NOT CustCheckCreditLimit.SalesLineShowWarning(SalesLine) THEN SalesHeader.OnCustomerCreditLimitNotExceeded ELSE IF InstructionMgt.IsEnabled(GetInstructionType(FORMAT(SalesLine."Document Type"),SalesLine."Document No.")) THEN BEGIN CreateAndSendNotification; SalesHeader.OnCustomerCreditLimitExceeded; .PROCEDURE Code lines: ... Customer.GET("Sell-to Customer No."); AvailableCreditLimit := Customer.CalcAvailableCredit; IF AvailableCreditLimit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF NOT GUIALLOWED THEN EXIT; IF NOT CustCheckCreditLimit.SalesHeaderShowWarning(SalesHeader) THEN SalesHeader.OnCustomerCreditLimitNotExceeded .PROCEDURE Code lines: ... EXIT; SalesHeader.GET(SalesLine."Document Type",SalesLine."Document No."); IF NOT CustCheckCreditLimit.SalesLineShowWarning(SalesLine) THEN SalesHeader.OnCustomerCreditLimitNotExceeded .PROCEDURE Code lines: ... AvailableCreditLimit := Customer.CalcAvailableCredit; IF AvailableCreditLimit .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... FIELDERROR("Posting Date",Text000); IF NOT CheckOpenPrepaymentLines(PurchHeader,DocumentType) THEN ERROR(Text001); CheckDim(PurchHeader); OnCheckPurchasePostRestrictions; "Buy-from Vendor No." THEN BEGIN Vend.GET("Pay-to Vendor No."); ... Raised in: Codeunit . Code lines: TESTFIELD("Document Type","Document Type"::Quote); ShouldRedistributeInvoiceAmount := PurchCalcDiscByType.ShouldRedistributeInvoiceDiscountAmount(Rec); OnCheckPurchasePostRestrictions; .PROCEDURE Code lines: IF NOT PreviewMode THEN PurchaseHeader.OnCheckPurchasePostRestrictions; PurchaseHeader."Buy-from Vendor No." THEN BEGIN Vendor.GET(PurchaseHeader."Pay-to Vendor No."); Vendor.CheckBlockedVendOnDocs(Vendor,TRUE); END; Table .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... IF Status = Status::Released THEN EXIT; OnBeforeReleasePurchaseDoc(PurchaseHeader,PreviewMode); IF NOT PreviewMode THEN OnCheckPurchaseReleaseRestrictions; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: IF NOT PreviewMode THEN GenJournalLine.OnCheckGenJournalLinePostRestrictions; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: GenJnlLine.COPY(NewGenJnlLine); GenJnlLine.OnCheckGenJournalLinePrintCheckRestrictions; .PROCEDURE Raised in: Codeunit .PROCEDURE Code lines: ... InitVAT(GenJnlLine,GLEntry,VATPostingSetup); InsertGLEntry(GenJnlLine,GLEntry,TRUE); PostJob(GenJnlLine,GLEntry); PostVAT(GenJnlLine,GLEntry,VATPostingSetup); DeferralPosting("Deferral Code","Source Code","Account No.",GenJnlLine,Balancing); OnMoveGenJournalLine(GLEntry.RECORDID); .PROCEDURE Code lines: ... IF DtldLedgEntryInserted THEN IF IsTempGLEntryBufEmpty THEN DtldCustLedgEntry.SetZeroTransNo(NextTransactionNo); DeferralPosting("Deferral Code","Source Code",ReceivablesAccount,GenJnlLine,Balancing); OnMoveGenJournalLine(CustLedgEntry.RECORDID); .PROCEDURE Code lines: ... IF DtldLedgEntryInserted THEN IF IsTempGLEntryBufEmpty THEN DtldVendLedgEntry.SetZeroTransNo(NextTransactionNo); DeferralPosting("Deferral Code","Source Code",PayablesAccount,GenJnlLine,Balancing); OnMoveGenJournalLine(VendLedgEntry.RECORDID); .PROCEDURE Code lines: ... BankAccPostingGr.TESTFIELD("G/L Bank Account No."); CreateGLEntryBalAcc( GenJnlLine,BankAccPostingGr."G/L Bank Account No.","Amount (LCY)","Source Currency Amount", "Bal. Account Type","Bal. Account No."); DeferralPosting("Deferral Code","Source Code",BankAccPostingGr."G/L Bank Account No.",GenJnlLine,Balancing); OnMoveGenJournalLine(BankAccLedgEntry.RECORDID); .PROCEDURE Code lines: ... GLEntry := GLEntry2; TempGLEntryBuf."Entry No." := GLEntry."Entry No."; // Used later in InsertVAT(): GLEntryVATEntryLink.InsertLink(TempGLEntryBuf."Entry No.",VATEntry."Entry No.") PostVAT(GenJnlLine,GLEntry,VATPostingSetup); FAJnlPostLine.UpdateRegNo(GLReg."No."); GenJnlLine.OnMoveGenJournalLine(GLEntry.RECORDID); .PROCEDURE Code lines: InitGLEntry(GenJnlLine,GLEntry,AccNo,Amount,AmountAddCurr,TRUE,TRUE); GLEntry."Bal. Account Type" := BalAccType; GLEntry."Bal. Account No." := BalAccNo; InsertGLEntry(GenJnlLine,GLEntry,TRUE); GenJnlLine.OnMoveGenJournalLine(GLEntry.RECORDID); <=====================
↧
↧
Blog Post: Code changes - NAV 2016 to NAV 2017 - Tips, Tricks & Facts #5
Hi guys, I am gonna talk about the code changes that I liked in NAV 2017 and you must know about them too. Coding in NAV 2017 is better, as expected. Just to give an overview. I will cover some examples as follows, 1. Codeunit 80 - OnRun Trigger - This trigger used to be a home of like more than a thousand lines of code. Well now, it has been decreased to a hundred lines of code, give or take. Check the image below, This screenshot is of CU 80 OnRun trigger The highlighted function in yellow is a new addition and in this function exist other new functions and likewise. I like it. :-) 2. Codeunit 80 (again) - PostItemJnlLine Function - In the "new way" which is NAV 2017, instead of assigning all the values in the function itself, there are new functions in respective tables which assign values to posted tables. There is a lot of other new stuff to check out. Check NAV 2017 and share your knowledge in comments. (Since my posts cannot be complete without extensions. Therefore,) Talking about extending code - Well, to be true I am still unsure about how to alter the code and offer flexibility that we used to have in the old NAV to our clients. There still is a lot to understand from extensions point of view. :-? A question which I still can't answer to myself, How will we (customization wise) manage the re-implementation with clients upgrading to NAV 2017? I mean there is good potential in extensions but it requires lessening the scope a lot for the clients whose databases are heavily customized (by which I mean a lot of customized code in the standard objects). I hope that with the new development environment coming up soon a lot of possibilities might open up. Like writing code in between a function like PostItemLine (a new function in CU 80 in NAV 2017) OR lots of other new and old functions existing in tables, codeunits etc. Many of us have customized some major codeunits in NAV till now and some of these customization were very crucial for the client. Let's say the scope of these custom functionalities cannot be narrowed down because of the kind of code written already. Happens in real world! Doesn't it? With this post, I am answering my questions partially. As we can see a lot of new functions have been added in NAV 2017 which lessens the code existing in other functions (like example no. 1 above). These changes will surely help in extending the code (with extensions). Please comment your thoughts and tips on how to win over typical situations (like the one I have described above) if the client decides to move forward NAV 2017 with extensions. At the moment I am circling around code to find ways on how to deal with typical situations using extensions. Keep Learning! Thanks. Ishwar #KnowledgeForNAVTechies
↧
Blog Post: Common Data Service reaches general availability with entity updates, PowerApps guidance
The first release of the Common Data Service (formerly known as the common data model) is now generally available. It was announced in conjunction with the general availability of Microsoft Flow, PowerApps, and Dynamics 365. The standard entities in the Common Data Service (CDS) have now been set, which means developers of business apps now have a starting point from which plan and create custom entities. read more ...read more
↧
Blog Post: NAV2017:- Account Categories and SubCategories
I wrote about this cool feature introduced in NAV2017 in my earlier blog Account categories . Today we will see more in detail how this is used in NAV2017 We have to classify the Ledger accounts specially for reporting purpose and creating balance sheet and income statement. User can define the Account category and subcategory in G/L Account master against each ledger account Based on this NAV provided the screen to see the balances against the categories. This page gives overview of This page show detail with balances for categories and sub categories defined. The fact boxes will show the GL Accounts associated with Account categories and subcategories which is tagged in master. Based on this categories needed reports added in NAV2017 i.e. Balance Sheet and Income Statement which we initially creating using account schedules and now we have readily available in NAV2017.[:)] Reports are available under Financial Management. Cheers....
↧
Blog Post: Dynamics NAV and Help: A new world
With Dynamics NAV 2017, we bring user assistance and developer docs to new platforms that makes updates and collaboration far easier than ever before. In this blog post, we’ll explain what this move means to you, and we’ll invite you to join us in our travel towards a new world. Developer and IT-pro documentation With...
↧
↧
Blog Post: Dynamics NAV 2017: Creating New Opportunities
Let’s talk about the new opportunities that Dynamics NAV 2017 brings. Developing Extensions Dynamics NAV 2017 includes many new capabilities for developing extensions: Support for additional object types You can include reports, XMLports, and queries in your extension along with new custom report templates. For more information, see Extension Packages Capability Support Matrix. Support for .NET...
↧
Forum Post: RE: NAV 2017
Cant wait to get my hands on it
↧
Forum Post: RE: NAV 2017
Will actually deploy it to any new client I get
↧
Blog Post: Nuevas capacidades predictivas en NAV 2017 con Cortana Intelligence
Tenemos ya disponible la última versión de Microsoft Dynamics NAV, y con ella han llegado...
↧
↧
Blog Post: Azure & HIPAA HITECH Compliance: Four Configuration Safeguards for Your Data
Many companies are looking to get out of the datacenter business and onto services like Microsoft Azure to provide Infrastructure as a Service (IaaS) solutions for legacy client server workloads. And for organizations in the healthcare industry adhering to HIPAA and HITECH Standards, there are a few keys to safeguarding their sensitive data. Microsoft supports running workloads with Electronic Protected Health Information (EPHI) in Azure, but as discussed in an earlier article , it is ...read more
↧
Blog Post: Cumulative Update 44 for Microsoft Dynamics NAV 2013 has been released
Cumulative Update 44 includes all application and platform hotfixes and regulatory features that have been released for Microsoft Dynamics NAV 2013. The cumulative update is intended mainly for solutions that are experiencing the problems described in the Knowledge Base article linked to below. However, you are advised to always keep your solution updated with the latest cumulative...
↧
Blog Post: Cumulative Update 37 for Microsoft Dynamics NAV 2013 R2 has been released
Cumulative Update 37 includes all application and platform hotfixes and regulatory features that have been released for Microsoft Dynamics NAV 2013 R2. The cumulative update is intended mainly for solutions that are experiencing the problems described in the Knowledge Base article linked to below. However, you are advised to always keep your solution updated with the latest...
↧