“How -to” restrict multiple logins for same user in NAV


Force logins limitations for some users can boost\improve system (few active Sessions..) as standard users can login in NAV multiple times, ex of real Scenario: CEO can have multiple logins, operational people NO !!

 NAV 2013 and Later

From NAV 2013 Microsoft created a table named: Active Sessions – Table ID 2000000110 This table contains information about all the active sessions, showing Connected Client Type\PC and Users)

Take a look to my previous post about “ALL ABOUT” Kill (In)active Sessions when “no more licenses”, with the VB.NET app in this post, you can show Client Type\PC and Connected User from this app to decide “who is the user” than try to use more than one NAV session.

Source https://robertostefanettinavblog.wordpress.com/2017/01/15/all-about-kill-inactive-sessions-when-no-more-licenses/


Starting from User Setup Table

You can add a boolean field “Multilogin” to User Setup Table (table 91)” ; with this boolean field you can check if user can login more times in NAV instead of only one time.

User Setup – Table ID 91 User Setup

ml-1

Before you need to add the new field “Multilogin” on Page “User Setup” (…or comment C/AL check code… you can’t login in anyway if you haven’t configured your user in this table)

..We can’t use System Table User.. because is used by System on Login process .. if you try to use this table you can’t start Windows Client…

ml-2

ml 3.png

To Restrict multiple logins we can use Login Codeunit

Codeunit 40 – LogInManagement

This codeunit is ht first fired on Login Time and I can add C/AL code here to trap user logins.
Steps: Open Codeunit 40, goto function CompanyOpen()

In CompanyOpen function add two new local variables: locUser and locActiveSessione

ml-4

Modify the CompanyOpen function in this way:

C/AL Code “Before” 

CompanyOpen()

IF GUIALLOWED THEN   LogInStart; C/AL Code “After”

CompanyOpen()

locUser.GET(UPPERCASE(USERID));

IF NOT locUser.Multilogin THEN

BEGIN

locActiveSession.RESET;

locActiveSession.SETRANGE(“User ID”,UPPERCASE(USERID));

locActiveSession.SETRANGE(“Client Type”, locActiveSession.”Client Type”::”Windows Client”); //For   RTC\Windows Clients

IF locActiveSession.COUNT > 1 THEN

ERROR(‘You are currently logged in NAV, you can’t have more sessions!’);

END;

IF GUIALLOWED THEN

LogInStart;

// Register all Microsoft Dynamics CRM connection strings

IF CRMConnectionSetup.GET THEN

CRMConnectionSetup.UpdateAllConnectionRegistrations;

Results

System abort login codeunit and display the Error Message “’You are currently logged in NAV, you can’t have more sessions!”; you can use\trap also others login types: ex: Web Client, Web Service, Background Sessions and so on.

ml 5.png

Another Nice Feature

You can decide also “how many sessions” each user can launch adding a “No. Sessions” field in User Table.

 ml-6

C/AL Code

CompanyOpen()

locUser.GET(UPPERCASE(USERID));

IF NOT locUser.Multilogin THEN

BEGIN

locActiveSession.RESET;

locActiveSession.SETRANGE(“User ID”,UPPERCASE(USERID));

locActiveSession.SETRANGE(“Client Type”, locActiveSession.”Client Type”::”Windows Client”); //For   RTC\Windows Clients

IF locActiveSession.COUNT > 1 THEN

ERROR(‘You are currently logged in NAV, you can’t have more sessions!’);

END

ELSE

BEGIN

locActiveSession.RESET;

locActiveSession.SETRANGE(“User ID”,UPPERCASE(USERID));

locActiveSession.SETRANGE(“Client Type”, locActiveSession.”Client Type”::”Windows Client”); //For   RTC\Windows Clients

IF locActiveSession.COUNT > locUser.”No. Sessions” THEN

ERROR(‘You are currently logged in NAV, you can’t have more than ‘ + FORMAT(locActiveSession.COUNT-1) + ‘ sessions!’);

END;

IF GUIALLOWED THEN

LogInStart;

// Register all Microsoft Dynamics CRM connection strings

IF CRMConnectionSetup.GET THEN

CRMConnectionSetup.UpdateAllConnectionRegistrations;

Results

ml-7

Bingo !

Advertisements

“How to” display picture from file in Item Picture Page


Below a short procedure to visualize a linked picture from a picture file (example file with “.GIF” extension) into the “Item Picture Page”.

The System load the image file in a BLOB field and after displays it on the picture page; at the close of the page the image is deleted from the item table in order to lighten the System; same procedure can be used in reports and can also be used in old versions of NAV… in this case NAV 2013.

imag1imgage2

image3.png

NAV C/AL Code

On Image Button of Item Card
// CHECK DATA IN RECORDLINK TABLE
RecordLink.RESET;
RecordLink.SETCURRENTKEY(Company,”Refer to”);
RecordLink.SETRANGE(Company,COMPANYNAME);
RecordLink.SETRANGE(“Refer to”,”No.”);
IF NOT RecordLink.FINDSET THEN EXIT;
FileToUpload := RecordLink.URL4;   //Custom field with link for image
IF FileToUpload = ” THEN EXIT;
//IMPORT IMAGE FROM FILE USING FILE MANAGEMENT
FileManagement.BLOBImportFromServerFile(recTempBlob,FileManagement.UploadFileSilent(FileToUpload));
ItemPicture.RESET;
ItemPicture.SETRANGE(“No.”,”No.”);
IF ItemPicture.FINDSET THEN BEGIN
ItemPicture.Picture := recTempBlob.Blob;
ItemPicture.MODIFY;
ItemPicture.RESET;
ItemPicture.SETRANGE(“No.”,”No.”);

// OPEN PAGE 346 Item Picture > Visualize Item Image
PagePicture.SETTABLEVIEW(ItemPicture);
PagePicture.RUN;
END;

//Image Cleaning
Page 346 Item Picture
OnClosePage()
itemPicture.RESET;
itemPicture.SETRANGE(“No.”,”No.”);
IF itemPicture.FINDSET THEN BEGIN
IF itemPicture.Picture.HASVALUE THEN BEGIN
itemPicture.CALCFIELDS(Picture);
CLEAR(itemPicture.Picture);
itemPicture.MODIFY;
END;
END;

How to Use MVC.Net on the Dynamics NAV Database Structure


How to Use MVC.Net on the Dynamics NAV Database Structure

MVC

nice post about ASP MVC.Net integration with NAV (post by Codeproject).

About ASP MVC.Net

ASP MVC.Net is an robust & good pattern-based way to build dynamic websites; if you don’t like to use Web Services & OData this is a valid alternative (old but actual). You can use to build Website based on NAV database structure. “How you can use the Entity Framework in an MVC.Net web application with Dynamics NAV ?”

Tutorial

This tutorial will show you how you can use the Entity Framework in an MVC.Net web application with Dynamics NAV.

Take a look to project.

Source: http://www.codeproject.com/Articles/421643/How-to-Use-MVC-Net-on-the-Dynamics-NAV-Database-St

Let NAV Speak (with a Simple and Useful Client Add-in)


nice old post by Duilio Tacconi.

“In this blog post you will find the source code (below) to “let NAV speak.” You would have a wide range of possibilities to use this simple Add-in and enlarge this project.

If you want to know more about Client Add-ins you can refer to this MSDN link:

Extending the RoleTailored Client Using Control Add-ins and Microsoft Dynamics NAV 2009 SP1

This simple Client Add-In is based on System.Speech namespace:

Microsoft.Speech.Synthesis Namespace

Source: Let NAV Speak (with a Simple and Useful Client Add-in) – Dynamics NAV Team Blog

NAV 2013 SQL Query Codeunit Tool (SQL From NAV Part II)


NAV 2013 SQL Query Codeunit tool

i found this nice demo tool by Dynamic Manufacturing Solutions on Mibuso.

Source http://mibuso.com/downloads/nav-2013-sql-query-codeunit
nice tool, based on .NET integration (AD), usefull if you don’t like Powershell.

Purpose of this tool
“Simple codeunit allows you to execute an SQL query to populate any NAV (temporary) table using one call.  Test page is included to demonstrate functionality with a simple query.”

… Nice tool (with demo page & codeunit objects) tu run SQL Statements directly from NAV using .NET integration (ADODB); you can run SQL Select statements and any sql commands (if you have rights).

Modifications

I did some modifications to load a generic table using dynamics fields.. example field1. field2, fiels3 etc. and possibility lo load a saved SQL Statement from “.SQL” Script file or from BLOB field in “SQL Commands Table” etc. ..

Example of utilization
..you can retrieve Intercompany “Contacts” running a simple “SELECT with UNION SQL statement”…
.. also you can publish this page “as a web service” to retrive\expose data from multi-sources database using only a web service connection!

SQL RUN COMMAND

SIMPLE QUERY
SELECT SUM(Quantity) AS QuantityTot, [Item No_], [Location Code], [Lot No_], [Serial No_]
FROM dbo.[CRONUS Italia S_p_A_$Item Ledger Entry]
GROUP BY [Item No_], [Location Code],[Lot No_],[Serial No_]
HAVING ([Location Code]<>” AND (SUM(Quantity)) >0)

MORE COMPLEX QUERY WITH HAVING FILTERS
SELECT SUM(Quantity) AS Field1,  [Item No_] as Field2, [Location Code] as Field3,
[Lot No_] as Field4, [Serial No_] as Fileld5 FROM dbo.[CRONUS Italia S_p_A_$Item Ledger Entry]
GROUP BY [Item No_], [Location Code],[Lot No_],[Serial No_]
HAVING ([Location Code]<>” AND (SUM(Quantity)) >0)

SQL STATEMENT TO “CREATE A NEW TABLE”
CREATE ACTIVITY 2 TABLE
CREATE TABLE [dbo].[CRONUS Italia S_p_A_$Activity_2](
[timestamp] [timestamp] NOT NULL,
[Code] nvarchar NOT NULL,
[Description] nvarchar NOT NULL,
CONSTRAINT [CRONUS Italia S_p_A_$Activity$10] PRIMARY KEY CLUSTERED
(
[Code] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

ANY SQL COMMAND EX  BACKUP…..

etc. etc.

Great tool!

Source http://mibuso.com/downloads/nav-2013-sql-query-codeunit

Some links about Powershell “cmdlets” for NAV


Some links about Powershell “cmdlets” for NAV

CMDLETS” IN NAV

The cmdlets are available in two Windows PowerShell modules: Microsoft Dynamics NAV 2016 Administration Shell and Microsoft Dynamics NAV 2016 Development Shell.

  • The Microsoft Dynamics NAV 2016 Administration Shell includes cmdlets for administering the Microsoft Dynamics NAV deployment, such as adding and configuring Microsoft Dynamics NAV server instances, databases, and users. Also included are cmdlets for administering extension packages. The Microsoft Dynamics NAV 2016 Administration Shell is installed with the Microsoft Dynamics NAV Server.
  • The Microsoft Dynamics NAV 2016 Development Shell includes cmdlets for merging and modifying application object files. Also included are cmdlets for creating extension packages. The Microsoft Dynamics NAV 2016 Development Shell is installed with the Microsoft Dynamics NAV Development Environment.

https://msdn.microsoft.com/en-us/library/hh166599(v=nav.90).aspx

“ALL” about CMDLETS LINKS

A list of bestlinks about cmdlets in NAV 2016 (MSDN)

Administration Cmdlets for Microsoft Dynamics NAV

https://msdn.microsoft.com/en-us/library/jj672916(v=nav.90).aspx

Development Cmdlets for Microsoft Dynamics NAV

https://msdn.microsoft.com/en-us/library/dn789712(v=nav.90).aspx

Microsoft Dynamics NAV Windows PowerShell Cmdlets

https://msdn.microsoft.com/en-us/library/hh166599(v=nav.90).aspx

Comparing and Merging Application Object Source Files

https://msdn.microsoft.com/en-us/library/dn789581(v=nav.90).aspx

Administration Cmdlets for Microsoft Dynamics NAV Extensions

https://msdn.microsoft.com/en-us/library/mt584148(v=nav.90).aspx

Development Cmdlets for Microsoft Dynamics NAV Extensions

https://msdn.microsoft.com/en-us/library/mt584152(v=nav.90).aspx

Changes to Microsoft Dynamics NAV Cmdlets From Previous Release

https://msdn.microsoft.com/en-us/library/dn951485(v=nav.90).aspx

Exporting and Importing Companies and Other Data

https://msdn.microsoft.com/en-us/library/dn789595(v=nav.90).aspx

Others nice links below:

Guida introduttiva a Windows PowerShell

https://msdn.microsoft.com/powershell/scripting/getting-started/getting-started-with-windows-powershell

Sample Windows PowerShell Scripts for Microsoft Dynamics NAV

https://msdn.microsoft.com/en-us/library/dn271676(v=nav.90).aspx

Managing Dynamics NAV with PowerShell

http://www.softwareanswers.co.uk/software_answers/2014/09/managing-dynamics-nav-with-powershell.htm

About Microsoft Dynamics NAV 2016 Development Shell

CMDLETS LIST

For a complete list of cmdlets:

  • Get-Command -Module Microsoft.Dynamics.Nav.Model.Tools, Microsoft.Dynamics.Nav.Apps.Tools, Microsoft.Dynamics.Nav.Apps.Management

 

Cms Type Name
Function Compile-NAVApplicationObject
Function Create-NAVDatabase
Function Delete-NAVApplicationObject
Function Export-NAVApplicationObject
Function Import-NAVApplicationObject
Function Invoke-NAVDatabaseConversion
Cmdlet Compare-NAVApplicationObject
Cmdlet Export-NAVApplicationObjectLanguage
Cmdlet Export-NAVAppPermissionSet
Cmdlet Get-NAVAppInfo
Cmdlet Get-NAVApplicationObjectProperty
Cmdlet Get-NAVAppManifest
Cmdlet Get-NAVAppTenant
Cmdlet Import-NAVApplicationObjectLanguage
Cmdlet Install-NAVApp
Cmdlet Join-NAVApplicationObjectFile
Cmdlet Join-NAVApplicationObjectLanguageFile
Cmdlet Merge-NAVApplicationObject
Cmdlet New-NAVAppManifest
Cmdlet New-NAVAppManifestFile
Cmdlet New-NAVAppPackage
Cmdlet New-NAVCrmTable
Cmdlet Publish-NAVApp
Cmdlet Remove-NAVApplicationObjectLanguage
Cmdlet Repair-NAVApp
Cmdlet Set-NAVApplicationObjectProperty
Cmdlet Set-NAVAppManifest
Cmdlet Split-NAVApplicationObjectFile
Cmdlet Split-NAVApplicationObjectLanguageFile
Cmdlet Test-NAVApplicationObjectLanguage
Cmdlet Uninstall-NAVApp
Cmdlet Unpublish-NAVApp
Cmdlet Update-NAVApplicationObject

MY FAVORITE COMMANDS: “JOIN & SPLIT”

JOIN

Join-navapplicationobjectfile (SINGLE FILE CREATION COMMAND (CREATION WITH FIRST CHECK SYNTAX IN “JOIN” COMMAND)

System stops single “file merging procedure” if any error is ecountered during converting process; system make a first check objects structure during this process.

Command

PS C:> cd E:MERGEPages

PS E:MERGEPages> Join-navapplicationobjectfile -source ‘E:MERGEPages*.txt’ –destination ‘E:MERGEPagesPages_OutPages_OutMerged.txt’

SAMPLE OUTPUT

SAMPLE ERROR

“WARNING: E:MERGEPagesPAG12133.TXT (252,28) = expected.”

-a— 08/07/2016 10:28 147645 Pages_OutMerged.txt

IF FILE EXIST….

Overwrite?

E:MERGEPagesSplitFilesPagesPAG12190.TXT

[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y”):a

Well done > File correctly created after syntax parsing.

SPLIT

Split-navapplicationobjectfile (SPLIT FILES CREATION COMMAND (WITH FIRST CHECK SYNTAX IN “SPLIT” COMMAND)

System stops single “file merging procedure” if any error is ecountered during converting process; system make a first check objects structure during this process.

Command

PS C:Windowssystem32> Split-navapplicationobjectfile –source ‘E:MERGEPagesMergedFilesPages_OutMerged_12000.txt’ –destination ‘E:MERGEPagesSplitFilesPages12000_Split’

SAMPLE OUTPUT

GESTIONE ASSEMBLAGGI IN NAV (SIMPLE “HOW-TO”)


GESTIONE ASSEMBLAGGI IN NAV (SIMPLE “HOW-TO”)

ASSEMBLY Vs MANUFACTURING

“assembly, light manufacturing, and kitting”

Nice post from NAV Team blog about these different features

https://blogs.msdn.microsoft.com/nav/2012/11/20/assembly-management-versus-manufacturing-in-microsoft-dynamics-nav-2013/

FAST & SIMPLE” HOW-TO” IN ITALIAN LANGUAGE

GESTIONE ASSEMBLAGGI IN NAV

In NAV è possibile utilizzare gli ordini di assemblaggio nelle variazioni dei seguenti tipi di business.

Tipo Descrizione
Produzione leggera Spostare o differire le operazioni leggere da reparti a warehouse o centri di distribuzione (Light Manufacturing)
KittingAssembly Prelevare e imballare articoli vendibili come kit oppure creare un assemblaggio di parti per comporre

ESEMPIO\SCENARIO DI UTILIZZO

ES: utile per i KIT (es: vendita del cesto di frutta, vendita del pigiama, Tavolo montato dal cliente)

ASSUNZIONI\LIMITAZIONI rispetto a gestione con Ordini di Produzione (es: Fase di ASSEMBLAGGIO)

Ø Necessita di distinta base di assemblaggio

Ø Non gestisce ordini di produzione

Ø Non gestisce cicli di lavorazione

Ø Non gestisce codici legami

Ø Non gestisce conto lavorazione

Ø Non gestisce trasferimenti

Ø Minor controllo sui costiscostamenti

ORDINE DI ASSEMBLAGGIO – SPECIFICA FUNZIONALE

“Specifica quali e quanti articoli assemblare e quali componenti (articoli o risorse) rientrano nell’articolo di assemblaggio.”

Come gli ordini di produzione, gli ordini di assemblaggio sono ordini interni non destinati a fornitori o clienti e vengono utilizzati per gestire la creazione di articoli vendibili impostati come articoli di assemblaggio. Gli ordini di assemblaggio differiscono da altri tipi di ordine perché prevedono sia l’output, o rettifica positiva, che il consumo, o rettifica negativa, in fase di registrazione. A questo proposito, la testata ordine di assemblaggio si comporta analogamente a una riga ordine di vendita e le righe ordine di assemblaggio si comportano in modo analogo alle righe registrazioni consumi.

SETUP ASSEMBLAGGIO

Ø Codificare numeratori offerteordiniordinI registrati di assemblaggio

Ø Dimensioni

Ø Magazzino Default per ordini di assemblaggio

 

ARTICOLO DI ASSEMBLAGGIO

Ø Configurare l’articolo come di assemblaggio (Sistema rifornimento e Politica di Produzione)

 

DIBA ASSEMBLAGGIO

Ø Configurare la DIBA di Assemblaggio

Ø È possibile inserire Articoli, Risorse, Note

Ø È possibile calcolare un COSTO STANDARD di Assemblaggio

 

ESPLOSIONE DB

Ø È possibile esplodere i livelli inferiori per articoli componenti con DIBA

 

CALCOLO COSTO STANDARD ASSEMBLAGGIO

Ø È possibile utilizzare il calcolo del costo standard di assemblaggio

COSTO STANDARD CALCOLATO SU ARTICOLO

DETTAGLIO COSTI ASSEMBLAGGIO (esplosione)

REPORT DETTAGLIO DISTTIBUZIONE DEI COSTI

 

ORDINE DI VENDITA – ASSEMBLAGGIO AD “ORDER”

Ø In riga ordine inserire un “Articolo di Assemblaggio” es: ART_ASS (in questo caso di tipo ASSEMBLAGGIO SU ORDINE)

Ø Dopo aver inserito la qtà (nel caso “Assemblaggio su Ordine”) > viene lanciato il calcolo della qtà assemblabile

Ø Sistema chiede nel caso di NON disponibilità dei componenti se dichiarare comunque l’assemblaggio

RIGHE ORDINE

Ø Inserire la QTA’ Assemblaggio su ordine

 

Ø Cliccando sul campo “qtà per assemblaggio su ordine” è possibile vedere i componenti della DIBA

 

STAMPA CONFERMA ORDINE

Ø È possibile stampare anche le righe relative all’assemblaggio

STAMPA ISTRUZIONI DI PRELIEVO

Ø Sono inseriti anche i componenti di assemblaggio

 

ORDINE DI ASSEMBLAGGIO

Ø L’ordine è stato generato in automatico dall’ordine di vendita

PAGINA ORDINE DI ASSEMBLAGGIO

STAMPA ORDINE DI ASSEMBLAGGIO

 

ANALISI DISPONIBILITA’ ARTICOLO PER LIVELLO DB

Ø Utile per capire la fattibilità degli assemblaggi

 

REGISTRAZIONE ORDINI DI ASSEMBLAGGIO

Ø Rilascio

Ø Registra

Ø Registra Batch (più ordini assieme)

NB: è possibile registrare assemblaggi sono se NON LEGATI ad ordine (cioè assemblaggi per magazzino)

 

SE PROVO CON ASSEMBLAGGIO SU ORDINE:

L’ASSEMBLAGGIO VIENE REGISTRATO ALL’EVASIONE DELL’ORDINE

Ø Al momento dell’evasione dell’ordine (spedizione)

Ø Durante la registrazione da ordine,

Ø Da spedizione warehouse

Ø Da spedizione raggruppata

Ø L’ordine di assemblaggio è stato registrato (in questo caso con Spedizione Parziale 2/10 > residuo 8)

MOVIMENTI CONTABILI ARTICOLI

A fronte di un assemblaggio da Odine I movimenti contabili articoli generati sono di 3 tipi

Ø Output Assemblaggio > Carico prodotto finito

Ø Consumo per Assemblaggio > Consumo componenti per produzione del finito

Ø Vendita > Spedizione da ordine – scarico prodotto finito

ORDINI DI ASSEMBLASGGIO REGISTRATI

Ø È possibile vederestampare gli ordini di assemblaggio registrati

STATISTICHE ORDINE DI ASSEMBLAGGIO REGISTRATO

 

ASSEMBLAGGIO A “STOCK”

Ø Nel caso di assemblaggio a stock (per magazzino), l’ordine viene creato slegato dall’ordine di vendita

Ø Viene dichiarata sia la Qta del documenti che la Qtà da Assemblare

ANNULLAMENTO ASSEMBLAGGIO (solo per Assemblaggi a Stock)

Ø Per gli assemblaggi a Stock è possibile utilizzare la funzione “Annulla Assemblaggio

Ø

MOVIMENTI CONTABILI ARTICOLI DI STORNO

Ø 1) Vengono generati movimenti contrari per stornare assemblaggio e consumo

Ø 2) L’ordine di assemblaggio torna in ordini di assemblaggio non registrato

PROSPETTO DI PIANIFICAZIONE (MPS PER ARTICOLI DI ASSEMBLAGGIO)

Ø Prospetto di pianificazione

Ø Sistema estrae solo lo stock in quanto l’assemblaggio da ordine è già stato creato

Es calcolo con articoli ART_ASS|ART_ASS_STOCK (da ordine e da Stock)

 

RISULTATO DELLA PIANIFICAZIONE

 

TRACCIABILITA’ ORDINE

Ø Navigando nella tracciabilità sistema fa comuque vedere l’ordine (ordini) generanti il fabbisogno, nessun legame con gli ordino però è stato generato.

 

CREAZIONE ORDINI DI ASSEMBLAGGIO DA PROSPETTO PIANIFICAZIONE

Ø Funzione “Esegui Messaggi di Azione”

 

Ø L’ordine è stato creato dalla pianificazione e se vede in “Lista Assemblaggi

GESTIONE IMPEGNI PER ASSEMBLAGGIO

Ø È Possibile impegnare sia il prodotto finito che i componenti utilizzando le procedure standard di NAV

Ø L’impegno può essere fatto manualmente dalle maschere di assegnazione impegno

Ø Nel caso di Assemblaggio su Ordine l’impegno è automatico (riserva per Ordine)

ESEMPI DI IMPEGNO

Ø Impegno su Prodotto finito

IMPEGNO AUTOMATICO (O DA RIGA CORRENTE)

SCELTA DA DISPONIBILE DA IMPEGNARE

 

Ø Impegno su componenti

Da funzione “Riga” > Impegno

Il concetto è lo stesso visto per i prodotti finiti

My video here:

 On SlideShare

 

“Gestione magazzino fiscale”, NAV Italian Localization


“Gestione magazzino fiscale”, NAV Italian Localization

In questo post sono fornite informazioni tecniche sui concetti e sui principi utilizzati nelle funzionalità di magazzino fiscale presente nella localizzazione italiana di NAV.

Il costing di magazzino, detto anche gestione costing riguarda la registrazione e il reporting dei costi operativi business.

Valutazione magazzino fiscale (tipologia di costi gestibili)

“È necessario inviare un report annuale che mostra il valore monetario degli articoli di magazzino per l’anno fiscale. In base alle normative italiane per la valutazione fiscale di magazzino”, è possibile calcolare le seguenti tipologie di costi:

· Costo medio annuale

· Costo medio ponderato

· Costo FIFO

· Costo LIFO

· Costo LIFO discreto

PROCESSI NAV MAGAZZINO FISCALE – MAPPA MENTALE BASIC RS

 

MENU’ VALUTAZIONE MAGAZZINO FISCALE

SETUP MAGAZZINO

Setup della modalità e del periodo di aggiornamento costi tramite registrazioni di aggiustamenti magazzino. In questo esempio aggiornamento automatico dei costi al posting dei documenti (SEMPRE) e gestione del costo medio giornaliero per articolovariantemagazzino (giornaliero in questo caso)

CAMPO UBICAZIONE OBBLIGATORIA

Specifica se gli articoli devono avere un codice ubicazione per essere registrati (soluzione consigliata). Inserire un segno di spunta nel campo se si desidera che venga richiesta l’immissione di un codice di ubicazione durante la registrazione di transazioni relative agli articoli.

 

SETUP COSTING ARTICOLO

 

PERIODI DI MAGAZZINO

Specifica un periodo di tempo durante il quale è possibile registrare modifiche ai valori di magazzino. Un periodo di magazzino è definito dalla data in cui termina, ovvero la data di fine. Quando si chiude un periodo di magazzino, non è possibile registrare modifiche al valore di magazzino, previsto o fatturato, né registrare nuovi valori nel magazzino precedenti alla data di fine. Se nel periodo chiuso sono presenti movimenti articoli aperti, ovvero quantità positive non ancora consumate da, o collegate a, transazioni in uscita, è ancora possibile collegare quantità in uscita a questi movimenti, anche se il periodo è chiuso.

 

COSTO PRIMA DELL’INIZIO (BEFORE NAV COSTING)

Specifica le informazioni sui costi articolo presenti prima che l’utente abbia iniziato a utilizzare Microsoft Dynamics NAV nella propria organizzazione. Queste informazioni sono necessarie per la valutazione di magazzino nel primo anno dopo l’implementazione di Microsoft Dynamics NAV.

È possibile utilizzare questa tabella per immettere le informazioni relative agli articoli di magazzino, ad esempio i costi dei componenti, dei cicli di produzione e quelli generali.

NBA: Saranno usati dal report di valutazione magazzino (costi di startup magazzino in NAV). I Valori sono globali (NON distinti per singolo magazzino)

 

PERIODI CONTEGGIO INVENTARIO FISICO

Calcola la periodicità dell’inventario fisico

 

CALCOLO VALORE MAGAZZINO WIP (da Produzione)

Calcola il valore WIP della produzione utilizzando gli ordini di produzione filtrabili per tipologiaperiodo analisi.

 

Calcola costi fine anno

In provvisorio è lanciabile per piu periodi e per più volte, calcola il valore di magazzino; se lanciata in definitiva CHIUDE l’anno fiscale di magazzino.

 

RISULTATO à CARICAMENTO TABELLA “STORICO COSTI ARTICOLI”

Ogni volta che si calcola il magazzino viene alimentata la tabella del costo storico

 

Se lancio in definitivo del calcolo

È sempre da lanciare a fine anno fiscale di magazzino es: lancio al “31/12/15” (per chiudere l’anno 2015);

Se si lancia parziale segnala l’errore.

 

CHIUSURA PERIODO MAGAZZINO

Prima di chiudere occorre eseguire questa serie di attività:

1) Lanciare aggiornamento costi NAV (“Adjust Cost Entries” report)

2) Stampare il “report di test”

Esempio di esito del report di test

3) Lanciare il “Chiudi Periodo

 

 

PERIODI DI MAGAZZINO CHIUSI

Flag indica la chiusura del periodo

 

MOVIMENTI PERIODI MAGAZZINO

Movimenti relativi al periodo di magazzino

 

RIAPERTURA PERIODO CHIUSO

E’ possibile riaprire un periodo se necessario per sistemare costigiacenze errate.

REGISTRI DI MAGAZZINO

Storico movimenti di magazzino (scritture raggruppate per blocco data posting)

Storia delle transazioni con operatoredata

 

RISULTATO FINALE PROCEDURA à REPORT VALUTAZIONE “MAGAZZINO FISCALE”

Si appoggia alle tabelle sopra se compilate per dare un “costo certo” archiviato in dati storici.

OPZIONI STAMPA (tutte le tipologie)

STAMPA VALUTAZIONE MAG. AL “COSTO FISCALE CALCOLATO”

“la data di competenza serve per recuperare il costo fiscale calcolato e registrato nella tabella Storico costo articolo, il filtro data è richiesto per calcolare la giacenza del periodo richiesto”. Se non viene indicato il filtro data il report restituisce un messaggio di errore tecnico al lancio dello stesso.

NB: dato che non è ben documentata la gestione dei filtri di lancio del report (e lo scopo\modo di utilizzo degli stessi) è stata suggerita una modifica all’ help italiano di NAV che dovrebbe, a detta di Microsoft, essere modificato a breve.

costo1

RISULTATO DEL REPORT

costo 2

Article is also available on TECHNET WIKI

https://social.technet.microsoft.com/wiki/contents/articles/36541.dynamics-nav-2016-gestione-magazzino-fiscale-it-it.aspx

“HOW TO RESET” NAV “BAD” USER


 

“HOW TO RESET” NAV “BAD” USER

If you have some issues with NAV single user (ex; can’t login, permissions lost, errors on pages etc.), you can delete ALL user configuration and after recreate a new user.

Follow procedure below.

use DB

GO

1) FIRST: SELECT [User Security ID] from USERNAME

retrieve User Security ID (User ID by uniqueidentifier)

select [User Security ID] from [dbo].[User] where [User Name] = ‘DOMAINUSER1’

–> example: User Security ID output: 49089BA8-91C5-4BD2-A322-7797760736B2 (User ID by uniqueidentifier)

2) SECOND: DELETE users configuration using [User Security ID] extracted from user name

delete [dbo].[Access Control] where [User Security ID] = N’49089BA8-91C5-4BD2-A322-7797760736B2′

delete [dbo].[Page Data Personalization] where [User SID] = N’49089BA8-91C5-4BD2-A322-7797760736B2′

delete [dbo].[User Metadata] where [User SID] = N’49089BA8-91C5-4BD2-A322-7797760736B2′

delete [dbo].[User Property] where [User Security ID] = N’49089BA8-91C5-4BD2-A322-7797760736B2′

delete [dbo].[User Personalization] where [User SID] = N’49089BA8-91C5-4BD2-A322-7797760736B2′

delete [dbo].[User Default Style Sheet] where [User ID] = N’49089BA8-91C5-4BD2-A322-7797760736B2′

GO

NB: STOP NAV SERVICE BEFORE DELETING from SQL !!/

STOP NAV SERVER Service (you can’t delete users from SQL with NAV server active- “USER” table is locked)

3) LAST: delete user (and after recreate form NAV User Page)

delete [dbo].[User] where [User Name] = ‘DOMAINUSER1’

GO

** If you have NAV pending services, use KIll service script below:

KILLING PENDING SERVICE PROCEDURE

Kill Service Script

sc queryex MicrosoftDynamicsNavServer$ITA

result –> Service Name

Process ID : PID 10484

taskkill /PID 10484 /F

result –> process killed

Have a nice day !

Connecting Dynamics NAV 2013/2015 to the NAV content pack in PowerBI.com


Suvidha-blogpost

PowerBI.com has a Dynamics NAV content pack which connects to Dynamics NAV 2016 out of the box. I’ve discussed about it here.

Customers using NAV 2013 or NAV 2015 can also connect to this NAV Content pack in powerbi.com.

View original post 342 altre parole