Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ця стаття відноситься до Microsoft Dynamics NAV області Грецька (г).

Причини

Наприклад, якщо в грецької мовного пакета Office інстальовано. Під час створення більше восьми рядків на сегмент сегменту, Грецька версії Microsoft Dynamics NAV, 2009, виникає помилка "Неприпустимий поле злиття" з Word автоматизації.
Ця проблема виникає в таких продуктів:

  • Грецька версії Microsoft Dynamics NAV 2009-R2

  • Грецька версії Microsoft Dynamics NAV 2009 року з пакетом оновлень 1


Вирішення

Відомості про виправлення

Корпорація Майкрософт випустила підтримуване виправлення доступна. Однак, застосовувати лише для вирішення проблеми, описаної в цій статті. Він придатний лише для систем, які зазнають цієї конкретної проблеми. Те, що це виправлення може потребувати додаткового тестування. Таким чином, якщо ви не завдає значної, рекомендовано почекати до виходу чергового пакета оновлень Microsoft Dynamics NAV, 2009 або наступної версії Microsoft Dynamics NAV, що містить це виправлення.

Примітка. В окремих випадках оплату звернення до служби підтримки може бути скасовано якщо технічної підтримки професійного для Microsoft Dynamics і пов'язані продукти визначає телефонів служби. Плата стягується на додаткові питання і проблеми, які не пов'язані з оновленням.



Відомості про інсталяцію

Корпорація Майкрософт надає приклади програмного коду тільки для ілюстрації, без гарантій – прямих або інших. Це включає, але не обмежується, будь-яких гарантій придатності до продажу та придатності для певної мети. У цій статті припускається, що ви знайомі з, що демонструє мову програмування та інструменти, які використовуються для створення та налагодження процедури. Співробітники служби підтримки корпорації Майкрософт можуть пояснити функціональні особливості кожної конкретної процедури, але вони не будуть змінювати приклади для реалізації додаткових можливостей або створювати процедури на вимогу окремих користувачів.

Примітка. Перш ніж інсталювати це виправлення, переконайтеся, що усі користувачі Microsoft Navision-клієнт відключився системи. Пакет оновлень містить служб Microsoft Navision застосунків (NAS) клієнта користувачів. Ви повинні тільки клієнт користувача, який увійшов до системи, під час виконання цього виправлення.

Щоб застосувати це виправлення, потрібно мати ліцензію для розробників.

Корпорація Майкрософт рекомендує, що обліковий запис користувача Windows, вхід вікна або у вікні бази даних вхід призначити "Супер" роль ID. Якщо обліковий запис користувача не призначено роль ID "Супер", необхідно переконатися, що обліковий запис користувача, має такі дозволи:

  • Змінити дозвіл об'єкт, який буде змінити.

  • Права для виконання системи об'єкт з Ідентифікатором 5210 об'єкт а також системи об'єкт з Ідентифікатором 9015 об'єкта.



Примітка. Маєте відповідних прав у сховища даних, якщо не потрібно виконати дані відновлення не потрібно.

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії.

  1. Створити нову функцію 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);
  2. Змініть чотиризначний код у такий рядок у функції InsertCharSet в WordManagement-codeunit (5054):

    NewLine:= '<HTML><META charset=windows-1253>';

    Примітка.  "1253" є правильний код використання, мова клієнт Microsoft Dynamics NAV, де-грецьку версію (г). Змініть цей код на чотири цифри коду для кодування Windows для клієнта Microsoft Dynamics NAV мови. Наприклад, "1257" – це правильний код для латвійська (LV).
    Щоб отримати повний список набори символів для Windows, перейдіть на веб-сайт:
    http://msdn.microsoft.com/en-us/library/aa752010(v=vs.85).aspx

  3. Змін в 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);
    ...
  4. Змінити код у 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);
    ...
  5. Змін в 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"));
    ...
  6. Змін в 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 NAV 2009-R2

  • Грецька версії Microsoft Dynamics NAV 2009 року з пакетом оновлень 1

Відомості про видалення

Це виправлення не можна видалити.

Стан

Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

Примітка. Це "Швидка публікація" статті, надана службою підтримки корпорації Майкрософт. Відомості в цій статті надано без змін у відповідь на повідомлення про проблеми. З огляду на швидкість публікації матеріали можуть містити орфографічні помилки. Їх може бути змінено в будь-який час без повідомлення. Щоб отримати додаткові відомості, див. Умови використання.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×