Den här artikeln gäller för Microsoft Dynamics NAV för alla språk.
Symptom
I Microsoft Dynamics NAV, när du försöker skapa en försäljningsorder i en utländsk valuta om Standard bokföringsdatum anges som "Inget datum" Det går inte att verifiera valutakursen. Därför visas följande felmeddelande:
Det finns ingen valutakurs i filtret.
Dessutom kan du skriva ut rapporten Orderbekräftelse (205).Det här problemet uppstår i följande produkter:
-
Microsoft Dynamics NAV 2009 servicepack 1 (SP1)
-
Microsoft Dynamics NAV 2009 R2
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 med att förklara funktionen hos en viss procedur, men kan 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 av Microsoft Navision-klient har loggat ut. Detta inkluderar Microsoft Navision Application Services (NAS) klientanvändare. 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 objektet och objektet System objektet ID 9015 .
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 SalesHeaderExchDate i kodmodul för Försäljning pris beräkna Mgt. (7000) enligt följande:Befintlig kod
...WITH SalesHeader DO BEGIN// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND ("Posting Date" = 0D) THEN EXIT(WORKDATE); EXIT("Posting Date");// End of the deleted lines.END;...
Ersättningskod
...WITH SalesHeader DO BEGIN// Add the following lines. IF "Posting Date" <>0D THEN EXIT("Posting Date"); EXIT(WORKDATE);// End of the added lines.END;...
-
Ändra koden i funktionen PurchHeaderExchDate i Inköp. Pris beräkna Mgt. kodmodul (7010) enligt följande:Befintlig kod
...WITH PurchHeader DO BEGIN// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND ("Posting Date" = 0D) THEN EXIT(WORKDATE); EXIT("Posting Date");// End of the deleted lines.END;...
Ersättningskod
...WITH PurchHeader DO BEGIN// Add the following lines. IF "Posting Date" <> 0D THEN EXIT("Posting Date"); EXIT(WORKDATE);// End of the added lines.END;...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (111) i formuläret Försäljningsorder (42) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added lines.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (107) i formuläret Faktura (43) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added lines.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (91) i formuläret Försäljningskreditnota (44) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added linesIF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (119) i formuläret Inköpsorder (50) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added lines.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (104) i formuläret Inköpsfaktura (51) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added lines.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (91) i formuläret Inköpskreditnota (52) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added lines.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (91) i formuläret Förs.returorder (6630) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added lines.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i utlösaren OnAssistEdit i fältet Valutakod (91) i formuläret Inköpsreturorder (6640) enligt följande:Befintlig kod
...CLEAR(ChangeExchangeRate);// Delete the following line.ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");// End of the deleted line.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
Ersättningskod
...CLEAR(ChangeExchangeRate);// Add the following lines.IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date")ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE);// End of the added lines.IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrForm.UPDATE;END;CLEAR(ChangeExchangeRate);...
-
Ändra koden i funktionen UpdateCurrencyFactor i tabellen Försäljningshuvud (36) enligt följande:Befintlig kod
...IF "Currency Code" <>'' THEN BEGIN// Delete the following lines. IF ("Document Type" IN ["Document Type"::Quote,"Document Type"::"Blanket Order"]) AND ("Posting Date" = 0D) THEN CurrencyDate := WORKDATE ELSE CurrencyDate := "Posting Date";// End of the deleted lines. "Currency Factor" := CurrExchRate.ExchangeRate(CurrencyDate,"Currency Code");END ELSE "Currency Factor" := 0;...
Ersättningskod
...IF "Currency Code" <> '' THEN BEGIN// Add the following lines. IF "Posting Date" <> 0D THEN CurrencyDate := "Posting Date" ELSE CurrencyDate := WORKDATE;// End of the added lines. "Currency Factor" := CurrExchRate.ExchangeRate(CurrencyDate,"Currency Code");END ELSE "Currency Factor" := 0;...
-
Ändra koden i funktionen GetDate i tabellen Försäljningsrad (37) enligt följande:Befintlig kod
...// Delete the following lines.IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND (SalesHeader."Posting Date" = 0D)THEN EXIT(WORKDATE);EXIT(SalesHeader."Posting Date");// End of the deleted lines....
Ersättningskod
...// Add the following lines.IF SalesHeader."Posting Date" <> 0D THEN EXIT(SalesHeader."Posting Date");EXIT(WORKDATE);// End of the added lines....
-
Ändra koden i funktionen UpdateCurrencyFactor i tabellen Inköpshuvud (38) enligt följande:Befintlig kod
...IF "Currency Code" <> '' THEN BEGIN// Delete the following lines. IF ("Document Type" IN ["Document Type"::Quote,"Document Type"::"Blanket Order"]) AND ("Posting Date" = 0D) THEN CurrencyDate := WORKDATE ELSE CurrencyDate := "Posting Date";// End of the deleted lines. "Currency Factor" := CurrExchRate.ExchangeRate(CurrencyDate,"Currency Code");END ELSE "Currency Factor" := 0;...
Ersättningskod
...IF "Currency Code"<>'' THEN BEGIN// Add the following lines. IF "Posting Date" <> 0D THEN CurrencyDate := "Posting Date" ELSE CurrencyDate := WORKDATE;// End of the added lines. "Currency Factor" := CurrExchRate.ExchangeRate(CurrencyDate,"Currency Code");END ELSE "Currency Factor" := 0;...
-
Ändra koden i funktionen GetDate i tabellen Inköpsrad (39) på följande sätt:Befintlig kod
...// Delete the following lines.IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND (PurchHeader."Posting Date" = 0D)THEN EXIT(WORKDATE);EXIT(PurchHeader."Posting Date")// End of the deleted lines....
Ersättningskod
...// Add the following lines.IF PurchHeader."Posting Date"<>0D THEN EXIT(PurchHeader."Posting Date");EXIT(WORKDATE);// End of the added lines....
-
Ändra koden i funktionen RoundAmount i codeunit Försäljningspost (80) enligt följande:Befintlig kod
...IF SalesHeader."Currency Code" <>'' THEN BEGIN// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND (SalesHeader."Posting Date" = 0D) THEN// End of the deleted lines. UseDate := WORKDATE ELSE UseDate := SalesHeader."Posting Date"; ...
Ersättningskod
...IF SalesHeader."Currency Code" <>'' THEN BEGIN// Add the following line. IF (SalesHeader."Posting Date" = 0D) THEN// End of the added line. UseDate := WORKDATE ELSE UseDate := SalesHeader."Posting Date";...
-
Ändra koden i funktionen RoundAmount i den Inköp-bokför kodmodul (90) enligt följande:Befintlig kod
...IF PurchHeader."Currency Code" <>'' THEN BEGIN// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND (PurchHeader."Posting Date" = 0D) THEN// End of the deleted lines. Usedate := WORKDATE ELSE Usedate := PurchHeader."Posting Date";...
Ersättningskod
...IF PurchHeader."Currency Code"<> '' THEN BEGIN// Add the following line. IF (PurchHeader."Posting Date" = 0D) THEN// End of the added line. Usedate := WORKDATE ELSE Usedate := PurchHeader."Posting Date";...
-
Ändra koden i funktionen UpdateHeaderInfo i formuläret Orderstatistik (402) enligt följande:Befintlig kod
...IF "Prices Including VAT" THEN TotalSalesLineLCY[IndexNo].Amount := TotalAmount2[IndexNo]ELSE TotalSalesLineLCY[IndexNo].Amount := TotalAmount1[IndexNo];IF "Currency Code" <> '' THEN// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND ("Posting Date" = 0D) THEN// End of the deleted lines. UseDate := WORKDATE ELSE UseDate := "Posting Date"; ...
Ersättningskod
...IF "Prices Including VAT" THEN TotalSalesLineLCY[IndexNo].Amount := TotalAmount2[IndexNo]ELSE TotalSalesLineLCY[IndexNo].Amount := TotalAmount1[IndexNo];IF "Currency Code" <>'' THEN// Add the following line. IF "Posting Date" = 0D THEN// End of the added line. UseDate := WORKDATE ELSE UseDate := "Posting Date";...
-
Ändra koden i funktionen UpdateHeaderInfo i formuläret Statistik för inköpsorder (403) enligt följande:Befintlig kod
...IF "Prices Including VAT" THEN TotalPurchLineLCY[IndexNo].Amount := TotalAmount2[IndexNo]ELSE TotalPurchLineLCY[IndexNo].Amount := TotalAmount1[IndexNo];IF "Currency Code" <> '' THEN BEGIN// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND ("Posting Date" = 0D) THEN// End of the deleted lines. UseDate := WORKDATE ELSE UseDate := "Posting Date";...
Ersättningskod
...IF "Prices Including VAT" THEN TotalPurchLineLCY[IndexNo].Amount := TotalAmount2[IndexNo]ELSE TotalPurchLineLCY[IndexNo].Amount := TotalAmount1[IndexNo];IF "Currency Code" <> '' THEN BEGIN// Add the following line. IF "Posting Date" = 0D THEN// End of the added line. UseDate := WORKDATE ELSE UseDate := "Posting Date";...
-
Ändra koden i funktionen CalculateInvoiceDiscount i kodmodul för Försäljning beräkna rabatt (60) enligt följande:Befintlig kod
...// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND (SalesHeader."Posting Date" = 0D)THEN// End of the deleted lines. CurrencyDate := WORKDATEELSE CurrencyDate := SalesHeader."Posting Date";...
Ersättningskod
...// Add the following line. IF SalesHeader."Posting Date" = 0D THEN// End of the added line. CurrencyDate := WORKDATEELSE CurrencyDate := SalesHeader."Posting Date";...
-
Ändra koden i funktionen CalculateInvoiceDiscount i den Inköp-Calc.Discount kodmodul (70) enligt följande:Befintlig kod
...// Delete the following lines. IF ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND (PurchHeader."Posting Date" = 0D)THEN// End of the deleted lines. CurrencyDate := WORKDATEELSE CurrencyDate := PurchHeader."Posting Date";...
Ersättningskod
...// Add the following line. IF PurchHeader."Posting Date" = 0D THEN// End of the added line. CurrencyDate := WORKDATEELSE CurrencyDate := PurchHeader."Posting Date";...
Förutsättningar
Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:
-
Microsoft Dynamics NAV 2009 servicepack 1 (SP1)
-
Microsoft Dynamics NAV 2009 R2
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".
Referenser
VSFT DynamicsNAV SE: 237796, 245981, 254036
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ändning för andra överväganden.