Monday, October 30, 2017

Dynamics GP - VAT setup for Trinidad


  • Setup 4 tax schedules, and corresponding Tax Schedule ID's. Assign each one to itself.
    • VATS
    • VATP
    • NOVATS
    • NOVATP
  • Company Setup
    • Tick Use Shipping Method when selecting default tax schedule
    • Set Sales Tax Schedule to VATS
    • Set Purchase tax schedule to VATP
  • Shipping Methods
    • "PICKUP" - Will use tax schedule from SITE
    • "DELIVERY" - Will use tax schedule from Ship-To Address ID

If you do not tick "Use Shipping Method"
  • Tax is calculated based on Shipping Address and Item, regardless of shipping method

Tuesday, October 24, 2017

Dynamics NAV - How to get dev keys


Dynamics NAV - Upgrade Checklist from LSNAV 2009R2 to LSNAV 2017

Stuff you need:

  • Install media for NAV2009R2 is here 
  • Install Media for NAV 2013 R2 is in the install media here (You still need to install this,  you can jump from 2013 to 2017 using the 2015 toolkit objects)
  • NAV 2015 install media here (this is not necessary, all you need are the objects in the CU1 download, this is just here for reference)
  • Upgrade toolkit for NAV 2015 CU1 is a separate download here (specifically for 2009R2 to 2015 jump)
  • Upgrade toolkit for NAV 2017 is in the install media here
  • User License Key for NAV 2017 or higher
  • Partner License key for NAV 2017 or higher
  • If Using LS Retail
    • Backup for LSNAV2009
    • Partner keys for LSNAV2009 (this key has some objects not available in the 2017 keys)
    • Backup for LSNAV2013
    • Backup for LSNAV2015
    • Backup for LSNAV2017
    • Partner keys for LSNAV2017
    • LS Upgrade Tools 6.1,6.2,6.3,6.4,7.00.03,7.1to8

Stuff to Read:

  • https://blogs.msdn.microsoft.com/nav/2015/02/23/upgrading-from-microsoft-dynamics-nav-2009-r2-or-microsoft-dynamics-nav-2009-sp1-to-microsoft-dynamics-nav-2015/
  • https://msdn.microsoft.com/es-es/library/dn271668(v=nav.71).aspx
Hardware Requirements:
  • NAV2009 to NAV2013 on SQL2008 - use guide in NAV2013 UpgradeToolkit
  • NAV2013 to NAV2017 on SQL2016 - use links above
  • POS UPGRADE
    • In the 2009 Dev Environment, Backup the POS database as an FBK
    • In 2009  Dev, create a new SQL company database
    • Launch 2009 Dev, Login to blank database, Tools>Restore fbk
      • ~ 1 hour
    • Set a new password Tools>Security>Password
    • Set a new password Tools>Security>Logins>Create SA>Give Role SUPER
    • Tools>Security>Synchronize all logins
    • Backup your SQL database
  • CODE UPGRADE
    • If using LS Retail
      • Install 2017 LS Toolboxes
      • Install 2017 Data Director
        • Tick top 2, and bottom 2 options
    • Create Folder structure E:\Upgrade
      • \Final
      • \Modified
      • \Original
      • \Result
      • \Target
    • Install NAV2009R2 Demo
      • Create a new blank company (to ignore the demo data)
      • Import LS2009 if using LS Retail into the blank company
    • Launch Dev Client>Connect to Demo>Export all Objects from new company to a single text file called "OldBaseVersion.txt" in Original folder
      • If using LS Filter out OM and POS Weighing is required
      • <11000010|99000749..99001849|>99001850
    • Launch Dev Client>Connect to your company>Export all Objects to a single text file called "OldCustomVersion.txt" in Modified folder
    • Install NAV2017 Demo
      • Create a new blank company (to ignore the demo data)
      • Import LS2017 if using LS Retail
    • Launch Dev Client>Connect to Demo>Export all Objects to a single text file called "NewBaseVersion.txt" in Target Folder
    • Merge Code
      • Launch NAV2017 Development Shell
      • Change to E:\Upgrade, run script to output to Result folder
        • cd E:\Upgrade
        • Merge-NAVApplicationObject -OriginalPath .\ORIGINAL -TargetPath .\TARGET -ModifiedPath .\MODIFIED -ResultPath .\RESULT 
      • Run the Join to combine all text files into one file per object type to import in Final folder
Join-NAVApplicationObjectFile -Source E:\Upgrade\RESULT\COD*.txt -Destination E:\Upgrade\FINAL\all-cod.txt
Join-NAVApplicationObjectFile -Source E:\Upgrade\RESULT\MEN*.txt -Destination E:\Upgrade\FINAL\all-men.txt
Join-NAVApplicationObjectFile -Source E:\Upgrade\RESULT\PAG*.txt -Destination E:\Upgrade\FINAL\all-pag.txt
Join-NAVApplicationObjectFile -Source E:\Upgrade\RESULT\QUE*.txt -Destination E:\Upgrade\FINAL\all-que.txt
Join-NAVApplicationObjectFile -Source E:\Upgrade\RESULT\REP*.txt -Destination E:\Upgrade\FINAL\all-rep.txt
Join-NAVApplicationObjectFile -Source E:\Upgrade\RESULT\TAB*.txt -Destination E:\Upgrade\FINAL\all-tab.txt
Join-NAVApplicationObjectFile -Source E:\Upgrade\RESULT\XML*.txt -Destination E:\Upgrade\FINAL\all-xml.txt
      • Find and replace all references to Forms (check Tables file)
        • Find "LookupFormID=Form"
        • Replace with "LookupPageID=Page"
        • Find "DrillDownFormID=Form"
        • Replace with "DrillDownPageID=Page"
        • Find ": Form "
        • Replace with ": Page"
    • Compile final code in Demo company
      • Import and all-codeunits.txt to NAV2017 demo company
    • Test and Resolve Conflicts
      • https://msdn.microsoft.com/en-us/dynamics-nav/how-to--compare-and-update-application-object-source-files
      • For each file in your E:\Upgrade\Result\ConflictModified folder 
        • Review the object to confirm if the merge was done correctly
        • Code comparisons are included in the cal code with {>>>>>>>} characters
        • Large blocks of code than could not be merged will be commented out, take special notice of these
          • Ctrl+Shift+O to uncomment
        • Make any adjustments as necessary
        • Save without compiling
      • Fix each object and export it to track your changes
      • Add any documentation and comments if required
      • Compile all objects, some will not compile
      • Keep compiling until only real errors remain, deal with them
        • Some globals do not come across, add them
        • Some functions are deprecated, remove them
        • Force Compile
      • Export all finalized objects as all-objects-final.txt
  • DATA UPGRADE
    • Attempting to do the data upgrade from LSNAV2009 to LSNAV2017 is extremely difficult due to the need to pass through 2013 and 2015, and properly upgrade the code and drop and reload data through each version
    • We did not have success with this method
  • Upgrade Method 2 - Data Migration
    • The upgrade process requires you to drop data out of some fields and set them to '' or 0
      • This means at some point, you will have to reimport the data anyway
      • You may as well just export all data, then import to the final version, with whatever changes need to be made
    • Codemerge LSNAV2009 and LSNAV2017 to get final code
    • Create Blank LSNAV2017 company 
      • Restore NAV DB, import localizations
      • Attach to server instance
      • Compile final code
      • Create new company, delete Cronus when not needed
    • Setup DD sync jobs to pull all data from LSNAV2009 database
      • Use Field lists and filters to manage table differences
      • Use Linked tables to connect all related data
    • Redo all customizations in LSNAV2017 where necessary
    • Redo all configurations in LSNAV2017 where necessary

Monday, October 23, 2017

Dynamics NAV LS Retail - LS OMNI - How to change the company LS Omni is pointing to


  • Re-Run the C:\NAV\LS Omni\LSOmni2.3.2\LSOmniServer\LSOmni.server.setup.2.3.2
    • This will create the required objects in the new db
  • If the objects are already created, you can just adjust the appsettings.xml file and change the path info
    • Navigate to C:\LS Retail\LSOmni\LSOmniService\appsettings.xml (.config) and open in notepad (keep an original copy)
    • Change the value string to your new company string
      •   <add key="BOConnection.Nav.Url" value="http://nav2017devsrv:7047/DynamicsNAV100/WS/CRONUS%20LS%20100100%20W1%20Demo/Codeunit/RetailWebServices"/>

    • Change the NAVCompanyName string to your new company name string
      •   <add key="SqlConnectionString.Nav" value="Data Source=NAV2017DEVSRV\NAVDEMO;Initial Catalog=w1-ls-nav-10-01-00-release;User ID=LSOmniUser;Password=LSOmniUser;NAVCompanyName=CRONUS LS 100100 W1 Demo;Persist Security Info=True;MultipleActiveResultSets=True;Connection Timeout=10;"/>  

  • Restart the machine, or all services (SQL, IIS, Windows, NAV)
  • Confirm web services available for LS Cronus company here
    • http://nav2017devsrv:7047/DynamicsNAV100/WS/CRONUS%20LS%20100100%20W1%20Demo/Codeunit/RetailWebServices

  • Confirm *.svc handlers exist in iis - Handlers

  • Confirm Ping
    • http://nav2017devsrv/LSOmniService/json.svc/ping


  • Synchronize data from the new company into LS OMNI
    • http://help.lsnav.lsretail.com/Content/LS%20Omni/Step%20By%20Step%20Setup/Step3%20Configuration%20in%20NAV/Data%20Replication.htm
    • Create all of the sync jobs by running page "WI Default Data"
      • Create jobs and subjobs for mobile loyalty
    • Start data Director Service
    • Create NAV and SQL user account used for distribution communications
    • Configure Distribution Locations
      • HO - Main db
      • M_MOB - OMNI db
    • Run M_2mobile job
    • Configure NAS to schedule M_MOB_Actions job

Saturday, October 21, 2017

LS Nav - Enable Web services for retail functions - AR Credit Check


  • POS Functionality Profile
    • Tick which services to enable web services for, select the location to query
  • Go to Web Requests
    • Add "Customervalidation" to the web request

Dynamics GP - LS NAV - AR Credit Limits on POS don't work

Synchronize the Transaction Status Table to all POS machines
T99001493
T99001494

OR

Enable Web requests for customer validation to allow the pos to check the head office for credit validation

  • Go to Functionality Profile>Web Requests
    • Add "Customervalidation" to the web request

Tuesday, October 17, 2017

Dynamics NAV - "Unit of Measure does not exist" error when calculating warehouse movements for inventory journals

This is happening because a transaction exists in the whse journals with no uofm


update  [CRONUS].[dbo].[CRONUS$Warehouse Entry] set [Unit of Measure Code] = 'EA' where [Unit of Measure Code] = ''


update [CRONUS].[dbo].[CRONUS$Warehouse Journal Line] set [Unit of Measure Code] = 'EA' where [Unit of Measure Code] = ''

Tuesday, October 10, 2017

Dynamics GP - Field Service - How to find out Which User Created/Modified an Equipment ID?

Activity Tracking does not track any of the Field Service Tables.
The only thing it will track is opening and closing of the windows.

This table has a log of equipment number creation / modification.
It will only track changes to the reference number, and no other fields.
It does not track the value of the reference numbers, only whether or not it was changed.

select * from svc00310

or

SELECT        EQUIPID, LNITMSEQ, DATE1, TIME1, USERID, From_Customer_Number, To_Customer_Number, From_Serial_Number, To_Serial_Number, From_Item_Number, To_Item_Number, DSCRIPTN, DEX_ROW_ID
FROM            SVC00310

Sunday, October 8, 2017

Samsung un40f5500af - Turns off by itself.

Left the TV off for a few hours
Changed the batteries in the remote
It came back on all by itself
Not sure if it was trying to update itself, it says it has firmware 2207.
I'm not sure what the latest version is supposed to be, but it also says the last time it checked for updated was 2015

Friday, October 6, 2017

Dynamics GP - Purchase Receipt does not post correctly, causes PO to think it's received, but there is no stock

Situation: PO has been created, PO receipt is done and posted, but posting fails. The PO line says it's completely received, the receipt transaction is corrupted, and there is no inventory available from the receipt.

Solution:In this case, the PO receipt actually did not post, and we just have to recover the corrupt transaction and delete it.

--Get the Receipt number for the PO
select * from pop10310 where ponumber = 'PO000000000022484'

--Get the Receipt Header
select * from pop10300 where poprctnm = 'GSR00000000068562'

--Update the VENDORID and POPTYPE = 1 if they are blank to allow you to access the transaction in the receiving work screen
--Get the vendor id
select vendorid from pop10100 where ponumber = 'PO000000000022484'

update pop10300 set VENDORID  = 'APAS01', POPTYPE = 1 where POPRCTNM =  'GSR00000000068562'

After running the scripts, pull up the transaction in the purchase receipt screen and delete it.
This should free up the PO and allow you to receive the lines properly.

Thursday, October 5, 2017

Check Network Traffic and Connectivity issues - Microsoft Nework Monitor, Microsoft Message Analyzer

https://www.microsoft.com/en-us/download/details.aspx?id=4865


Use Filters
https://blogs.technet.microsoft.com/rmilne/2016/08/11/network-monitor-filter-examples/

Property.Source >= "MYPC" and Property.Source <= "MYPD"



A Newer version of this program with better message reporting is available here
https://www.microsoft.com/en-us/download/details.aspx?id=44226



Or you can also use Wireshark
https://www.wireshark.org/download.html

Dynamics GP - You cannot receive this purchase order line item because it hasn't been encumbered by encumbrance management. Please encumber the purchase in the purchase order entry window.

There is nowhere on the purchase order entry window to physically encumber this.

  • Encumbrance occurs when any one of the following occurs
    • Workflow approves PO line
    • PO approval Approves PO line
    • Mass Encumbrance processes PO line
Problem: The ENC10110.ENCBSTAT is set to 4, and is waiting for Approval or workflow, but neither of these are enabled, so the line can never be encumbered.


Solution:Set the ENC10110.ENCBSTAT to 2 to enable it in the Mass purchasing>transaction>Mass Encumbrance screen to complete the approval before it can be received.

 --Use this to get the dex_row_id's for the lines that cannot be received

select * from enc10110 where ponumber = ' PO00293'

--Use this to update the lines to enable them in the Mass Encumbrance window for processing
--Change the dex_row id's to match the lines that cannot be received
update ENC10110 set ENCBSTAT = 2 where DEX_ROW_ID in (298800,298811)

Dynamics GP - Instructor Training Manuals

https://mbs.microsoft.com/partnersource/northamerica/readiness-training/instructor-training-materials/

Monday, October 2, 2017

Dynamics GP - Encumbrance Tables

https://dyndeveloper.com/DynTable.aspx?ModuleID=ENC

  • ENC10110 - Encumbrance - PO Lines
    • ENCBSTAT
      • 1-Pre-Encumbered - After approved or mass encumbered
      • 2-Invalid - Default setting. Displays trx in Mass encumbrance for encumbrance.
      • 3-Blanket Control - Used for blanket control lines
      • 4-Pre-Budget - Default setting before approval if approvals in use
  • ENC10500 - Encumbrance Received Trx

Dynamics NAV - LS Retail - How to setup Object Transfer


  • Ensure your object is compiled
  • Search for Object Transfer
    • Create a new object transfer for your objects
    • Confirm it
  • Search for Jobs
    • Create a Job 
    • with type "Object Replication"
    • using codeunit 99001475
    • set your location destinations
    • Under object replication fasttab, add your object job
    • set a schedule, or click run
  • If you have multiple versions of NAV installed, you may get the error:
    • [22924070] The database on the server cannot be opened by this version of the Microsoft Dynamics NAV Development Environment. The database has already been converted by a newer version.
    • You must upgrade the Microsoft Dynamics NAV Development Environment to the latest version to open the database.