"공급 업체 개요" 보고서에는 표시 잘못 된 총 금액 송장을 지불 하 여 적용 될 때 포르투갈어 버전의 Microsoft Dynamics 탐색 2009 지불 할인 된 공제 하는 곳. 지불 할인 금액은 총 잔액으로 표시 됩니다. 이 문제를 해결 하려면 코드 변경 섹션의 단계를 따릅니다. 이 문제는 다음 제품에서 발생합니다.
-
포르투갈어 버전의 Microsoft Dynamics NAV 2009 R2
-
포르투갈어 버전의 Microsoft Dynamics 탐색 2009 SP1
해결 방법
핫픽스 정보
지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 2009 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.
참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.
설치 정보
Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있습니다. 그러나이 예제에서는 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하려면 수정 하지 않습니다.
참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Dynamics 탐색 클라이언트 사용자가 시스템 로그를 확인 하십시오. Microsoft Dynamics 탐색 응용 프로그램 서버 (NAS) 서비스가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.
이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.
것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.
-
변경할 수 있는 개체에 대 한 수정 권한이 있습니다.
-
시스템 개체 ID 9015 및 시스템 개체 ID 5210 개체에 대 한 실행 권한
개체입니다.
참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.
코드 변경 사항
주 프로덕션 컴퓨터에 수정 프로그램을 적용 하기 전에 제어 된 환경에서 코드 수정 항상 테스트 합니다. 변경 내용을 적용 하기 전에 모든 @ 계속 하시 업데이트를 가져오십시오.
이 문제를 해결하려면 다음과 같이 하십시오.
-
공급 업체 문의 보고서 (13377)에서 데이터 항목 번호 1의 코드를 다음과 같이 변경.
기존 코드 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);
...대체 코드 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);
...기존 코드 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;
...대체 코드 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;
... -
공급 업체 문의 보고서 (13377)에서 데이터 항목 번호 4의 코드를 다음과 같이 변경.
기존 코드 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
...대체 코드 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
...기존 코드 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.);
...대체 코드 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.);
... -
공급 업체 문의 보고서 (13377) 데이터 항목 번호 4 섹션에 있는 코드를 다음과 같이 변경.
기존 코드 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;
...대체 코드 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;
...기존 코드 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;
...대체 코드 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;
... -
공급 업체 문의 보고서 (13377)에서 데이터 항목 번호 5의 코드를 다음과 같이 변경.
기존 코드...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.);
...대체 코드
... 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.);
... -
공급 업체 문의 보고서 (13377) 데이터 항목 번호 5 섹션에 있는 코드를 다음과 같이 변경.
기존 코드...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;
...대체 코드
... 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;
... -
공급 업체 문의 보고서 (13377)에 전역 변수의 코드를 다음과 같이 변경.
기존 코드 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;
...대체 코드 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;
...기존 코드 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];
...대체 코드 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];
...기존 코드 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];
...대체 코드 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];
...기존 코드 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>
...대체 코드 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>
...기존 코드 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>
...대체 코드 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>
...기존 코드 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>
...대체 코드 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>
...기존 코드 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>
...대체 코드 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>
...기존 코드 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>
...대체 코드 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>
...
전제 조건
이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.
-
포르투갈어 버전의 Microsoft Dynamics NAV 2009 R2
-
포르투갈어 버전의 Microsoft Dynamics 탐색 2009 SP1
제거 정보
이 핫픽스를 제거할 수 없습니다.
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을참조 하십시오.