Šis straipsnis taikomas Microsoft Dynamics NAV visų kalbų aplinkos.
Požymiai
Microsoft Dynamics NAV, bandant sukurti pardavimo užsakymo užsienio valiutos jei Numatytasis registravimo data yra nustatyta "Ne data", sistema negali patvirtinti valiutos kursas. Dėl to, galite gauti tokį klaidos pranešimą:
Nėra jokių valiutos kursas per filtrą.
Be to, negalite spausdinti užsakymo patvirtinimo ataskaita (205).
Ši problema iškyla faile šiems produktams:
-
Microsoft Dynamics NAV 2009 1 pakeitimų paketas (SP1)
-
Microsoft Dynamics NAV 2009 R2
Sprendimas
Karštųjų pataisų informacija
Palaikomą naujausią pataisą dabar yra Microsoft. Tačiau jos skirtos tik šiame straipsnyje aprašytai problemai spręsti. Taikyti ją tik sistemoms, kuriose kyla ši konkreti problema. Šios karštosios pataisos gali būti papildomai išbandoma. Todėl, jei jums nelabai trukdo Ši problema, rekomenduojame palaukti kito "Microsoft Dynamics NAV 2009" pakeitimų paketo arba kitą versiją Microsoft Dynamics NAV, kuriame bus šios karštosios pataisos.
Pastaba. Konkrečiais atvejais už palaikymo skambučius gali būti atšaukti, jei techninės pagalbos specialistas Microsoft Dynamics ir susijusių produktų taikomi įprasti mokesčiai nustato, kad jūsų problemą galima išspręsti naudojant konkretų naujinimą. Į įprastos kainos už palaikymą taikomos papildomos palaikymo klausimams ir problemoms, kurių negalima išspręsti naudojant minėtą naujinimą.
Diegimo informacija
"Microsoft" pateikia programavimo pavyzdžius tik, tačiau nesuteikia jokių aiškių arba numanomų garantijų. Tai apima, bet neapsiribojant, numanomas garantijas dėl perkamumo ir tinkamumo konkrečiam tikslui. Šis straipsnis parašytas galvojant, kad esate susipažinę su pateikta programavimo kalba ir įrankiais, kurie yra naudojami procedūroms kurti ir derinti. "Microsoft" palaikymo inžinieriai gali padėti paaiškindami tam tikros procedūros funkcinę galimybę, tačiau jie nekeis šių pavyzdžių, kad numatytų papildomą funkcinę galimybę arba sukurtų konkrečius jūsų reikalavimus atitinkančias procedūras.
Pastaba. Prieš diegdami šias karštąsias pataisas, patikrinkite, kad visi Microsoft Navision klientas vartotojai išsiregistravę sistema. Tai reiškia, kad Microsoft Navision programos paslaugos (NAS) kliento naudotojai. Jums turėtų būti tik kliento vartotojo, kuris yra prisijungęs, kai atliekate šias karštąsias pataisas.
Norint pritaikyti šią karštąją pataisą, turite programų kūrėjo licencijos.
Rekomenduojame, kad vartotojo abonemento Windows registravimosi lange arba duomenų bazės prisijungimų langas priskiriamas "SUPER" vaidmenį ID. Jei vartotojo abonementas negali būti priskirta "SUPER" ID., turi patikrinti, kad vartotojo abonementas turi šias teises:
-
Keisti teisės objektas, kuris bus pakeisti.
-
Teisės vykdyti sistemos objekto ID 5210 objekto ir sistemos objekto ID 9015 objekto.
Pastaba. Jūs neturite turėti teisių į duomenų saugyklų, nebent jūs turite atlikti duomenų atkūrimo.
Pastaba.
Pastaba. Visada bandymas kodas nustato kontroliuojamoje aplinkoje prieš taikydami nustato savo gamybos kompiuteriams.
Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:
-
Pakeisti SalesHeaderExchDate funkcija – Pardavimo kaina skaič valdymo Kodinys (7000):
Esamas kodas...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;
...Pastaba.
...WITH SalesHeader DO BEGIN
// Add the following lines.
IF "Posting Date" <>0D THEN
EXIT("Posting Date");
EXIT(WORKDATE);
// End of the added lines.
END;
... -
Pakeisti PurchHeaderExchDate funkcija pirkimo kodą. Kaina skaič valdymo Kodinys (7010):
Esamas kodas...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;
...Pastaba.
...WITH PurchHeader DO BEGIN
// Add the following lines.
IF "Posting Date" <> 0D THEN
EXIT("Posting Date");
EXIT(WORKDATE);
// End of the added lines.
END;
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (111) Pardavimo užsakymo formą (42):
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (107) Pardavimo SF formos (43) taip:
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (91) Pardavimo kredito pažymos forma (44):
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (119) Pirkimo užsakymo formą (50):
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (104) Pirkimo SF formoje (51):
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (91) Pirkimo kredito pažymos forma (52):
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (91) Pardavimo grąžinimo užsakymų formoje (6630):
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti kodą OnAssistEdit sukelti lauką Valiutos kodas (91) Pirkimo grąžinimo užsakymo formą (6640):
Esamas kodas...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);
...Pastaba.
...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);
... -
Pakeisti UpdateCurrencyFactor funkcija – Pardavimo antraštės lentelėje (36):
Esamas kodas...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;
...Pastaba.
...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;
... -
Pakeisti GetDate funkcija – Pardavimo eilučių lentelės (37):
Esamas kodas...// 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.
...Pastaba.
...// Add the following lines.
IF SalesHeader."Posting Date" <> 0D THEN
EXIT(SalesHeader."Posting Date");
EXIT(WORKDATE);
// End of the added lines.
... -
Pakeisti UpdateCurrencyFactor funkcija Pirkimo antraštės lentelėje (38):
Esamas kodas...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;
...Pastaba.
...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;
... -
Pakeisti GetDate funkcija Pirkimo eilutės lentelės (39):
Esamas kodas...// 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.
...Pastaba.
...// Add the following lines.
IF PurchHeader."Posting Date"<>0D THEN
EXIT(PurchHeader."Posting Date");
EXIT(WORKDATE);
// End of the added lines.
... -
Pakeisti RoundAmount funkcija – Pardavimo-Post Kodinys (80) kodą taip:
Esamas kodas...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";
...Pastaba.
...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";
... -
Keisti kodo RoundAmount funkcija, pirkimo.-Post Kodinys (90) taip:
Esamas kodas...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";
...Pastaba.
...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";
... -
Pakeisti UpdateHeaderInfo funkcija – Pardavimo užsakymų statistikos forma (402):
Esamas kodas...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";
...Pastaba.
...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";
... -
Pakeisti UpdateHeaderInfo funkcija, t. y. Pirkimo užsakymo statistikos (403):
Esamas kodas...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";
...Pastaba.
...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";
... -
Pakeisti CalculateInvoiceDiscount funkcija – Pardavimo skaič nuolaida Kodinys (60):
Esamas kodas...// 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 := WORKDATE
ELSE
CurrencyDate := SalesHeader."Posting Date";
...Pastaba.
...// Add the following line.
IF SalesHeader."Posting Date" = 0D THEN
// End of the added line.
CurrencyDate := WORKDATE
ELSE
CurrencyDate := SalesHeader."Posting Date";
... -
Keisti kodo CalculateInvoiceDiscount funkcija, pirkimo.-Calc.Discount Kodinys (70) kaip nurodyta žemiau:
Esamas kodas...// 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 := WORKDATE
ELSE
CurrencyDate := PurchHeader."Posting Date";
...Pastaba.
...// Add the following line.
IF PurchHeader."Posting Date" = 0D THEN
// End of the added line.
CurrencyDate := WORKDATE
ELSE
CurrencyDate := PurchHeader."Posting Date";
...
Būtinosios sąlygos
Turi būti viena iš toliau nurodytų produktų, norint taikyti šias karštąsias pataisas:
-
Microsoft Dynamics NAV 2009 1 pakeitimų paketas (SP1)
-
Microsoft Dynamics NAV 2009 R2
Pašalinimo informacija
Jūs negalite pašalinti šias karštąsias pataisas.
Būsena
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.
Nuorodos
VSTF DynamicsNAV SE: 237796, 245981, 254036
Pastaba. Tai yra "GREITAI PUBLIKUOJAMAS" straipsnis, sukurtas tiesiogiai Microsoft palaikymo tarnybos. Čia pateikta informacija yra atsakas į kylančius klausimus. Dėl greito publikavimo medžiagoje gali būti spausdinimo klaidų ir ji gali būti peržiūrima bet kuriuo metu be įspėjimo. Naudojimo ieškokite kitų priežasčių.