Datoteka 347 je nepravilna, če imate več strank ali dobaviteljev z isto identifikacijsko številko za davek na dodano vrednost (DDV) kot v španski različici aplikacije Microsoft Dynamics NAV

Velja za
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

Ta članek velja za Microsoft Dynamics NAV za španske jezikovne območne nastavitve.

Znaki

Recimo, da imate več kot eno stranko ali prodajalca, ki ima isto identifikacijsko številko za davek na dodano vrednost (DDV) kot v španski različici Microsoft Dynamics NAV. Če prvi kupec ali dobavitelj nima vnosov, drugi kupec ali dobavitelj pa ima vnose, sistem ne upošteva vnosov druge stranke ali dobavitelja. Zato ustvarjena datoteka 347 ni pravilna. Do te težave pride pri teh izdelkih:

  • Španska različica izdelka Microsoft Dynamics NAV 2009 R2
  • Španska različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
  • Španska različica izdelka Microsoft Dynamics NAV 5.0 s servisnim paketom SP1

Rešitev

Informacije o sprotnih popravkih

Microsoft zdaj ponuja podprt sprotni popravek. Vendar pa je njegov namen le odpraviti težavo, ki je opisana v tem članku. Uporabite ga samo v sistemih, v katerih se je spopadalo s to določeno težavo. Ta sprotni popravek bo morda dodatno pretestiran. Če ta težava ne vpliva resno, priporočamo, da počakate na naslednji servisni paket za Microsoft Dynamics NAV 2009 ali naslednjo različico Microsoft Dynamics NAV, ki vsebuje ta hitri popravek.

Opomba V posebnih primerih so klici za podporo, v katere so običajno vključeni stroški, lahko brezplačni, če strokovnjak za tehnično podporo za Microsoft Dynamics in sorodne izdelke ugotovi, da neka posodobitev lahko odpravi vašo težavo. Običajni stroški podpore veljajo za dodatna vprašanja o podpori in težavah, ki niso povezana z določeno posodobitvijo.

            
          

Informacije o namestitvi

Microsoft ponuja primere programiranja samo za ponazoritev, brez izrecnega ali naznačenega jamstva. To vključuje, vendar ni omejeno na, naznačena jamstva glede primernosti za prodajo ali določen namen. V tem članku predvidevamo, da poznate programski jezik, ki je predstavljen, in orodja, ki se uporabljajo za ustvarjanje postopkov in njihovo odpravljanje napak. Microsoftovi inženirji za podporo vam lahko pomagajo razložiti delovanje določenega postopka, vendar teh primerov ne bodo spremenili, da bi zagotovili dodatno funkcionalnost ali ustvarili postopke, ki izpolnjujejo vaše določene zahteve.

Opomba Preden namestite ta hitri popravek, preverite, ali so vsi uporabniki odjemalca Microsoft Navision odjavljeni iz sistema. To vključuje uporabnike odjemalskih storitev Microsoft Navision Application Services (NAS). Ko uvedete ta sprotni popravek, morate biti edini odjemalski uporabnik, ki je prijavljen.

Če želite uvesti ta sprotni popravek, morate imeti licenco za razvijalce.

Priporočamo, da uporabniškemu računu v oknu »Prijave v Windows« ali »Prijave v zbirko podatkov« dodelite ID vloge »SUPER«. Če uporabniškemu računu ni mogoče dodeliti ID-ja vloge »SUPER«, morate preveriti, ali ima uporabniški račun ta dovoljenja:

  • Dovoljenje »Spremeni« za predmet, ki ga boste spreminjali.
  • Dovoljenje za izvajanje za predmet »Sistemski predmet z ID-jem 5210« in za predmet »Sistemski predmet z ID-jem 9015«.

                
Opomba: Če morate popraviti podatke, vam ni treba imeti pravic do podatkovnih shramb.

Spremembe kode

Opomba: Popravke kode vedno preskusite v nadzorovanem okolju, preden jih uporabite v produkcijskih računalnikih.
To težavo odpravite tako:

  1. Spremenite kodo v podatkovnem elementu številka 6 v poročilu deklaracije Make 347 (10707) tako:
    Obstoječa koda

    ...
    IF Vendor."VAT Registration No." <> '' THEN BEGIN
    TotalNotIn347Amt := TotalNotIn347Amt + NotIn347Amt + AmtSameVATRegNo;
    
    // Delete the following line.
    PurchasesAmt := PurchasesAmt - NotIn347Amt;
    // End of the line.
    
    IF PurchasesAmt >= MinAmount THEN BEGIN
    IF PostCode347 = ' ' THEN
    ERROR(Text1100009,Vendor."No.");
    ...
    
    

    Nadomestna koda

    ...
    IF Vendor."VAT Registration No." <> '' THEN BEGIN
    TotalNotIn347Amt := TotalNotIn347Amt + NotIn347Amt + AmtSameVATRegNo;
    
    // Add the following line.
    PurchasesAmt := PurchasesAmt - NotIn347Amt + AmtSameVATRegNo; // ES0001
    // End of the line.
    
    IF PurchasesAmt >= MinAmount THEN BEGIN
    IF PostCode347 = ' ' THEN
    ERROR(Text1100009,Vendor."No.");
    ...
    
    
  2. Spremenite kodo v funkciji »CheckSameVATRegNo« v poročilu »Make 347 Declaration« (10707) na naslednji način:
    Obstoječa koda 1

    ...
    VATEntry3@1100000 : Record 254;
    BEGIN
    VATEntry3.SETCURRENTKEY(Type,"Country/Region Code","VAT Registration No.");
    
    // Delete the following line.
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Sale);
    // End of the line.
    
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    ...
    
    

    Nadomestna koda 1

    ...
    VATEntry3@1100000 : Record 254;
    BEGIN
    VATEntry3.SETCURRENTKEY(Type,"Country/Region Code","VAT Registration No.");
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    ...
    
    

    Obstoječa koda 2

    ...
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    ...
    
    

    Nadomestna koda 2

    ...
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    
    // Add the following line.
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Sale); // ES0001
    // End of the line.
    
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    ...
    
    

    Obstoječa koda 3

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    ...
    
    

    Nadomestna koda 3

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    
    // Add the following line.
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Purchase); // ES0001
    // End of the line.
    
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    ...
    
    

    Obstoječa koda 4

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    
    // Delete the following line.
    VATEntry3.SETRANGE("Posting Date",FromDate,ToDate);
    // End of the line.
    
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    ...
    
    

    Nadomestna koda 4

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    
    // Add the following line.
    VATEntry3.SETRANGE("Document Date",FromDate,ToDate); // ES0001
    // End of the line.
    
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    ...
    
    

    Obstoječa koda 5

    ...
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    
    // Delete the following line.
    Amt := ABS(Amt + VATEntry3.Base + VATEntry3.Amount);
    // End of the line.
    
    UNTIL VATEntry3.NEXT = 0;
    EXIT(Amt);
    END;
    ...
    
    

    Nadomestna koda 5

    ...
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    
    // Add the following lines.
    // ES0001.begin
    IF IsCustomer THEN
    Amt := Amt - VATEntry3.Base - VATEntry3.Amount
    ELSE
    Amt := Amt + VATEntry3.Base + VATEntry3.Amount;
    // ES0001.end
    // End of the lines.
    
    UNTIL VATEntry3.NEXT = 0;
    EXIT(Amt);
    END;
    ...
    
    

Pogoji

Če želite uporabiti ta sprotni popravek, morate imeti nameščenega enega od teh izdelkov:

  • Španska različica izdelka Microsoft Dynamics NAV 2009 R2
  • Španska različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
  • Španska različica izdelka Microsoft Dynamics NAV 5.0 s servisnim paketom SP1

Informacije o odstranitvi

Tega sprotnega popravka ne morete odstraniti.

Stanje

Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.

Opomba: To je članek »FAST PUBLISH«, ki je bil ustvarjen neposredno v organizaciji za Microsoftovo podporo. Informacije v tem dokumentu so na voljo takšne, kot odgovor na nastajajoče težave. Zaradi hitrosti njihove razpoložljivosti lahko gradivo vsebuje tipkarske napake in jih je mogoče kadarkoli pregledati brez obvestila. Za druga priporočila si oglejte Pogoje uporabe .