이 문서의 Microsoft Dynamics 탐색 모든 국가 모든 언어 로케일에 적용 됩니다.
증상
추적 줄 항목 Microsoft Dynamics 탐색 2009 년에는 여러 개의 항목을 가진 작업 일지 있다고 가정 합니다. 함으로 작업 업무 일지 항목을 게시 하면 웨어하우스 엔트리가 마지막 항목 입력 된 줄을 추적만 업데이트 됩니다. 따라서이 인해 불균형이 웨어하우스 사이의 항목 원장 항목입니다.
다음 제품에이 문제가 발생합니다.
-
Microsoft Dynamics 탐색 2009 R2
-
Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1)
해결 방법
핫픽스 정보
지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.
참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.
설치 정보
Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있지만 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하는 이러한 예제를 수정 하지 않습니다.
참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Navision 클라이언트 사용자가 시스템 로그를 확인 하십시오. Navision 응용 프로그램 서비스 (NAS) 클라이언트 사용자가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.
이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.
것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.
-
변경할 수 있는 개체에 대 한 수정 권한이 있습니다.
-
시스템 개체 ID 9015 개체 및 시스템 개체 ID 5210 개체에 대 한 Execute 권한이 있습니다.
참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.
코드 변경 사항
참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.
이 문제를 해결 하려면 다음이 단계를 수행: 다음 지역 변수를 만듭니다.
-
(210), 작업 일지 선 표에 새 전역 변수를 추가 하 고 변수를 다음과 같이 지정 합니다.
-
이름: WMSManagement
-
데이터 형식: Codeunit
-
하위 형식: WMS 관리 (7302)
-
-
Bin 코드 의 TableRelation 속성에 다음 코드는 작업 일지 선 테이블 (210) (5403) 필드를 삭제 합니다.
Bin.Code WHERE (Location Code=FIELD(Location Code));
-
OnValidate 트리거 Bin 코드의 코드를 다음과 같이 작업 일지 선 테이블 (210) (5403) 필드를 변경 합니다.
기존 코드...// Delete the following lines.
TESTFIELD("Location Code");
CheckItemAvailable;
// End of the lines.
...대체 코드
...// Add the following lines.
TESTFIELD("Location Code");
IF "Bin Code" <> '' THEN BEGIN
GetLocation("Location Code");
Location.TESTFIELD("Bin Mandatory");
END;
TESTFIELD(Type,Type::Item);
CheckItemAvailable;
WMSManagement.FindBinContent("Location Code","Bin Code","No.","Variant Code",'')
// End of the lines.
... -
Bin 번호- OnLookup triggerin (210), 작업 일지 선 테이블에서에서 새 로컬 변수를 추가 하 고 변수를 다음과 같이 지정 합니다.
-
이름: BinCode
-
데이터 형식: 코드
-
길이: 20
-
-
Bin 번호- OnLookup 트리거 작업 일지 선 표에 (210)에 다음 코드를 추가 합니다.
TESTFIELD("Location Code");TESTFIELD(Type,Type::Item);
BinCode := WMSManagement.BinContentLookUp("Location Code","No.","Variant Code",'',"Bin Code");
IF BinCode <> '' THEN
VALIDATE("Bin Code",BinCode); -
웨어하우스 업무 일지 줄 (7311) 테이블에는 원본 문서 (25) 필드의 OptionString 속성의 값은 다음과 같이 변경
OptionString=, S. 주문, 송장 S., S. 신용 메모, S. 반환 순서, P. 순서, P. 송장, P. 신용 메모, P. 반환 순서, Inb. 전송, Outb 전송 제품입니다. 사용 항목 Jnl입니다. 실제 Invt입니다. Jnl., Reclass Jnl., 소비 Jnl 합니다. 출력 Jnl., BOM Jnl, Serv 순서, 작업 Jnl. -
웨어하우스 업무 일지 줄 (7311) 테이블에서 (60) 참조 문서 필드의 OptionString 속성의 값은 다음과 같이 변경
OptionString= , Rcpt., P. 청구 게시 게시, Rtrn. Rcpt., P. Cr. 메모, 운송, S. 청구, Rtrn. 배송, S. Cr. 메모, 수신 화, 화 배송을 게시 게시 게시 게시 게시 게시 게시 게시 항목 업무 일지, Prod., Put 떨어져, 선택, 이동, BOM 업무 일지, 작업 일지 -
에서는 OptionString 웨어하우스 입력 테이블 (7312)에 원본 문서 (25) 필드의 값은 다음과 같이 변경
OptionString=, S. 주문, 송장 S., S. 신용 메모, S. 반환 순서, P. 순서, P. 송장, P. 신용 메모, P. 반환 순서, Inb. 전송, Outb 전송 제품입니다. 사용 항목 Jnl입니다. 실제 Invt입니다. Jnl., Reclass Jnl., 소비 Jnl 합니다. 출력 Jnl., BOM Jnl, Serv. 순서, 작업 Jnl. -
아래에서는 OptionString 웨어하우스 입력 테이블 (7312) (60) 참조 문서 필드의 값을 변경 합니다.
OptionString= , Rcpt., P. 청구 게시 게시, Rtrn. Rcpt., P. Cr. 메모, 운송, S. 청구, Rtrn. 배송, S. Cr. 메모, 수신 화, 화 배송을 게시 게시 게시 게시 게시 게시 게시 게시 항목 업무 일지, Prod., Put 떨어져, 선택, 이동, BOM 업무 일지, 작업 일지 -
작업 일지 형태로 (201) (60) 위치 코드 컨트롤의 Visible 속성을 다음과 같이 변경 합니다.
기존 코드Visible = Yes
대체 코드
Visible = No
-
작업 일지 형태로 (201) Bin 코드 필드 사이 위치 코드 필드 및 해당 작업 유형 코드 필드를 추가 하 고 다음과 같이 필드를 지정 합니다.
...{ 61 ;Label ;0 ;0 ;0 ;0 ;ParentControl=60;
InColumnHeading=Yes }
// Add the following lines.
{ 102 ;TextBox ;35507;1650 ;1700 ;440 ;ParentControl=1;
InColumn=Yes;
SourceExpr="Bin Code" }
{ 103 ;Label ;0 ;0 ;0 ;0 ;ParentControl=102;
InColumnHeading=Yes }
// End of the lines.
{ 48 ;TextBox ;11430;2530 ;1650 ;440 ;ParentControl=1;
... -
작업 Jnl.에서 새 전역 변수를 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: 위치
-
데이터 형식: 레코드
-
하위 형식: 위치 (14)
-
-
작업 Jnl. 새 GetLocation 함수를 만들고-게시 줄 codeunit (1012) 다음과 같이:
LOCAL PROCEDURE GetLocation@25(LocationCode@1000 : Code[10]);
-
작업 Jnl. GetLocation 함수에 다음 코드를 추가-게시 줄 codeunit (1012).
IF LocationCode = '' THENCLEAR(Location)
ELSE
IF Location.Code <> LocationCode THEN
Location.GET(LocationCode); -
작업 Jnl. 새 PostWhseJnlLine 함수를 만들고-게시 줄 codeunit (1012) 다음과 같이:
LOCAL PROCEDURE PostWhseJnlLine@24(ItemJnlLine@1000 : Record 83;OriginalQuantity@1001 : Decimal;OriginalQuantityBase@1002 : Decimal;VAR TempTrackingSpecification@1003 : TEMPORARY Record 336);
-
다음 지역 변수 PostWhseJnlLine 함수에서 작업 Jnl. 만들기-게시 줄 codeunit (1012).
-
작업 Jnl. PostWhseJnlLine 함수에 로컬 변수를 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: WarehouseJournalLine
-
데이터 형식: 레코드
-
하위 형식: 웨어하우스 업무 일지 줄 (7311)
-
-
작업 Jnl. PostWhseJnlLine 함수에 로컬 변수를 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: TempWarehouseJournalLine
-
데이터 형식: 임시 레코드
-
하위 형식: 웨어하우스 업무 일지 줄 (7311)
-
-
작업 Jnl. PostWhseJnlLine 함수에 로컬 변수를 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: ItemTrackingManagement
-
데이터 형식: Codeunit
-
하위 형식: 항목 추적 관리 (6500)
-
-
작업 Jnl. PostWhseJnlLine 함수에 로컬 변수를 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: WMSManagement
-
데이터 형식: Codeunit
-
하위 형식: WMS 관리 (7302)
-
-
작업 Jnl. PostWhseJnlLine 함수에 로컬 변수를 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: WhseJnlRegisterLine
-
데이터 형식: Codeunit
-
하위 형식: Whse입니다. Jnl.-선 등록 (7301)
-
-
-
작업 Jnl. PostWhseJnlLine 함수에 다음 코드를 추가-게시 줄 codeunit (1012) 다음과 같이:
WITH ItemJnlLine DO BEGINIF "Entry Type" IN ["Entry Type"::Consumption,"Entry Type"::Output] THEN
EXIT;
Quantity := OriginalQuantity;
"Quantity (Base)" := OriginalQuantityBase;
GetLocation("Location Code");
IF Location."Bin Mandatory" THEN
IF WMSManagement.CreateWhseJnlLine(ItemJnlLine,0,WarehouseJournalLine,FALSE,FALSE) THEN BEGIN
TempTrackingSpecification.MODIFYALL("Source Type",DATABASE::"Job Journal Line");
ItemTrackingManagement.SplitWhseJnlLine(WarehouseJournalLine,TempWarehouseJournalLine,TempTrackingSpecification,FALSE);
IF TempWarehouseJournalLine.FIND('-') THEN
REPEAT
WMSManagement.CheckWhseJnlLine(TempWarehouseJournalLine,1,0,FALSE);
WhseJnlRegisterLine.RUN(TempWarehouseJournalLine);
UNTIL TempWarehouseJournalLine.NEXT = 0;
END;
END; -
작업 Jnl. 코드 함수에 새 지역 변수 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: TempTrackingSpecification
-
데이터 형식: 임시 레코드
-
하위 형식: (336) 사양 관리
-
-
작업 Jnl. 코드 함수에 새 지역 변수 추가-게시 줄 codeunit (1012) 변수를 다음과 같이 지정 합니다.
-
이름: ItemJnlLine2
-
데이터 형식: 레코드
-
하위 형식: 항목 업무 일지 줄 (83)
-
-
작업 Jnl. 코드 함수에 코드를 변경-게시 줄 codeunit (1012) 다음과 같습니다:
기존 코드 1...ItemJnlLine.INIT;
ItemJnlLine."Item No." := JobJnlLine2."No.";
...대체 코드 1
...ItemJnlLine.INIT;
// Add the following line.
ItemJnlLine."Line No." := "Line No.";
ItemJnlLine."Item No." := JobJnlLine2."No.";
...기존 코드 2
...ItemLedgEntry.LOCKTABLE;
ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);
END;
...대체 코드 2
...ItemLedgEntry.LOCKTABLE;
// Add the following line.
ItemJnlLine2 := ItemJnlLine;
ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);
// Add the following lines.
ItemJnlPostLine.CollectTrackingSpecification(TempTrackingSpecification);
PostWhseJnlLine(ItemJnlLine2,ItemJnlLine2.Quantity,ItemJnlLine2."Quantity (Base)",TempTrackingSpecification);
// End of the lines.
... -
Whse에서 GetSourceDocument 함수에서 매개 변수 참조 문서 OptionString 속성의 값을 변경 합니다. 다음과 같은 관리 codeunit (5775).
OptionString=, S. 주문, 송장 S., S. 신용 메모, S. 반환 순서, P. 순서, P. 송장, P. 신용 메모, P. 반환 순서, Inb. 전송, Outb 전송 제품입니다. 사용 항목 Jnl입니다. 실제 Invt입니다. Jnl., Reclass Jnl., 소비 Jnl 합니다. 출력 Jnl., BOM Jnl, Serv. 순서, 작업 Jnl. -
Whse에서 GetSourceDocument 함수에서 코드를 변경 합니다. 다음과 같이 관리 codeunit (5775).
기존 코드...EXIT;
END;
END;
ERROR(Text000);
...대체 코드
...EXIT;
END;
// Add the following lines.
DATABASE::"Job Journal Line":
BEGIN
SourceDocument := SourceDocument::"Job Jnl.";
EXIT;
END;
// End of the lines.
END;
ERROR(Text000);
... -
다음과 같이 WMS 관리 codeunit (7302) CreateWhseJnlLine 함수에서 코드를 변경 합니다.
기존 코드...WhseJnlLine."Source Line No." := "Line No.";
END;
WhseJnlLine."Source Code" := "Source Code";
WhseJnlLine."Reason Code" := "Reason Code";
WhseJnlLine."Registering No. Series" := "Posting No. Series";
WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";
// Delete the following line.
WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal";
WhseJnlLine."Reference No." := "Document No.";
...대체 코드
...WhseJnlLine."Source Line No." := "Line No.";
// Add the following lines.
END ELSE
IF "Job No." <> '' THEN BEGIN
WhseJnlLine."Source Type" := DATABASE::"Job Journal Line";
WhseJnlLine."Source Subtype" := ItemJnlTemplateType;
WhseMgt.GetSourceDocument(WhseJnlLine."Source Document",WhseJnlLine."Source Type",WhseJnlLine."Source Subtype");
WhseJnlLine."Source No." := "Document No.";
WhseJnlLine."Source Line No." := "Line No.";
// End of the lines.
END;WhseJnlLine."Source Code" := "Source Code";
WhseJnlLine."Reason Code" := "Reason Code";
WhseJnlLine."Registering No. Series" := "Posting No. Series";
WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";
// Add the following lines.
IF "Job No." = '' THEN
WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
ELSE
WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
// End of the lines.
WhseJnlLine."Reference No." := "Document No.";
...ine."Source Code" := "Source Code";
WhseJnlLine."Reason Code" := "Reason Code";
WhseJnlLine."Registering No. Series" := "Posting No. Series";
WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";
// Add the following lines.
IF "Job No." = '' THEN
WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
ELSE
WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
// End of the lines.
WhseJnlLine."Reference No." := "Document No.";
...
전제 조건
이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.
-
Microsoft Dynamics 탐색 2009 R2
-
Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1)
제거 정보
이 핫픽스를 제거할 수 없습니다.
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을 참조하십시오.