Ukupna vrednost je netačna kada pokrenete izveštaj "Knjiga amortizacija" (12119) u italijanskoj verziji usluge Microsoft Dynamics NAV

Primenjuje se na
Dynamics NAV 2009 Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

Brzo objavljeni članci pružaju informacije direktno iz organizacije Microsoft podrške. Informacije koje se nalaze u ovom dokumentu kreirane su kao odgovor na nove ili jedinstvene teme ili su namenjene kao dopuna drugim informacijama iz baze znanja.

Ovaj članak se odnosi na Microsoft Dynamics NAV za lokalni standard italijanskog (it).

Simptomi

Pretpostavimo da pokrećete izveštaj "Knjiga amortizacije" (12119) u italijanskoj verziji programa Microsoft Dynamics NAV. Ako osnovna sredstva pripadaju istoj klasi, izveštaj štampa progresivnu ukupnu vrednost. Međutim, ako se klasa osnovnih sredstava promeni, izveštaj ne zadržava progresivnu ukupnu vrednost za prethodnu klasu. Stoga je ukupna vrednost netačna.

Ovaj problem se javlja u sledećim proizvodima:

  • Italijanska verzija servisnog paketa 1 za Microsoft Dynamics NAV 2009
  • Italijanska verzija programa Microsoft Dynamics NAV 2009
  • Italijanska verzija servisnog paketa Microsoft Dynamics NAV 5.0 sa servisnim paketom 1

Rešenje

Informacije o hitnim ispravkama

Podržana hitna ispravka je sada dostupna od korporacije Microsoft. Međutim, namena je samo za rešavanje problema koji je opisan u ovom članku. Primenite je samo na sisteme koji imaju ovaj određeni problem. Ova hitna ispravka može proći dodatno testiranje. Stoga, ako ovaj problem ne utiče ozbiljno, preporučujemo da sačekate sledeći servisni paket za Microsoft Dynamics NAV ili sledeću verziju programa Microsoft Dynamics NAV koja sadrži ovu hitnu ispravku.

Napomena: U posebnim slučajevima, troškovi koji se obično nastaju za pozive podršci mogu biti otkazani ako stručnjak za tehničku podršku za Microsoft Dynamics i srodne proizvode utvrdi da će određena ispravka rešiti problem. Uobičajeni troškovi podrške primenjivaće se na dodatna pitanja podrške i probleme koji ne ispunjavaju uslove za određenu ispravku u pitanju.

            
          

Informacije o instalaciji

Microsoft pruža primere programiranja samo za ilustraciju, bez izričite ili podrazumevane garancije. Ovo uključuje, ali nije ograničeno na, podrazumevane garancije o podesnosti za prodaju ili o podesnosti za određenu namenu. U ovom članku se pretpostavlja da ste upoznati sa programskim jezikom koji se demonstrira i sa alatkama koje se koriste za kreiranje procedura i otklanjanje grešaka. Inženjeri Microsoft podrške mogu da vam objasne funkcionalnost određene procedure, ali neće izmeniti ove primere da bi obezbedili dodatnu funkcionalnost ili konstruisali procedure koje ispunjavaju vaše određene zahteve.

Napomena: Pre nego što instalirate ovu hitnu ispravku, proverite da li su svi korisnici Microsoft Navision klijenta odjavljeni iz sistema. To uključuje korisnike Microsoft Navision Application Services (NAS) klijenta. Vi bi trebalo da budete jedini korisnik klijenta koji je prijavljen kada primenjujete ovu hitnu ispravku.

Da biste primenili ovu hitnu ispravku, morate imati licencu za projektante.

Preporučujemo da se korisničkom nalogu u prozoru "Prijavljivanje u operativni sistem Windows" ili u prozoru "Prijavljivanje u bazu podataka" dodeli ID uloge "SUPER". Ako korisničkom nalogu nije moguće dodeliti ID uloge "SUPER", morate da proverite da li korisnički nalog ima sledeće dozvole:

  • Dozvola "Izmeni" za objekat koji ćete menjati.
  • Dozvola za izvršavanje za objekat sistema ID 5210 i za objekat sistema ID 9015.

                
Napomena: Ne morate da imate prava na skladišta podataka osim ako ne morate da izvršite popravku podataka.

Promene kodova

Napomena: Popravke kodova uvek testirajte u kontrolisanom okruženju pre nego što ih primenite na računare proizvodnje.
Pratite ove korake da biste rešili problem:

  1. Dodajte globalnu promenljivu u izveštaj "Knjižica amortizacija" (12119), a zatim navedite promenljivu na sledeći način:

    • Ime:OdFALedgEntriNo
    • Tip podataka:Ceo broj
  2. Dodajte globalnu promenljivu u izveštaj "Knjižica amortizacija" (12119), a zatim navedite promenljivu na sledeći način:

    • Ime:NektFALedgEntryNo
    • Tip podataka:Ceo broj
  3. Dodajte globalnu promenljivu u izveštaj "Knjižica amortizacija" (12119), a zatim navedite promenljivu na sledeći način:

    • Ime:TempFALedgEntry
    • DataType:Record
    • Podtip: FA Ledger Entry
  4. Promenite kôd u okidaču "Osnovna sredstva – OnPreDataItem" u izveštaju "Knjiga amortizacija" (12119) na sledeći način:
    Postojeći kôd

    ...
    SETCURRENTKEY("Acquisition Year","FA Class Code", "FA Subclass Code");
    FirstRecord := FALSE;
    PrevFASubclassCode := '';
    PrevInventoryYear := 0;
    Printyear := FALSE;
    
    FOR k := 1 TO 14 DO BEGIN
    ...
    
    

    Kôd za zamenu

    ...
    SETCURRENTKEY("Acquisition Year","FA Class Code", "FA Subclass Code");
    FirstRecord := FALSE;
    PrevFASubclassCode := '';
    PrevInventoryYear := 0;
    Printyear := FALSE;
    
    // Add the following lines.
    FromFALedgEntryNo := 0; 
    NextFALedgEntryNo := 1; 
    TempFALedgEntry.DELETEALL;  
    // End of the lines.
    
    FOR k := 1 TO 14 DO BEGIN
    ..
    
    
  5. Promenite kôd u okidaču "Osnovna sredstva – OnAfterGetRecord" u izveštaju "Knjiga amortizacija" (12119) na sledeći način:
    Postojeći kôd 1

    ...
    IF (PrevFASubclassCode <> "FA Subclass Code") THEN BEGIN
      PrintTotalSubclass := TRUE;
      PrevFASubclassCode := "FA Subclass Code";
    
    // Delete the following lines.
      FOR k := 1 TO 14 DO BEGIN 
        TotalSubclass[k] := 0; 
      END; 
    // End of the lines.
    
    END ELSE BEGIN
      PrintTotalSubclass := FALSE;
    ...
    
    

    Kôd za zamenu 1

    ...
    IF (PrevFASubclassCode <> "FA Subclass Code") THEN BEGIN
      PrintTotalSubclass := TRUE;
      PrevFASubclassCode := "FA Subclass Code";
    END ELSE BEGIN
      PrintTotalSubclass := FALSE;
    ..
    
    

    Postojeći kôd 2

    ...
    IF (PrevFAclassCode <> "FA Class Code") THEN BEGIN
      PrintTotalclass := TRUE;
      PrevFAclassCode := "FA Class Code";
    
    // Delete the following lines.
      FOR k := 1 TO 14 DO BEGIN   
        TotalClass[k] := 0;  
      END; 
    // End of the lines.
    
    END ELSE BEGIN
      PrintTotalSubclass := FALSE;
    ...
    
    

    Kôd zamene 2

    ...
    IF (PrevFAclassCode <> "FA Class Code") THEN BEGIN
      PrintTotalclass := TRUE;
      PrevFAclassCode := "FA Class Code";
    END ELSE BEGIN
      PrintTotalSubclass := FALSE;
    ..
    
    
  6. Promenite kôd u okidaču "Osnovno sredstvo, telo (8) – "OnPresection" u izveštaju "Knjiga amortizacija" (12119) na sledeći način:
    Postojeći kôd

    ...
    FOR k := 1 TO 14 DO
      TotalInventoryYear[k] += Total[k];
    
    // Delete the following lines.
    FOR k := 1 TO 14 DO 
      TotalClass[k] += Total[k];
    FOR k := 1 TO 14 DO
      TotalSubclass[k] += Total[k]; 
    // End of the lines.
    
    CurrReport.SHOWOUTPUT(PrintDetails);
    ...
    
    

    Kôd za zamenu

    ...
    FOR k := 1 TO 14 DO
      TotalInventoryYear[k] += Total[k];
    
    // Add the following line.
    FillTempFALedgEntry;
    
    CurrReport.SHOWOUTPUT(PrintDetails);
    ..
    
    
  7. Promenite kôd u okidaču "Osnovno imovino", GroupFooter (10) – OnPreSection u izveštaju "Knjiga amortizacija" (12119) na sledeći način:
    Postojeći kôd

    ...
    IF (CurrReport.TOTALSCAUSEDBY <> FIELDNO("Fixed Asset"."FA Subclass Code")) THEN
      CurrReport.SHOWOUTPUT(FALSE);
    ...
    
    

    Kôd za zamenu

    ...
    IF (CurrReport.TOTALSCAUSEDBY <> FIELDNO("Fixed Asset"."FA Subclass Code")) THEN
      CurrReport.SHOWOUTPUT(FALSE);
    
    // Add the following line.
    CalcTotals(TRUE,TotalSubclass);
    ..
    
    
  8. Promenite kôd u okidaču "Osnovno imovino", GroupFooter (11) – OnPreSection u izveštaju "Knjiga amortizacija" (12119) na sledeći način:
    Postojeći kôd

    ...
    IF (CurrReport.TOTALSCAUSEDBY <> FIELDNO("Fixed Asset"."FA Class Code")) THEN
      CurrReport.SHOWOUTPUT(FALSE);
    ...
    
    

    Kôd za zamenu

    ...
    IF (CurrReport.TOTALSCAUSEDBY <> FIELDNO("Fixed Asset"."FA Class Code")) THEN
      CurrReport.SHOWOUTPUT(FALSE);
    
    // Add the following line.
    CalcTotals(FALSE,TotalClass);
    ..
    
    
  9. Kreirajte funkciju CalcTotals u izveštaju "Knjiga amortizacija" (12119). Pratite ove korake da biste to uradili:

    1. Dodajte lokalni parametar, a zatim navedite parametar na sledeći način:

      • Var: Ne
      • Ime: Podklasa
      • Tip podataka:Bulov
    2. Dodajte lokalni parametar, a zatim navedite parametar na sledeći način:

      • Var: Da

      • Ime:TotalAmount

      • Tip podataka:Decimalni broj

        Napomena: Postavite svojstvo "Dimenzija " na 14.

    3. Dodajte lokalnu promenljivu, a zatim navedite promenljivu na sledeći način:

      • Ime:Tip
      • Tip podataka:Ceo broj
    4. Dodajte sledeći kôd u funkciju CalcTotals:

      FOR Type := 1 TO 14 DO BEGIN
        TotalAmount[Type] := 0;
        TempFALedgEntry.RESET;
        IF Subclass THEN BEGIN
          TempFALedgEntry.SETRANGE("Entry No.",FromFALedgEntryNo,NextFALedgEntryNo - 1);
          TempFALedgEntry.SETRANGE("FA Subclass Code","Fixed Asset"."FA Subclass Code");
        END;
        TempFALedgEntry.SETRANGE("FA Class Code","Fixed Asset"."FA Class Code");
        TempFALedgEntry.SETRANGE("Transaction No.",Type);
        IF TempFALedgEntry.FINDSET THEN
          REPEAT
            TotalAmount[Type] := TotalAmount[Type] + TempFALedgEntry.Amount;
          UNTIL TempFALedgEntry.NEXT = 0;
      END;
      
      
  10. Kreirajte funkciju FillTempFALedgEntry u izveštaju "Knjiga amortizacija" (12119). Pratite ove korake da biste to uradili:

    1. Dodajte lokalnu promenljivu, a zatim navedite promenljivu na sledeći način:

      • Ime:x
      • Tip podataka:Ceo broj
    2. Dodajte sledeći kôd u funkciju FillTempFALedgEntry:

      FOR x := 1 TO 14 DO BEGIN
        TempFALedgEntry."Entry No." := NextFALedgEntryNo;
        TempFALedgEntry."FA Class Code" := "Fixed Asset"."FA Class Code";
        TempFALedgEntry."FA Subclass Code" := "Fixed Asset"."FA Subclass Code";
        TempFALedgEntry."Transaction No." := x;
        TempFALedgEntry.Amount := Total[x];
        TempFALedgEntry.INSERT;
        NextFALedgEntryNo := NextFALedgEntryNo + 1;
      END;
      
      

Preduslovi

Morate da imate instaliran jedan od sledećih proizvoda da biste primenili ovu hitnu ispravku:

  • Italijanska verzija servisnog paketa 1 za Microsoft Dynamics NAV 2009
  • Italijanska verzija programa Microsoft Dynamics NAV 2009
  • Italijanska verzija servisnog paketa Microsoft Dynamics NAV 5.0 sa servisnim paketom 1

Informacije o uklanjanju

Ne možete da uklonite ovu hitnu ispravku.

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.

KORPORACIJA MICROSOFT I/ILI NJENI DOBAVLJAČI NE DAJU NIKAKVE IZJAVE NITI GARANCIJE U VEZI SA PODESNOŠĆU, POUZDANOŠĆU ILI TAČNOŠĆU INFORMACIJA KOJE SE NALAZE U DOKUMENTIMA I SRODNOJ GRAFICI OBJAVLJENOJ NA OVOM VEB SAJTU ("MATERIJALI") U BILO KOJE SVRHE.

MATERIJALI MOGU DA SADRŽE TEHNIČKE NETAČNOSTI ILI TIPOGRAFSKE GREŠKE I MOGU SE KORIGOVATI U BILO KOM TRENUTKU BEZ PRETHODNOG OBAVEŠTENJA. U NAJVEĆOJ MERI U KOJOJ TO DOZVOLJAVA PRIMENLJIVI ZAKON, KORPORACIJA MICROSOFT I/ILI NJENI DOBAVLJAČI ODRIČU SE I ISKLJUČUJU SVE IZJAVE, GARANCIJE I USLOVE, BILO IZRIČITE, IMPLICIRANE ILI ZAKONSKE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA, IZJAVE, GARANCIJE ILI USLOVE VLASNIŠTVA, NEKRŠENJA PRAVA, ZADOVOLJAVAJUĆEG STANJA ILI KVALITETA, PODESNOSTI ZA PRODAJU I PODESNOSTI ZA ODREĐENU NAMENU, U VEZI SA MATERIJALIMA.