이 문서의 Microsoft Dynamics 탐색 모든 국가 모든 언어 로케일에 적용 됩니다.
증상
Microsoft Dynamics 탐색 2009 년에서 판매 반환 순서 페이지에 역방향으로 문서 게시 줄 Get 함수를 실행 하는 것으로 가정 합니다. 항목에 대 한 필터를 설정 하면 다음과 같은 오류 메시지가 나타납니다.
판매 송장 줄: 줄이 없는 판매 송장 필터 내. 필터 문서 번호:X, No: @Y
참고: 개체 틀 X 선에서 커서는 장소와 Y 자리 표시자 대체 필터에 입력 한 항목 번호 문서 번호를 대체 합니다.
다음 제품에이 문제가 발생합니다.
-
Microsoft Dynamics 탐색 2009 R2
-
Microsoft Dynamics 탐색 2009 서비스 팩 1
해결 방법
핫픽스 정보
지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 2009 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.
참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.
설치 정보
Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있습니다. 그러나이 예제에서는 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하려면 수정 하지 않습니다.
참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Navision 클라이언트 사용자가 시스템 로그를 확인 하십시오. Navision 응용 프로그램 서비스 (NAS) 클라이언트 사용자가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.
이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.
것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.
-
변경할 수 있는 개체에 대 한 수정 권한이 있습니다.
-
시스템 개체 ID 9015 개체 및 시스템 개체 ID 5210 개체에 대 한 Execute 권한이 있습니다.
참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.
코드 변경 사항
참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.
이 문제를 해결하려면 다음과 같이 하십시오.
-
Get Post.Doc-S.ShptLn Sbfrm 페이지 (5851) IsFirstDocLine 함수에서 코드를 다음과 같이 변경.
기존 코드... RevUnitCostLCY2 := RevUnitCostLCY;
SalesShptLine2.COPYFILTERS(Rec);
SalesShptLine2.SETRANGE("Document No.","Document No.");
SalesShptLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(SalesShptLine2);
IF ShowRec THEN BEGIN
...대체 코드
... RevUnitCostLCY2 := RevUnitCostLCY;
SalesShptLine2.COPYFILTERS(Rec);
SalesShptLine2.SETRANGE("Document No.","Document No.");
IF NOT SalesShptLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(SalesShptLine2);
IF ShowRec THEN BEGIN -
Get Post.Doc-S.InvLn 하위 폼 페이지 (5852) IsFirstDocLine 함수에서 코드를 다음과 같이 변경.
기존 코드... RevUnitCostLCY2 := RevUnitCostLCY;
SalesInvLine2.COPYFILTERS(Rec);
SalesInvLine2.SETRANGE("Document No.","Document No.");
SalesInvLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(SalesInvLine2);
IF ShowRec THEN BEGIN
...대체 코드
... RevUnitCostLCY2 := RevUnitCostLCY;
SalesInvLine2.COPYFILTERS(Rec);
SalesInvLine2.SETRANGE("Document No.","Document No.");
IF NOT SalesInvLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(SalesInvLine2);
IF ShowRec THEN BEGIN -
Get Post.Doc-P.RcptLn Sbfrm 페이지 (5856) IsFirstDocLine 함수에서 코드를 다음과 같이 변경.
기존 코드... RevUnitCostLCY2 := RevUnitCostLCY;
PurchRcptLine2.COPYFILTERS(Rec);
PurchRcptLine2.SETRANGE("Document No.","Document No.");
PurchRcptLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(PurchRcptLine2);
IF ShowRec THEN BEGIN
...대체 코드
... RevUnitCostLCY2 := RevUnitCostLCY;
PurchRcptLine2.COPYFILTERS(Rec);
PurchRcptLine2.SETRANGE("Document No.","Document No.");
IF NOT PurchRcptLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(PurchRcptLine2);
IF ShowRec THEN BEGIN -
Get Post.Doc-P.InvLn 하위 폼 페이지 (5857)의 IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... RevUnitCostLCY2 := RevUnitCostLCY;
PurchInvLine2.COPYFILTERS(Rec);
PurchInvLine2.SETRANGE("Document No.","Document No.");
PurchInvLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(PurchInvLine2);
IF ShowRec THEN BEGIN
...대체 코드
... RevUnitCostLCY2 := RevUnitCostLCY;
PurchInvLine2.COPYFILTERS(Rec);
PurchInvLine2.SETRANGE("Document No.","Document No.");
IF NOT PurchInvLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(PurchInvLine2);
IF ShowRec THEN BEGIN -
IsFirstDocLine 함수는 Purch에서 코드를 변경 합니다. 다음과 같이 줄 양식 (5806) 확인:
기존 코드... FILTERGROUP(2);
PurchRcptLine.COPYFILTERS(Rec);
FILTERGROUP(0);
PurchRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
PurchRcptLine.FIND('-');
TempPurchRcptLine := PurchRcptLine;
TempPurchRcptLine.INSERT;
END;
IF "Line No." = TempPurchRcptLine."Line No." THEN
...대체 코드
... FILTERGROUP(2);
PurchRcptLine.COPYFILTERS(Rec);
FILTERGROUP(0);
PurchRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT PurchRcptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempPurchRcptLine := PurchRcptLine;
TempPurchRcptLine.INSERT;
END;
IF "Line No." = TempPurchRcptLine."Line No." THEN -
Pst.Doc RtrnRcptLn 하위 폼 가져오기 형식 (5853) IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnRcptLine.FINDSET;
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
...대체 코드
... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnRcptLine.FINDSET THEN
EXIT(FALSE);
// End of the lines.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END; -
Get Post.Doc S.Cr.MemoLn Sbfrm 형식 (5854) IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
SalesCrMemoLine.COPYFILTERS(Rec);
SalesCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
SalesCrMemoLine.FIND('-');
TempSalesCrMemoLine := SalesCrMemoLine;
TempSalesCrMemoLine.INSERT;
END;
...대체 코드
... TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
SalesCrMemoLine.COPYFILTERS(Rec);
SalesCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT SalesCrMemoLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempSalesCrMemoLine := SalesCrMemoLine;
TempSalesCrMemoLine.INSERT;
END; -
Pst.Doc RtrnShptLn 하위 폼 가져오기 형식 (5858) IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnShptLine.FINDSET;
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
...대체 코드
... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnShptLine.FINDSET THEN
EXIT(FALSE);
// End of the lines.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END; -
Get Post.Doc P.Cr.MemoLn Sbfrm 형식 (5859) IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
PurchCrMemoLine.COPYFILTERS(Rec);
PurchCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
PurchCrMemoLine.FINDSET;
TempPurchCrMemoLine := PurchCrMemoLine;
TempPurchCrMemoLine.INSERT;
END;
...대체 코드
... TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
PurchCrMemoLine.COPYFILTERS(Rec);
PurchCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT PurchCrMemoLine.FINDSET THEN
EXIT(FALSE);
// End of the lines.
TempPurchCrMemoLine := PurchCrMemoLine;
TempPurchCrMemoLine.INSERT;
END; -
가져올 서비스 운송 선 형태로 (5994) IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempServiceShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
ServiceShptLine.COPYFILTERS(Rec);
ServiceShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServiceShptLine.FIND('-');
TempServiceShptLine := ServiceShptLine;
TempServiceShptLine.INSERT;
END;
IF "Line No." = TempServiceShptLine."Line No." THEN
...대체 코드
... TempServiceShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
ServiceShptLine.COPYFILTERS(Rec);
ServiceShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServiceShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServiceShptLine := ServiceShptLine;
TempServiceShptLine.INSERT;
END;
IF "Line No." = TempServiceShptLine."Line No." THEN -
(6036) 서비스 선 하위 폼 폼의 IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... IF NOT TempServLine.FIND('-') THEN BEGIN
ServLine.COPYFILTERS(Rec);
ServLine.SETRANGE("Document Type","Document Type");
ServLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServLine.FIND('-');
TempServLine := ServLine;
TempServLine.INSERT;
END;
IF "Line No." = TempServLine."Line No." THEN
IF "Line No." = TempServiceShptLine."Line No." THEN
...대체 코드
... IF NOT TempServLine.FIND('-') THEN BEGIN
ServLine.COPYFILTERS(Rec);
ServLine.SETRANGE("Document Type","Document Type");
ServLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServLine := ServLine;
TempServLine.INSERT;
END;
IF "Line No." = TempServLine."Line No." THEN -
(6037) 서비스 운송 선 하위 폼 폼의 IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempServShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServShptLine.FIND('-') THEN BEGIN
ServShptLine.COPYFILTERS(Rec);
ServShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServShptLine.FIND('-');
TempServShptLine := ServShptLine;
TempServShptLine.INSERT;
END;
IF "Line No." = TempServShptLine."Line No." THEN
...대체 코드
... TempServShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServShptLine.FIND('-') THEN BEGIN
ServShptLine.COPYFILTERS(Rec);
ServShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServShptLine := ServShptLine;
TempServShptLine.INSERT;
END;
IF "Line No." = TempServShptLine."Line No." THEN -
서비스 송장 줄 하위 형식 (6038) IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempServInvLine.SETRANGE("Document No.","Document No.");
IF NOT TempServInvLine.FIND('-') THEN BEGIN
ServInvLine.COPYFILTERS(Rec);
ServInvLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServInvLine.FIND('-');
TempServInvLine := ServInvLine;
TempServInvLine.INSERT;
END;
EXIT("Line No." = TempServInvLine."Line No.");
...대체 코드
... TempServInvLine.SETRANGE("Document No.","Document No.");
IF NOT TempServInvLine.FIND('-') THEN BEGIN
ServInvLine.COPYFILTERS(Rec);
ServInvLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServInvLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServInvLine := ServInvLine;
TempServInvLine.INSERT;
END;
EXIT("Line No." = TempServInvLine."Line No."); -
서비스 Cr. 메모 줄 하위 폼 양식 (6039)에서 IsFirstDocLine 함수에 코드를 다음과 같이 변경.
기존 코드... TempServCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
ServCrMemoLine.COPYFILTERS(Rec);
ServCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServCrMemoLine.FIND('-');
TempServCrMemoLine := ServCrMemoLine;
TempServCrMemoLine.INSERT;
END;
EXIT("Line No." = TempServCrMemoLine."Line No.");
...대체 코드
... TempServCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
ServCrMemoLine.COPYFILTERS(Rec);
ServCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServCrMemoLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServCrMemoLine := ServCrMemoLine;
TempServCrMemoLine.INSERT;
END;
EXIT("Line No." = TempServCrMemoLine."Line No."); -
코드 반환 영수증 줄 가져오기 형식 (6638) IsFirstDocLine 함수를 다음과 같이 변경 합니다.
기존 코드... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnRcptLine.FIND('-');
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
IF "Line No." = TempReturnRcptLine."Line No." THEN
...대체 코드
... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnRcptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
IF "Line No." = TempReturnRcptLine."Line No." THEN -
IsFirstDocLine 함수 반환 운송 선을 가져오기 형식 (6648)의 코드를 다음과 같이 변경.
기존 코드... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnShptLine.FIND('-');
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
IF "Line No." = TempReturnShptLine."Line No." THEN
...대체 코드
... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
IF "Line No." = TempReturnShptLine."Line No." THEN
전제 조건
이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.
-
Microsoft Dynamics 탐색 2009 R2
-
Microsoft Dynamics 탐색 2009 서비스 팩 1
제거 정보
이 핫픽스를 제거할 수 없습니다.
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을 참조하십시오.