Monday 4 December 2017

WHAT IS NEW IN MICROSOFT DYNAMICS NAV 2018 ?

It's been 3 days since the news on Dynamics NAV 2018 broke out to the main stream. A lot is being blogged about this interesting product.
But first i would like to take this opportunity to welcome back our team from the Dynamics NAV boot camp held in Nairobi Kenya (28th Nov- 01 Dec 2017). Thank you to our partners and teams for the wonderful work done.

According to Dynamics community, the following are the new features in Dynamics NAV 2018

Ceridian payroll

You can now import payroll transaction files from Ceridian HR/Payroll in US and Ceridian Powerpay in CA by installing the Ceridian Payroll extension.
Aggregated payroll data, including date, payroll account, description, and amount, will be imported to your G/L accounts according to mappings that you perform once per payroll account.
The extension also contains a sample payroll file that you can use to try out the functionality, for example, in a demo company.

Quickbooks File Import

You can now import payroll transaction files in the Quickbooks IIF format by installing the Quickbooks Payroll File Import extension. Aggregated payroll data, including date, payroll account, description, and amount, will be imported to your G/L accounts according to mappings that you perform once per payroll account. The extension also contains a sample payroll file that you can use to try out the functionality, for example, in a demo company.

Integration API

To empower developers and service providers to easily integrate with Microsoft Dynamics NAV, we are adding a REST API based on web services with easy-to-use authentication.
The entities in the API can be used on their own or in combination with extensions when there is a need to add user interface elements or business logic Dynamics NAV.
The first iteration of the API publishes common record types, including company information, customer, vendor, employee, item (product), sales order, sales invoice, account, and journal.

Synchronize Vendors with Lexmark ICS

You can now take advantage of vendor synchronization when using Lexmark ICS. This will improve the vendor recognition rate in the Lexmark ICS and allow manual selection of vendors when performing visual training of new invoice layouts.
Vendor information including number, name, address, VAT registration, phone, and bank account data is transferred to Lexmark ICS when synchronizing. 

Personalize your workspace
Personalize your workspace to your tastes and work style!
With our upcoming personalization tool built directly into Dynamics NAV, all it takes is a few clicks to display the right data for your role and your business, or optimize for data entry in the browser.
  • Move or hide away content such as columns, fields, FactBoxes, charts and KPIs.
  • Show more business data by adding columns and fields.
  • Freeze any column in a list so that you always see key fields as you scroll.

Preview and Print Reports

Invoices, tax reports, checks and balance sheets - our upcoming Report Preview feature will display all kinds of reports directly in Dynamics NAV without having to download as a file.
On any browser or mobile device you can click, type or swipe to pan, zoom and flip pages. Select and copy text, or click to link out to your data.
You will also be able to print directly from the browser.

Full CRM Synchronization can be run in background

Dynamics CRM Connection Setup guide

The Dynamics CRM Connection Setup guide now includes coupling of salespersons to CRM users as this is a prerequisite for any synchronization of data between Dynamics CRM and Financials.
The guide now allows you to run full synchronization when the CRM connection has been set up. The synchronization runs in the background so that the user can continue working.

Dynamics CRM Connection Setup window

From the CRM Connection Setup window, you can open the Integration Synchronization Jobs window to check the progress of current synchronizations and to see detailed information about the number of records in Financials and the number of records in the connected Dynamics CRM solution.

Record coupling between Financials and Dynamics CRM

When coupling records between Financials and Dynamics CRM, the list of CRM records is filtered using integration table filters. This allows you to see and couple only records that are eligible for synchronization.
If you disable the Dynamics CRM integration, all integration synchronization jobs are now disabled.

Analyzing Financial Statements in Microsoft Excel

In the Business Manager and Accountant Role Centers, you can choose which financial statements to view in Excel from a drop-down menu in the Reports section of the ribbon. When you choose a statement, it will be opened in Excel or Excel Online. An add-in connects the data to Financials. 
In the ribbon, choose the relevant Excel report, and let it open so you can get the overview that you were looking for. In this version, we offer the following Excel reports:
  • Balance Sheet
  • Income Statement
  • Cash Flow Statement
  • Retained Earnings Statement
  • Aged Accounts Payable
  • Aged Accounts Receivable

Retrieve customer, vendor and contact name and address from VAT Registration Number [UK only]

You can validate the VAT registration number of new customers, vendors, and contacts against the EC VAT VIES web service and get the name and address details from the web service response.

Submission of EC Sales List with more than 9999 lines

You can now submit EC Sales List Report with more than 9999 lines. All you need to do is set threshold on number of lines in VAT Report Configuration for EC Sales List report in Maximum number of lines field to 9999 and we've got you covered. When you submit such large EC Sales List report we'll generate a number of messages and send them to Government Gateway. You can see results of submission in Log Entries.

3 Checks per Page

A new format has been created for check printing.  You now have the ability to print 3 checks per page to save of paper and make check printing faster.

Links and Resources

For a complete list of what’s new and what’s coming you can visit the Microsoft Dynamics 365 Roadmap
The Dynamics 365 Roadmap provides a full image of what we’re working on. Use this roadmap to find out what is being made generally available and what is in development. All dates and features that are in development are preliminary, are based on current expectations, and are subject to change without notice.

The Modern Development Tools for Dynamics NAV provides a detailed list of new tools that you will need to use in order to build extensions and apps in and for Dynamics NAV.

Make sure you visit the list of features that have not been implemented in on-premises deployments of Dynamics 365 for Financials. In this list you can find features that haven't been implemented yet and a list of features that are not intended for use with on-premises deployments, meaning that there are no plans to implement these features.

In order to connect and integrate your web service or SaaS solution with Microsoft Dynamics 365 for Financials you can use Microsoft Graph. Creating your integration through the Microsoft Graph provides simple access to all supported Microsoft products in a single endpoint, giving you a simplified experience for creating a single app with integrations across multiple Microsoft products.

Reach more customers by bringing apps for Dynamics 365 for Financials into Microsoft Appsource, the marketplace for Microsoft business apps. Dynamics 365 gives you rich functionality, a modern always up-to-date platform, and a set of great new development tools.

So just don’t wait and download the localization of your country and start exploring the new functionality and capabilities of the newly launched version of Microsoft Dynamics NAV 2018.
You can click here to download.
Here is the link to the PDF explaining the details of the new features

Enjoy !!




Thursday 30 November 2017

Announcing Microsoft Dynamics NAV 2018!!

Hello, those of us that are familiar with Dynamics NAV, Microsoft usually releases a new version of NAV around this time of the year! As usual Microsoft has not disappointed. They will be releasing Dynamics NAV 2018 today.
Here is what we expect according to Dynamics NAV community.

The release date of Dynamics NAV 2018:
The wait is finally over and Marko Perisic announced in Madrid last week that we will have the publishedDynamics NAV 2018 on December 1st. 

Dynamics NAV 2018 and VS Code Extension v2:
Dynamics NAV 2018 will allow partners to use Visual Studio Code for Extensions v2. This will allow partners to get ready for new Dynamics NAV 2018 R2 version which will be released in spring of 2018. 

Same code two names: 
Dynamics NAV 2018 R2 and Dynamics 365 "Tenerife" will have the same codebase even though the names are totally different to each other which might change in near future. for more information follow this link



What's New in NAV 2018 - 

1. Ceridian payroll - Import payroll transaction files from Ceridian HR/Payroll in US and Ceridian Powerpay in CA by installing the Ceridian Payroll extension.

2. Quickbooks File Import
Import payroll transaction files in the Quickbooks IIF format by installing the Quickbooks Payroll File Import extension.

3. Integration API
Adding a REST API based on web services with easy-to-use authentication.The entities in the API can be used on their own or in combination with extensions when there is a need to add user interface elements or business logic Dynamics NAV.

The first iteration of the API publishes common record types, including company information, customer, vendor, employee, item (product), sales order, sales invoice, account, and journal.

4. Synchronize Vendors with Lexmark ICS
You can now take advantage of vendor synchronization when using Lexmark ICS. This will improve the vendor recognition rate in the Lexmark ICS and allow manual selection of vendors when performing visual training of new invoice layouts.

5. Personalize your workspace
With our upcoming personalization tool built directly into Dynamics NAV, all it takes is a few clicks to display the right data for your role and your business or optimize for data entry in the browser.

6. Preview and Print Reports
Invoices, tax reports, checks and balance sheets - our upcoming Report Preview feature will display all kinds of reports directly in Dynamics NAV without having to download as a file.
You will also be able to print directly from the browser.

7. Analyzing Financial Statements in Microsoft Excel
In the Business Manager and Accountant Role Centers, you can choose which financial statements to view in Excel from a drop-down menu in the Reports section of the ribbon. When you choose a statement, it will be opened in Excel or Excel Online. An add-in connects the data to Financials.

8. 3 Checks per Page
A new format has been created for check printing.  You now have the ability to print 3 checks per page to save paper and make check printing faster.


9. Full CRM Synchronization can be run in background

10. Submission of EC Sales List with more than 9999 lines

Sources - Oksana Kuzmina Blog.

What Developer need to focus -

  • Start using/learning visual studio code.
  • Start selling and usage of web client instead of windows client.  
  • Start using events & subscription & Events. 
Future is the cloud, VS Code, customization with events & web client. Here is in the video below from microsoft.
Source Saurav Dhyani blog

Wednesday 22 November 2017

Dynamics NAV Document Posting in CSIDE/CAL

Hello there, as you work around in Dynamics NAV, there might be a time where you need to create and post for example a sales order in code. If you are new to Dynamics NAV, this might appear a daunting task. In the next few minutes, i will take you through the process. First a briefing.
Posting is the process where the system captures the information in the document and uses it to update the Sub Ledgers and General Ledger.
For example, if the sales order contains an item on the line. The system will update the item ledger entries, Vendor ledger entries, VAT account and Receivables Account. You can see the details when you navigate a customer ledger entry after posting.

All the posting in the system is achieved from Journals and that's the work of a document posting routine, to create journal entries which are posted to the various ledgers
So to post your sales order, simply create the document and call the posting routine. Posting routine reside in code units. Here is how it's done.

Note
I will assume you have already created a table to handle document data which you will then process into invoices using the posting routine.
I will also assume you have a page linked to the table above where users enter data and run the posting routine.

Your document posting routine should look like this

// SalesHeader is a record variable of table 36

//SalesLine is a record variable of table 37
//SalesPost is a codeunit variable of codeunit 80
//Invoices is a table where the document data is stored

SalesHeader.INIT; // Initializes the document & a document No. is given
        CLEAR(SalesHeader);

//Creating the invoice Document
        SalesHeader."Document Type" := SalesHeader."Document Type"::Invoice;
        SalesHeader.VALIDATE("Document Date",WORKDATE);
        SalesHeader.VALIDATE(SalesHeader."Posting Date",WORKDATE);
        SalesHeader.VALIDATE(SalesHeader."Sell-to Customer No.",Invoices."Student ID");

// This hides the dialog that prompts users to post
        SalesHeader.SetHideValidationDialog(TRUE);
        SalesHeader.VALIDATE(SalesHeader."Bill-to Customer No.",Invoices."Bill to No.");
        SalesHeader.VALIDATE(SalesHeader."VAT Bus. Posting Group",'DEFAULT');
        SalesHeader."Posting No. Series" := '';
        SalesHeader."Posting No." := 'TEST0001';// No for Sales header
             
        SalesHeader.INSERT(TRUE);// Inserts the record into Table 36
        // Creating the Sales Lines
        LineNo += 100000;
        SalesLine.INIT;
        CLEAR(SalesLine);
        SalesLine."Document Type"         := SalesLine."Document Type"::Invoice;
        SalesLine."Document No."          := SalesHeader."No.";
        PatientInvoiceNo                  := SalesHeader."No.";
        SalesLine."Line No."              := LineNo;
        SalesLine.VALIDATE("Sell-to Customer No.",SalesHeader."Sell-to Customer No.");
        SalesLine.VALIDATE(Type,Invoice.Type::"G/L Account");
        
        SalesLine.VALIDATE(Quantity,1);
        SalesLine.VALIDATE("Unit Price",Invoices.Price);// 
        SalesLine.VALIDATE(SalesLine."VAT Bus. Posting Group",'DEFAULT');
        SalesLine.VALIDATE(SalesLine."VAT Prod. Posting Group",'DEFAULT');
        SalesLine.INSERT(TRUE);

//Clears the posting codeUnit (80) of any data
        CLEAR(SalesPost);

// Runs the Document posting codeUnit 80 which posts the invoice document
        SalesPost.RUN(SalesHeader);// This call to the posting routine actually executes the posting


Good Luck

Wednesday 15 November 2017

Dynamics NAV AUTOSPLITKEY (Automatically inserting a primary key value each time a new record is created)



Hello there. You could be new to CSIDE Dynamics NAV Development & in need of a way to automatically generate primary key value each time a new record is inserted in the table.
Such a method has been used in areas like Sales Lines, Gen. Journal Line TABLES and others.
Considering the Sales Lines Example, the line No. is automatically inserted each time a new record is created.
Here is how to do it.

  • Create a table and make sure the field whose values are to be automatically inserted is of type INTEGER and part of the primary key.
  • Create a page where users enter the records. Set the AUTOSPLITKEY property of that page to yes
  • Try running the page
  • Insert some values
In my example;
I created a STUDENT table where STUDENT ID is automatically created each time a user creates a new student.
I also created a STUDENT page and set the AUTOSPLITKEY property of the page to yes


That was all i had to do.


Notice how that field is populated each time a new record is inserted.
click here for more information

Was this blog helpful ?
Please leave a comment

Friday 10 November 2017

Dynamics NAV - How to run a Report based on a set of records in CAL Code


Hello, during one of my projects, i realised the need to run a certain report based on a set of records.
In other wards, before i execute the report, i need to filter out the data. The result set in the filter is what i display in the report. All using code.
You might also need to do the same thing. It's simple just follow this.
Filter the table records that you want displayed on the report
CAL gives you a number of functions that allow you filter records in a table. Some of these include
SETRANGE, SETFILTER among others.
Use your preferred method to filter the records you want

Execute the report using the function call
REPORT.RUNMODAL(Number [, ReqWindow] [, SystemPrinter] [, Record])
The function takes on 4 values.
The first value is the OBJECT ID (Report Object ID) which is an integer
The second value is a boolean specifying whether to display the report request page
The third value  is a boolean specifying whether to use the system default printer - 
specified in printer settings of your PC
The fourth value is record (The table you filtered on)
Here is an example

Customer.RESET;// (Customer is a record of table 18)
Customer.SETRANGE("No.",10000);
IF Customer.FINDFIRST THEN
REPORT.RUNMODAL(50053, TRUE,TRUE,Customer);

Alternatively
CLEAR(Report50053);
Customer.SETRANGE("No.",Rec."No.");
Report50053.SETTABLEVIEW(Shipment);
Report50053.RUN;
The above code will execute report 50053 based on customer whose No. is 10000
A request page will be displayed as well
For more information on this topic click here

I would like to hear your thoughts
Please leave a comment and follow for more.
Good luck





Wednesday 18 October 2017

Determining total amount for invoices applied to a payment in CAL code


Hello in one of my projects, i realized i needed to compute the totals for invoices that have been applied to a payment made by a customer.
I figured out i could do this by using flowfields.
Here is a summary

  • From the detailed Cust. Ledg. Entry table (379)
  • Identify the customer using there customer No.
  • The Document Type must be Payment
  • Entry Type must be Application
  • Identify the Document No for that specific payment

Sum credit Amount(LCY) field in this table using the criteria above.

Note

For me i wanted the totals field added to another table in my case Patient Payment Table.
Here is the formula i used to sum up my flowfield
Sum("Detailed Cust. Ledg. Entry"."Credit Amount (LCY)" WHERE (Customer No.=FIELD(Patient ID),Document Type=CONST(Payment),Document No.=FIELD(Receipt No.),Entry Type=CONST(Application),Initial Document Type=CONST(Invoice)))


GOOD LUCK!!

Monday 28 August 2017

Dynamics NAV tax reporting





Value-Added Tax (VAT) is a tax on consumption that is paid by the end consumer. VAT is calculated on sales and purchases and reported to the tax authorities periodically.
In Dynamics NAV, VAT is calculated on sales and purchases invoices and credit memos. When the documents are posted, new VAT entries are created that will be used later on to report VAT to the authorities.
  • ·         All that is needed is to setup Dynamics NAV correctly
  • ·         Capture sales and purchases
  • ·         Run the VAT report
  • Dynamics updates the VAT record in real time every time a new entry is posted.  
I




Dynamics NAV Updating/ Checking WorkDate in code



Hello, there are times when you wish to perform an operation based on the work date set in NAV. For example, a colleague one time was modifying a POS system. He wanted to set the work date to the next day whenever it clocked 17 hrs in the evening. It was a requirement from a client. Definitely there were many proposals like
IF TIME > 17T THEN
  WORKDATE := TODAY +1 ;
// This only works if  the Days date is appropriately set for client PC
// It will modify the work date to today's date plus 1 day which sets it to tomorrow

In such a scenario, the risk is that you will only have correct results when the Operating System time on the client is correctly setup.
Details of the work date function are available on MSD Community. Click here





Thursday 10 August 2017

Dynamics NAV checking applied customer ledger entries in code




Hello, i was sorting out a problem at one of our clients, it became evident that i needed to check out for applied entries for a customer ledger entry. First let me put the problem in perspective then i show you how i walked around it.
A customization had been done to help users post refunds on payments made. The system creates a refund journal entry and applies it to the payment and then posts the entry. The problem is that a refund can be posted multiple times which results in jumbled customer balances. We need to stop this by making sure that a full refund is posted strictly once against a particular payment.
Here is how i go about it.


  • First pick out a specific payment using its document number and customer Number in customer ledger entry table (21)
  • Capture the entry Number of the entry above. The entry Number in customer ledger entry table is a foreign key in detailed customer ledger entry table (379). The field is renamed as "Customer Entry No"
  • Search for a record of type "Refund", Entry type "Application" whose Customer Ledger Entry Number corresponds to the one captured above.
  • If such a record exists, then its conclusive to say a refund is already posted


Here is a sample code

CustLdgEntry.RESET; // CustLdgEntry is record variable of table 21
CustLdgEntry.SETRANGE(CustLdgEntry."Document Type",CustLdgEntry."Document Type"::Payment);
CustLdgEntry.SETRANGE(CustLdgEntry.Open,FALSE);
CustLdgEntry.SETRANGE(CustLdgEntry."Sell-to Customer No.",CustomerNo);
CustLdgEntry.SETRANGE(CustLdgEntry."Document No.",PaymentDocumentNo);
IF CustLdgEntry.FINDFIRST THEN BEGIN
  DetailedLdgEntry.RESET;//DetailedLdgEntry is a record variable of table 379
  DetailedLdgEntry.SETRANGE(DetailedLdgEntry."Cust. Ledger Entry No.",CustLdgEntry."Entry No.");
  DetailedLdgEntry.SETRANGE(DetailedLdgEntry."Entry Type",DetailedLdgEntry."Entry Type"::Application);
  DetailedLdgEntry.SETRANGE(DetailedLdgEntry."Document Type",DetailedLdgEntry."Document Type"::Refund);
  IF DetailedLdgEntry.FINDFIRST THEN
    ERROR(TXT0004);// TXT0004 text variable informing user that a refund has already been posted against the payment

END;

Wednesday 19 July 2017

Dynamics NAV 2016 Applying and posting entries in code



Hello, i was doing some customization then i realized i had to post an application of a payment against an invoice in code. I felt the urge to share with someone there that may be facing a hurdle doing so. Just follow these easy steps.

  • Search and found the invoice record in the customer Ledger Entry table
  • Once you have find the invoice entry from the customer ledger entry table, Search for the payment entry as well from the customer ledger entry table
  • Edit and update the Invoice ledger Entry you found above
  • Set Applies to ID
  • Post Application
Here is a  sample code to achieve that;


  CustomerLdgEntryInv.RESET;//CustomerLdgEntryInv is a record variable of table 21
  CustomerLdgEntryInv.SETRANGE(CustomerLdgEntryInv."Document Type",      CustomerLdgEntryInv."Document Type"::Invoice);//Find only Invoices
 CustomerLdgEntryInv.SETRANGE(CustomerLdgEntryInv.Open, TRUE);// Find only Open entries    to apply
  IF CustomerLdgEntryInv.FINDFIRST THEN BEGIN
    // Search for Payment entries in customer ledger entries
      CustomerLdgEntry.RESET;//CustomerLdgEntryInv is a record variable of table 21
      CustomerLdgEntry.SETRANGE(CustomerLdgEntry."Document Type",    CustomerLdgEntry."Document Type"::Payment);// Find the payment
      CustomerLdgEntry.SETRANGE(CustomerLdgEntry.Open, TRUE);// Find the payment Ledger Entry
      IF CustomerLdgEntry.FINDFIRST THEN REPEAT//Repeat for all the payment entries
          //set applies to ID
          CustomerLdgEntry.CALCFIELDS(Amount);
      //Update all the invoice entries
          CustomerLdgEntryInv.CALCFIELDS(Amount);
          CustomerLdgEntryInv."Applying Entry" := TRUE;
          CustomerLdgEntryInv."Applies-to ID" := USERID;
          CustomerLdgEntryInv.CALCFIELDS("Remaining Amount");
          CustomerLdgEntryInv.VALIDATE("Amount to Apply", CustomerLdgEntryInv."Remaining Amount");
          CODEUNIT.RUN(CODEUNIT::"Cust. Entry-Edit", CustomerLdgEntryInv);
          COMMIT;// Commit the change
          SetAppliesToID.SetApplId(CustomerLdgEntry,CustomerLdgEntryInv,USERID);// SatAppliesToID is a codeUnit variable of Code Unit 101
          // Post the application
          PostAppn.Apply(CustomerLdgEntryInv,SalesInvoiceHeader."No.",SalesInvoiceHeader."Posting Date"); // PostAppn is a codeUnit variable of CodeUnit 226
      UNTIL CustomerLdgEntry.NEXT = 0;
  END;

I would like to hear your opinion of this blog and article. Please leave a comment
Best regards
      Author

Thursday 13 July 2017

Dynamics NAV Copy Document using Code




Hello, I was working on a project and i needed to copy a posted sales Invoice into a credit memo and post.
You may be trying to do the same. Let me save you the hurstle. Here's what you need to do.
You need to create a sales credit memo using the INIT function.Remember the INIT function ignores
the primary key. So VALIDATE the primary key for your credit memo
VALIDATE Sell-to Customer No. for your Credit memo
Here is a sample
SalesCreditMemo.INIT;// Initialises the Credit memo(SalesCreditMemo is a Record of table 36)
SalesCreditMemo.VALIDATE(SalesCreditMemo."No.",CrdMemoNo);//CrdMemoNo is a variable holding the Document No for the Sales Credit Memo
SalesCreditMemo.VALIDATE(SalesCreditMemo."Document Type",SalesCreditMemo."Document Type"::"Credit Memo");
SalesCreditMemo.VALIDATE(SalesCreditMemo."Sell-to Customer No.",[Put here your Customer No]);
SalesCreditMemo.INSERT;
Copy the lines from the posted sales Invoice
Here is a sample
//copy the Sales Invoice to the credit memo you have just made.
CopySalesDoc.SetSalesHeader(SalesCreditMemo);//CopySalesDoc is a Variable of Report 292
//CopyDocMgt is a variable of CodeUnite 6620
CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE,SalesSetup."Exact Cost Reversing Mandatory",FALSE);// SalesSetup is a Variable of Record 311
CopyDocMgt.CopySalesDoc(DocumentType::"Posted Invoice", [Put here Posted Sales Invoice Document No.],SalesCreditMemo);
//Post the credit memo
CLEAR(SalesPost);// SalesPost is a variable of CodeUnit 80
SalesPost.RUN(SalesCreditMemo);// This will post your Sales credit memo


************************************************************************************************
I would like to hear your feedback about this article. Please leave a comment.
Thank you
          Author

Monday 3 July 2017

Dynamics NAV Account Schedules


Hello, you may need a special report from your chart of accounts data but can't get one from the generic reports provided along with Dynamics NAV. The best alternative is not coding your own report but instead creating an account schedule. Account schedules in Dynamics NAV give you the power to define your own reports from Chart of Accounts data without writing any code. In fact you will not need technical knowledge to create one.
Click this for a step by step procedure . Click here for a you tube video about the same

Thursday 29 June 2017

Cash Flow forecast in Dynamics NAV

Microsoft Dynamics NAV gives you the advantage to know your institution's financial solvency even at some future time. Such intelligence will give you the power to make informed decisions to keep your business moving on the right track. To learn more on cash flow features of Dynamics NAV please click here

Wednesday 28 June 2017

Displaying report columns only when a user chooses to view them


Hello, are you trying to create a report where a user can choose to view certain columns but things ain't working as you expect? Don't worry you are safe. Here is what you need to do.

  • First create a global variable of type boolean to control when the column will appear on the report
  • Add the variable to the report request page. This enables the user to check and uncheck thus choosing whether to display column or not.
  • Add the variable to the report dataset so it is accessible in report layout in Visual Studio or Report Builder.
  • Select a column whose visibility you want to change based on user selection. Right click the column and select "Column Visibility". 
  • Change visibility based on an expression. for example =iif((Fields!ShowBilltoNo.Value=True),False,True). That expression will only display "Bill to No" column on the report when the user ticks the "showBilltoNo" field on the report request page. It's that simple, now do it and punch the air when stuff works. Good day


Tuesday 30 May 2017

Dynamics NAV 2009 Classic client error "The extended stored procedure xp_ndo_enumusersids in the library file xp_ndo.dll, is not available on the server"



Do you get this error every time you try logging in via windows authentication on Dynamics NAV classic client? The reason is xp_ndo.dll is required for a successful login.
However you should not be affected by the error using database authentication.
If you need to use windows authentication, you will have to add the above library. click here for a walk through on how to add the library


Was this blog useful ? Please leave a comment

Dynamics NAV classic client Login error "The trace flag 4616 is not set on the server (local)"



Hello, you might facing the above error trying to login to Dynamics NAV classic client 2009.
That error pops up when logging in.
To stop the error you are required to set the trace flag in sql.
If you don't know how to set the trace flag click here for a walk through
Good day.

Was this blog useful? please leave a comment

Error Attaching SQL Dynamics NAV database


Hello, you might be frustrated by the above error. Relax you are safe now.
That error is often times caused by insufficient permissions to read the database files.
All you have to do is make sure you provide appropriate permissions to the mdf and ldf files.
If you don't know how to go about it, click here and here for details.
Hope this was helpful ?

Wednesday 26 April 2017

Table Locking in Dynamics NAV


Hello, there could be a time where u may have to perform customization across a number of tables.
There could be processes that may require to access certain records following a specific order.
Its important for you to do your design well to avoid any possibility of a deadLock.
Often times you will need to LOCK certain tables to ensure smooth execution.  visit here for more details

Tuesday 25 April 2017

Direct Posting in Dynamics NAV




Hello there, you could save yourself from the trouble and headache from imbalances between sub-ledgers and the General Ledger. A number of times this issue stems from enabling DIRECT POSTING on G/L accounts.
To avoid this trouble, disable DIRECT POSTING and make sure you make the field un-editable to system users.

Enjoy working with NAV

Monday 24 April 2017

Very Important for new NAV implementation


Hello today i was meeting a team of experts from Dynamics Africa. The just hinted on a problem that could make u save a great deal of time if you setup your system correctly. We may take work date settings for granted but NAV uses this date as a default whenever posting transactions. Make sure your workdate is setup correctly Also make sure all your Client users have correct REGIONAL DATE/TIME settings according to your time zone. NUMBER formats setup on your Client machines need to be consistent to avoid problems.
A couple of tricks and shortcuts are up for grabs.
#Enjoy NAV

Sunday 23 April 2017

DYNAMICS NAV TRAINING IN NAIROBI-KENYA



Hello am glad and happy to our business partners Dynamics Africa for the training they have organized. This is going to help us serve our customers much better. To our customers and feature contacts, be sure to have the best!
Find out more from here

Wednesday 12 April 2017

DIMENSIONS IN DYNAMICS NAV



Hello viewers. I would like to highlight something very important that you may ignore from the start then only find problems later. Dimensions in NAV are very crucial as they help mark out the data we post. Marking of entries help us while reporting. Imagine your company serves customers from Central, Eastern, Northern and western Regions of the country. You create a dimension named Region. Then you provide regions as the possible dimension values. Apply the Region as a mandatory dimension for the receivable account. Meaning that for all the entries users make to the receivables account won't pass until user provides the appropriate region. That helps you to see the sales per region else you will have a lump some figure. Make sure you pay serious attention to dimensions during fresh installations of dynamics NAV to get value out of your solution.
watch this for more

comment if this article was useful