Тази статия се отнася за Microsoft Dynamics NAV за всички страни и всички езикови променливи.
Симптоми
Да приемем, че елемент има поне един ред във формуляра "Standard Cost Worksheet" в Microsoft Dynamics NAV 2009 със Service Pack 1 (SP1) или в Microsoft Dynamics NAV 5.0 с SP1. Когато изтриете елемента от картата на елемента, записите от таблицата "Standard Cost Worksheet" не се премахват. Следователно, ако след това се опитате да изпълните функцията Implement Standard Cost Changes във формуляра "Standard Cost Worksheet" за този елемент, ще получите следното съобщение за грешка:
Забележка
Артикул No "Item_number" не съществува.
В това съобщение за грешка контейнерът на Item_number представя действителен номер на елемент.
Решение
Информация за горещи поправки
Поддържа гореща поправка вече се предлага от Microsoft. Целта му е обаче само да коригира проблема, който е описан в тази статия. Прилагайте го само към системи, които срещат този конкретен проблем. Тази гореща корекция може да бъде подложена на допълнително тестване. Ето защо, ако не сте сериозно засегнати от този проблем, ви препоръчваме да изчакате следващия сервизен пакет за Microsoft Dynamics NAV или следващата версия, която съдържа тази гореща корекция.
Забележка: При специални случаи таксите, които обикновено се начисляват за свързани с поддръжката разговори, могат да бъдат отменени, ако специалист по техническа поддръжка за Microsoft Dynamics и свързаните продукти реши, че проблемът може да бъде решен със специфична актуализация. Стандартните такси за поддръжката ще важат за допълнителни въпроси, свързани с нея, както и за проблеми, които не спадат към съответната актуализация.
Информация за инсталиране
Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, нито изрична, или подразбираща се. Това включва, но не се ограничава до, подразбиращите се гаранции за продаваемост или годност за определена цел. В тази статия се предполага, че сте запознати с езика за програмиране, който се демонстрира, и с инструментите, които се използват за създаване и за процедури за отстраняване на грешки. Инженерите по поддръжка на Microsoft могат да ви помогнат да обяснят функционалността на дадена процедура, но няма да променят тези примери, за да предоставят допълнителна функционалност или да конструират процедури, които да отговарят на вашите конкретни изисквания.
Забележка Преди да инсталирате тази гореща корекция, уверете се, че всички потребители на клиента на Microsoft Navision са излезли от системата. Това включва потребители на клиенти на Microsoft Navision Application Services (NAS). Когато внедрявате тази гореща корекция, трябва да сте единственият клиентски потребител е влязъл.
За да приложите тази гореща корекция, трябва да имате лиценз за разработчик.
Препоръчваме на потребителския акаунт в прозореца за влизане в Windows или в прозореца за влизане в база данни да бъде присвоен ИД на роля "SUPER". Ако на потребителския акаунт не може да бъде присвоен ИД на роля "SUPER", трябва да се уверите, че този потребителски акаунт има следните разрешения:
- Разрешението за промяна за обекта, който ще променяте.
- Разрешението за изпълнение за обекта 5210 на системен обект с ИД 5210 и за обекта 9015 на системен обект.
Забележка: Не е необходимо да имате права за хранилищата за данни, освен ако не трябва да извършите поправка на данни.
Промени в кода
Забележка: Винаги тествайте корекциите на кода в контролирана среда, преди да ги приложите към производствените си компютри.
За да заобиколите този проблем, променете кода в следните обекти, както следва:
- Таблица с елементи (27)
- Таблица "Работен център" (99000754)
- Маса Machine Center (99000758)
Променете кода в превключвателя OnDelete на таблицата с елементи (27) по следния начин:
Добавете локална променлива по следния начин:
- Име: StdCostWksh
- Тип: Запис
- Подтип: 5841
Променете кода по следния начин:
Съществуващ код... IF ItemJnlLine.FIND('-') THEN ERROR(Text023,TABLECAPTION,"No.",ItemJnlLine.TABLECAPTION); RequisitionLine.SETCURRENTKEY(Type,"No."); RequisitionLine.SETRANGE(Type,RequisitionLine.Type::Item); RequisitionLine.SETRANGE("No.","No."); ...Код за подмяна
... IF ItemJnlLine.FIND('-') THEN ERROR(Text023,TABLECAPTION,"No.",ItemJnlLine.TABLECAPTION); StdCostWksh.RESET; StdCostWksh.SETRANGE(Type,StdCostWksh.Type::Item); StdCostWksh.SETRANGE("No.","No."); IF NOT StdCostWksh.ISEMPTY THEN ERROR(Text023,TABLECAPTION,"No.",StdCostWksh.TABLECAPTION); RequisitionLine.SETCURRENTKEY(Type,"No."); RequisitionLine.SETRANGE(Type,RequisitionLine.Type::Item); RequisitionLine.SETRANGE("No.","No."); ...
Променете кода в превключвателя OnDelete на таблицата на работния център (99000754) по следния начин:
Добавете локална променлива по следния начин:
- Име: StdCostWksh
- Тип: Запис
- Подтип: 5841
Променете кода по следния начин:
Съществуващ код... IF CapLedgEntry.FIND('-') THEN ERROR(Text010,TABLECAPTION,"No.",CapLedgEntry.TABLECAPTION); CalendarEntry.SETCURRENTKEY("Capacity Type","No."); CalendarEntry.SETRANGE("Capacity Type",CalendarEntry."Capacity Type"::"Work Center"); CalendarEntry.SETRANGE("No.","No."); ...Код за подмяна
... IF CapLedgEntry.FIND('-') THEN ERROR(Text010,TABLECAPTION,"No.",CapLedgEntry.TABLECAPTION); StdCostWksh.RESET; StdCostWksh.SETRANGE(Type,StdCostWksh.Type::"Work Center"); StdCostWksh.SETRANGE("No.","No."); IF NOT StdCostWksh.ISEMPTY THEN ERROR(Text010,TABLECAPTION,"No.",StdCostWksh.TABLECAPTION); CalendarEntry.SETCURRENTKEY("Capacity Type","No."); CalendarEntry.SETRANGE("Capacity Type",CalendarEntry."Capacity Type"::"Work Center"); CalendarEntry.SETRANGE("No.","No."); ...
Променете кода в превключвателя OnDelete на таблицата в центъра за машини (99000758) по следния начин:
Добавете локална променлива по следния начин:
- Име: StdCostWksh
- Тип: Запис
- Подтип: 5841
Променете кода по следния начин:
Съществуващ код... IF CapLedgEntry.FIND('-') THEN ERROR(Text007,TABLECAPTION,"No.",CapLedgEntry.TABLECAPTION); CalendarEntry.SETRANGE("Capacity Type",CalendarEntry."Capacity Type"::"Machine Center"); CalendarEntry.SETRANGE("No.","No."); CalendarEntry.DELETEALL; ...Код за подмяна
... IF CapLedgEntry.FIND('-') THEN ERROR(Text007,TABLECAPTION,"No.",CapLedgEntry.TABLECAPTION); StdCostWksh.RESET; StdCostWksh.SETRANGE(Type,StdCostWksh.Type::"Machine Center"); StdCostWksh.SETRANGE("No.","No."); IF NOT StdCostWksh.ISEMPTY THEN ERROR(Text007,TABLECAPTION,"No.",StdCostWksh.TABLECAPTION); CalendarEntry.SETRANGE("Capacity Type",CalendarEntry."Capacity Type"::"Machine Center"); CalendarEntry.SETRANGE("No.","No."); CalendarEntry.DELETEALL; ...
Предварителни изисквания
Трябва да имате инсталирана Microsoft Dynamics NAV 2009 SP1 или Microsoft Dynamics NAV 5.0 SP1, за да приложите тази гореща корекция.
Информация за премахване
Не можете да премахнете тази гореща корекция.
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Забележка: Това е статия "FAST PUBLISH", създадена директно от организацията за поддръжка на Microsoft. Информацията, съдържаща се тук, е предоставена както е в отговор на възникващи проблеми. В резултат на бързината на предоставянето им, материалите могат да включват печатни грешки и могат да бъдат коригирани по всяко време без предизвестие. Вижте условията на използване за други съображения.