"Kohteen nro. [Item_No.] ei ole olemassa" -virhesanoma, kun yrität peruuttaa rekisteröintiä Toimittajatapahtumat-lomakkeessa Microsoft Dynamics NAV 2009 R2:n venäjänkielisessä versiossa Feature Pack 1:n kanssa

Käytetään kohteeseen
Dynamics NAV 2009

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa venäjän (ru) kielikielellä.

Ongelman ilmenemistapa

Jos Venäjänkielisessä Microsoft Dynamics NAV 2009 R2 -versiossa, jossa on Feature Pack 1, jos ALV-merkintätaulukossa (254) on ALV-varausmuutostoimintoja, saat seuraavan virhesanoman, kun yrität peruuttaa rekisteröintiä Toimittajatapahtumat-lomakkeessa:

Huomautus

Kohteen nro Item_No. ei ole olemassa.

      

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:
Huomautus Voit luoda kentän (12490) käyttämällä seuraavaa .fob-tiedostoa.

Tiedoston nimi Tiedostoversio Tiedoston koko Päivämäärä Aika Käyttöympäristö
Vstf260227.fob Ei käytettävissä 169,340 3.6.2011 10:08 Ei käytettävissä

Seuraava tiedosto on ladattavissa Microsoft Dynamics File -Exchange Server:

https://mbs2.microsoft.com/fileexchange/?fileID=5f52394d-7020-4d24-98b4-909002c45cfe Julkaisupäivä: 2. huhtikuuta 2014

   Microsoft skannasi tämän tiedoston virusten takia. Microsoft käytti uusimpia virusten tunnistusohjelmistoja, jotka olivat käytettävissä tiedoston julkaisupäivänä. Tiedosto on tallennettu suojatuille palvelimille, jotka auttavat estämään tiedoston luvattomat muutokset.

  1. Muuta koodia Peruutusmerkintä-taulukossa (179) seuraavasti:

    1. Lisää seuraava kenttä: { 12490; ; ALV-varaus ; Totuusarvo }

    2. Muuta InsertReversalEntry-funktion koodia seuraavasti:
      Aiemmin luotu koodi

      ...
                        ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type";
      
                      ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No.";
      
                      ReversalEntry."Line No." := NextLineNo;
      
                      NextLineNo := NextLineNo + 1;
      
                      ReversalEntry.INSERT;
      
      
      
                      IF GLEntry.Amount > 0 THEN BEGIN
      
                        GLItemLedgRelation.RESET;
      
                        GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No.");
      ...
      

      Korvaava koodi

      ...
                       ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type";
      
                      ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No.";
      
                      ReversalEntry."Line No." := NextLineNo;
      
      // Add the following line.
                      ReversalEntry."VAT Allocation" := VATAllocOnCost; 
      // End of the added line.
      
                      NextLineNo := NextLineNo + 1;
      
                      ReversalEntry.INSERT;
      
      
      
                      IF GLEntry.Amount >0 THEN BEGIN
      
                        GLItemLedgRelation.RESET;
      
                       GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No."); 
      ...
      
    3. Muuta CheckEntries-funktion koodia seuraavasti:
      Olemassa oleva koodi 1

      ...
          PROCEDURE CheckEntries@14();   
      ...
      

      Korvaava koodi 1

      ...
         PROCEDURE CheckEntries@14(IsVATAllocOnCost@1000000000 : Boolean);        
      ...
      

      Nykyinen koodi 2

      ...
            MaxPostingDate := 0D;
      
            IF NOT GLEntry.FIND('-') THEN
      
              ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION);
      
      // Delete the following line.
            VATAllocOnCost := VATAllocationExist(VATEntry); 
      // End of the deleted line.
      
            IF GLEntry.FIND('-') THEN BEGIN
      
      // Delete the following line.
              IF (GLEntry."Journal Batch Name" = '') AND NOT VATAllocOnCost THEN 
      // End of the deleted line.
      
                TestFieldError;
      
              REPEAT
      
                CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount);
      
              UNTIL GLEntry.NEXT = 0;
      
            END;    
      ...
      

      Korvaava koodi 2

      ...
               MaxPostingDate := 0D;
      
            IF NOT GLEntry.FIND('-') THEN
      
              ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION);
      
            IF GLEntry.FIND('-') THEN BEGIN
      
      // Add the following line.
              IF (GLEntry."Journal Batch Name" = '') AND NOT IsVATAllocOnCost THEN
      // End of the added line.
      
                TestFieldError;
      
              REPEAT
      
                CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount);
      
              UNTIL GLEntry.NEXT = 0;
      
            END;
      ...
      

      Olemassa oleva koodi 3

      ...
             IF VATEntry.FIND('-') THEN
      
              REPEAT
      
                CheckVAT(VATEntry);
      
              UNTIL VATEntry.NEXT = 0;
      
      // Delete the following line.
            IF VATAllocOnCost THEN 
      // End of the deleted line.
      
              IF ValueEntry.FIND('-') THEN
      
                REPEAT
      
                  CheckItem(ValueEntry);
      
                UNTIL ValueEntry.NEXT = 0;   
      ...
      

      Korvaava koodi 3

      ...
             IF VATEntry.FIND('-') THEN
      
              REPEAT
      
                CheckVAT(VATEntry);
      
              UNTIL VATEntry.NEXT = 0;
      
      // Add the following line.
            IF IsVATAllocOnCost THEN 
      // End of the added line.
      
              IF ValueEntry.FIND('-') THEN
      
                REPEAT
      
                  CheckItem(ValueEntry);
      
                UNTIL ValueEntry.NEXT = 0;  
      ...
      
    4. Muuta SetReverseFilter-funktion koodia seuraavasti:
      Olemassa oleva koodi 1

      ...
                 TaxDiffEntry.SETRANGE("Transaction No.",Number);
      
            END ELSE BEGIN
      
              GLReg.GET(Number); 
      ...
      

      Korvaava koodi 1

      ...
               TaxDiffEntry.SETRANGE("Transaction No.",Number);
      
      // Add the following line.
             ValueEntry.SETRANGE("Entry No.",0); 
      // End of the added line.
      
            END ELSE BEGIN
      
              GLReg.GET(Number);
      ...
      

      Nykyinen koodi 2

      ...
                 VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No.");
      
              GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No.");
      
              GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No.");
      
              IF GLItemLedgRelation.FINDFIRST THEN
      
                FromValueEntryNo := GLItemLedgRelation."Value Entry No.";
      
              IF GLItemLedgRelation.FINDLAST THEN
      
                ToValueEntryNo := GLItemLedgRelation."Value Entry No.";
      
              ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo); 
      ...
      

      Korvaava koodi 2

      ...
              VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No.");
      
      // Add the following lines.
              FromValueEntryNo := 0; 
      
              ToValueEntryNo := 0; 
      
              IF VATAllocOnCost THEN BEGIN 
      // End of the added lines.
      
                GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No.");
      
                GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No.");
      
                IF GLItemLedgRelation.FINDFIRST THEN
      
                  FromValueEntryNo := GLItemLedgRelation."Value Entry No.";
      
                IF GLItemLedgRelation.FINDLAST THEN
      
                  ToValueEntryNo := GLItemLedgRelation."Value Entry No.";
      // Add the following line.
              END;
      // End of the added line.
      
              ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo);  
      ...
      
    5. Muuta VATAllocationExist-funktion koodia seuraavasti:
      Aiemmin luotu koodi

      ...
      // Delete the following line.
             VATEntry2.COPYFILTERS(VATEntry2); 
      // End of the deleted line.
      
            VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge);
      
            EXIT(NOT VATEntry2.ISEMPTY);   
      ...
      

      Korvaava koodi

      ...
      // Add the following line.
             VATEntry2.COPYFILTERS(VATEntry); 
      // End of the added line.
      
            VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge);
      
            EXIT(NOT VATEntry2.ISEMPTY);  
      ...
      
  2. Muuta Käänteiset merkinnät -lomakkeen (179) Post-funktion koodia seuraavasti:
    Lisää seuraava paikallinen muuttuja:

    • Nimi: VATAllocOnCost
    • DataType: Totuusarvo

    Olemassa oleva koodi 1

    ...
                IF TempGLReg.FINDSET THEN
    
                REPEAT
    
                  ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type");
    
    // Delete the following line.
                  ReversalEntry2.CheckEntries;  
    // End of the deleted line.
    
                  GET(1);
    
                  IF "Reversal Type" = "Reversal Type"::Register THEN
    
                    Number := TempGLReg."No."
    
                  ELSE
    
                    Number := "Transaction No."; 
    ...
    

    Korvaava koodi 1

    ...
                 IF TempGLReg.FINDSET THEN
    
                REPEAT
    
    // Add the following lines.
                  SETRANGE("G/L Register No.",TempGLReg."No."); 
    
                  SETRANGE("VAT Allocation",TRUE); 
    
                  VATAllocOnCost := NOT ISEMPTY; 
    // End of the added lines.
    
                  ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type");
    
    // Add the following line.
                  ReversalEntry2.CheckEntries(VATAllocOnCost); 
    // End of the added line.
    
                  GET(1);
    
                  IF "Reversal Type" = "Reversal Type"::Register THEN
    
                    Number := TempGLReg."No."
    
                  ELSE
    
                    Number := "Transaction No.";
    ...
    

    Nykyinen koodi 2

    ...
              UNTIL TempGLReg.NEXT = 0;
    
            END ELSE BEGIN
    
              ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type");
    
    // Delete the following line.
              ReversalEntry2.CheckEntries; 
    // End of the deleted line.
    
              GET(1);
    
              IF "Reversal Type" = "Reversal Type"::Register THEN
    
                Number := "G/L Register No."    
    ...
    

    Korvaava koodi 2

    ...
                 UNTIL TempGLReg.NEXT = 0;
    
            END ELSE BEGIN
    
    // Add the following lines.
              SETRANGE("G/L Register No.",TempGLReg."No."); 
    
              SETRANGE("VAT Allocation",TRUE); 
    
              VATAllocOnCost := NOT ISEMPTY; 
    // End of the added lines.
    
              ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type");
    
    // Add the following line.
              ReversalEntry2.CheckEntries(VATAllocOnCost); 
    // End of the added line.
    
              GET(1);
    
              IF "Reversal Type" = "Reversal Type"::Register THEN
    
                Number := "G/L Register No." 
    ...
    

          

Edellytykset

Tämän hotfix-korjauksen asentaminen edellyttää, että sinulla on Microsoft Dynamics NAV 2009 R2:n venäjänkielinen versio ja Feature Pack 1 asennettuna.

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: 260227

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 .