A GYORSAN KÖZZÉTETT CIKKEK KÖZVETLENÜL A MICROSOFT TÁMOGATÁSI SZERVEZETÉBŐL SZOLGÁLTATNAK INFORMÁCIÓT. AZ ITT TALÁLHATÓ INFORMÁCIÓK ÚJONNAN FELMERÜLŐ VAGY EGYEDI TÉMÁKRA VÁLASZUL JÖNNEK LÉTRE, VAGY MÁS TUDÁSBÁZIS-INFORMÁCIÓK KIEGÉSZÍTÉSÉRE SZOLGÁLNAK.
Ez a cikk a Microsoft Dynamics NAV-ra vonatkozik minden országban és minden nyelvi beállításban.
Tünetek
Vegyük például a következő esetet. Az ügyfélhez tartozik egy fizetési feltételkód a Microsoft Dynamics NAV 2009 rendszerben. Értékesítési rendelést a vevőkártyáról hozhat létre. Ebben az esetben az értékesítési rendelés fejlécében a "Fizetési engedmény %" mező értéke nulla. Továbbá ha később adja fel az értékesítési rendelést, nem számít ki fizetési engedményt.
Megoldás
Gyorsjavítással kapcsolatos információk
A Microsoft már elérhető egy támogatott gyorsjavítást kínál. Ez azonban csak a cikkben ismertetett probléma megoldására szolgál. Csak olyan rendszerekre alkalmazza, amelyek tapasztalják ezt a problémát. Előfordulhat, hogy a gyorsjavítás további tesztelésen eshet át. Ezért ha nem érinti súlyosan ez a probléma, azt javasoljuk, hogy várja meg a Microsoft Dynamics NAV 2009 következő szervizcsomagját, illetve a Microsoft Dynamics NAV következő olyan verzióját, amely tartalmazza ezt a gyorsjavítást.
Megjegyzés: Különleges esetekben a támogatási hívások szokásos díjai törölhetők, ha a Microsoft Dynamics és a kapcsolódó termékek terméktámogatási szakértője úgy ítéli meg, hogy egy adott frissítés megoldja a problémát. A szokásos támogatási költségek olyan további támogatási kérdések és problémák esetén merülnek fel, amelyek nem felelnek meg a kérdéses frissítés feltételeinek.
Telepítési információk
A Microsoft csak illusztrációs céllal kínál programozási példákat, kifejezett vagy vélelmezett garancia nélkül. Ez magában foglalja, de nem kizárólagosan a forgalmazhatóságra vagy az adott célra való alkalmasságra vonatkozó vélelmezett garanciát. Ez a cikk feltételezi, hogy ismeri a bemutatott programozási nyelvet, valamint az eljárások létrehozásához és hibakereséséhez használt eszközöket. A Microsoft támogatási szakemberei segíthetnek elmagyarázni egy adott eljárás funkcionalitását, de nem módosítják a példákat, hogy további funkciókat biztosítsanak, és nem építenek ki eljárásokat az egyéni igényekre.
Megjegyzés: A gyorsjavítás telepítése előtt győződjön meg arról, hogy a Microsoft Navision-ügyfél összes felhasználója kijelentkezett a rendszerről. Ide tartoznak a Microsoft Navision Application Services (NAS) kliens felhasználói is. A gyorsjavítás telepítésekor csak Ön lehet az, aki be van jelentkezve.
A gyorsjavítás implementálásához fejlesztői licenccel kell rendelkeznie.
Javasoljuk, hogy a Windows Bejelentkezések ablakában vagy az Adatbázis-bejelentkezések ablakban látható felhasználói fiókhoz rendelje a "SUPER" szerepkörazonosítót. Ha a felhasználói fiókhoz nem rendelhető a "SUPER" szerepkörazonosító, ellenőriznie kell, hogy a felhasználói fiók rendelkezik-e az alábbi engedélyekkel:
- A módosítani kívánt objektum Módosítás engedélye.
- Végrehajtási engedély az 5210-es rendszerazonosítójú objektumhoz és a 9015-ös rendszerobjektum-azonosítójú objektumhoz.
Megjegyzés: Az adattárakhoz csak akkor kell jogokkal rendelkeznie, ha adatokat kell javítást végeznie.
Kódváltozások
Megjegyzés: Mindig ellenőrzött környezetben tesztelje a kódjavításokat, mielőtt telepítené őket az üzemi számítógépekre.
A codefix telepítéséhez módosítsa a kódot az Értékesítési fejléc táblában (36) és a Beszerzési fejléc táblázatban (38) az alábbiak szerint.
Megjegyzés: Az alábbi lépések bemutatják, hogy milyen módosításokat kell elvégeznie az Értékesítésfejléc táblázaton (36). Ugyanezeket a változtatásokat kell végrehajtani a Beszerzési fejléc táblázatban (38).
Új globális változó hozzáadása:
Név: UpdateDocumentDate
Adattípus: LogikaiA "Számlázási ügyfélszám. - OnValidate()" függvény, módosítsa a kódot az alábbiak szerint.
Meglévő kód: 1
… IF NOT SkipBillToContact THEN "Bill-to Contact" := Cust.Contact; "Payment Terms Code" := Cust."Payment Terms Code"; IF "Document Type" = "Document Type"::"Credit Memo" THEN BEGIN …Helyettesítő kód 1
… IF NOT SkipBillToContact THEN "Bill-to Contact" := Cust.Contact; "Payment Terms Code" := Cust."Payment Terms Code"; "Prepmt. Payment Terms Code" := Cust."Payment Terms Code"; IF "Document Type" = "Document Type"::"Credit Memo" THEN BEGIN …Meglévő 2. kód
… DATABASE::"Customer Template","Bill-to Customer Template Code"); VALIDATE("Payment Terms Code"); VALIDATE("Payment Method Code"); VALIDATE("Currency Code"); IF (xRec."Sell-to Customer No." = "Sell-to Customer No.") AND …2-es helyettesítő kód
… DATABASE::"Customer Template","Bill-to Customer Template Code"); VALIDATE("Payment Terms Code"); VALIDATE("Prepmt. Payment Terms Code"); VALIDATE("Payment Method Code"); VALIDATE("Currency Code"); IF (xRec."Sell-to Customer No." = "Sell-to Customer No.") AND …A "Payment Terms Code - OnValidate()" függvényben módosítsa a kódot az alábbiak szerint.
Meglévő kód
IF ("Payment Terms Code" <> '') AND ("Document Date" <> 0D) THEN BEGIN PaymentTerms.GET("Payment Terms Code"); IF (("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND NOT PaymentTerms."Calc. Pmt. Disc. on Cr. Memos") THEN BEGIN VALIDATE("Due Date","Document Date"); VALIDATE("Pmt. Discount Date",0D); VALIDATE("Payment Discount %",0); END ELSE BEGIN "Due Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date"); "Pmt. Discount Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date"); IF xRec."Document Date"="Document Date" THEN VALIDATE("Payment Discount %",PaymentTerms."Discount %") END; END ELSE BEGIN VALIDATE("Due Date","Document Date"); IF xRec."Document Date"="Document Date" THEN BEGIN VALIDATE("Pmt. Discount Date",0D); VALIDATE("Payment Discount %",0); END; …Helyettesítő kód
IF ("Payment Terms Code" <> '') AND ("Document Date" <> 0D) THEN BEGIN PaymentTerms.GET("Payment Terms Code"); IF (("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND NOT PaymentTerms."Calc. Pmt. Disc. on Cr. Memos") THEN BEGIN VALIDATE("Due Date","Document Date"); VALIDATE("Pmt. Discount Date",0D); VALIDATE("Payment Discount %",0); END ELSE BEGIN "Due Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date"); "Pmt. Discount Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date"); IF NOT UpdateDocumentDate THEN VALIDATE("Payment Discount %",PaymentTerms."Discount %") END; END ELSE BEGIN VALIDATE("Due Date","Document Date"); IF NOT UpdateDocumentDate THEN BEGIN VALIDATE("Pmt. Discount Date",0D); VALIDATE("Payment Discount %",0); END; …A "Document Date - OnValidate()" függvényben módosítsa a kódot az alábbiak szerint.
Meglévő kód
VALIDATE("Payment Terms Code"); VALIDATE("Prepmt. Payment Terms Code");Helyettesítő kód
IF xRec."Document Date" <> "Document Date" THEN UpdateDocumentDate := TRUE; VALIDATE("Payment Terms Code"); VALIDATE("Prepmt. Payment Terms Code");A "Prepmt. Payment Terms Code - OnValidate()" függvény, módosítsa a kódot az alábbiak szerint.
Meglévő kód
… END ELSE BEGIN "Prepayment Due Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date"); "Prepmt. Pmt. Discount Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date"); VALIDATE("Prepmt. Payment Discount %",PaymentTerms."Discount %") END; END ELSE BEGIN VALIDATE("Prepayment Due Date","Document Date"); VALIDATE("Prepmt. Pmt. Discount Date",0D); VALIDATE("Prepmt. Payment Discount %",0); END;Helyettesítő kód
… END ELSE BEGIN "Prepayment Due Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date"); "Prepmt. Pmt. Discount Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date"); IF NOT UpdateDocumentDate THEN VALIDATE("Prepmt. Payment Discount %",PaymentTerms."Discount %") END; END ELSE BEGIN VALIDATE("Prepayment Due Date","Document Date"); IF NOT UpdateDocumentDate THEN BEGIN VALIDATE("Prepmt. Pmt. Discount Date",0D); VALIDATE("Prepmt. Payment Discount %",0); END; END;
Előfeltételek
A codefix telepítéséhez az alábbi termékek egyikének telepítve kell lennie:
- Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 2009
- Microsoft Dynamics NAV SP1
Újraindítási információk
A kódjavítás alkalmazása után nem kell újraindítania a számítógépet.
Állapot
A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.
További információ
A MICROSOFT ÉS/VAGY BESZÁLLÍTÓI NEM VÁLLALNAK FELELŐSSÉGET A WEBHELYEN KÖZZÉTETT DOKUMENTUMOKBAN ÉS KAPCSOLÓDÓ ÁBRÁKON (AZ "ANYAGOK") TALÁLHATÓ INFORMÁCIÓK BÁRMILYEN CÉLRA VALÓ ALKALMASSÁGÁÉRT, MEGBÍZHATÓSÁGÁÉRT VAGY PONTOSSÁGÁÉRT.
AZ ANYAGOK TECHNIKAI PONTATLANSÁGOKAT VAGY TIPOGRÁFIAI HIBÁKAT TARTALMAZHATNAK, ÉS BÁRMIKOR, ELŐZETES ÉRTESÍTÉS NÉLKÜL FELÜLVIZSGÁLHATÓK. A MICROSOFT ÉS/VAGY BESZÁLLÍTÓI AZ ALKALMAZANDÓ JOGSZABÁLYOK ÁLTAL MEGENGEDETT LEGNAGYOBB MÉRTÉKIG ELHÁRÍTANAK ÉS KIZÁRNAK MINDEN KIFEJEZETT, VÉLELMEZETT VAGY TÖRVÉNYES ÁLLÍTÁST, GARANCIÁT ÉS FELTÉTELT, BELEÉRTVE TÖBBEK KÖZÖTT A TULAJDONJOGRA, A JOGBITORLÁSRA, A MEGFELELŐ ÁLLAPOTRA VAGY MINŐSÉGRE, A FORGALMAZHATÓSÁGRA ÉS AZ ADOTT CÉLRA VALÓ ALKALMASSÁGRA VONATKOZÓ ÁLLÍTÁSOKAT, SZAVATOSSÁGOKAT VAGY FELTÉTELEKET AZ ANYAGOK TEKINTETÉBEN.