Quantcast
Channel: Dynamics 365 Business Central/NAV User Group
Viewing all 11285 articles
Browse latest View live

Forum Post: RE: How to get the last value in a table in dynamics nav

$
0
0
It was not flow field but just decimal field

Forum Post: RE: How to get the last value in a table in dynamics nav

$
0
0
IF CommitReg2 is supposed to have a value in the "Budget Balance" field and its not a flowflield then the only code that ca be wrong is your SETFILTER Try doing a Message(FORMAT(CommitReg2.GETALLFILTERS)); af a FINDxxxx command

Forum Post: RE: How to get the last value in a table in dynamics nav

$
0
0
I appreciate your reply. I have found the error which is this "commitReg2.SETFILTER("Budget Name (Accrued Budget)",ImpDetails."Budget Name (Accrued Budget)");". Immediately I commented it, everything was fine. Thanks

Forum Post: Service Contract Credit memo - NAV 2018

$
0
0
Hi All, I need your help regarding Service Credit Memo. I created service contract whose Line Value is 6570, it is for 12 months and it is Yearly. Created its invoice system created 12 lines in invoice with Line Amt 547.50 When I create Service Contract Credit Memo from Service Contrat card then it create credit memo with amount 17.66 Now I am not getting, system even didn't ask me for any period while creating credit memo and it directly create credit memo of 17.66. This 17.66 is one day's amount(something round off). Can some help me how to make service credit memo? I am doing its first time. Thanks in advance.

Forum Post: Can't show the Action on ribbon "Home" of new page type ListPart in NAV 20018 (Cumulative Update 10)

$
0
0
Hi All. I need help now - I can't show the Action on ribbon tab "Home" of new created page type ListPart in the NAV 20018 (Cumulative Update 10) from VSC (v 1.40.1); The source code like below: page xxxxxx48 "Posted Purch. Invoice Payment" { Caption = 'Posted Purchase Invoice Payment'; PageType = ListPlus; ApplicationArea = All; UsageCategory = Tasks;// Administration; SourceTable = "Purch. Inv. Header"; SourceTableTemporary = true; //SourceTableView = sorting ("Posting Date") order(descending) where ("Posting Date" = filter (<> 0D)); RefreshOnActivate = true; InsertAllowed = false; ModifyAllowed = false; DeleteAllowed = false; PromotedActionCategories = 'New,Process,Report,Invoice'; layout { area(Content) { .. } } actions { area(Processing) { action(SendPayment) { Caption = 'Bank Pay'; ToolTip = 'Initiate payment request for the current batch of documents.'; Image = ExportToBank; ApplicationArea = All; //ApplicationArea = Basic, Suite; PromotedCategory = Category4; PromotedIsBig = true; Promoted = true; Enabled = RunRequest; //PromotedOnly = true; trigger OnAction() var GenJournalLine: Record "Gen. Journal Line"; GenJournalBatch: Record "Gen. Journal Batch"; ErrorBatchEmpty: Label 'The %1 cannot be empty'; begin if CurrentJnlBatchName = '' then Error(ErrorBatchEmpty, GenJournalLine.FieldCaption("Journal Batch Name")); end; } } area(Navigation) { action(VendorAction) { Caption = 'Vendor'; ToolTip = 'View or edit detailed information about the vendor on the purchase document.'; //ApplicationArea = Basic, Suite; ApplicationArea = All; //Promoted = true; //PromotedCategory = Category4; Image = Vendor; RunObject = page "Vendor Card"; RunPageLink = "No." = field ("Buy-from Vendor No."); } Action(Statistics) { Caption = 'Statistics'; ToolTip = 'View statistical information, such as the value of posted entries, for the record.'; ApplicationArea = All; //ApplicationArea = Advanced; Image = Statistics; //Promoted = true; //PromotedCategory = Category4; ShortcutKey = 'F7'; trigger OnAction() begin if "Tax Area Code" = '' then Page.RunModal(Page::"Purchase Invoice Statistics", Rec, "No.") else Page.RunModal(Page::"Purchase Invoice Statistics", Rec, "No."); end; } Action(Comments) { Caption = 'Co&mments'; ToolTip = 'View or add comments for the record.'; ApplicationArea = All; //ApplicationArea = Advanced; Image = ViewComments; RunObject = Page "Purch. Comment Sheet"; RunPageLink = "Document Type" = const ("Posted Invoice"), "No." = field ("No."); } Action(Dimensions) { Caption = 'Dimensions'; AccessByPermission = TableData Dimension = R; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; ShortcutKey = 'Shift+Ctrl+D'; ApplicationArea = Dimensions; Image = Dimensions; trigger OnAction() begin ShowDimensions; end; } } area(Reporting) { action(Print) { Caption = 'Print'; AccessByPermission = TableData "Incoming Document" = R; ToolTip = 'Prepare to print the document. A report request window for the document opens where you can specify what to include on the print-out.'; ApplicationArea = Basic, Suite; Image = Print; Promoted = true; PromotedCategory = Report; trigger OnAction() var PurchInvHeader: Record "Purch. Inv. Header"; begin CurrPage.SetSelectionFilter(PurchInvHeader); PurchInvHeader.PrintRecords(true); end; } action("Navigate") { Caption = 'Navigate'; ToolTip = 'Find all entries and documents that exist for the document number and posting date on the selected posted purchase document.'; ApplicationArea = Basic, Suite; Promoted = true; PromotedCategory = Report; Scope = Repeater; Image = Navigate; trigger OnAction() begin Navigate; end; } } } ... } Based on code I have 4 tabs - Home, Actions, Navigate and Report. But I can't add any button on the Home tab. 1 more point - when I uncomment the line "PromotedOnly = true;" then this Action disappears at all from any Ribbon. Do you know how to fix it? thanks in advance.

Forum Post: my router is not connecting

$
0
0
I have a hp printer. My printer's USB port has been damaged so I decided to connect my hp printer with my router. At the time of connecting, it wanted a WPS pin. I somehow found the WPS pin on hp printer and connected it. But after that, I noticed that my router was not working anymore so that my printer stopped working too. I couldn't find any solution to that problem. What should I do now??

Forum Post: Non Conforming Stock / Blocking inventory stock

$
0
0
Hi, I use NAV 2015 for now... We use 3rd party warehouse. What is the best practice to solve this. When we get back products to the warehouse and the goods are damaged. We put them in stock but want to block them for sales. For instance we have Item No. T123 and we have 100 in stock and 10 of them are damaged. I cant block the Item T123 cause then I block all 100. I took a look at the location settings but for now haven't been able to figure that part out yet. Hope I am clear enough?

Forum Post: Navision Plugin for Container Loadability Management

$
0
0
I am looking for a software plugin compatible to Dynamics NAV 2017 & 2018. Functionality should be related to Container Loadability Management. This function will help us identify how many containers needed in weekly shipping process with specified product and quantity to be shipped

Forum Post: Reverse Drop Shipment

$
0
0
I have a drop shipment that I need to be able to reverse - what is the best way to achieve this - neither the purchase receipt or the shipment have been invoiced yet. (Business Central v 14.6)

Blog Post: Exposing Dynamics 365 Business Central data to the outside world: my two cents

$
0
0
I had a discussion in the last days on socials with some of my followers (yes, I have them :D) about what’s the best way to expose Dynamics 365 Business Central data to external systems for integrations and for data analysis. Exposing data is an hot topic on every ERP implementation. With Dynamics 365 Business Central on-premise you have the possibility to access the ERP data by directly querying the SQL Server database (bad choice in general in my opinion), but on SaaS things are different. Database access is not an option and your data must be exposed in a “service oriented” way. On a Dynamics 365 Business Central SaaS environment, for exposing data to the outside world you have essentially the following choices: Publish a page object as web service and use OData or SOAP Publish a query object as web service and use OData Publish a dedicated API page and use REST APIs The worst choice is my opinion choice 1. I know that this is the simplest way, but by directly exposing a page you are using an object that can contain also logic for handling the user interface (interactive mode) and this can be extremely inefficient for OData. A page object will not permit you to have a fixed contract (interface) with your clients too. Choice 2 is much better: you can create a query object and in this object you can use JOIN to link tables and aggregate data. Queries are more performant than pages because here you can do aggregations, sums and so on while on pages you’re doing only “select” operations. Choice 3 is what I think you should start doing with Dynamics 365 Business Central. By creating an API page with AL you can create an object that exposes data by using OData protocol, that can be consumed by using REST APIs (simple HTTP methods), that can be distributed with your extension (natively configured, no need to perform administration tasks to expose the endpoints), that has a fixed contract, that supports namespaces and  versioning and that is natively “webhook enabled”. Saying that, are APIs the solution to all your problems related to exposing data to the outside? NO. It depends a lot on your business scenarios I think I think that API pages are the best way if you need to interact with external system via HTTP: create your custom entities APIs pages (or use the standard APIs for standard entities if they satisfy your needs) and an external system will have HTTP endpoints to interact with your ERP by simply sending HTTP requests (GET, POST, PATCH and so on). If you need to interact with PowerApps or Flows (other question received), unfortunately the standard connectors for Dynamics 365 Business Central actually can see only standard entities exposed by using native pages and query web services (OData v4). If you want to use your custom entities (exposed via API) you need to create a custom connector (not so easy task). If you need to expose data to an external system for data analysis (BI) I’m absolutely not a fan of a “direct integration” between the ERP and the BI system. Imagine to use for example PowerBI with Dynamics 365 Business Central (but it could be another BI tool able to access data via services). You can directly query the ERP data by using the native Power BI connector or by using OData endpoints (for example a query object exposed as an OData endpoint) but in this way you’re “directly connected” to the ERP and huge reports or huge data calculations can affect your ERP system. In these cases, I think that the best choice is not directly using the OData endpoints for performing your data analysis. A more performant and scalable solution could be to extract the data from the ERP (for example by using a custom code that periodically calls your APIs, reads data and saves those data to an Azure SQL database or to Azure Datawarehouse). Then, your BI system (in this example is Power BI) can directly access this datawarehouse and perform all the data operations it needs for reporting purposes, without affecting the ERP system or locking users. And if you need more power? Systems are decoupled, so you can scale the Azure SQL or Azure Datawarehouse instance as needed in order to guarantee the level of performances you need. So, what’s the conclusion of this post? Use API pages as much as possible instead of exposing standard pages Think on your business case and architect a solution that guarantees performances and scalabilities. I know that publishing Dynamics 365 Business Central data by exposing a page object is the simplest solution for everyone (it’s just a click), but simplicity is not equal to efficiency. In many cases you will need more work to do, but the final solution will have lots of benefits.

Forum Post: RE: Navision Plugin for Container Loadability Management

$
0
0
if you find it, please, share this information

Forum Post: RE: Non Conforming Stock / Blocking inventory stock

$
0
0
if you no't use the inside warehouse functionality (e.g. Bin) what is the problem in the NAV to receive damaged goods to the separate warehouse? It is just a virtual location. If you use Bins, then just separate Bin :)

Forum Post: RE: Non Conforming Stock / Blocking inventory stock

$
0
0
Hi Daniel, you should have configured a damaged location or write-off location where all damaged products are put on. Technical solution: 1. setup new location and mark it as claim location - perhaps you will need to add additional field with location status (claim location) - and marke the location is not selling location -> location users cannot sell goods from. Thank you BR Damjan

Forum Post: Not secure (http:ms-dynamics/DynamicsNAV110) with dynamics NAV 2018

$
0
0
Hi Team, When the client run web client because they are using windows 7. They see not secure beside http:ms-dynamics:8080/DYNAMICSNAV110, and I tried to change it https but I was receiving "the site can't provide secure connection" with https:ms-dynamics:8080/DynamicsNAV110 after follow the link below https://suvidhablogpost.wordpress.com/2014/09/03/securing-the-nav-web-client-connection-with-ssl/

Forum Post: RE: Not secure (http:ms-dynamics/DynamicsNAV110) with dynamics NAV 2018

$
0
0
With http:ms-dynamics:8080/dynamicsNAV110 This is the setting for https After the setting for https:8080 After the setting for https:443

Comment on OnLookup & OnValidate #2

$
0
0
Thank you for the article, very nicely explained, it solved my confusion.

Forum Post: OnAfterSubstituteReport is not triggered for custom layout template (Account-schedule)

$
0
0
Hi every one, I am new to business central, we have a requirement for account schedule (id : 25) report changes. The report changes are just a kind of branding like logo addition to the report and some hard coded text on the report. For some other report, which i have created, i have successfully hooked up my custom reports as a substitute in the OnAfterSubstituteReport but for the custom layout templates of business central like account schedule report the OnAfterSubstituteReport event is not triggered. The report which i have created for account schedule report comes in report layout selection, there i can make it run and it works properly but from Account Schedule screen when i run the report it shows the default layout because i am unable to substitute. There is another event that is raised for custom layout report templates, that is OnAfterHasCustomLayout but i don't know how can make it run my report in place of the default account schedule report. Any suggestion or guidance will be appreciated. Thanks.

Forum Post: RE: OnAfterSubstituteReport is not triggered for custom layout template (Account-schedule)

$
0
0
I solved the issue, i looked into the code using debugger, then i found an event OnBeforePrint that is being raised before opening the request page of the report. The OnBeforePrint event accepts two reference parameters, the second parameter is isHandled , when set to true in your event subscriber function, it won't execute the next statement in the default implementation from where the event was raised. // This portion of code is from // table 84 "Acc. Schedule Name" procedure Print() var AccountSchedule: Report "Account Schedule"; IsHandled: Boolean; begin IsHandled := false; OnBeforePrint(Rec, IsHandled); // This is the place where the event from the default implementation raises, if IsHandled then exit; AccountSchedule.SetAccSchedName(Name); AccountSchedule.SetColumnLayoutName("Default Column Layout"); AccountSchedule.Run; end; I subscribed for the event raised in the code above in my code unit, and set the parameters to show my custom report based on custom layout name condition. below is the subscriber code. [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Name", 'OnBeforePrint', '', false, false)] local procedure OnBeforeAccountScheduleNamePrint(var AccScheduleName: Record "Acc. Schedule Name"; var IsHandled: Boolean) var accountScheduleCustomReport: Report AccountScheduleCust; begin if AccScheduleName.Name = 'B-SHEET' then begin IsHandled := true; accountScheduleCustomReport.SetAccSchedName(AccScheduleName.Name); accountScheduleCustomReport.SetColumnLayoutName(AccScheduleName."Default Column Layout"); accountScheduleCustomReport.Run; end; end;

Blog Post: NAVTechDays – It’s a peoples event…

$
0
0
It’s the weekend after NAVTechDays and I rested from a busy week. Two days of pre-conference training and two days of talking at (a lot of) people mostly at the ForNAV booth but also at the booth of Meta UI, Continia, SQL Perform, Anveo, Prism and AL Ops. Design Patterns, once again Teaching the Design Patterns for AL the first time was fun, challenging and exhausting. It was fun because I got to talk about my passion once again, clean code and design patterns. Challenging because it was the first time on AL and my attendees almost all were experienced with having apps on AppSource and PerTenant apps. It was exhausting because I had no idea what to prepare for and the group was very interactive. Once again I felt I learned more than the students combined. I know that our community is ready for the next step in AL. We finished converting from C/Side and we’re ready to move on. Some of us at least. One of my attendees, you may know him, Michael Megel encouraged me to think out of the box once again and take the patterns to the next level of abstraction. I’ll blog about this more in the following weeks but you can take a sneak preview at https://github.com/al-design-patterns . With C/Side the patterns were left behind with Microsoft on their old wiki . I talked at NAVTechDays with Bugsy to see if they can be carried foreward to AL and Visual Studio Code too. To be continued. Although I don’t have the ambition I had a few years back I do hope to teach a bit more next period. I am traveling to Denmark next week to teach PrintVis and I applied to teach the class at Days of Knowledge in Denmark. NAVTechDays I felt the general atmosphere at NAVTechDays was very positive. The most positive I have seen in a long time. At the ForNAV booth I have only done demo’s of our AppSource solution. Nobody is remotely interested in the old world which is great. Where last year most attendees had no clue of the problem we’re trying to solve they now were super enthousiastic of our offering. I guess you first have to try RDLC with AL to appreciate the alternative. ;-). This seems to be even more true for the new Meta UI product from Global Mediator. It’s now roughly 15 months ago that we locked up two insanely smart JavaScript/Angular experts in an office with no outside windows. I gave them an API endpoint and the question to use that MetaData to build an improved Grid control. The rest is history and the product, a result of more than 10 manyears, was presented at NAVTechDays last week. I was so proud to see one of these JavaScript experts, the architect of the solution, giving demo’s of the product as if he lived his whole life in Business Central and to hear people say things like “where did this come from all of the sudden”, and “this is by far the best thing I’ve seen this year at NAVTechDays”. It proves that to be successful with Business Central you need to step outside of your comfort zone and work with people who are smart in technology that can be combined with AL very easily. Where Directions are to give a roadmap to a company, NAVTechDays is to give inspiration to developers. The sponsors of NAVTechDays are all but one (I think) companies that offer tools. Different from Directions where there are more vertical solution ISV’s using the oportunity to talk at their international partners. I hope that NAVTechDays and Directions can co-exist side by side for many years to come although it may be time to start calling it BCTechDays.

Forum Post: IFRS vs Tax accounting in MS Navision 2017

$
0
0
Dear Group Memebers We have task to integrate MS Nav 2017 in company with ifrs and tax accounting. In my last work where there were Oracle Business Suite there were 2 modules in system TAX and IFRS. Some entries posted in both modules, some entries posted only in ifrs. We calculate some enties and posted manually them in ifrs module, or calculate tax and post them manually through journals to tax module. FA depreciation, inventory accounting were different in these modules. I want to know, is there another way to integrate MS Navision? Or there should be 2 modules? Where I can read articles, books, materials regarding this question? Thanks.
Viewing all 11285 articles
Browse latest View live