Ovaj se članak odnosi na NAV sustava Microsoft Dynamics za sve države i regionalne sheme na svim jezicima.
Simptomi
Pretpostavimo da ste stvorili servisni nalog koji ima dva retka servisnog naloga u sustavu Microsoft Dynamics NAV. Zatim u dijaloškom okviru Servisni reci stvorite redak servisnog naloga za redak servisnog naloga. U toj situaciji, kada knjižite redak servisa za redak servisnog naloga na servisnom nalogu, sustav uklanja servisni nalog iako servisni nalog nema redak knjiženja servisa za drugi redak servisnog naloga.
Taj se problem pojavljuje u sljedećim proizvodima:
- Microsoft Dynamics NAV 2009 R2
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 5.0 Service Pack 1
Rješenje
Informacije o hitnom popravku
Microsoft sada nudi podržani hitni popravak. No njegova je namjena samo ispravljanje problema opisanog u ovom članku. Primijenite ga samo na sustave koji imaju taj specifični problem. Ovaj hitni popravak može proći dodatna testiranja. Stoga, ako se ovaj problem ne odnosi ozbiljno, preporučujemo da pričekate sljedeći servisni paket za Microsoft Dynamics NAV 2009 ili sljedeću verziju sustava Microsoft Dynamics NAV koja sadrži ovaj hitni popravak.
Napomena: U posebnim slučajevima, ako stručnjak tehničke podrške za Microsoft Dynamics i povezane proizvode utvrdi da određeno ažuriranje može riješiti problem, poziv službi podrške može biti besplatan. Uobičajene cijene poziva službi za podršku primjenjuju se na dodatna pitanja i probleme koje nemaju veze s pripadnom nadopunom.
Informacije o instalaciji
Microsoft daje primjere programiranja samo za ilustraciju, bez jamstva, bilo izričitog ili prešutnog. To uključuje, bez ograničenja, implicitna jamstva utrživosti ili prikladnosti za određenu svrhu. U članku se podrazumijeva da ste upoznati s programskim jezikom koji se pokazuje te s alatima koji se koriste za stvaranje i ispravljanje pogrešaka procedura. Microsoftovi inženjeri za podršku mogu vam objasniti funkcionalnost određenog postupka. Međutim, oni neće mijenjati te primjere radi pružanja dodatne funkcionalnosti ili konstruirati postupke koji zadovoljavaju vaše specifične zahtjeve.
Napomena Prije instaliranja ovog hitnog popravka provjerite jesu li svi korisnici klijenta sustava Microsoft Dynamics NAV odjavljeni iz sustava. To uključuje i usluge poslužitelja Microsoft Dynamics NAV Application Server (NAS). Trebali biste biti jedini klijentski korisnik prijavljen na vrijeme implementacije ovog hitnog popravka.
Da biste implementirali ovaj hitni popravak, morate imati licencu za razvojne inženjere.
Preporučujemo da se korisničkom računu u prozoru Prijave u sustav Windows ili u prozoru Prijave u bazu podataka dodijeli ID uloge "SUPER". Ako korisničkom računu nije moguće dodijeliti ID uloge "SUPER", morate provjeriti ima li korisnički račun sljedeće dozvole:
Dozvola za izmjenu objekta koji ćete mijenjati.
Dozvola za izvršavanje za objekt objekta sustava s ID-om 5210 i za objekt sustava s ID-om 9015
objekt.
Napomena: nemate pravo na spremišta podataka, osim ako morate popraviti podatke.
Promjene koda
Napomena: uvijek testirajte popravke koda u kontroliranom okruženju prije primjene popravaka na proizvodnim računalima.
Da biste riješili taj problem, promijenite kod u funkciji CheckCloseCondition u jedinici koda (5988) na sljedeći način:
Postojeći kod
...
UNTIL ServLine.NEXT = 0;
END;
LOCAL PROCEDURE CheckCloseCondition@13(Qty@1000 : Decimal;QtytoInv@1001 : Decimal;QtyToCsm@1002 : Decimal;QtyInvd@1003 : Decimal;QtyCsmd@1004 : Decimal) : Boolean;
// Delete the following lines.
BEGIN
EXIT(Qty = QtyToCsm + QtytoInv + QtyCsmd + QtyInvd);
// End of the deleted lines.
END;
LOCAL PROCEDURE CheckSysCreatedEntry@45();
BEGIN
WITH ServLine DO BEGIN
...
Zamjenski kôd
...
UNTIL ServLine.NEXT = 0;
END;
LOCAL PROCEDURE CheckCloseCondition@13(Qty@1000 : Decimal;QtytoInv@1001 : Decimal;QtyToCsm@1002 : Decimal;QtyInvd@1003 : Decimal;QtyCsmd@1004 : Decimal) : Boolean;
// Add the following lines.
VAR
QtyClosedCondition@1102601000 : Boolean;
ServiceItemClosedCondition@1102601001 : Boolean;
ServiceItemLineTemp@1102601002 : Record 5901;
ServiceLineTemp@1102601003 : Record 5902;
BEGIN
QtyClosedCondition:= (Qty = QtyToCsm + QtytoInv + QtyCsmd + QtyInvd);
ServiceItemClosedCondition := TRUE;
ServiceItemLineTemp.SETCURRENTKEY("Document Type","Document No.","Line No.");
ServiceItemLineTemp.SETRANGE("Document Type", ServItemLine."Document Type");
ServiceItemLineTemp.SETRANGE("Document No.", ServItemLine."Document No.");
IF ServiceItemLineTemp.FIND('-') THEN
REPEAT
ServiceLineTemp.SETCURRENTKEY("Document Type","Document No.","Service Item No.");
ServiceLineTemp.SETRANGE("Document Type", ServiceItemLineTemp."Document Type");
ServiceLineTemp.SETRANGE("Document No.", ServiceItemLineTemp."Document No.");
ServiceLineTemp.SETRANGE("Service Item No.", ServiceItemLineTemp."Service Item No.");
IF NOT ServiceLineTemp.FIND('-') THEN
ServiceItemClosedCondition := FALSE
UNTIL (ServiceItemLineTemp.NEXT = 0) OR (NOT ServiceItemClosedCondition);
EXIT(QtyClosedCondition AND ServiceItemClosedCondition);
// End of the added lines.
END;
LOCAL PROCEDURE CheckSysCreatedEntry@45();
BEGIN
WITH ServLine DO BEGIN
...
Preduvjeti
Da biste primijenili ovaj hitni popravak, morate imati instaliran neki od sljedećih proizvoda:
- Microsoft Dynamics NAV 2009 R2
- Microsoft Dynamics NAV 2009 Service Pack 1
- Microsoft Dynamics NAV 5.0 Service Pack 1
Podaci o uklanjanju
Ovaj hitni popravak ne možete ukloniti.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.
Napomena: Ovo je članak "FAST PUBLISH" stvoren izravno u Microsoftovoj ustanovi za podršku. Ovdje sadržane informacije pružaju se takve kakve jesu kao odgovor na nove probleme. Kao rezultat brzine stavljanja na raspolaganje, materijali mogu sadržavati tipografske pogreške i mogu se revidirati u bilo kojem trenutku bez prethodne najave. Dodatne napomene potražite u Uvjetima korištenja .