Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Sümptomid

Alused ja summa sama km % ja km raha kaasatud hispaaniakeelses versioonis Microsoft Dynamics nav-i 2009 340 deklaratsiooni perioodi valesti rühmitatud.
Sama stsenaarium tavapäraseid töötab ootuspäraselt, eraldades iga arve olenemata sellest, kas neil on sama km %. Järgige juhiseid koodi muudatusi selle probleemi lahendamiseks jaotisse. See probleem ilmneb järgmiste toodetega:

  • Hispaaniakeelses versioonis Microsoft Dynamics nav-i 2009 R2

  • Hispaaniakeelses versioonis Microsoft Dynamics nav-i 2009 SP1

Lahendus

Kiirparanduse teave

Lasknud välja toetatava käigultparanduse on nüüd Microsoftilt saadaval. Kuid see on ette nähtud ainult selles artiklis kirjeldatud probleemi kõrvaldamiseks. Rakendage seda ainult süsteemides, kus ilmneb see konkreetne probleem. Seda käigultparandust võidakse täiendavalt testida. Seega, kui probleem teie tööd tõsiselt ei kahjusta, soovitame oodata järgmist hoolduspaketti Microsoft Dynamics nav-i 2009 või järgmise Microsoft Dynamics nav-i versiooni, mis sisaldab seda kiirparandust.

Märkus. Erijuhtudel kulud, mis tekivad teatud palub tühistada saab kui tehniline toetus Professional Microsoft Dynamics ja nendega seotud toodete leiab, et mõni konkreetne värskendus lahendab teie probleemi. Tavaline tugiteenuste kohaldatakse täiendavat tugiteenust vajavatele küsimustele ning probleemidele, mis pole lahendatavad konkreetse värskenduse installimisega.

Installiteave

Microsoft pakub programmeerimisnäiteid ainult artikli illustreerimiseks ilma igasuguse otsese või kaudse garantiita. See hõlmab, kuid ei piirdu kaudseid garantiisid turustatavuse või kindlaks otstarbeks sobivusega. See artikkel eeldab, et olete demonstreeritava programmeerimiskeelega programmeerimise keel ning luua protseduuride ja silumiseks kasutatavate tööriistadega tuttav. Microsofti tugitehnikud võivad aidata mõne konkreetse protseduuri talitlust selgitada. Siiski ei muuda nad neid näiteid lisafunktsioonide pakkumiseks ega Koosta vastavaid protseduure teie konkreetsetele nõuetele.

Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Dynamics nav-i kliendi kasutajat sisse loginud süsteem välja. See hõlmab Microsoft Dynamics nav-i rakenduste Server (NAS) teenuseid. Peaks olema ainult kliendi kasutaja on sisse logitud, kui otsustate seda käigultparandust.

Selle kiirparanduse rakendamiseks peab teil olema arendaja litsentsi.

Soovitame Windowsi sisselogimise aken või aken andmebaasi logimine kasutajakonto määrata "SUPER" rolli ID. Kui "SUPER" rolli ID-d ei saa määratud kasutajakonto, peate veenduma, et kasutaja konto on järgmised õigused:

  • Sa muutuvad objekti Muuda õigusi.

  • Käivita luba süsteemi objekti ID 5210 objekti ja süsteemi objekti ID 9015

    objekti.

Märkus. Teil pole õigust andmeid talletab enne, kui olete andmete parandamiseks.

Koodi muudatusi

Märkus. Alati test koodi lahendab kontrollitavas keskkonnas enne rakendamist tootmine arvutite parandused.

Selle probleemi lahendamiseks toimige järgmiselt.

  1. Teha 340 deklaratsiooni aruandes (10743) koodi muutmiseks järgmiselt:
    Kood 1

    ...   END;
    END;

    // Delete the following line.
    OnAfterGetRecord=BEGIN
    // End of the deleted line.

    OperationCode := GetOperationCode(VATEntry2);

    VATBuffer."VAT %" := "VAT %";
    ...

    Kood 1

    ... END;
    END;

    // Add the following lines.
    OnAfterGetRecord=VAR
    VendLedgEntryAppl@1100000 : Record 25;
    NewEntry@1100001 : Boolean;
    BEGIN
    // End of the added lines.

    OperationCode := GetOperationCode(VATEntry2);

    VATBuffer."VAT %" := "VAT %";
    ...

    Kood 2

    ... VATBuffer.Amount := Amount;
    END;
    VATBuffer.INSERT;

    // Delete the following lines.

    IF Type = VATEntry.Type::Purchase THEN BEGIN
    VATEntryTemporary := VATEntry2;
    VATEntryTemporary.INSERT;
    END;
    END;
    // End of the deleted lines.

    END;

    TotalFields=Base,Amount;
    ...

    Asendamine kood 2

    ...VATBuffer.Amount := Amount;
    END;
    VATBuffer.INSERT;

    // Add the following lines.
    END;

    IF Type = VATEntry.Type::Purchase THEN
    IF HasBeenRealized("Entry No.") OR ("Unrealized VAT Entry No." <> 0) THEN BEGIN
    NewEntry := CheckVLEApplication(VATEntry2);

    VATEntryTemporary.SETRANGE("Posting Date","Posting Date");
    VATEntryTemporary.SETRANGE("Document No.","Document No.");
    VATEntryTemporary.SETRANGE("Document Type","Document Type");
    VATEntryTemporary.SETRANGE(Type,Type);
    VATEntryTemporary.SETRANGE("VAT %","VAT %");
    VATEntryTemporary.SETRANGE("Transaction No.","Transaction No.");
    IF VATEntryTemporary.FINDFIRST AND NOT NewEntry THEN BEGIN
    VATEntryTemporary.Base += Base;
    VATEntryTemporary.Amount += Amount;
    VATEntryTemporary.MODIFY;
    END ELSE BEGIN
    VATEntryTemporary := VATEntry2;
    VATEntryTemporary.INSERT;
    END;

    END ELSE BEGIN
    VATEntryTemporary := VATEntry2;
    VATEntryTemporary.INSERT;
    END;
    // End of the added lines.

    END;

    TotalFields=Base,Amount;
    ...

    Kood 3

    ...  DataItemVarName=<Integer2>;
    OnPreDataItem=BEGIN
    VATBuffer.FIND('-');
    VATEntryTemporary.SETCURRENTKEY("VAT %","EC %");
    IF VATEntryTemporary.FINDFIRST THEN;
    CurrReport.CREATETOTALS(VATBuffer2.Base,VATBuffer2.Amount);
    Fin := FALSE;
    ...

    Asendamine kood 3

    ...  DataItemVarName=<Integer2>;
    OnPreDataItem=BEGIN
    VATBuffer.FIND('-');

    // Delete the following line.
    VATEntryTemporary.SETCURRENTKEY("VAT %","EC %");
    // End of the deleted line.

    IF VATEntryTemporary.FINDFIRST THEN;
    CurrReport.CREATETOTALS(VATBuffer2.Base,VATBuffer2.Amount);
    Fin := FALSE;
    ...

    Kood 4

    ...IF VATEntry.Type = VATEntry.Type::Purchase THEN BEGIN
    VATEntryTemporary.Amount := VATBuffer.Amount;
    VATDeductAmt := CheckDeductibleVAT(VATEntryTemporary);

    // Delete the following lines.
    VATEntryTemporary.NEXT;
    RecordTypePurchase(VATEntry2);
    // End of the deleted lines.

    END;
    Fin := VATBuffer.NEXT = 0;
    END;
    ...

    Asendamine kood 4

    ... IF VATEntry.Type = VATEntry.Type::Purchase THEN BEGIN
    VATEntryTemporary.Amount := VATBuffer.Amount;
    VATDeductAmt := CheckDeductibleVAT(VATEntryTemporary);

    // Add the following lines.

    VATEntryTemporary.SETCURRENTKEY("VAT %","EC %");
    VATEntryTemporary.SETRANGE("VAT %",VATBuffer."VAT %");
    VATEntryTemporary.SETRANGE("EC %",VATBuffer."EC %");
    VATEntryTemporary.FINDSET;
    REPEAT
    RecordTypePurchase(VATEntryTemporary);
    UNTIL VATEntryTemporary.NEXT = 0;
    // End of the added lines.

    END;
    Fin := VATBuffer.NEXT = 0;
    END;
    ...
  2. Muuda koodi globaalsed muutujad teha 340 deklaratsiooni aruandes (10743) järgmiselt:
    Kood

    ...VATEntryTemporary@1100078 : TEMPORARY Record 254;
    TempDeclarationLines@1100149 : TEMPORARY Record 10744;
    TempVATEntry@1100007 : TEMPORARY Record 254;
    CommonDialogMgt@1100015 : Codeunit 412;
    OutFile@1100016 : File;
    DeclarationNum@1100017 : Text[4];
    ...

    Eemaldamise teave

    ...  VATEntryTemporary@1100078 : TEMPORARY Record 254;
    TempDeclarationLines@1100149 : TEMPORARY Record 10744;
    TempVATEntry@1100007 : TEMPORARY Record 254;

    // Add the following line.
    TempDtldVendLedgerEntry@1100115 : TEMPORARY Record 380;
    // End of the added line.

    CommonDialogMgt@1100015 : Codeunit 412;
    OutFile@1100016 : File;
    DeclarationNum@1100017 : Text[4];
    ...
  3. Muuda koodi RecordTypePurchase funktsioon teha 340 deklaratsiooni aruande (10743) järgmiselt:
    Kood

    ... END ELSE
    OperationDateText := FormatDate(VATEntryRec."Posting Date");

    // Delete the following lines.
    IF VATEntryRec."Document Type" IN [VATEntryRec."Document Type"::Payment,VATEntryRec."Document Type"::Refund] THEN BEGIN
    UnrealizedVATEntryNo := VATEntryRec."Unrealized VAT Entry No.";
    DocumentDate := VATEntryRec."Posting Date";
    IF UnrealizedVATEntryNo <> 0 THEN BEGIN
    UnrealizedVATEntry.GET(UnrealizedVATEntryNo);
    OperationDateText := FormatDate(UnrealizedVATEntry."Posting Date");
    DocumentDate := UnrealizedVATEntry."Document Date";
    // End of the deleted lines.

    END;
    END ELSE
    UnrealizedVATEntryNo := 0;
    ...

    Eemaldamise teave

    ... END ELSE
    OperationDateText := FormatDate(VATEntryRec."Posting Date");

    // Add the following lines.
    VATBuffer2.Base := VATBuffer.Base;
    VATBuffer2.Amount := VATBuffer.Amount;

    IF VATEntryRec."Document Type" IN [VATEntryRec."Document Type"::Payment,VATEntryRec."Document Type"::Refund] THEN BEGIN
    UnrealizedVATEntryNo := VATEntryTemporary."Unrealized VAT Entry No.";
    DocumentDate := VATEntryTemporary."Posting Date";
    IF UnrealizedVATEntryNo <> 0 THEN BEGIN
    UnrealizedVATEntry.GET(UnrealizedVATEntryNo);
    OperationDateText := FormatDate(UnrealizedVATEntry."Posting Date");
    DocumentDate := UnrealizedVATEntry."Document Date";
    IF FindPmtOrderBillGrBankAcc(VATEntry.Type,VATEntry."Document No.") = '' THEN BEGIN
    VendorDocumentNo := UnrealizedVATEntry."External Document No.";
    VATBuffer2.Base := VATEntryTemporary.Base;
    VATBuffer2.Amount := VATEntryTemporary.Amount;
    END;
    // End of the added lines.

    END;
    END ELSE
    UnrealizedVATEntryNo := 0;
    ...
  4. Muuda koodi CheckVLEApplication funktsioon teha 340 deklaratsiooni aruande (10743) järgmiselt:
    Kood

    ...  PrevDeclarationNumEnable := ReplaceDeclaration;
    END;

    BEGIN
    END.
    }
    ...

    Eemaldamise teave

    ...PrevDeclarationNumEnable := ReplaceDeclaration;
    END;

    // Add the following lines.
    LOCAL PROCEDURE CheckVLEApplication@1100074(VATEntry@1100000 : Record 254) : Boolean;
    VAR
    VendorLedgerEntry@1100001 : Record 25;
    DtldVendLedgEntry@1100002 : Record 380;
    CheckVendLedgEntry@1100003 : Record 25;
    UnrealizedVendLedgEntry@1100004 : Integer;
    BEGIN
    FilterVendLedgerEntryByVATEntry(VendorLedgerEntry,VATEntry);
    UnrealizedVendLedgEntry := GetUnrealizedInvoiceVLENo(VATEntry."Unrealized VAT Entry No.");

    IF VendorLedgerEntry.FINDSET THEN
    REPEAT
    DtldVendLedgEntry.RESET;
    DtldVendLedgEntry.SETRANGE(Unapplied,FALSE);
    DtldVendLedgEntry.SETRANGE("Entry Type",DtldVendLedgEntry."Entry Type"::Application);
    DtldVendLedgEntry.SETRANGE("Applied Vend. Ledger Entry No.",VendorLedgerEntry."Entry No.");
    IF UnrealizedVendLedgEntry <> 0 THEN
    DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",UnrealizedVendLedgEntry);

    IF DtldVendLedgEntry.FINDSET THEN
    REPEAT
    IF (DtldVendLedgEntry."Vendor Ledger Entry No." <> DtldVendLedgEntry."Applied Vend. Ledger Entry No.") AND
    CheckVendLedgEntry.GET(DtldVendLedgEntry."Vendor Ledger Entry No.")
    THEN BEGIN
    IF ExistDtldVLE(DtldVendLedgEntry."Vendor Ledger Entry No.",DtldVendLedgEntry."Applied Vend. Ledger Entry No.") THEN
    EXIT(FALSE);
    InsertTempDtldVLE(DtldVendLedgEntry."Vendor Ledger Entry No.",DtldVendLedgEntry."Applied Vend. Ledger Entry No.");
    EXIT(TRUE);
    END;
    UNTIL DtldVendLedgEntry.NEXT = 0
    ELSE BEGIN
    DtldVendLedgEntry.SETRANGE("Applied Vend. Ledger Entry No.");
    DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",VendorLedgerEntry."Entry No.");
    IF UnrealizedVendLedgEntry <> 0 THEN
    DtldVendLedgEntry.SETRANGE("Applied Vend. Ledger Entry No.",UnrealizedVendLedgEntry);

    IF DtldVendLedgEntry.FINDSET THEN
    REPEAT
    IF CheckVendLedgEntry.GET(DtldVendLedgEntry."Applied Vend. Ledger Entry No.") THEN BEGIN
    IF ExistDtldVLE(DtldVendLedgEntry."Applied Vend. Ledger Entry No.",DtldVendLedgEntry."Vendor Ledger Entry No.") THEN
    EXIT(FALSE);
    InsertTempDtldVLE(DtldVendLedgEntry."Applied Vend. Ledger Entry No.",DtldVendLedgEntry."Vendor Ledger Entry No.");
    EXIT(TRUE);
    END;
    UNTIL DtldVendLedgEntry.NEXT = 0;
    END;
    UNTIL VendorLedgerEntry.NEXT = 0;

    EXIT(TRUE);
    END;

    LOCAL PROCEDURE GetUnrealizedInvoiceVLENo@1100075(VATEntryNo@1100000 : Integer) : Integer;
    VAR
    VATEntry@1100002 : Record 254;
    VendLedgEntry@1100001 : Record 25;
    BEGIN
    IF NOT VATEntry.GET(VATEntryNo) THEN
    EXIT(0);
    FilterVendLedgerEntryByVATEntry(VendLedgEntry,VATEntry);
    IF VendLedgEntry.FINDFIRST THEN
    EXIT(VendLedgEntry."Entry No.");
    EXIT(0);
    END;

    LOCAL PROCEDURE FilterVendLedgerEntryByVATEntry@1100087(VAR VendLedgEntry@1100001 : Record 25;VATEntry@1100000 : Record 254);
    BEGIN
    VendLedgEntry.SETRANGE("Vendor No.",VATEntry."Bill-to/Pay-to No.");
    VendLedgEntry.SETRANGE("Posting Date",VATEntry."Posting Date");
    VendLedgEntry.SETRANGE("Document Type",VATEntry."Document Type");
    VendLedgEntry.SETRANGE("Document No.",VATEntry."Document No.");
    VendLedgEntry.SETRANGE("Transaction No.",VATEntry."Transaction No.");
    END;

    LOCAL PROCEDURE HasBeenRealized@1100064(VATEntryNo@1100000 : Integer) : Boolean;
    VAR
    UnrealizedVATEntry@1100001 : Record 254;
    BEGIN
    UnrealizedVATEntry.SETRANGE("Unrealized VAT Entry No.",VATEntryNo);
    EXIT(NOT UnrealizedVATEntry.ISEMPTY);
    END;

    LOCAL PROCEDURE ExistDtldVLE@1100195(VLENo@1100001 : Integer;AppliedVLENo@1100000 : Integer) : Boolean;
    BEGIN
    TempDtldVendLedgerEntry.SETRANGE("Vendor Ledger Entry No.",VLENo);
    TempDtldVendLedgerEntry.SETRANGE("Applied Vend. Ledger Entry No.",AppliedVLENo);
    EXIT(NOT TempDtldVendLedgerEntry.ISEMPTY);
    END;

    LOCAL PROCEDURE InsertTempDtldVLE@1100191(VLENo@1100000 : Integer;AppliedVLENo@1100001 : Integer);
    BEGIN
    TempDtldVendLedgerEntry.INIT;
    IF TempDtldVendLedgerEntry.FINDLAST THEN;
    TempDtldVendLedgerEntry."Entry No." += 1;
    TempDtldVendLedgerEntry."Vendor Ledger Entry No." := VLENo;
    TempDtldVendLedgerEntry."Applied Vend. Ledger Entry No." := AppliedVLENo;
    TempDtldVendLedgerEntry.INSERT;
    END;

    // End of the added lines.

    BEGIN
    END.
    }
    ...

Eeltingimused

Teil peab olema üks selle kiirparanduse installinud järgmisi tooteid:

  • Hispaaniakeelses versioonis Microsoft Dynamics nav-i 2009 R2

  • Hispaaniakeelses versioonis Microsoft Dynamics nav-i 2009 SP1

Eemaldamise teave

See käigultparandus ei saa eemaldada.

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.

Märkus. See on "Kiire avaldamise" artikli loonud otse Microsofti tugiteenuse pakkujalt. Siintoodud teave on esitatud lähtudes-olemasoleval kujul vastusena ilmnenud probleemidele. Kiire avaldamise materjalides esineda trükivigu ja võidakse muuta ette teatamata. Vt Kasutustingimusedmuid kaalutlusi.

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×