"Kauba nr. [Item_No.] puudub" tõrketeade, kui proovite ümber registreerida hankijaandmiku kirjete vormis Microsoft Dynamics NAV 2009 R2 venekeelses versioonis koos funktsioonipaketiga Feature Pack 1

Rakenduskoht
Dynamics NAV 2009

See artikkel kehtib Microsoft Dynamics NAV vene keele (ru) lokaadi kohta.

Sümptomid

Kui rakenduse Microsoft Dynamics NAV 2009 R2 venekeelses versioonis koos funktsioonipaketiga Feature Pack 1, kui tabelil KM kanne (254) on KM jaotuse muutmise toimingud, siis kui proovite vormil Hankijaandmiku kanded registreerimist tühistada, kuvatakse järgmine tõrketeade:

Märkus.

Kauba nr. Item_No. pole olemas.

      

Lahendus

Kiirparanduse teave

Microsoftilt on nüüd saadaval toetatud kiirparandus. Siiski on see mõeldud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavaid katseid. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist Microsoft Dynamics NAV 2009 hoolduspaketti või järgmist Microsoft Dynamics NAV versiooni, mis sisaldab seda kiirparandust.

Märkus. Erijuhtudel võidakse tavaliselt tugiteenuse kõnede eest tehtud tasud tühistada, kui Microsoft Dynamicsi ja seotud toodete tehniline tugitöötaja leiab, et konkreetne värskendus lahendab teie probleemi. Tavapärased toetuskulud kehtivad täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis ei vasta kõnealuse värskenduse tingimustele.

            
          

Installiteave

Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ja tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse protseduuri funktsionaalsust, kuid nad ei muuda neid näiteid selleks, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure.

Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navisioni klientrakenduse kasutajad oleksid süsteemist välja logitud. See hõlmab ka Microsoft Navision Application Servicesi (NAS) klientkasutajaid. Peaksite olema ainus klientkasutaja, kes on sisse logitud, kui rakendate selle kiirparanduse.

Selle kiirparanduse rakendamiseks peab teil olema arendaja litsents.

Soovitame, et aknas Windowsi sisselogimised või aknas Andmebaasi sisselogimised olevale kasutajakontole määrataks "SUPER" rolli ID. Kui kasutajakontole ei saa superrolli ID-d määrata, peate kontrollima, kas kasutajakontol on järgmised õigused.

  • Muudetava objekti muutmisõigus.
  • Süsteemiobjekti ID 5210 ja süsteemiobjekti ID 9015 täitmisõigus.

                
Märkus. Teil pole andmesalvede jaoks õigusi, kui te ei pea tegema andmete parandamist.

Koodi muudatused

Märkus. Enne paranduste rakendamist tööarvutitele testige koodiparandusi alati kontrollitud keskkonnas.
Probleemi lahendamiseks tehke järgmist.
Märkus Välja (12490) loomiseks kasutage järgmist FOB-faili.

Faili nimi Failiversioon Faili maht Kuupäev Kellaaeg Platvorm
Vstf260227.fob Pole rakendatav 169,340 03. juuni 2011 10:08 Pole rakendatav

Microsoft Dynamicsi failist Exchange Server on allalaadimiseks saadaval järgmine fail:

https://mbs2.microsoft.com/fileexchange/?fileID=5f52394d-7020-4d24-98b4-909002c45cfe Väljaandmiskuupäev 2. aprill 2014

   Microsoft kontrollis seda faili viiruste suhtes. Microsoft kasutas kõige ajakohasemat viirusetuvastustarkvara, mis oli saadaval faili postitamiskuupäeval. Fail talletatakse täiustatud turbega serverites, mis aitavad ära hoida faili volitamata muudatusi.

  1. Muutke koodi tabelis Pöördkanne (179) järgmiselt.

    1. Lisage järgmine väli: { 12490; ; KÄIBEMAKSU jaotamine ; Kahendmuutuja }

    2. Muutke funktsiooni InsertReversalEntry koodi järgmiselt.
      Olemasolev kood

      ...
                        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.");
      ...
      

      Asenduskood

      ...
                       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. Muutke funktsiooni CheckEntries koodi järgmiselt.
      Olemasolev kood 1

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

      Asenduskood 1

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

      Olemasolev kood 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;    
      ...
      

      Asenduskood 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;
      ...
      

      Olemasolev kood 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;   
      ...
      

      Asenduskood 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. Muutke funktsiooni SetReverseFilter koodi järgmiselt.
      Olemasolev kood 1

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

      Asenduskood 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);
      ...
      

      Olemasolev kood 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); 
      ...
      

      Asenduskood 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. Muutke funktsiooni VATAllocationExist koodi järgmiselt.
      Olemasolev kood

      ...
      // 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);   
      ...
      

      Asenduskood

      ...
      // 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. Muutke funktsiooni Post koodi vormil Pöördkanded (179) järgmiselt.
    Lisage järgmine kohalik muutuja:

    • Nimi: VATAllocOnCost
    • Andmetüüp: kahendmuutuja

    Olemasolev kood 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."; 
    ...
    

    Asenduskood 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.";
    ...
    

    Olemasolev kood 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."    
    ...
    

    Asenduskood 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." 
    ...
    

          

Eeltingimused

Selle kiirparanduse rakendamiseks peab teil olema installitud Microsoft Dynamics NAV 2009 R2 vene versioon koos funktsioonipaketiga Feature Pack 1.

Eemaldamisteave

Seda kiirparandust ei saa eemaldada.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Viited

VSTF DynamicsNAV SE: 260227

Märkus. See on otse Microsofti tugiteenuste organisatsioonist loodud FAST PUBLISH-artikkel. Käesolevas artiklis sisalduv teave on esitatud kujul, mis on seotud tekkivate küsimustega. Materjali kättesaadavaks tegemise kiiruse tõttu võivad materjalid sisaldada kirjavigu ja neid võib igal ajal ette teatamata läbi vaadata. Muid kaalutlusi leiate teemast Kasutustingimused .