A rendszer helytelenül számolja ki a Szállítási dátum mezőt, miután beállította a Kért kézbesítés dátuma mezőt egy értékesítési rendelésben a Microsoft Dynamics NAV-ban

Hatókör
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

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ő forgatókönyvet a Microsoft Dynamics NAV-ban:

  • Munkaheti naptára van megadva például hétfőtől péntekig.
  • Egy értékesítési megrendelésben meg van adva a Szállítási idő és a Szállítóügynök kódja mező.
  • Ön állítja be a Kért kézbesítés dátuma mezőt az értékesítési megrendelésben.

Ebben az esetben az értékesítési rendelés Szállítási dátum mezőjét helytelenül számítják ki a rendszer. 
Ez a probléma a következő termékekben fordul elő:

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

      

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 probléma megoldásához hajtsa végre az alábbi lépéseket:

  1. Vegyen fel egy globális változót az Értékesítési sor táblába (37), majd adja meg a változót az alábbiak szerint:

    • Név: RequestedPromisedDateCalulated
    • DataType: Boolean
  2. Módosítsa a kódot a Kért kézbesítési dátum – Érvényesítésre eseményindítóban az Értékesítési sor táblában (37) a következők szerint:
    Meglévő kód

    ...
    IF ("Requested Delivery Date" <> xRec."Requested Delivery Date") AND
    ("Promised Delivery Date" <> 0D)
    THEN
    ERROR(
    Text028, 
    FIELDCAPTION("Requested Delivery Date"),
    FIELDCAPTION("Promised Delivery Date"));
    IF "Requested Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Requested Delivery Date")
    ELSE BEGIN
    GetSalesHeader;
    VALIDATE("Shipment Date",SalesHeader."Shipment Date");
    END;
    END;
    }
    { 5791;   ;Promised Delivery Date;Date        ;OnValidate=BEGIN
    TestStatusOpen;
    IF "Promised Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Promised Delivery Date")
    ELSE
    ...
    

    Helyettesítő kód

    ...
    IF ("Requested Delivery Date" <> xRec."Requested Delivery Date") AND
    ("Promised Delivery Date" <> 0D)
    THEN
    ERROR(
    Text028,
    FIELDCAPTION("Requested Delivery Date"),
    FIELDCAPTION("Promised Delivery Date"));
    
    RequestedPromisedDateCalulated := "Requested Delivery Date" <> 0D;
    IF "Requested Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Requested Delivery Date")
    ELSE BEGIN
    GetSalesHeader;
    VALIDATE("Shipment Date",SalesHeader."Shipment Date");
    END;
    END;
    }
    { 5791; ;Promised Delivery Date;Date ;OnValidate=BEGIN
    TestStatusOpen;
    RequestedPromisedDateCalulated := "Promised Delivery Date" <> 0D;
    IF "Promised Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Promised Delivery Date")
    ELSE
    ...
    
  3. Módosítsa a kódot a Tervezett kézbesítési dátum – Érvényességre eseményindítóban az Értékesítési sor táblában (37) a következők szerint:
    Meglévő kód

    ...
    IF FORMAT("Shipping Time") <> '' THEN
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC2(
    FORMAT("Shipping Time"),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    TRUE))
    ELSE
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC(
    FORMAT(''),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    TRUE));
    
    IF "Planned Shipment Date" > "Planned Delivery Date" THEN
    ...
    

    Helyettesítő kód

    ...
    IF FORMAT("Shipping Time") <> '' THEN
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC2(
    FORMAT("Shipping Time"),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    NOT RequestedPromisedDateCalulated))
    ELSE
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC(
    FORMAT(''),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    NOT RequestedPromisedDateCalulated));
    
    IF "Planned Shipment Date" > "Planned Delivery Date" THEN
    ...
    

Előfeltételek

A gyorsjavítás alkalmazásához az alábbi termékek egyikének telepítve kell lennie:

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

              

Eltávolítással kapcsolatos információk

Ez a gyorsjavítás nem távolítható el.

Á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.

Megjegyzés: Ez egy "GYORS KÖZZÉTÉTELŰ" cikk, amelyet közvetlenül a Microsoft támogatási szervezete készített. A dokumentumban szereplő információkat adott formában bocsátjuk rendelkezésre, a felmerülő problémákra adott válaszként. A rendelkezésre bocsátás gyorsasága következtében az anyagok sajtóhibákat tartalmazhatnak, és bármikor, előzetes értesítés nélkül felülvizsgálhatók. További szempontokat a használati feltételekben talál.