Data din fișierul SIE este incorectă atunci când rulați raportul 11207 pentru a crea un fișier SIE utilizând tipul de fișier 2 din versiunea suedeză a Microsoft Dynamics NAV

Se aplică la
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

Articolele publicate rapid furnizează informații direct din cadrul organizației de asistență Microsoft. Informațiile conținute aici sunt create ca răspuns la subiecte emergente sau unice sau sunt menite să completeze alte informații din baza de cunoștințe.

Acest articol se aplică la Microsoft Dynamics NAV pentru setările regionale de limbă suedeză (se).

Simptome

Atunci când rulați raportul de export SIE (11207) pentru a crea un fișier SIE utilizând tipul de fișier Sold periodic (tip de fișier 2) în versiunea suedeză a Microsoft Dynamics NAV, datele din fișierul SIE sunt incorecte. Diferitele sume periodice lipsesc.

Această problemă apare în cazul următoarelor produse:

  • Versiunea suedeză de Microsoft Dynamics NAV 2009 Service Pack 1
  • Versiunea suedeză de Microsoft Dynamics NAV 5.0 Service Pack 1

Rezolvare

Informații despre remedierea rapidă

O remediere rapidă acceptată este acum disponibilă de la Microsoft. Însă, scopul său este doar să corecteze problema descrisă în acest articol. Aplicați-o doar sistemelor care se confruntă cu această problemă specifică. Această remediere rapidă poate fi testată suplimentar. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să așteptați următorul pachet Service Pack Microsoft Dynamics NAV sau următoarea versiune Microsoft Dynamics NAV care conține această remediere rapidă.

Notă În cazuri speciale, costurile implicate de obicei pentru apelurile de asistență pot fi revocate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produsele asociate stabilește că o anumită actualizare va rezolva problema. Costurile uzuale de suport se vor aplica pentru întrebări suplimentare de suport și pentru probleme ce nu fac obiectul actualizării în chestiune.

            
          

Informații despre instalare

Microsoft oferă exemple de programare numai în scop ilustrativ, fără nicio garanție explicită sau implicită. Aceasta include, dar nu se limitează la, garanțiile implicite de vandabilitate sau adecvare pentru un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare prezentat și cu instrumentele utilizate pentru a crea și a depana proceduri. Inginerii de asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri, însă nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară și nu vor construi proceduri pentru a răspunde cerințelor dvs. specifice.

Notă Înainte de a instala această remediere rapidă, verificați dacă toți utilizatorii clientului Microsoft Navision sunt deconectați de la sistem. Printre aceștia se numără utilizatorii clienților Microsoft Navision Application Services (NAS). Ar trebui să fiți singurul utilizator client conectat atunci când implementați această remediere rapidă.

Pentru a implementa această remediere rapidă, trebuie să aveți o licență de dezvoltator.

Recomandăm ca contului de utilizator din fereastra Conectări Windows sau din fereastra Conectări bază de date să primească ID-ul de rol "SUPER". În cazul în care contului de utilizator nu i se poate atribui ID-ul de rol "SUPER", trebuie să verificați dacă acel cont de utilizator are următoarele permisiuni:

  • Permisiunea Modificare pentru obiectul pe care îl veți modifica.
  • Permisiunea de executare pentru obiectul cu ID obiect de sistem 5210 și pentru obiectul ID obiect de sistem 9015.

                
Notă: nu trebuie să aveți drepturi asupra depozitelor de date decât dacă trebuie să efectuați repararea datelor.

Modificări de cod

Notă: testați întotdeauna remedierile de cod într-un mediu controlat înainte de a aplica remedierile la computerele de producție.
Pentru a rezolva această problemă, modificați codul din funcția PeriodicPost în raportul de export SIE (11207). Pentru a face acest lucru, urmați acești pași:

  1. Adăugați o variabilă locală, apoi specificați variabila după cum urmează:

    • Nume: CurrMonthStartDate
    • Tip de date: Dată
  2. Adăugați o variabilă locală, apoi specificați variabila după cum urmează:

    • Nume: CurrMonthEndDate
    • Tip de date: Dată
  3. Adăugați o variabilă locală, apoi specificați variabila după cum urmează:

    • Nume: FilterEndDate
    • Tip de date: Dată
  4. Modificați codul după cum urmează:
    Cod existent 1

    ...
              GLAccount.SETFILTER("Global Dimension 1 Filter",'');
              GLAccount.SETFILTER("Global Dimension 2 Filter",'');
              GLAccount.SETFILTER("Date Filter",AccountDateFilter);
    
              // Delete the following lines.
              GLAccount.CALCFIELDS("Net Change");
              IF GLAccount."Net Change" <> 0 THEN
                ExportFile.WRITE(STRSUBSTNO('#PSALDO   %1  %2  %3  {} %4',0,FORMAT(FormatDate(GLAccount.GETRANGEMAX
                (GLAccount."Date Filter")),6),GLAccount."No.",FormatAmount(GLAccount."Net Change")));
    
              SetGLFilterPrev(GLAccount2);
              GLAccount2.CALCFIELDS("Net Change");
              IF GLAccount2."Net Change" <> 0 THEN
                ExportFile.WRITE(STRSUBSTNO('#PSALDO  %1  %2  %3  {} %4',-1,FORMAT(FormatDate(GLAccount2.GETRANGEMAX
                (GLAccount2."Date Filter")),6),GLAccount2."No.",FormatAmount(GLAccount2."Net Change")));
              // End of the lines.
    
              IF AccountBudgetFilter <> '' THEN BEGIN
                GLAccount.RESET;
                GLAccount.SETFILTER("Global Dimension 1 Filter",'');
    ...
    
    

    Cod de înlocuire 1

    ...
              GLAccount.SETFILTER("Global Dimension 1 Filter",'');
              GLAccount.SETFILTER("Global Dimension 2 Filter",'');
              GLAccount.SETFILTER("Date Filter",AccountDateFilter);
    
              // Add the following lines.
              CurrMonthStartDate := GLAccount.GETRANGEMIN(GLAccount."Date Filter");
              FilterEndDate := GLAccount.GETRANGEMAX(GLAccount."Date Filter");
              REPEAT
                CurrMonthEndDate := CALCDATE('<CM>',CurrMonthStartDate);
                IF FilterEndDate < CurrMonthEndDate THEN
                  CurrMonthEndDate := FilterEndDate;
                GLAccount.SETFILTER("Date Filter",'%1..%2',CurrMonthStartDate,CurrMonthEndDate);
                GLAccount.CALCFIELDS("Net Change");
                IF GLAccount."Net Change" <> 0 THEN
                  ExportFile.WRITE(
                    STRSUBSTNO('#PSALDO   %1  %2  %3  {} %4',0,
                      FORMAT(FormatDate(GLAccount.GETRANGEMAX(GLAccount."Date Filter")),6),
                      GLAccount."No.",FormatAmount(GLAccount."Net Change")));
                CurrMonthStartDate := CALCDATE('<CM+1D>',CurrMonthStartDate);
              UNTIL CurrMonthEndDate >= FilterEndDate;
              // End of the lines.
    
              IF AccountBudgetFilter <> '' THEN BEGIN
                GLAccount.RESET;
                GLAccount.SETFILTER("Global Dimension 1 Filter",'');
    ...
    
    

    Cod existent 1

    ...
                GLAccount.SETFILTER("Global Dimension 2 Filter",'');
                GLAccount.SETFILTER("Date Filter",AccountDateFilter);
                GLAccount.SETFILTER("Budget Filter",AccountBudgetFilter);
    
                // Delete the following lines.
                GLAccount.CALCFIELDS("Budgeted Amount");
                IF GLAccount."Budgeted Amount" <> 0 THEN
                  ExportFile.WRITE(STRSUBSTNO('#PBUDGET   %1  %2  %3  {} %4',0,FORMAT(FormatDate(GLAccount.GETRANGEMAX
                  (GLAccount."Date Filter")),6),GLAccount."No.",FormatAmount(GLAccount."Budgeted Amount")));
                SetGLFilterPrev(GLAccount2);
                GLAccount2.CALCFIELDS("Budgeted Amount");
                IF GLAccount2."Budgeted Amount" <> 0 THEN
                  ExportFile.WRITE(STRSUBSTNO('#PBUDGET  %1  %2  %3  {} %4',-1,FORMAT(FormatDate(GLAccount2.GETRANGEMAX
                  (GLAccount2."Date Filter")),6),GLAccount2."No.",FormatAmount(GLAccount2."Budgeted Amount")));
                // End of the lines.
    
              END;
              DialogWindow.UPDATE(7,GLAccount."No.");
              DialogWindow.UPDATE(8,ROUND(Counter / CounterTotal*10000,1));
    ...
    
    

    Cod de înlocuire 1

    ...
                GLAccount.SETFILTER("Global Dimension 2 Filter",'');
                GLAccount.SETFILTER("Date Filter",AccountDateFilter);
                GLAccount.SETFILTER("Budget Filter",AccountBudgetFilter);
    
                // Add the following lines.
                CurrMonthStartDate := GLAccount.GETRANGEMIN(GLAccount."Date Filter");
                FilterEndDate := GLAccount.GETRANGEMAX(GLAccount."Date Filter");
                REPEAT
                  CurrMonthEndDate := CALCDATE('<CM>',CurrMonthStartDate);
                  IF CurrMonthEndDate > FilterEndDate THEN
                    CurrMonthEndDate := FilterEndDate;
                  GLAccount.SETFILTER("Date Filter",'%1..%2',CurrMonthStartDate,CurrMonthEndDate);
                  GLAccount.CALCFIELDS("Budgeted Amount");
                  IF GLAccount."Budgeted Amount" <> 0 THEN
                    ExportFile.WRITE(
                      STRSUBSTNO('#PBUDGET   %1  %2  %3  {} %4',0,
                        FORMAT(FormatDate(GLAccount.GETRANGEMAX(GLAccount."Date Filter")),6),
                        GLAccount."No.",FormatAmount(GLAccount."Budgeted Amount")));
                  CurrMonthStartDate := CALCDATE('<CM+1D>',CurrMonthStartDate);
                UNTIL CurrMonthEndDate >= FilterEndDate;
                // End of the lines.
    
              END;
              DialogWindow.UPDATE(7,GLAccount."No.");
              DialogWindow.UPDATE(8,ROUND(Counter / CounterTotal*10000,1));
    ...
    
    

          

Cerințe preliminare

Trebuie să aveți instalat unul dintre următoarele produse pentru a aplica această remediere rapidă:

  • Versiunea suedeză de Microsoft Dynamics NAV 2009 Service Pack 1
  • Versiunea suedeză de Microsoft Dynamics NAV 5.0 Service Pack 1

Eliminarea informațiilor

Nu puteți elimina această remediere rapidă.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.

MICROSOFT ȘI/SAU FURNIZORII SĂI NU FAC NICIO DECLARAȚIE SAU GARANȚIE CU PRIVIRE LA ADECVAREA, FIABILITATEA SAU ACURATEȚEA INFORMAȚIILOR CONȚINUTE ÎN DOCUMENTELE ȘI GRAFICELE ASOCIATE PUBLICATE PE ACEST SITE WEB ("MATERIALELE") ÎN NICIUN SCOP.

MATERIALELE POT INCLUDE INEXACTITĂȚI TEHNICE SAU ERORI TIPOGRAFICE ȘI POT FI REVIZUITE ÎN ORICE MOMENT, FĂRĂ NOTIFICARE PREALABILĂ. ÎN MĂSURA MAXIMĂ PERMISĂ DE LEGISLAȚIA APLICABILĂ, MICROSOFT ȘI/SAU FURNIZORII SĂI EXCLUD TOATE REPREZENTĂRILE, GARANȚIILE ȘI CONDIȚIILE, EXPRESE, IMPLICITE SAU LEGALE, INCLUSIV, DAR FĂRĂ A SE LIMITA LA, DECLARAȚII, GARANȚII SAU CONDIȚII DE TITLU, NEÎNCĂLCARE A DREPTURILOR, CONDIȚII SAU CALITĂȚI SATISFĂCĂTOARE, VANDABILITATE ȘI ADECVARE PENTRU UN ANUMIT SCOP, ÎN CEEA CE PRIVEȘTE MATERIALELE.