Gäller förDynamics NAV 2009

Den "leverantör" rapporten visar en felaktig totalbeloppet när en faktura med en betalning tillämpas där kassarabatterna avdrag i den portugisiska versionen av Microsoft Dynamics NAV 2009. Kassarabattbeloppet visas totala saldo. Följ instruktionerna i avsnittet kod ändras för att lösa problemet. Det här problemet uppstår i följande produkt:

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 R2

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 SP1

Lösning

Information om snabbkorrigeringen

En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2009 eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.

Installationsinformation

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss procedur. De kommer inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare i Microsoft Dynamics NAV-klienten har loggat ut. Detta omfattar tjänster för Microsoft Dynamics NAV Application Server (NAS). Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:

  • Ändra behörighet för objektet ändras.

  • Körbehörighet för systemet objektet ID 5210 objekt och System objektet ID 9015objektet.

Obs! Du har inte behörighet för datalager inte data reparation.

Kod ändras

Observera alltid testa koden korrigeringar i en kontrollerad miljö innan du installerar korrigeringar i dina produktionsdatorer. Importera alla SEPA-uppdateringar innan du tillämpar ändringen.Lös problemet så här:

  1. Ändra koden i Data objekt nummer 1 i rapporten Leverantör-sats (13377) enligt följande:Befintlig kod 1

    ...   Currency2.INSERT;                            UNTIL Currency.NEXT = 0;                        END;// Delete the following line.OnAfterGetRecord=BEGIN// End of the deleted line.                             CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");                             PrintLine := FALSE;                             Vend2 := Vendor;                             COPYFILTER("Currency Filter",Currency2.Code);...

    Ersättningskod 1

    ... Currency2.INSERT;                            UNTIL Currency.NEXT = 0;                        END;// Add the following lines.OnAfterGetRecord=VARVendLedgEntry@1000 : Record 25;BEGIN// End of the added lines.                             CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");                             PrintLine := FALSE;                             Vend2 := Vendor;                             COPYFILTER("Currency Filter",Currency2.Code);...

    Befintlig kod 2

    ...PrintLine := Vend2."Net Change" <> 0;                                 UNTIL (Currency2.NEXT = 0) OR PrintLine;                             END;                             IF (NOT PrintLine) AND PrintAllHavingEntry THEN BEGIN// Delete the following lines."Vendor Ledger Entry".RESET;"Vendor Ledger Entry".SETCURRENTKEY("Vendor No.","Posting Date");"Vendor Ledger Entry".SETRANGE("Vendor No.",Vendor."No.");"Vendor Ledger Entry".SETRANGE("Posting Date",StartDate,EndDate);Vendor.COPYFILTER("Currency Filter","Vendor Ledger Entry"."Currency Code");PrintLine := "Vendor Ledger Entry".FIND('-');// End of the deleted lines.                             END;                             IF NOT PrintLine THEN                               CurrReport.SKIP;...

    Ersättningskod 2

    ... PrintLine := Vend2."Net Change" <> 0;                                 UNTIL (Currency2.NEXT = 0) OR PrintLine;                             END;                             IF (NOT PrintLine) AND PrintAllHavingEntry THEN BEGIN// Add the following lines.VendLedgEntry.SETCURRENTKEY("Vendor No.","Posting Date");VendLedgEntry.SETRANGE("Vendor No.",Vendor."No.");VendLedgEntry.SETRANGE("Posting Date",StartDate,EndDate);Vendor.COPYFILTER("Currency Filter",VendLedgEntry."Currency Code");PrintLine := NOT VendLedgEntry.ISEMPTY;// End of the added lines.                             END;                             IF NOT PrintLine THEN                               CurrReport.SKIP;...
  2. Ändra koden i Data objekt nummer 4 i rapporten Leverantör-sats (13377) enligt följande:Befintlig kod 1

    ... }      { PROPERTIES        {          DataItemIndent=3;// Delete the following lines.DataItemTable=Table25;DataItemTableView=SORTING(Vendor No.,Posting Date);OnPreDataItem=BEGINSETRANGE("Posting Date",StartDate,EndDate);SETRANGE("Currency Code",Currency2.Code);CurrReport.CREATETOTALS("Remaining Amount");// End of the deleted lines.                          IF Currency2.Code = '' THEN BEGIN                            GLSetup.TESTFIELD("LCY Code");                            CurrencyCode3 := GLSetup."LCY Code"                          END ELSE...

    Ersättningskod 1

    ...  }      { PROPERTIES        {          DataItemIndent=3;// Add the following lines.DataItemTable=Table2000000026;DataItemTableView=SORTING(Number)WHERE(Number=CONST(1));DataItemVarName=VendLedEntryHdr;PrintOnlyIfDetail=Yes;}SECTIONS{}}{ PROPERTIES{DataItemIndent=4;DataItemTable=Table380;DataItemTableView=SORTING(Vendor No.,Posting Date,Entry Type,Currency Code)WHERE(Excluded from calculation=CONST(No),Entry Type=FILTER(<>Application&<>Redrawal));DataItemVarName=DtldVendLedgEntry;PrintOnlyIfDetail=No;OnPreDataItem=BEGINSETRANGE("Vendor No.",Vendor."No.");SETRANGE("Posting Date",StartDate,EndDate);SETRANGE("Currency Code",Currency2.Code);// End of the added lines.                         IF Currency2.Code = '' THEN BEGIN                            GLSetup.TESTFIELD("LCY Code");                            CurrencyCode3 := GLSetup."LCY Code"                          END ELSE...

    Befintlig kod 2

    ...END ELSE                            CurrencyCode3 := Currency2.Code                        END;// Delete the following lines.OnAfterGetRecord=BEGIN// PT0002.begin// VendBalance := VendBalance + "Remaining Amount";VendBalance := VendBalance + "Original Amount";// PT0002.end// End of the deleted lines.                           END;          DataItemLinkReference=Vendor;          DataItemLink=Vendor No.=FIELD(No.);...

    Ersättningskod 2

    ... END ELSE                            CurrencyCode3 := Currency2.Code                        END;// Add the following lines.OnAfterGetRecord=VARVendLedgEntry@1000 : Record 25;DtldVendLedgEntry1@1001 : Record 380;BEGINRemainingAmount := 0;PrintLine := TRUE;CASE "Entry Type" OF"Entry Type"::"Initial Entry":BEGINVendLedgEntry.GET("Vendor Ledger Entry No.");Description := VendLedgEntry.Description;DueDate := VendLedgEntry."Due Date";VendLedgEntry.SETRANGE("Date Filter",0D, EndDate);VendLedgEntry.CALCFIELDS("Remaining Amount");RemainingAmount := VendLedgEntry."Remaining Amount";END;"Entry Type"::"Payment Discount","Entry Type"::"Payment Discount (VAT Excl.)","Entry Type"::"Payment Discount (VAT Adjustment)","Entry Type"::"Payment Discount Tolerance","Entry Type"::"Payment Discount Tolerance (VAT Excl.)","Entry Type"::"Payment Discount Tolerance (VAT Adjustment)":BEGINDescription := Text006;DueDate := 0D;END;"Entry Type"::"Payment Tolerance","Entry Type"::"Payment Tolerance (VAT Excl.)","Entry Type"::"Payment Tolerance (VAT Adjustment)":BEGINDescription := Text014;DueDate := 0D;END;"Entry Type"::"Appln. Rounding","Entry Type"::"Correction of Remaining Amount":BEGINDescription := Text007;DueDate := 0D;END; END;IF PrintLine THENVendBalance := VendBalance + Amount;// End of the added lines.                           END;          DataItemLinkReference=Vendor;          DataItemLink=Vendor No.=FIELD(No.);...
  3. Ändra koden i Data objekt nummer 4 avsnitt i rapporten Leverantör-sats (13377) enligt följande:Befintlig kod 1

    ... DataSetFieldName=Vendor_Ledger_Entry_Description }              { 47  ;TextBox      ;7980 ;0    ;1680 ;423  ;HorzAlign=Left;                                                           FontSize=9;                                                           CaptionML=ENU=Due Date;// Delete the following lines.SourceExpr=FORMAT("Due Date",0,4);DataSetFieldName=Vendor_Ledger_Entry__Due_Date_ }{ 48  ;TextBox      ;13230;0    ;2310 ;423  ;FontSize=9;CaptionML=ENU=Remaining Amount;SourceExpr="Remaining Amount";// End of the deleted lines.                                                           AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=Vendor_Ledger_Entry__Remaining_Amount_ }              { 49  ;TextBox      ;15750;0    ;2310 ;423  ;FontSize=9;...

    Ersättningskod 1

    ...  DataSetFieldName=Vendor_Ledger_Entry_Description }              { 47  ;TextBox      ;7980 ;0    ;1680 ;423  ;HorzAlign=Left;                                                           FontSize=9;                                                           CaptionML=ENU=Due Date;// Add the following lines.SourceExpr=FORMAT(DueDate,0,4);DataSetFieldName=Vendor_Ledger_Entry__Due_Date_ }{ 48  ;TextBox      ;13230;0    ;2310 ;423  ;FontSize=9;CaptionML=ENU=Remaining Amount;SourceExpr=RemainingAmount;// End of the added lines.                                                           AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=Vendor_Ledger_Entry__Remaining_Amount_ }              { 49  ;TextBox      ;15750;0    ;2310 ;423  ;FontSize=9;...

    Befintlig kod 2

    ...AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=VendBalance_Control49 }              { 54  ;TextBox      ;10710;0    ;2310 ;423  ;FontSize=9;// Delete the following line.SourceExpr="Original Amount";// End of the deleted line.                                                           AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=Vendor_Ledger_Entry__Original_Amount_ }              { 78  ;TextBox      ;9870 ;0    ;840  ;423  ;FontSize=9;...

    Ersättningskod 2

    ...   AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=VendBalance_Control49 }              { 54  ;TextBox      ;10710;0    ;2310 ;423  ;FontSize=9;// Add the following line.SourceExpr=Amount;// End of the added line.                                                           AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=Vendor_Ledger_Entry__Original_Amount_ }              { 78  ;TextBox      ;9870 ;0    ;840  ;423  ;FontSize=9;...
  4. Ändra koden i Data objekt nummer 5 i rapporten Leverantör-sats (13377) enligt följande:Befintlig kod

    ...END;          OnAfterGetRecord=BEGIN                             IF ISSERVICETIER THEN// Delete the following lines.VendBalance2 := VendBalance2 + "Remaining Amount"ELSEVendBalance := VendBalance + "Remaining Amount";// End of the deleted lines.                           END;          DataItemLinkReference=Vendor;          DataItemLink=Vendor No.=FIELD(No.);...

    Ersättningskod

    ... END;          OnAfterGetRecord=BEGIN                             IF ISSERVICETIER THEN// Add the following lines.VendBalance2 := VendBalance2 + RemainingAmountELSEVendBalance := VendBalance + RemainingAmount;// End of the added lines.                           END;          DataItemLinkReference=Vendor;          DataItemLink=Vendor No.=FIELD(No.);...
  5. Ändra koden i Data objekt nummer 5 avsnitt i rapporten Leverantör-sats (13377) enligt följande:Befintlig kod

    ...SourceExpr=Description;                                                           DataSetFieldName=VendorLedgEntry2_Description }              { 60  ;TextBox      ;7980 ;0    ;1680 ;423  ;HorzAlign=Left;                                                           FontSize=9;// Delete the following lines.SourceExpr=FORMAT("Due Date",0,4);DataSetFieldName=VendorLedgEntry2__Due_Date_ }{ 61  ;TextBox      ;13230;0    ;2310 ;423  ;FontSize=9;SourceExpr="Remaining Amount";// End of the deleted lines.                                                           AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=VendorLedgEntry2__Remaining_Amount_ }              { 62  ;TextBox      ;15750;0    ;2310 ;423  ;FontSize=9;...

    Ersättningskod

    ...  SourceExpr=Description;                                                           DataSetFieldName=VendorLedgEntry2_Description }              { 60  ;TextBox      ;7980 ;0    ;1680 ;423  ;HorzAlign=Left;                                                           FontSize=9;// Add the following lines.SourceExpr=FORMAT(DueDate,0,4);DataSetFieldName=VendorLedgEntry2__Due_Date_ }{ 61  ;TextBox      ;13230;0    ;2310 ;423  ;FontSize=9;SourceExpr=RemainingAmount;// End of the added lines.                                                           AutoFormatType=1;                                                           AutoFormatExpr="Currency Code";                                                           DataSetFieldName=VendorLedgEntry2__Remaining_Amount_ }              { 62  ;TextBox      ;15750;0    ;2310 ;423  ;FontSize=9;...
  6. Ändra koden i den globala variabler i rapporten Leverantör-sats (13377) enligt följande:Befintlig kod 1

    ...Text000@1000 : TextConst 'ENU=Page %1';        Text001@1001 : TextConst 'ENU=Open Entries %1';        Text002@1002 : TextConst 'ENU=Overdue Entries %1';        Text003@1003 : TextConst 'ENU="Statement "';        GLSetup@1004 : Record 98;        CompanyInfo@1005 : Record 79;        Vend2@1006 : Record 23;        Currency@1007 : Record 4;...

    Ersättningskod 1

    ...Text000@1000 : TextConst 'ENU=Page %1';        Text001@1001 : TextConst 'ENU=Open Entries %1';        Text002@1002 : TextConst 'ENU=Overdue Entries %1';        Text003@1003 : TextConst 'ENU="Statement "';// Add the following lines.Text005@1030 : TextConst 'ENU=Multicurrency Application';Text006@1031 : TextConst 'ENU=Payment Discount';Text007@1032 : TextConst 'ENU=Rounding';Text014@1033 : TextConst 'ENU=Application Writeoffs';// End of the added lines.        GLSetup@1004 : Record 98;        CompanyInfo@1005 : Record 79;        Vend2@1006 : Record 23;        Currency@1007 : Record 4;...

    Befintlig kod 2

    ...PrintAllHavingEntry@1010 : Boolean;        PrintAllHavingBal@1011 : Boolean;        PrintEntriesDue@1012 : Boolean;        PrintLine@1013 : Boolean;        StartDate@1014 : Date;        EndDate@1015 : Date;        VendAddr@1016 : ARRAY [8] OF Text[50];        CompanyAddr@1017 : ARRAY [8] OF Text[50];...

    Ersättningskod 2

    ...PrintAllHavingEntry@1010 : Boolean;        PrintAllHavingBal@1011 : Boolean;        PrintEntriesDue@1012 : Boolean;        PrintLine@1013 : Boolean;// Add the following line.DueDate@1038 : Date;// End of the added line.        StartDate@1014 : Date;        EndDate@1015 : Date;        VendAddr@1016 : ARRAY [8] OF Text[50];        CompanyAddr@1017 : ARRAY [8] OF Text[50];...

    Befintlig kod 3

    ...StartDate@1014 : Date;        EndDate@1015 : Date;        VendAddr@1016 : ARRAY [8] OF Text[50];        CompanyAddr@1017 : ARRAY [8] OF Text[50];        StartBalance@1018 : Decimal;        VendBalance@1019 : Decimal;        FormatAddr@1020 : Codeunit 365;        CurrencyCode3@1022 : Code[10];...

    Ersättningskod 3

    ...StartDate@1014 : Date;        EndDate@1015 : Date;        VendAddr@1016 : ARRAY [8] OF Text[50];        CompanyAddr@1017 : ARRAY [8] OF Text[50];// Add the following lines.Description@1039 : Text[50];RemainingAmount@1040 : Decimal;// End of the added lines.        StartBalance@1018 : Decimal;        VendBalance@1019 : Decimal;        FormatAddr@1020 : Codeunit 365;        CurrencyCode3@1022 : Code[10];...

    Befintlig kod 4

    ... </ReportItems>                      </TableCell>                    </TableCells>                    <Visibility>// Delete the following line.<Hidden>=IIF(Fields!Vendor_Ledger_Entry_Vendor_No_.Value = "",TRUE,FALSE)</Hidden>// End of the deleted line.                    </Visibility>                  </TableRow>                </TableRows>              </Details>...

    Ersättningskod 4

    ...</ReportItems>                      </TableCell>                    </TableCells>                    <Visibility>// Add the following line.<Hidden>=IIF(Fields!DtldVendLedgEntry_Vendor_No_.Value = "",TRUE,FALSE)</Hidden>// End of the added line.                    </Visibility>                  </TableRow>                </TableRows>              </Details>...

    Befintlig kod 5

    ...<FontWeight>700</FontWeight>                                  <TextAlign>Right</TextAlign>                                  <VerticalAlign>Middle</VerticalAlign>                                </Style>// Delete the following line.<Value>=iif(Last(Fields!Vendor_Ledger_Entry_Vendor_No_.Value) = "" ,Last(Fields!VendBalance_Control66Caption.Value),// End of the deleted line.  Last(Fields!VendBalance_Control53Caption.Value))</Value>                              </Textbox>                            </ReportItems>                          </TableCell>...

    Ersättningskod 5

    ...<FontWeight>700</FontWeight>                                  <TextAlign>Right</TextAlign>                                  <VerticalAlign>Middle</VerticalAlign>                                </Style>// Add the following line.<Value>=iif(Last(Fields!DtldVendLedgEntry_Vendor_No_.Value) = "" ,Last(Fields!VendBalance_Control66Caption.Value),// End of the added line.  Last(Fields!VendBalance_Control53Caption.Value))</Value>                              </Textbox>                            </ReportItems>                          </TableCell>...

    Befintlig kod 6

    ...<FontWeight>700</FontWeight>                                  <TextAlign>Right</TextAlign>                                  <VerticalAlign>Middle</VerticalAlign>                                </Style>// Delete the following line.<Value>=iif(Last(Fields!Vendor_Ledger_Entry_Vendor_No_.Value) = "" ,Last(Fields!CurrencyCode3_Control73.Value),// End of the deleted line.  Last(Fields!CurrencyCode3.Value))</Value>                              </Textbox>                            </ReportItems>                          </TableCell>...

    Ersättningskod 6

    ... <FontWeight>700</FontWeight>                                  <TextAlign>Right</TextAlign>                                  <VerticalAlign>Middle</VerticalAlign>                                </Style>// Add the following line.<Value>=iif(Last(Fields!DtldVendLedgEntry_Vendor_No_.Value) = "" ,Last(Fields!CurrencyCode3_Control73.Value),// End of the added line.  Last(Fields!CurrencyCode3.Value))</Value>                              </Textbox>                            </ReportItems>                          </TableCell>...

    Befintlig kod 7

    ...FontWeight>700</FontWeight>                                  <Format>=Fields!VendBalance_Control49Format.Value</Format>                                  <VerticalAlign>Middle</VerticalAlign>                                </Style>// Delete the following line.<Value>=iif(Last(Fields!Vendor_Ledger_Entry_Vendor_No_.Value) = "" ,Last(Fields!VendBalance_Control56.Value),// End of the deleted line.  LAST(Fields!VendBalance.Value))</Value>                              </Textbox>                            </ReportItems>                          </TableCell>...

    Ersättningskod 7

    ...<FontWeight>700</FontWeight>                                  <Format>=Fields!VendBalance_Control49Format.Value</Format>                                  <VerticalAlign>Middle</VerticalAlign>                                </Style>// Add the following line.<Value>=iif(Last(Fields!DtldVendLedgEntry_Vendor_No_.Value) = "" ,Last(Fields!VendBalance_Control56.Value),// End of the added line.  LAST(Fields!VendBalance.Value))</Value>                              </Textbox>                            </ReportItems>                          </TableCell>...

    Befintlig kod 8

    ...</Field>          <Field Name="CurrencyCode3">            <DataField>CurrencyCode3</DataField>          </Field>// Delete the following lines.<Field Name="Vendor_Ledger_Entry_Entry_No_"><DataField>Vendor_Ledger_Entry_Entry_No_</DataField></Field><Field Name="Vendor_Ledger_Entry_Vendor_No_"><DataField>Vendor_Ledger_Entry_Vendor_No_</DataField>// End of the deleted lines.          </Field>          <Field Name="STRSUBSTNO_Text002_Currency2_Code_">            <DataField>STRSUBSTNO_Text002_Currency2_Code_</DataField>          </Field>...

    Ersättningskod 8

    ...</Field>          <Field Name="CurrencyCode3">            <DataField>CurrencyCode3</DataField>          </Field>// Add the following lines.<Field Name="DtldVendLedgEntry_Entry_No_"><DataField>DtldVendLedgEntry_Entry_No_</DataField></Field><Field Name="DtldVendLedgEntry_Vendor_No_"><DataField>DtldVendLedgEntry_Vendor_No_</DataField>// End of the added lines.          </Field>          <Field Name="STRSUBSTNO_Text002_Currency2_Code_">            <DataField>STRSUBSTNO_Text002_Currency2_Code_</DataField>          </Field>...

Förutsättningar

Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 R2

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 SP1

Information om borttagning

Du kan inte ta bort den här snabbkorrigeringen.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Obs! Detta är en "SNABBPUBLICERING"-artikel skapad direkt från Microsoft support-organisationen. Informationen häri tillhandahålls i befintligt skick som svar på nya problem. Till följd av hastigheten för att göra det tillgängligt kan materialet innehålla typografiska fel och kan ändras när som helst utan föregående meddelande. Se Villkoren för användningför andra överväganden.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.