Під час змінення значення замовлення на продаж в Microsoft Dynamics NAV "Продаємо для підтримки ні" відображається повідомлення про помилку "Не можна змінити розташування коду"

Застосовується до: Microsoft Dynamics NAV 5.0 Service Pack 1Dynamics NAV 2009Microsoft Dynamics NAV 2009 Service Pack 1


Ця стаття відноситься до Microsoft Dynamics NAV всі країни і всі мови.

Причини


Змінивши значення Продаємо для клієнта без замовлення на продаж, з'являється таке повідомлення про помилку:
Через те, що існує резервування, відстеження товару або замовити відстеження обробка замовлення, не можна змінити розташування коду.

Ця проблема виникає в таких умов:
  • Параметр Політики замовлення-відстеження увімкнуто.
  • Оновлення існуючого напрямку замовлення.

Ця проблема виникає в таких продуктів:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 пакет оновлень 1 для
  • Microsoft Dynamics NAV 5.0 пакет оновлень 1 для

Вирішення


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

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

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


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

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

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

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

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


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

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.
Щоб вирішити цю проблему, змін у продажу заголовок (36). Щоб це зробити, виконайте такі дії:
  1. Видаліть такий текст постійний.
    Text047@1095 : TextConst 'ENU=You cannot change %1 because reservation, item tracking, or order tracking exists on the sales order.'; 

  2. Змін у функції RecreateSalesLines наступним чином:
    Наявний код
    SalesLine.TESTFIELD("Return Qty. Received",0);              SalesLine.TESTFIELD("Shipment No.",'');
    SalesLine.TESTFIELD("Return Receipt No.",'');
    SalesLine.TESTFIELD("Blanket Order No.",'');
    SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0);
    SalesLineTmp := SalesLine;
    IF SalesLine.Nonstock THEN BEGIN
    SalesLine.Nonstock := FALSE;
    SalesLine.MODIFY;
    END;
    SalesLineTmp.INSERT;
    RecreateReservEntry(SalesLine,0,TRUE);
    RecreateReqLine(SalesLine,0,TRUE);
    UNTIL SalesLine.NEXT = 0;

    // Delete the following lines.
    IF "Location Code" <> xRec."Location Code" THEN
    IF NOT TempReservEntry.ISEMPTY THEN
    ERROR(Text047,FIELDCAPTION("Location Code"));
    // End of the deleted lines.

    ItemChargeAssgntSales.SETRANGE("Document Type","Document Type");
    ItemChargeAssgntSales.SETRANGE("Document No.","No.");
    IF ItemChargeAssgntSales.FINDSET THEN BEGIN

    Заміна код
    SalesLine.TESTFIELD("Return Qty. Received",0);              SalesLine.TESTFIELD("Shipment No.",'');
    SalesLine.TESTFIELD("Return Receipt No.",'');
    SalesLine.TESTFIELD("Blanket Order No.",'');
    SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0);

    // Add the following lines.
    IF SalesLine."Location Code" <> "Location Code" THEN
    SalesLine.VALIDATE("Location Code","Location Code");
    // End of the added lines.

    SalesLineTmp := SalesLine;
    IF SalesLine.Nonstock THEN BEGIN
    SalesLine.Nonstock := FALSE;
    SalesLine.MODIFY;
    END;
    SalesLineTmp.INSERT;
    RecreateReservEntry(SalesLine,0,TRUE);
    RecreateReqLine(SalesLine,0,TRUE);
    UNTIL SalesLine.NEXT = 0;

    ItemChargeAssgntSales.SETRANGE("Document Type","Document Type");
    ItemChargeAssgntSales.SETRANGE("Document No.","No.");
    IF ItemChargeAssgntSales.FINDSET THEN BEGIN

Попередні вимоги

Ви повинні мати одну з наведених нижче продуктів, щоб застосувати це виправлення:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 пакет оновлень 1 для
  • Microsoft Dynamics NAV 5.0 пакет оновлень 1 для

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

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

Стан


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