이 문서의 Microsoft Dynamics 탐색 그리스 (gr) 영역에 적용 됩니다.
증상
그리스어 Office 언어 팩이 설치 되어 있다고 가정 합니다. 8 개 이상의 선 세그먼트가 세그먼트 그리스어 버전의 Microsoft Dynamics 탐색 2009에에서 만들면 Word 자동화에서 "잘못 된 병합 필드" 오류가 발생 합니다.
다음 제품에이 문제가 발생합니다.
-
그리스어 버전의 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 권한이 있습니다.
참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.
코드 변경 사항
참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.
이 문제를 해결하려면 다음과 같이 하십시오.
-
다음과 같이 WordManagement codeunit (5054)에서 새 함수를 만듭니다.
LOCAL PROCEDURE InsertCharSet(MergeFileName@1000000000 : Text[260]) : Text[250];VAR
NewLine : Text[250];
f: File;
f2: File;
b: Integer;
MergeFileNameServer: Text[250];
IF NOT ISSERVICETIER THEN
BEGIN
IF EXISTS(MergeFileName+'$') THEN
ERASE(MergeFileName+'$');
WITH f DO BEGIN
TEXTMODE(TRUE);
WRITEMODE(FALSE);
OPEN(MergeFileName);
END;
WITH f2 DO BEGIN
TEXTMODE(TRUE);
WRITEMODE(TRUE);
CREATE(MergeFileName+'$');
END;
END
ELSE
BEGIN
MergeFileNameServer := RBAutoMgt.ServerTempFileName(Text029,'.HTM');
UPLOAD(Text021, '', Text032, MergeFileName, MergeFileNameServer);
WITH f DO BEGIN
TEXTMODE(TRUE);
WRITEMODE(FALSE);
OPEN(MergeFileNameServer);
END;
WITH f2 DO BEGIN
TEXTMODE(TRUE);
WRITEMODE(TRUE);
CREATE(MergeFileNameServer+'$');
END;
END;
REPEAT
b:=f.READ(NewLine);
IF NewLine='<html>' THEN
NewLine:= '<HTML><META charset=windows-1253>';
f2.WRITE(NewLine);
UNTIL f.POS>=f.LEN;
f.CLOSE;
f2.CLOSE;
IF ISSERVICETIER THEN
BEGIN
ERASE(MergeFileNameServer);
RENAME(MergeFileNameServer+'$', MergeFileNameServer);
DOWNLOAD(MergeFileNameServer,Text035,'',Text032,MergeFileName);
END
ELSE
BEGIN
ERASE(MergeFileName);
RENAME(MergeFileName+'$', MergeFileName);
END;
EXIT (MergeFileName); -
InsertCharSet WordManagement codeunit (5054) 함수에서 다음 줄의 4 자리 코드를 변경 합니다.
NewLine:= '<HTML><META charset=windows-1253>';
참고: "1253"은 여기서 Microsoft Dynamics 탐색 클라이언트 언어는 그리스어 (GR)를 사용 하 여 올바른 코드입니다. Microsoft Dynamics 탐색 클라이언트 언어에 대 한 Windows 문자 집합 코드에이 4 자리 코드를 변경 합니다. 예를 들어, "1257" 라트비아어 (LV)에 대 한 올바른 코드입니다.
Windows 문자 집합의 전체 목록을 보려면, 다음 웹 사이트를 방문.
http://msdn.microsoft.com/en-us/library/aa752010(v=vs.85).aspx -
WordManagement codeunit (5054) CreateWordAttachment 함수에서 코드를 다음과 같이 변경.
기존 코드...IF ISCLEAR(wrdApp) THEN
CREATE(wrdApp,FALSE,TRUE);
Attachment."File Extension" := GetWordDocExt(wrdApp.Version);
wrdDoc := wrdApp.Documents.Add;
wrdDoc.MailMerge.MainDocumentType := 0; // 0 = wdFormLetters
ParamInt := 7; // 7 = HTML
wrdDoc.MailMerge.OpenDataSource(MergeFileName,ParamInt);
...대체 코드
...IF ISCLEAR(wrdApp) THEN
CREATE(wrdApp,FALSE,TRUE);
Attachment."File Extension" := GetWordDocExt(wrdApp.Version);
wrdDoc := wrdApp.Documents.Add;
wrdDoc.MailMerge.MainDocumentType := 0; // 0 = wdFormLetters
ParamInt := 7; // 7 = HTML
// Add the following line.
MergeFileName:=InsertCharSet(MergeFileName);
wrdDoc.MailMerge.OpenDataSource(MergeFileName,ParamInt);
... -
OpenWordAttachment WordManagement codeunit (5054)에서 함수에에서 대 한 코드를 다음과 같이 변경.
기존 코드...IF ISCLEAR(wrdMergefile) THEN
CREATE(wrdMergefile,FALSE,TRUE);
MergeFileName := RBAutoMgt.ClientTempFileName(Text029,'.HTM');
CreateHeader(wrdMergefile,TRUE,MergeFileName);
IF ISCLEAR(wrdApp) THEN
CREATE(wrdApp,FALSE,TRUE);
...대체 코드
...IF ISCLEAR(wrdMergefile) THEN
CREATE(wrdMergefile,FALSE,TRUE);
MergeFileName := RBAutoMgt.ClientTempFileName(Text029,'.HTM');
CreateHeader(wrdMergefile,TRUE,MergeFileName);
// Add the following line.
MergeFileName:=InsertCharSet(MergeFileName);
IF ISCLEAR(wrdApp) THEN
CREATE(wrdApp,FALSE,TRUE);
... -
WordManagement codeunit (5054) ExecuteMerge 함수에서 코드를 다음과 같이 변경.
기존 코드...wrdDoc := wrdApp.Documents.Open(MainFileName);
wrdDoc.MailMerge.MainDocumentType := 0;
Window.UPDATE(6,Text013);
ParamInt := 7; // 7 = HTML
wrdDoc.MailMerge.OpenDataSource(MergeFileName,ParamInt);
Window.UPDATE(6,STRSUBSTNO(Text014,TempDeliverySorter."Correspondence Type"));
...대체 코드
...wrdDoc := wrdApp.Documents.Open(MainFileName);
wrdDoc.MailMerge.MainDocumentType := 0;
Window.UPDATE(6,Text013);
ParamInt := 7; // 7 = HTML
// Add the following line.
MergeFileName:=InsertCharSet(MergeFileName);
wrdDoc.MailMerge.OpenDataSource(MergeFileName,ParamInt);
Window.UPDATE(6,STRSUBSTNO(Text014,TempDeliverySorter."Correspondence Type"));
... -
WordManagement codeunit (5054) ShowMergedDocument 함수에서 코드를 다음과 같이 변경.
기존 코드...ParamInt := 7; // 7 = HTML
wrdDoc.MailMerge.OpenDataSource(MergeFileName,ParamInt);
ParamInt := 9999998; // 9999998 = wdToggle
wrdDoc.MailMerge.ViewMailMergeFieldCodes(ParamInt);
END;
WordHandler(wrdDoc,Attachment,WordCaption,IsTemporary,MainFileName,IsInherited);
CLEAR(wrdMergefile);
CLEAR(wrdDoc);
CLEAR(wrdApp);
DeleteFile(MergeFileName);
...대체 코드
...ParamInt := 7; // 7 = HTML
// Add the following line.
MergeFileName:=InsertCharSet(MergeFileName);
wrdDoc.MailMerge.OpenDataSource(MergeFileName,ParamInt);
ParamInt := 9999998; // 9999998 = wdToggle
wrdDoc.MailMerge.ViewMailMergeFieldCodes(ParamInt);
END;
WordHandler(wrdDoc,Attachment,WordCaption,IsTemporary,MainFileName,IsInherited);
CLEAR(wrdMergefile);
CLEAR(wrdDoc);
CLEAR(wrdApp);
DeleteFile(MergeFileName);
...
전제 조건
이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.
-
그리스어 버전의 Microsoft Dynamics 탐색 2009 R2
-
그리스어 버전의 Microsoft Dynamics 탐색 2009 서비스 팩 1
제거 정보
이 핫픽스를 제거할 수 없습니다.
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을 참조하십시오.