Questo articolo si applica a Microsoft Dynamics NAV per le impostazioni locali della lingua italiana.This article applies to Microsoft Dynamics NAV for the Italian (it) language locale.
Sintomi
Si supponga di installare una black list che ha una soglia nella versione italiana di Microsoft Dynamics NAV. La numerazione delle righe del record C non è corretta se si registra una fattura inferiore a 50000 euro. Ad esempio, il numero di riga riportato è 00000002 ma non inizia da 00000001.
Questo problema si verifica nei prodotti seguenti:
- La versione italiana di Microsoft Dynamics NAV 2009 R2
- Versione italiana di Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- La versione italiana di Microsoft Dynamics NAV 5.0 Service Pack 1
Risoluzione
Informazioni sull'aggiornamento rapido
È ora disponibile un hotfix supportato da Microsoft. Tuttavia, è destinato solo a correggere il problema descritto in questo articolo. Applicala solo ai sistemi che stanno riscontrando questo problema specifico. Questo hotfix potrebbe ricevere ulteriori test. Pertanto, se non si è gravemente colpiti da questo problema, è consigliabile attendere il prossimo Service Pack di Microsoft Dynamics NAV o la prossima versione di Microsoft Dynamics NAV che contiene questo hotfix.
Nota In casi speciali, gli addebiti normalmente sostenuti per le chiamate al supporto tecnico possono essere annullati se un professionista del supporto tecnico per Microsoft Dynamics e i prodotti correlati determinano che un aggiornamento specifico risolverà il problema. I soliti costi del supporto verranno applicati a domande e problemi di supporto aggiuntivi che non sono idonei per l'aggiornamento specifico in questione.
Informazioni sull'installazione
Microsoft fornisce esempi di programmazione a titolo puramente illustrativo, senza alcuna garanzia espressa o implicita. Ciò include, a titolo esemplificativo e non esaustivo, le garanzie implicite di commerciabilità o idoneità a uno scopo particolare. Questo articolo presuppone che si abbia familiarità con il linguaggio di programmazione oggetto della dimostrazione e con gli strumenti utilizzati per la creazione e il debug delle procedure. I tecnici dell'assistenza Microsoft possono aiutare a spiegare la funzionalità di una particolare procedura. Tuttavia, non modificheranno questi esempi per fornire funzionalità aggiuntive o costruire procedure che soddisfino i vostri requisiti specifici.
Nota Prima di installare questo hotfix, verificare che tutti gli utenti del client Microsoft Dynamics NAV siano disconnessi dal sistema. Sono inclusi i servizi MICROSOFT Dynamics NAV Application Server (NAS). Dovresti essere l'unico utente client connesso quando implementi questo hotfix.
Per implementare questo hotfix, è necessario disporre di una licenza per sviluppatori.
È consigliabile assegnare l'ID ruolo "SUPER" all'account utente nella finestra Accessi di Windows o nella finestra Accessi database. Se all'account utente non è possibile assegnare l'ID ruolo "SUPER", è necessario verificare che l'account utente disponga delle autorizzazioni seguenti:
Autorizzazione modifica per l'oggetto che si desidera modificare.
Autorizzazione Di esecuzione per l'oggetto System Object ID 5210 e per l'ID oggetto di sistema 9015
Oggetto.
Nota: non è necessario disporre dei diritti per gli archivi dati a meno che non sia necessario eseguire il ripristino dei dati.
Modifiche al codice
Nota Verifica sempre le correzioni del codice in un ambiente controllato prima di applicare le correzioni ai computer di produzione.
Per risolvere il problema, modificare il codice nella funzione ExportRecords nella Blacklist Management Codeunit (12130) come segue:
Codice esistente 1
...
PROCEDURE ExportRecords@1130006(FileName@1130006 : Text[250];CommunicationType@1130003 : ' ,Corrective,Integrative';PeriodType@1130002 : 'Month,Quarter';AppointmentCode@1130001 : Code[1];PreparedByCompany@1130005 : Boolean);
VAR
RecordCText@1130004 : ARRAY [2] OF Text[1024];
i@1130000 : Integer;
LineExported@1130008 : Boolean;
IsFileExportInitialized@1130007 : Boolean;
BEGIN
// Delete the following line.
i := 0;
// End of the deleted line.
IsFileExportInitialized := FALSE;
VATEntryBuffer2.RESET;
VATEntryBuffer2.SETCURRENTKEY(Type,"Bill-to/Pay-to No.");
IF VATEntryBuffer2.FINDSET THEN
REPEAT
...
Codice di sostituzione 1
...
PROCEDURE ExportRecords@1130006(FileName@1130006 : Text[250];CommunicationType@1130003 : ' ,Corrective,Integrative';PeriodType@1130002 : 'Month,Quarter';AppointmentCode@1130001 : Code[1];PreparedByCompany@1130005 : Boolean);
VAR
RecordCText@1130004 : ARRAY [2] OF Text[1024];
i@1130000 : Integer;
LineExported@1130008 : Boolean;
IsFileExportInitialized@1130007 : Boolean;
BEGIN
// Add the following line.
i := 1;
// End of the added line.
IsFileExportInitialized := FALSE;
VATEntryBuffer2.RESET;
VATEntryBuffer2.SETCURRENTKEY(Type,"Bill-to/Pay-to No.");
IF VATEntryBuffer2.FINDSET THEN
REPEAT
...
Codice esistente 2
...
IsFileExportInitialized := FALSE;
VATEntryBuffer2.RESET;
VATEntryBuffer2.SETCURRENTKEY(Type,"Bill-to/Pay-to No.");
IF VATEntryBuffer2.FINDSET THEN
REPEAT
// Delete the following line.
i := i + 1;
// End of the deleted line.
CLEAR(RecordCText);
LineExported := FALSE;
RecordCText[1] := GetFixedPartRecordC(i) + GetVarPartRecordC;
VATEntryBuffer.RESET;
VATEntryBuffer.SETCURRENTKEY(Type,"Bill-to/Pay-to No.");
VATEntryBuffer.SETRANGE(Type,VATEntryBuffer2.Type);
VATEntryBuffer.SETRANGE("Bill-to/Pay-to No.",VATEntryBuffer2."Bill-to/Pay-to No.");
VATEntryBuffer.SETFILTER(Amount,'<>%1',0);
...
Codice di sostituzione 2
...
IsFileExportInitialized := FALSE;
VATEntryBuffer2.RESET;
VATEntryBuffer2.SETCURRENTKEY(Type,"Bill-to/Pay-to No.");
IF VATEntryBuffer2.FINDSET THEN
REPEAT
CLEAR(RecordCText);
LineExported := FALSE;
RecordCText[1] := GetFixedPartRecordC(i) + GetVarPartRecordC;
VATEntryBuffer.RESET;
VATEntryBuffer.SETCURRENTKEY(Type,"Bill-to/Pay-to No.");
VATEntryBuffer.SETRANGE(Type,VATEntryBuffer2.Type);
VATEntryBuffer.SETRANGE("Bill-to/Pay-to No.",VATEntryBuffer2."Bill-to/Pay-to No.");
VATEntryBuffer.SETFILTER(Amount,'<>%1',0);
...
Codice esistente 3
...
IF NOT IsFileExportInitialized THEN BEGIN
CreateExportFile(FileName);
ExportRecordTypeA;
ExportRecordTypeB(CommunicationType,PeriodType,AppointmentCode,PreparedByCompany);
IsFileExportInitialized := TRUE;
END;
VATRegNoToExport += 1;
ExportRecordTypeC(RecordCText);
END;
UNTIL VATEntryBuffer2.NEXT = 0;
IF IsFileExportInitialized THEN BEGIN
ExportRecordTypeZ;
ExportFile.CLOSE;
END;
END;
...
Codice di sostituzione 3
...
IF NOT IsFileExportInitialized THEN BEGIN
CreateExportFile(FileName);
ExportRecordTypeA;
ExportRecordTypeB(CommunicationType,PeriodType,AppointmentCode,PreparedByCompany);
IsFileExportInitialized := TRUE;
END;
VATRegNoToExport += 1;
ExportRecordTypeC(RecordCText);
// Add the following line.
i := i + 1;
// End of the added line.
END;
UNTIL VATEntryBuffer2.NEXT = 0;
IF IsFileExportInitialized THEN BEGIN
ExportRecordTypeZ;
ExportFile.CLOSE;
END;
END;
...
Prerequisiti
Per applicare questo hotfix, è necessario che sia installato uno dei prodotti seguenti:
- La versione italiana di Microsoft Dynamics NAV 2009 R2
- Versione italiana di Microsoft Dynamics NAV 2009 Service Pack 1
- La versione italiana di Microsoft Dynamics NAV 5.0 Service Pack 1
Informazioni sulla rimozione
Non è possibile rimuovere questo hotfix.
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Nota Questo è un articolo "FAST PUBLISH" creato direttamente dall'organizzazione di supporto Microsoft. Le informazioni contenute nel presente documento vengono fornite così come sono in risposta ai problemi emergenti. A causa della velocità di reso disponibile, i materiali possono includere errori tipografici e possono essere modificati in qualsiasi momento senza preavviso. Per altre considerazioni, vedere Condizioni per l'utilizzo .