Під час рахунок-фактура (або отримання та потім рахунку) на замовлення елемента, який призначено для роботи і в кошик обов'язковий місці в Microsoft Dynamics NAV відображається повідомлення про помилку "Потрібно вказати Bin код у рядку журналу шаблон для роботи журналу"


Ця стаття відноситься до Microsoft Dynamics NAV для всіх регіонів.

Причини


Припустимо, що у вас на замовлення елемента, яку призначено роботу, і вказати Bin код елемента в Microsoft Dynamics NAV. Після цього, при спробі надіслати (відображається і рахунок-фактура) придбання замовлення, з'являється таке повідомлення про помилку, через те, що відбувається, через невідповідність даних між елемент книга елементів і зі складу:
Кошик код потрібно вказати в рядку журналу шаблон для роботи журналу...

Додатково, при спробі надіслати дані чека скасувати замовлення, записи елемент книга оновлюється неправильно. Системи, щоб оновити склад і елемент книга записи, так само належним чином.
Ця проблема виникає, після інсталяції виправлення в KB 2159936.
Щоб отримати додаткові відомості, клацніть номер статті в базі знань Microsoft:
2159936 несподівано надіслати замовлення на закупівлю як отримати для розташування обов'язкового кошика з роботою в Microsoft Dynamics NAV 2009 пакеті оновлень 1

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

Вирішення


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

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

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



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

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

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

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

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


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

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії.
  1. Змін у функції FromPurchaseLineToJnlLine в codeunit, (1004) наступним чином:

    Наявний код
    ...    JobJnlLine."Line Discount Amount" :=
    ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision");
    END;

    JobJnlLine."Location Code" := "Location Code";
    JobJnlLine."Line Type" := "Job Line Type";
    ...
    Заміна код
    ...      JobJnlLine."Line Discount Amount" :=
    ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision");
    END;

    JobJnlLine."Location Code" := "Location Code";

    // Add the following line.
    JobJnlLine."Bin Code" := "Bin Code";
    // End of the added line.

    JobJnlLine."Line Type" := "Job Line Type";
    ...
  2. Змін OnRun тригера в на Purch.-повідомлення codeunit (90) наступним чином:

    Примітка. Додано код, щоб видалити з бази Знань 2159936, таким чином, вона може або не може бути необхідно змінити наведений нижче код.

    Наявний код
    ...      IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;

    // Delete the following lines.
    IF (PurchLine."Job No." <> '') AND (PurchLine.Type = PurchLine.Type::Item) THEN
    PurchLine.TESTFIELD("Bin Code",'');
    // End of the deleted lines.
    ...
    Заміна код
    ...        IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;
    ...
  3. Змін у функції PostItemJnlLine в на Purch.-повідомлення codeunit (90) наступним чином:

    Наявний код
    ...   IF PostWhseJnlLine THEN BEGIN
    ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE);
    IF TempWhseJnlLine2.FIND('-') THEN
    REPEAT
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    UNTIL TempWhseJnlLine2.NEXT = 0;
    ...
    Заміна код
    ...   IF PostWhseJnlLine THEN BEGIN
    ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE);
    IF TempWhseJnlLine2.FIND('-') THEN
    REPEAT
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    // Add the following lines.
    IF RevertWarehouseEntry(TempWhseJnlLine2,"Job No.",PostJobConsumptionBeforePurch) THEN
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    // End of the added lines.

    UNTIL TempWhseJnlLine2.NEXT = 0;
    ...
  4. Додайте локальні таку функцію: RevertWarehouseEntry@92 (VAR TempWhseJnlLine@1000: ТИМЧАСОВІ запис, 7311; JobNo@1001: Код [20]; PostJobConsumptionBeforePurch@1002: Логічних). Додайте наведений нижче код функції:
    IF PostJobConsumptionBeforePurch OR (JobNo = '') THEN  EXIT(FALSE);
    WITH TempWhseJnlLine DO BEGIN
    "Entry Type" := "Entry Type"::"Negative Adjmt.";
    Quantity := -Quantity;
    "Qty. (Base)" := -"Qty. (Base)";
    "From Bin Code" := "To Bin Code";
    "To Bin Code" := '';
    END;
    EXIT(TRUE);


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

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


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

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

Стан


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

Посилання


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