Korjausmerkintöjä ei ryhmitetä kuukausiraporttiin tai neljännesvuosiraporttiin odotetulla tavalla, kun tulostat ja viet merkinnät Microsoft Dynamics NAV:n italiankielisessä versiossa

Käytetään kohteeseen
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 2009 R2 Microsoft Dynamics NAV 5.0 Service Pack 1

Tämä artikkeli koskee Microsoft Dynamics NAV -kieliasetusta italiankielisessä kielialueessa.

Ongelman ilmenemistapa

Kun tulostat ja viet korjausmerkintöjä, jotka liittyvät Tuotteisiin (ei palvelua) Microsoft Dynamics NAV :n italiankielisessä versiossa, raportteja ja tiedostoja ei ryhmitetä kuukausiraporttiin tai neljännesvuosiraporttiin odotetulla tavalla.
Tämä ongelma ilmenee seuraavissa tuotteissa:

  • Microsoft Dynamics NAV 2009 Service Pack 1:n (SP1) italiankielinen versio
  • Microsoft Dynamics NAV 2009 R2:n italiankielinen versio
  • Microsoft Dynamics NAV 5.0 Service Pack 1 :n (SP1) italiankielinen versio

Ratkaisu

Hotfix-tiedot

Tuettu hotfix-korjaus on nyt saatavilla Microsoftilta. Sen tarkoituksena on kuitenkin korjata vain tässä artikkelissa kuvattu ongelma. Käytä sitä vain järjestelmissä, joissa on tämä ongelma. Tämä hotfix-korjaus voi saada lisätestejä. Jos ongelma ei siis vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 2009 Service Pack -pakettia tai seuraavaa Microsoft Dynamics NAV -versiota, joka sisältää tämän hotfix-korjauksen.

Huomautus Erityistapauksissa tukipuheluista tavallisesti aiheutuvat maksut voidaan peruuttaa, jos Microsoft Dynamicsin ja siihen liittyvien tuotteiden teknisen tuen asiantuntija määrittää, että tietty päivitys ratkaisee ongelmasi. Tavanomaiset tukikustannukset koskevat muita tukikysymyksiä ja -ongelmia, jotka eivät ole oikeutettuja kyseiseen päivitykseen.

            
          

Asennustiedot

Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä niin, että ne tarjoaisivat lisätoimintoja tai laativat menetelmiä erityisvaatimusten täyttämiseksi.

Huomautus Varmista ennen tämän hotfix-korjauksen asentamista, että kaikki Microsoft Navision -asiakasohjelman käyttäjät ovat kirjautuneet ulos järjestelmästä. Tämä koskee myös Microsoft Navision Application Services (NAS) -asiakaskäyttäjiä. Sinun pitäisi olla ainoa asiakaskäyttäjä, joka on kirjautunut sisään, kun otat tämän hotfix-korjauksen käyttöön.

Jotta voit ottaa tämän hotfix-korjauksen käyttöön, sinulla on oltava kehittäjän käyttöoikeus.

Suosittelemme, että käyttäjätilille, joka on Windowsin kirjautumisikkunassa tai Tietokannan kirjautumiset -ikkunassa, määritetään "SUPER"-roolitunnus. Jos käyttäjätilille ei voi määrittää "SUPER"-roolitunnusta, sinun on varmistettava, että käyttäjätilillä on seuraavat käyttöoikeudet:

  • Muutettavan objektin Muokkaa-käyttöoikeus.
  • System Object ID 5210 -objektin ja System Object ID 9015 -objektin Suoritus-oikeus.

                
Huomautus Sinulla ei tarvitse olla oikeuksia tietosäilöihin, ellei sinun tarvitse korjata tietoja.

Koodin muutokset

Huomautus Testaa koodikorjaukset aina valvotussa ympäristössä, ennen kuin otat korjaukset käyttöön tuotantotietokoneissasi.
Voit ratkaista tämän ongelman seuraavasti:

  1. Muuta Intrastat Jnl:n OnAfterGetRecord-käynnistimen koodia. Raportin rivi (501) seuraavasti:
    Olemassa oleva koodi 1

    ...
            SupplUnits := "Intrastat Jnl. Line".Quantity;
    
    // Delete the following lines.
       { "Intra - form Buffer".RESET;
        IF "Intra - form Buffer".GET(
          "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
          "Intrastat Jnl. Line"."Tariff No.","Intrastat Jnl. Line"."Group Code","Intrastat Jnl. Line"."Transport Method",
          "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area,
          "Intrastat Jnl. Line"."Corrective entry")
        THEN BEGIN
          "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
          "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
            "Intrastat Jnl. Line"."Source Currency Amount";
          "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
          "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
            "Intrastat Jnl. Line"."Statistical Value";
          "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
          "Intra - form Buffer".MODIFY;
        END ELSE BEGIN
          "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
          "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
          "Intra - form Buffer".Quantity := SupplUnits;
          "Intra - form Buffer"."No." := 0;
          "Intra - form Buffer"."User ID" := USERID;
          "Intra - form Buffer".INSERT;
      END; }
    // End of the deleted lines.
    
      END ELSE BEGIN          // Corrective Entry
    ...
    

    Korvaava koodi 1

    ...
      SupplUnits := "Intrastat Jnl. Line".Quantity;
    
      END ELSE BEGIN          // Corrective Entry
    ...
    

    Nykyinen koodi 2

    ...
           LineNo := LineNo +1;
    
    // Delete the following lines.
     "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");  
     "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
     "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."No." := LineNo;
     "Intra - form Buffer".INSERT;
     END 
    // End of the deleted lines.
    
    END;
    ...
    

    Korvaava koodi 2

    ...
         LineNo := LineNo +1;
    
    // Add the following lines.
      END;   
      GroupIntraJnlLineIntoBuffer; 
    // End of the added lines.
    
    END;
    ...
    
  2. Valitse raportissa (501) Näytä valikosta C/AL Globals ja lisää funktiovälilehteen seuraava funktio: GroupIntraJnlLineIntoBuffer. Lisää sitten koodi luotuun GroupIntraJnlLineIntoBuffer-funktioon seuraavasti:

    "Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET(
      "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
      "Intrastat Jnl. Line"."Tariff No.","Intrastat Jnl. Line"."Group Code","Intrastat Jnl. Line"."Transport Method",
      "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area,
      "Intrastat Jnl. Line"."Corrective entry",0,"Intrastat Jnl. Line"."Service Tariff No.")
    THEN BEGIN
      "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
      "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
        "Intrastat Jnl. Line"."Source Currency Amount";
      "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
        "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
      "Intrastat Jnl. Line"."Statistical Value";
      "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
      "Intra - form Buffer".MODIFY;
    END ELSE BEGIN
      "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
      "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
      "Intra - form Buffer".Quantity := SupplUnits;
      "Intra - form Buffer"."No." := 0;
      "Intra - form Buffer"."User ID" := USERID;
      "Intra - form Buffer".INSERT;
    END;
    
    
  3. Muuta koodia Intrastat Jnl:n OnAfterGetRecord-käynnistimessä (593) seuraavasti:
    Olemassa oleva koodi 1

    ...
         SupplUnits := "Intrastat Jnl. Line".Quantity;
    
    // Delete the following lines.
        {"Intra - form Buffer".RESET;
        IF "Intra - form Buffer".GET("Intrastat Jnl. Line"."VAT Registration No.",
          "Intrastat Jnl. Line"."Transaction Type", "Intrastat Jnl. Line"."Tariff No.",
          "Intrastat Jnl. Line"."Group Code", "Intrastat Jnl. Line"."Transport Method",
          "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode,
          "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry")
        THEN BEGIN
          //"Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;//old line
          "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1);//new line
          "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
            "Intrastat Jnl. Line"."Source Currency Amount";
          "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
          "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
            //"Intrastat Jnl. Line"."Statistical Value"; //old line
            ROUND("Intrastat Jnl. Line"."Statistical Value",1); //new line
          "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
          "Intra - form Buffer".MODIFY;
          //TotalAmount += ABS(ROUND(Amount,1));//old line
          TotalAmount += ROUND(Amount,1);    //new line
        END ELSE BEGIN
          "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
          "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line
          "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1); //new line
          "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
          "Intra - form Buffer".Quantity := SupplUnits;
          "Intra - form Buffer"."User ID" := USERID;
          "Intra - form Buffer"."No." := 0;
          "Intra - form Buffer".INSERT;
          //TotalAmount += ABS(ROUND(Amount,1));//old line
          TotalAmount += ROUND(Amount,1);    //new line
          TotalRecords += 1;
        END;}
    // End of the deleted lines.
    
      END ELSE BEGIN          //Corrective E ntry
        IF STRLEN("Reference Period") <> 4 THEN   
    ...
    

    Korvaava koodi 1

    ...
          SupplUnits := "Intrastat Jnl. Line".Quantity;
      END ELSE BEGIN          //Corrective Entry
        IF STRLEN("Reference Period") <> 4 THEN 
    ...
    

    Nykyinen koodi 2

    ...
         CheckCorrectiveStatPeriod;
    
    // Delete the following lines.
        "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
        "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line 
        "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1); 
        "Intra - form Buffer"."User ID" := USERID;
        "Intra - form Buffer".INSERT; 
         TotalAmount += ROUND(Amount,1);  
         TotalRecords += 1; 
        OldReferencePeriod := "Reference Period";  
      //END   
    // End of the deleted lines.
    
    END;
    ...
    

    Korvaava koodi 2

    ...
        CheckCorrectiveStatPeriod;
    
    // Add the following lines.
      END;
      GroupIntraJnlLineIntoBuffer;
    // End of the added lines.
    
    END;
    ...
    
  4. Valitse raportissa (593) Näytä valikosta C/AL Globals ja lisää funktiovälilehteen seuraava funktio: GroupIntraJnlLineIntoBuffer. Lisää sitten koodi luotuun GroupIntraJnlLineIntoBuffer-funktioon seuraavasti:

    "Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET("Intrastat Jnl. Line"."VAT Registration No.",
      "Intrastat Jnl. Line"."Transaction Type", "Intrastat Jnl. Line"."Tariff No.",
      "Intrastat Jnl. Line"."Group Code", "Intrastat Jnl. Line"."Transport Method",
      "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode,
      "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry",0,"Intrastat Jnl. Line"."Service Tariff No.")
    THEN BEGIN
      "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1);
      "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
        "Intrastat Jnl. Line"."Source Currency Amount";
      "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
      "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
        ROUND("Intrastat Jnl. Line"."Statistical Value",1);
      "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
      "Intra - form Buffer".MODIFY;
      TotalAmount +=ROUND("Intrastat Jnl. Line".Amount,1);
    END ELSE BEGIN
      "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
      "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
      "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);
      "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1);
      "Intra - form Buffer".Quantity := SupplUnits;
      "Intra - form Buffer"."User ID" := USERID;
      "Intra - form Buffer"."No." := 0;
      "Intra - form Buffer".INSERT;
      TotalAmount += ROUND("Intrastat Jnl. Line".Amount,1);
      TotalRecords += 1;
    END;
    
    

          

Edellytykset

Sinulla on oltava asennettuna jokin seuraavista tuotteista, jotta voit käyttää tätä hotfix-korjausta:

  • Microsoft Dynamics NAV 2009 Service Pack 1:n (SP1) italiankielinen versio
  • Microsoft Dynamics NAV 2009 R2:n italiankielinen versio
  • Microsoft Dynamics NAV 5.0 Service Pack 1 :n (SP1) italiankielinen versio

                
              

Poistotiedot

Et voi poistaa tätä hotfix-korjausta.

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Viitteet

VSTF DynamicsNAV SE: 237988, 237989

Huomautus Tämä on FAST PUBLISH -artikkeli, joka on luotu suoraan Microsoftin tukiorganisaatiosta. Tässä annetut tiedot annetaan sellaisenaan vastauksena uusiin ongelmiin. Koska materiaalit ovat nopeasti käytettävissä, ne voivat sisältää typografisia virheitä, ja niitä voidaan muuttaa milloin tahansa ilman ennakkoilmoitusta. Lisätietoja on ohjeaiheessa Käyttöehdot .