"Tarnija lause" aruandes kuvatakse vale summa, kui arve rakendatakse maksega, kui makse hinnaalandid maha arvatud Portugali versioonis Microsoft Dynamics nav-i 2009. Makse hinnaalandi summa kuvatakse kokku saldo. Järgige juhiseid koodi muudatusi selle probleemi lahendamiseks jaotisse. See probleem ilmneb järgmine toode:
-
Portugali versioonis Microsoft Dynamics nav-i 2009 R2
-
Portugali 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. Enne muudatuse rakendamist proovige importida kõik SEPA värskendused.
Selle probleemi lahendamiseks toimige järgmiselt.
-
Andmete üksuse Number 1 hankija väljavõte aruandes (13377) koodi muutmiseks järgmiselt:
Kood 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);
...Kood 1
... Currency2.INSERT;
UNTIL Currency.NEXT = 0;
END;
// Add the following lines.
OnAfterGetRecord=VAR
VendLedgEntry@1000 : Record 25;
BEGIN
// End of the added lines.
CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");
PrintLine := FALSE;
Vend2 := Vendor;
COPYFILTER("Currency Filter",Currency2.Code);
...Kood 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;
...Asendamine kood 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;
... -
Andmete üksuse Number 4 hankija väljavõte aruandes (13377) koodi muutmiseks järgmiselt:
Kood 1... }
{ PROPERTIES
{
DataItemIndent=3;
// Delete the following lines.
DataItemTable=Table25;
DataItemTableView=SORTING(Vendor No.,Posting Date);
OnPreDataItem=BEGIN
SETRANGE("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
...Kood 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=BEGIN
SETRANGE("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
...Kood 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.);
...Asendamine kood 2
... END ELSE
CurrencyCode3 := Currency2.Code
END;
// Add the following lines.
OnAfterGetRecord=VAR
VendLedgEntry@1000 : Record 25;
DtldVendLedgEntry1@1001 : Record 380;
BEGIN
RemainingAmount := 0;
PrintLine := TRUE;
CASE "Entry Type" OF
"Entry Type"::"Initial Entry":
BEGIN
VendLedgEntry.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)":
BEGIN
Description := Text006;
DueDate := 0D;
END;
"Entry Type"::"Payment Tolerance",
"Entry Type"::"Payment Tolerance (VAT Excl.)",
"Entry Type"::"Payment Tolerance (VAT Adjustment)":
BEGIN
Description := Text014;
DueDate := 0D;
END;
"Entry Type"::"Appln. Rounding",
"Entry Type"::"Correction of Remaining Amount":
BEGIN
Description := Text007;
DueDate := 0D;
END;
END;
IF PrintLine THEN
VendBalance := VendBalance + Amount;
// End of the added lines.
END;
DataItemLinkReference=Vendor;
DataItemLink=Vendor No.=FIELD(No.);
... -
Andmete üksuse Number 4 jaotistes hankija väljavõte aruandes (13377) koodi muutmiseks järgmiselt:
Kood 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;
...Kood 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;
...Kood 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;
...Asendamine kood 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;
... -
Muuta koodi andmete kirje Number 5 hankija väljavõte aruandes (13377) järgmiselt:
Kood...END;
OnAfterGetRecord=BEGIN
IF ISSERVICETIER THEN
// Delete the following lines.
VendBalance2 := VendBalance2 + "Remaining Amount"
ELSE
VendBalance := VendBalance + "Remaining Amount";
// End of the deleted lines.
END;
DataItemLinkReference=Vendor;
DataItemLink=Vendor No.=FIELD(No.);
...Eemaldamise teave
... END;
OnAfterGetRecord=BEGIN
IF ISSERVICETIER THEN
// Add the following lines.
VendBalance2 := VendBalance2 + RemainingAmount
ELSE
VendBalance := VendBalance + RemainingAmount;
// End of the added lines.
END;
DataItemLinkReference=Vendor;
DataItemLink=Vendor No.=FIELD(No.);
... -
Muuta koodi andmete kirje Number 5 jaotistes hankija väljavõte aruandes (13377) järgmiselt:
Kood...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;
...Eemaldamise teave
... 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;
... -
Muuda koodi globaalsed muutujad hankija väljavõte aruandes (13377) järgmiselt:
Kood 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;
...Kood 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;
...Kood 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];
...Asendamine kood 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];
...Kood 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];
...Asendamine kood 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];
...Kood 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>
...Asendamine kood 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>
...Olemasolevat koodi 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>
...Eemaldamise teave 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>
...Kood 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>
...Eemaldamise teave 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>
...Kood 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>
...Asendamine kood 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>
...Kood 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>
...Eemaldamise teave 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>
...
Eeltingimused
Teil peab olema üks selle kiirparanduse installinud järgmisi tooteid:
-
Portugali versioonis Microsoft Dynamics nav-i 2009 R2
-
Portugali 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.