Den här artikeln gäller för Microsoft Dynamics NAV för alla länder och språkversioner.
Symptom
När du kör funktionen Hämta bokförda dokumentrader som ska återföras för en order på sidan Förs.returorder i Microsoft Dynamics NAV 2009, visas följande felmeddelande:
Försäljning fakturaraden: Det finns ingen faktura försäljningsrad i filtret.
Det här problemet uppstår i följande produkter:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 servicepack 1 (SP1)
Lösning
Information om snabbkorrigeringen
En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2009 eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.
Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.
Installationsinformation
Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss procedur. De kommer inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.
Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare i Microsoft Dynamics NAV-klienten har loggat ut. Detta omfattar tjänster för Microsoft Dynamics NAV Application Server (NAS). Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.
Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.
Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:
-
Ändra behörighet för objektet ändras.
-
Körbehörighet för systemet objektet ID 5210 objekt och System objektet ID 9015
objektet.
Obs! Du har inte behörighet för datalager inte data reparation.
Kod ändras
Obs! Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.
Lös problemet så här:
-
Ändra koden i funktionen IsFirstDocLine i fönstret Bokföringsinställning. Inleverans rader formulär (5806) enligt följande:
Befintlig kod...FILTERGROUP(2);
PurchRcptLine.COPYFILTERS(Rec);
FILTERGROUP(0);
PurchRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
PurchRcptLine.FIND('-');
// End of the deleted line.
TempPurchRcptLine := PurchRcptLine;
TempPurchRcptLine.INSERT;
END;
IF "Line No." = TempPurchRcptLine."Line No." THEN
...Ersättningskod
...FILTERGROUP(2);
PurchRcptLine.COPYFILTERS(Rec);
FILTERGROUP(0);
PurchRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT PurchRcptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempPurchRcptLine := PurchRcptLine;
TempPurchRcptLine.INSERT;
END;
IF "Line No." = TempPurchRcptLine."Line No." THEN
... -
Ändra koden i funktionen IsFirstDocLine i få Pst.Doc RtrnRcptLn underformulär Form (5853) enligt följande:
Befintlig kod...TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnRcptLine.FINDSET;
// End of the deleted line.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
...Ersättningskod
...TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnRcptLine.FINDSET THEN
EXIT(FALSE);
// End of the added lines.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
... -
Ändra koden i funktionen IsFirstDocLine i få Post.Doc S.Cr.MemoLn Sbfrm Form (5854) enligt följande:
Befintlig kod...TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
SalesCrMemoLine.COPYFILTERS(Rec);
SalesCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
SalesCrMemoLine.FIND('-');
// End of the deleted line.
TempSalesCrMemoLine := SalesCrMemoLine;
TempSalesCrMemoLine.INSERT;
END;
...Ersättningskod
...TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
SalesCrMemoLine.COPYFILTERS(Rec);
SalesCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT SalesCrMemoLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempSalesCrMemoLine := SalesCrMemoLine;
TempSalesCrMemoLine.INSERT;
END;
... -
Ändra koden i funktionen IsFirstDocLine i få Pst.Doc RtrnShptLn underformulär formuläret (5858) enligt följande:
Befintlig kod...TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnShptLine.FINDSET;
// End of the deleted line.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
...Ersättningskod
...TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnShptLine.FINDSET THEN
EXIT(FALSE);
// End of the added lines.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
... -
Ändra koden i funktionen IsFirstDocLine i få Post.Doc P.Cr.MemoLn Sbfrm Form (5859) enligt följande:
Befintlig kod...TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
PurchCrMemoLine.COPYFILTERS(Rec);
PurchCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
PurchCrMemoLine.FINDSET;
// End of the deleted line.
TempPurchCrMemoLine := PurchCrMemoLine;
TempPurchCrMemoLine.INSERT;
END;
...Ersättningskod
...TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
PurchCrMemoLine.COPYFILTERS(Rec);
PurchCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT PurchCrMemoLine.FINDSET THEN
EXIT(FALSE);
// End of the added lines.
TempPurchCrMemoLine := PurchCrMemoLine;
TempPurchCrMemoLine.INSERT;
END;
... -
Ändra koden i funktionen IsFirstDocLine i få leverans rader formuläret (5994) enligt följande:
Befintlig kod...TempServiceShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
ServiceShptLine.COPYFILTERS(Rec);
ServiceShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServiceShptLine.FIND('-');
// End of the deleted line.
TempServiceShptLine := ServiceShptLine;
TempServiceShptLine.INSERT;
END;
IF "Line No." = TempServiceShptLine."Line No." THEN
...Ersättningskod
...TempServiceShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
ServiceShptLine.COPYFILTERS(Rec);
ServiceShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServiceShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempServiceShptLine := ServiceShptLine;
TempServiceShptLine.INSERT;
END;
IF "Line No." = TempServiceShptLine."Line No." THEN
... -
Ändra koden i funktionen IsFirstDocLine i formuläret servicerader underformulär (6036) enligt följande:
Befintlig kod...IF NOT TempServLine.FIND('-') THEN BEGIN
ServLine.COPYFILTERS(Rec);
ServLine.SETRANGE("Document Type","Document Type");
ServLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServLine.FIND('-');
// End of the deleted line.
TempServLine := ServLine;
TempServLine.INSERT;
END;
IF "Line No." = TempServLine."Line No." THEN
...Ersättningskod
...IF NOT TempServLine.FIND('-') THEN BEGIN
ServLine.COPYFILTERS(Rec);
ServLine.SETRANGE("Document Type","Document Type");
ServLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempServLine := ServLine;
TempServLine.INSERT;
END;
IF "Line No." = TempServLine."Line No." THEN
... -
Ändra koden i funktionen IsFirstDocLine i tjänsten rader underformulär försändelseformuläret (6037) enligt följande:
Befintlig kod...TempServShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServShptLine.FIND('-') THEN BEGIN
ServShptLine.COPYFILTERS(Rec);
ServShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServShptLine.FIND('-');
// End of the deleted line.
TempServShptLine := ServShptLine;
TempServShptLine.INSERT;
END;
IF "Line No." = TempServShptLine."Line No." THEN
...Ersättningskod
...TempServShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServShptLine.FIND('-') THEN BEGIN
ServShptLine.COPYFILTERS(Rec);
ServShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempServShptLine := ServShptLine;
TempServShptLine.INSERT;
END;
IF "Line No." = TempServShptLine."Line No." THEN
... -
Ändra koden i funktionen IsFirstDocLine i tjänsten faktura subformulär formuläret (6038) enligt följande:
Befintlig kod...TempServInvLine.SETRANGE("Document No.","Document No.");
IF NOT TempServInvLine.FIND('-') THEN BEGIN
ServInvLine.COPYFILTERS(Rec);
ServInvLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServInvLine.FIND('-');
// End of the deleted line.
TempServInvLine := ServInvLine;
TempServInvLine.INSERT;
END;
EXIT("Line No." = TempServInvLine."Line No.");
...Ersättningskod
...TempServInvLine.SETRANGE("Document No.","Document No.");
IF NOT TempServInvLine.FIND('-') THEN BEGIN
ServInvLine.COPYFILTERS(Rec);
ServInvLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServInvLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempServInvLine := ServInvLine;
TempServInvLine.INSERT;
END;
EXIT("Line No." = TempServInvLine."Line No.");
... -
Ändra koden i funktionen IsFirstDocLine i krediterat kreditnotans rader underformulär formuläret (6039) enligt följande:
Befintlig kod...TempServCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
ServCrMemoLine.COPYFILTERS(Rec);
ServCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServCrMemoLine.FIND('-');
// End of the deleted line.
TempServCrMemoLine := ServCrMemoLine;
TempServCrMemoLine.INSERT;
END;
EXIT("Line No." = TempServCrMemoLine."Line No.");
...Ersättningskod
...TempServCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
ServCrMemoLine.COPYFILTERS(Rec);
ServCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServCrMemoLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempServCrMemoLine := ServCrMemoLine;
TempServCrMemoLine.INSERT;
END;
EXIT("Line No." = TempServCrMemoLine."Line No.");
... -
Ändra koden i funktionen IsFirstDocLine i få returnera rader mottagningsbeviset (6638) enligt följande:
Befintlig kod...TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnRcptLine.FIND('-');
// End of the deleted line.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
IF "Line No." = TempReturnRcptLine."Line No." THEN
...Ersättningskod
...TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnRcptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
IF "Line No." = TempReturnRcptLine."Line No." THEN
... -
Ändra koden i funktionen IsFirstDocLine i få returnera rader formuläret Försändelse (6648) enligt följande:
Befintlig kod...TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnShptLine.FIND('-');
// End of the deleted line.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
IF "Line No." = TempReturnShptLine."Line No." THEN
...Ersättningskod
...TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the added lines.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
IF "Line No." = TempReturnShptLine."Line No." THEN
...
Förutsättningar
Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 SP1
Information om borttagning
Du kan inte ta bort den här snabbkorrigeringen.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".
Obs! Detta är en "SNABBPUBLICERING"-artikel skapad direkt från Microsoft support-organisationen. Informationen häri tillhandahålls i befintligt skick som svar på nya problem. Till följd av hastigheten för att göra det tillgängligt kan materialet innehålla typografiska fel och kan ändras när som helst utan föregående meddelande. Se Villkoren för användningför andra överväganden.