Статті, опубліковані швидко, надають інформацію безпосередньо з організації підтримки Корпорації Майкрософт. Інформація, яка міститься в цьому документі, створюється у відповідь на нові або унікальні теми або призначена для доповнення інших відомостей бази знань.
Ця стаття стосується Microsoft Dynamics NAV 2009 для всіх країн і всіх мов.
Ознаки
Припустімо, що код значення виміру елемента компонента комплект відрізняється від коду комплект батьківського елемента в Microsoft Dynamics NAV 2009 SP1. Коли ви публікуєте ЖУРНАЛ BOM або замовлення на продаж, Microsoft Dynamics NAV 2009 SP1 неправильно дозволити опублікувати ЖУРНАЛ BOM або замовлення на продаж без повідомлення про помилку. Ця проблема виникає, навіть якщо значення виміру проводки код визначається як "один код" для компонента комплект і комплект батьківського елемента.
Очікується, що "вимір, який використовується в елемент журналу рядок, за промовчанням, 10000 спричинив помилку. Selected dimension value code [Dimension value code_Number] for the dimension code [Dimension code_Number] for item [Item_Number]" message to show when you post the BOM journal or the sales order in this situation.
Ця проблема виникає в продуктах, що містять функціональні можливості Kitting для таких країн:
- Австралія
- Австрія
- Франція
- Індонезія
- Малайзія
- Нова Зеландія
- Північна Америка
- Філіппіни
- Сінґапур
- Таїланд
Спосіб усунення проблеми
Відомості про виправлення
Від корпорації Майкрософт доступне виправлення, що підтримується. Однак вона призначена лише для виправлення проблеми, описаної в цій статті. Застосуйте її лише до систем, у яких виникла ця проблема. Це виправлення може отримати додаткове тестування. Таким чином, якщо ви не серйозно постраждали від цієї проблеми, ми радимо дочекатися наступного Microsoft Dynamics NAV 2009 пакет оновлень або наступної версії Microsoft Dynamics NAV, яка містить це виправлення.
Примітка У особливих випадках стягнення плати, які зазвичай понесені для викликів підтримки, може бути скасовано, якщо спеціаліст служби технічної підтримки Microsoft Dynamics і пов'язані продукти визначать, що конкретне оновлення вирішить вашу проблему. Звичайні витрати на підтримку застосовуватимуться до додаткових запитань і питань підтримки, які не відповідають вимогам для конкретного оновлення, про яке йде мова.
Відомості про інсталяцію
Корпорація Майкрософт надає приклади програмування лише для ілюстрації без жодних гарантій, явних або неявних. Це стосується зокрема неявних гарантій щодо придатності до продажу чи придатності для певної мети. У цій статті припускається, що ви знайомі з мовою програмування, яка демонструється, і з інструментами, які використовуються для створення і налагодження процедур. Спеціалісти служби підтримки Microsoft можуть допомогти пояснити функціональність певної процедури, але вони не змінюватимуть ці приклади, щоб надавати додаткові функції або конструювати процедури відповідно до ваших конкретних вимог.
Примітка. Перш ніж інсталювати це виправлення, переконайтеся, що всі користувачі клієнта Microsoft Navision, вийти із системи. Це стосується користувачів клієнтських служб Microsoft Navision (NAS). Ви повинні бути єдиним клієнтом користувача, який ввійшов, коли ви впроваджуєте це виправлення.
Щоб реалізувати це виправлення, потрібно мати ліцензію розробника.
Радимо призначити обліковому запису користувача у вікні "Вхід у Windows" або у вікні "Вхід до бази даних" ідентифікатор ролі "SUPER". Якщо обліковому запису користувача не вдалося призначити ідентифікатор ролі SUPER, переконайтеся, що обліковий запис має такі дозволи:
- Дозвіл на змінення об'єкта, який буде змінюватися.
- Дозвіл Execute для об'єкта System Object ID 5210 і для об'єкта System Object ID 9015.
Примітка. Ви не повинні мати права на зберігання даних, якщо не потрібно відновлювати дані.
Зміни коду
Примітка. Завжди перевіряйте виправлення коду в контрольованому середовищі, перш ніж застосовувати виправлення до робочих комп'ютерів.
Щоб вирішити цю проблему, змініть код у коді функції BOM Jnl.-Post Line codeunit(32), як описано нижче.
Наявний код
...
ELSE
BuildTotalDisassemblyCost(BOMJnlLine,ItemJnlLine.Amount - "Total Cost");
TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2,FALSE);
ReserveBOMJnlLine.TransferBOMJnlToItemJnlLine(BOMJnlLine,ItemJnlLine,"Quantity (Base)");
...
Код заміни
...
ELSE
BuildTotalDisassemblyCost(BOMJnlLine,ItemJnlLine.Amount - "Total Cost");
// Add the following line.
TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2);
// End of the added line.
ReserveBOMJnlLine.TransferBOMJnlToItemJnlLine(BOMJnlLine,ItemJnlLine,"Quantity (Base)");
...
змініть код у функції PostTempJnlLines у BOM Jnl.-Post Line codeunit(32), як виконайте такі дії:
Наявний код
...
IF TempItemJnlLine.FIND('-') THEN
REPEAT
TempItemJnlLine2 := TempItemJnlLine;
TransferDimToItemJnlLine(TempItemJnlLine,TempJnlLineDim2,TRUE);
ItemJnlPostLine.RunWithCheck(TempItemJnlLine,TempJnlLineDim2);
WITH TempItemJnlLine DO BEGIN
Quantity := TempItemJnlLine2.Quantity;
...
Код заміни
...
IF TempItemJnlLine.FIND('-') THEN
REPEAT
TempItemJnlLine2 := TempItemJnlLine;
// Add the following line.
TransferDimToItemJnlLine(TempItemJnlLine,TempJnlLineDim2);
// End of the added line.
ItemJnlPostLine.RunWithCheck(TempItemJnlLine,TempJnlLineDim2);
WITH TempItemJnlLine DO BEGIN
Quantity := TempItemJnlLine2.Quantity;
...
змініть код у функції TransferDimToItemJnlLine у BOM Jnl.-Post Line codeunit(32), як виконайте такі дії:
Наявний код
...
TempJnlLineDim2."Journal Line No." := ItemJnlLine2."Line No.";
TempJnlLineDim2."Allocation Line No." := 0;
TempJnlLineDim2."Dimension Code" := TempJnlLineDim."Dimension Code";
IF Consumption THEN
IF DefDim.GET(DATABASE::Item,ItemJnlLine2."Item No.",TempJnlLineDim."Dimension Code") THEN BEGIN
TempJnlLineDim2."Dimension Value Code" := DefDim."Dimension Value Code";
CASE DefDim."Dimension Code" OF
GLSetup."Global Dimension 1 Code":
ItemJnlLine2."Shortcut Dimension 1 Code" := DefDim."Dimension Value Code";
GLSetup."Global Dimension 2 Code":
ItemJnlLine2."Shortcut Dimension 2 Code" := DefDim."Dimension Value Code";
END;
END ELSE
TempJnlLineDim2."Dimension Value Code" := TempJnlLineDim."Dimension Value Code"
ELSE
TempJnlLineDim2."Dimension Value Code" := TempJnlLineDim."Dimension Value Code";
TempJnlLineDim2.INSERT;
UNTIL TempJnlLineDim.NEXT = 0;
END;
...
Код заміни
...
TempJnlLineDim2."Journal Line No." := ItemJnlLine2."Line No.";
TempJnlLineDim2."Allocation Line No." := 0;
TempJnlLineDim2."Dimension Code" := TempJnlLineDim."Dimension Code";
// Add the following line.
TempJnlLineDim2."Dimension Value Code" := TempJnlLineDim."Dimension Value Code";
// End of the added line.
TempJnlLineDim2.INSERT;
UNTIL TempJnlLineDim.NEXT = 0;
END;
...
змініть код у функції PostResourceCost у BOM Jnl.-Post Line codeunit(32), як виконайте такі дії:
Наявний код
...
ItemJnlLine.Kitting := TRUE;
TotalCost := "Total Cost";
UnitCost := "Unit Cost";
TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2,TRUE);
IF OutputItemLedgEntryNo <> 0 THEN BEGIN
ItemJnlLine."Item Shpt. Entry No." := OutputItemLedgEntryNo;
...
Код заміни
...
ItemJnlLine.Kitting := TRUE;
TotalCost := "Total Cost";
UnitCost := "Unit Cost";
// Add the following line.
TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2);
// End of the added line.
IF OutputItemLedgEntryNo <> 0 THEN BEGIN
ItemJnlLine."Item Shpt. Entry No." := OutputItemLedgEntryNo;
...
Попередні вимоги
Щоб застосувати це виправлення, потрібно мати Microsoft Dynamics NAV 2009 SP1.
Відомості про видалення
Не можна видалити це виправлення.
Стан
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".
КОРПОРАЦІЯ МАЙКРОСОФТ І/АБО ЇЇ ПОСТАЧАЛЬНИКИ НЕ РОБЛЯТЬ ЖОДНИХ ЗАЯВ АБО ГАРАНТІЙ ЩОДО ПРИДАТНОСТІ, НАДІЙНОСТІ АБО ТОЧНОСТІ ІНФОРМАЦІЇ, ЯКА МІСТИТЬСЯ В ДОКУМЕНТАХ, І ПОВ'ЯЗАНОЇ ГРАФІКИ, ОПУБЛІКОВАНОЇ НА ЦЬОМУ ВЕБ-САЙТІ ("МАТЕРІАЛИ") ДЛЯ БУДЬ-ЯКИХ ЦІЛЕЙ.
МАТЕРІАЛИ МОЖУТЬ МІСТИТИ ТЕХНІЧНІ НЕТОЧНОСТІ АБО ДРУКАРСЬКІ ПОМИЛКИ І МОЖУТЬ БУТИ ПЕРЕГЛЯНУТІ В БУДЬ-ЯКИЙ ЧАС БЕЗ ПОПЕРЕДЖЕННЯ. У МАКСИМАЛЬНІЙ МІРІ, ДОЗВОЛЕНІЙ ЗАСТОСОВНИМ ЗАКОНОДАВСТВОМ, КОРПОРАЦІЯ МАЙКРОСОФТ І/АБО ЇЇ ПОСТАЧАЛЬНИКИ ВІДМОВЛЯЄТЬСЯ ВІД ВІДПОВІДАЛЬНОСТІ ТА ВИКЛЮЧАЄ ВСІ ЗАЯВИ, ГАРАНТІЇ ТА УМОВИ, ЯКІ СТОСУЮТЬСЯ ПРЯМИХ, НЕПРЯМИХ АБО СТАТУТНИХ ЗОБОВ'ЯЗАНЬ, ВКЛЮЧАЮЧИ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ ПОДАННЯМИ, ГАРАНТІЯМИ АБО УМОВАМИ ПРАВА ВЛАСНОСТІ, НЕПОРУШЕННЯ ПРАВ, ЗАДОВІЛЬНОГО СТАНУ АБО ЯКОСТІ, ПРИДАТНОСТІ ДО ПРОДАЖУ ТА ПРИДАТНОСТІ ДЛЯ ПЕВНОЇ МЕТИ, ЩО СТОСУЮТЬСЯ МАТЕРІАЛІВ.