See artikkel kehtib Microsoft Dynamics NAV-i kohta kõigis riikides ja kõigis keele lokaadides.
Sümptomid
Oletagem, et loote müügitellimuse kaubale, mille tootmispoliitika välja väärtuseks on seatud Microsoft Dynamics NAV 2009 make-to-Order . Müügitellimuse tootmistellimuse loomiseks kasutage funktsiooni Create Prod.Ord ja seejärel määrate tootmistellimuse olekuks Püsivalt planeeritud. Sellisel juhul, kui proovite kustutada komponenti, mille tootmispoliitika on määratud tootmistellimuselt tellimuseks , kuvatakse järgmine tõrketeade:
Märkus.
Mõni teine kasutaja on muutnud selle tootetellimuse komponendi kirjet pärast selle andmebaasist toomist.
Sisestage muudatused värskendatud aknas uuesti või käivitage katkestatud tegevus uuesti.
Identifitseerimisväljad ja väärtused:
Status='Firm Planned',Prod. Order No.='production ordernumber',Prod. Order Line
No.='productionorder line number',Line No.='line number'
See probleem ilmneb järgmistes toodetes:
- Microsoft Dynamics NAV 2009 R2
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
Lahendus
Kiirparanduse teave
Microsoftilt on nüüd saadaval toetatud kiirparandus. Siiski on see mõeldud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavaid katseid. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist Microsoft Dynamics NAV 2009 hoolduspaketti või järgmist Microsoft Dynamics NAV versiooni, mis sisaldab seda kiirparandust.
Märkus. Erijuhtudel võidakse tavaliselt tugiteenuse kõnede eest tehtud tasud tühistada, kui Microsoft Dynamicsi ja seotud toodete tehniline tugitöötaja leiab, et konkreetne värskendus lahendab teie probleemi. Tavapärased toetuskulud kehtivad täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis ei vasta kõnealuse värskenduse tingimustele.
Installiteave
Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ja tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse toimingu funktsionaalsust. Kuid need näited ei muuda neid näiteid, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure.
Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navisioni klientrakenduse kasutajad oleksid süsteemist välja logitud. See hõlmab ka Microsoft Navision Application Servicesi (NAS) klientkasutajaid. Peaksite olema ainus klientkasutaja, kes on sisse logitud, kui rakendate selle kiirparanduse.
Selle kiirparanduse rakendamiseks peab teil olema arendaja litsents.
Soovitame, et aknas Windowsi sisselogimised või aknas Andmebaasi sisselogimised olevale kasutajakontole määrataks "SUPER" rolli ID. Kui kasutajakontole ei saa superrolli ID-d määrata, peate kontrollima, kas kasutajakontol on järgmised õigused.
- Muudetava objekti muutmisõigus.
- Süsteemiobjekti ID 5210 ja süsteemiobjekti ID 9015 täitmisõigus.
Märkus. Teil pole andmesalvede jaoks õigusi, kui te ei pea tegema andmete parandamist.
Koodi muudatused
Märkus. Enne paranduste rakendamist tööarvutitele testige koodiparandusi alati kontrollitud keskkonnas.
Probleemi lahendamiseks tehke järgmist.
Muutke koodi tabelis Tootetellimuse rida (5406). Selleks tehke järgmist.
Lisage uus globaalmuutuja ja määrake muutuja järgmiselt.
- Nimi: CalledFromComponent@1025
- Andmetüüp: kahendmuutuja
Looge uus funktsioon järgmiselt.
PROCEDURE SetCalledFromComponent@3(NewCalledFromComponent@1000 : Boolean); CalledFromComponent := NewCalledFromComponent;Muutke funktsiooni DeleteRelations koodi järgmiselt.
Olemasolev kood... ProdOrderComp.DELETEALL(TRUE); ProdOrderComp.SETRANGE("Prod. Order Line No."); ProdOrderComp.SETRANGE("Supplied-by Line No.","Line No."); IF ProdOrderComp.FIND('-') THEN REPEAT ProdOrderComp."Supplied-by Line No." := 0; ProdOrderComp.MODIFY; UNTIL ProdOrderComp.NEXT = 0; WhseOutputProdRelease.DeleteLine(Rec); ...Asenduskood
... ProdOrderComp.DELETEALL(TRUE); // Add the following line. IF NOT CalledFromComponent THEN BEGIN ProdOrderComp.SETRANGE("Prod. Order Line No."); ProdOrderComp.SETRANGE("Supplied-by Line No.","Line No."); IF ProdOrderComp.FIND('-') THEN REPEAT ProdOrderComp."Supplied-by Line No." := 0; ProdOrderComp.MODIFY; UNTIL ProdOrderComp.NEXT = 0; // Add the following line. END; WhseOutputProdRelease.DeleteLine(Rec); ...
Muutke koodi tabelis Tootetellimuse komponent (5407). Selleks tehke järgmist.
Lisage päästikule OnDelete uus kohalik muutuja ja määrake muutuja järgmiselt.
- Nimi: NewQuantity@1003
- DataType: kümnendkoht
Muutke päästikul OnDelete koodi järgmiselt.
Olemasolev kood... IF ProdOrderLine.GET(Status,"Prod. Order No.","Supplied-by Line No.") THEN BEGIN // Delete the following lines. ProdOrderLine.VALIDATE(Quantity,ProdOrderLine.Quantity - "Expected Quantity"); IF ProdOrderLine.Quantity = 0 THEN BEGIN // End of the lines. ProdOrderLine.BlockDynamicTracking(TRUE); ProdOrderLine.DELETE(TRUE); // Delete the following line. END ELSE ProdOrderLine.MODIFY; END; ...Asenduskood
... IF ProdOrderLine.GET(Status,"Prod. Order No.","Supplied-by Line No.") THEN BEGIN // Add the following lines. NewQuantity := ProdOrderLine.Quantity - "Expected Quantity"; IF NewQuantity = 0 THEN BEGIN // End of the lines. ProdOrderLine.BlockDynamicTracking(TRUE); // Add the following line. ProdOrderLine.SetCalledFromComponent(TRUE); ProdOrderLine.DELETE(TRUE); // Add the following lines. END ELSE BEGIN ProdOrderLine.VALIDATE(Quantity,NewQuantity); // End of the lines. ProdOrderLine.MODIFY; // add the following line. END; END; ...
Eeltingimused
Selle kiirparanduse rakendamiseks peab teil olema installitud üks järgmistest toodetest:
- Microsoft Dynamics NAV 2009 R2
- Microsoft Dynamics NAV 2009 Service Pack 1
Eemaldamisteave
Seda kiirparandust ei saa eemaldada.
Olek
Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.
Märkus. See on otse Microsofti tugiteenuste organisatsioonist loodud FAST PUBLISH-artikkel. Käesolevas artiklis sisalduv teave on esitatud kujul, mis on seotud tekkivate küsimustega. Materjali kättesaadavaks tegemise kiiruse tõttu võivad materjalid sisaldada kirjavigu ja neid võib igal ajal ette teatamata läbi vaadata. Muid kaalutlusi leiate teemast Kasutustingimused .