Helytelen likviditási dátum jelenik meg, amikor a Microsoft Dynamics NAV német verziójában futtatja a pénzáramlás-előrejelzési funkciót

Hatókör
Dynamics NAV 2009 Service Pack 1 Dynamics NAV 2009 Microsoft Dynamics NAV 5.0 Service Pack 1 Microsoft Dynamics NAV 5.0

Ez a cikk a Microsoft Dynamics NAV német (de) területi beállítására vonatkozik.

Tünetek

Tegyük fel, hogy a "Fizetési engedmény" értéket a "Liq" értékkel együtt kívánja figyelembe venni. Payment Terms" a Microsoft Dynamics NAV rendszer német verziójában egy pénzforgalmi előrejelzés értéke. A Pénzáramlás-előrejelzés funkció futtatásakor a program helytelen likviditási dátumot javasol a likviditási napló sorához. Ez a probléma akkor fordul elő, ha az ügyfélszámlán használt "Likviditási kifejezések kódja" érték nem tartalmaz értéket az Engedmény dátuma vagy a Leszámítolás % mezőben. Ebben az esetben a program a dokumentum dátumát javasolja likviditási dátumként. Likviditási dátumként azonban a "Likviditási feltételek kódja" értékből és a dokumentum dátumából kiszámított esedékességi dátumot kell javasolni.
Ez a probléma a következő termékekben fordul elő:

  • A Microsoft Dynamics NAV 2009 Service Pack 1 német verziója
  • A Microsoft Dynamics NAV 2009 német verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 német verziója
  • A Microsoft Dynamics NAV 5.0 német verziója

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. Módosítsa a kódot a Pénzügyi ügyfélben. Főkönyvi bejegyzés – OnAfterGetRecord eseményindító a Likviditási napló kitöltése jelentésben (5055250) az alábbiak szerint:
    Meglévő kód

    ...
        IF Liquidity."Consider Liq. Payment Terms" THEN BEGIN
          IF Customer."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Customer."Liq. Payment Terms Code");
            "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date");
            IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
              "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            IF "Cust. Ledger Entry"."Currency Code" <> '' THEN BEGIN
    ...
    
    

    Helyettesítő kód

    ...
        IF Liquidity."Consider Liq. Payment Terms" THEN BEGIN
          IF Customer."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Customer."Liq. Payment Terms Code");
            IF (CALCDATE(PaymentTerms."Discount Date Calculation","Document Date") <> "Document Date") AND
              (PaymentTerms."Discount %" <> 0)
            THEN
              "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date")
            ELSE
              "Liquidity Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date");
            IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
              "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            IF "Cust. Ledger Entry"."Currency Code" <> '' THEN BEGIN
    ...
    
    
  2. Módosítsa a kódot a Szállítói főkönyvi bejegyzés - OnAfterGetRecord eseményindítóban a Likviditási napló kitöltése jelentésben (5055250) a következők szerint:
    Meglévő kód

    ...
        IF Liquidity."Consider Liq. Payment Terms" THEN BEGIN
          IF Vendor."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Vendor."Liq. Payment Terms Code");
            "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date");
            IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
              "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            IF "Vendor Ledger Entry"."Currency Code" <> '' THEN BEGIN
    ...
    
    

    Helyettesítő kód

    ...
        IF Liquidity."Consider Liq. Payment Terms" THEN BEGIN
          IF Vendor."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Vendor."Liq. Payment Terms Code");
           IF (CALCDATE(PaymentTerms."Discount Date Calculation","Document Date") <> "Document Date") AND
             (PaymentTerms."Discount %" <> 0)
           THEN
             "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date")
           ELSE
             "Liquidity Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date");
            IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
              "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            IF "Vendor Ledger Entry"."Currency Code" <> '' THEN BEGIN
    ...
    
    
  3. Módosítsa a kódot a Purchase Line - OnAfterGetRecord eseményindítóban a Fill Liquidity Journal jelentésben (5055250) a következők szerint:
    Meglévő kód

    ...
          IF Vendor."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Vendor."Liq. Payment Terms Code");
            IF Liquidity."Consider Discount" THEN BEGIN
              "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",PurchHeader."Document Date");
              IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
                "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            END ELSE
    ...
    
    

    Helyettesítő kód

    ...
          IF Vendor."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Vendor."Liq. Payment Terms Code");
            IF Liquidity."Consider Discount" THEN BEGIN
              IF (CALCDATE(PaymentTerms."Discount Date Calculation",PurchHeader."Document Date") <> PurchHeader."Document Date") AND
                (PaymentTerms."Discount %" <> 0)
              THEN
                "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",PurchHeader."Document Date")
              ELSE
                "Liquidity Date" := CALCDATE(PaymentTerms."Due Date Calculation",PurchHeader."Document Date");
              IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
                "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            END ELSE
    ...
    
    
  4. Módosítsa a kódot az Értékesítési sor - OnAfterGetRecord eseményindítóban a Likviditási napló kitöltése jelentésben (5055250) az alábbiak szerint:
    Meglévő kód

    ...
          IF Customer."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Customer."Liq. Payment Terms Code");
            IF Liquidity."Consider Discount" THEN BEGIN
              "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",SalesHeader."Document Date");
              IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
                "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            END ELSE
    ...
    
    

    Helyettesítő kód

    ...
          IF Customer."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Customer."Liq. Payment Terms Code");
            IF Liquidity."Consider Discount" THEN BEGIN
              IF (CALCDATE(PaymentTerms."Discount Date Calculation",PurchHeader."Document Date") <> PurchHeader."Document Date") AND
                 (PaymentTerms."Discount %" <> 0)
              THEN
                 "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",PurchHeader."Document Date")
              ELSE
                "Liquidity Date" := CALCDATE(PaymentTerms."Due Date Calculation",PurchHeader."Document Date");
              IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
            END ELSE
    ...
    
    
  5. Módosítsa a kódot a szolgáltatási sor - OnAfterGetRecord eseményindítóban a Likviditási napló kitöltése jelentésben (5055250) az alábbiak szerint:
    Meglévő kód

    ...
          IF Customer."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Customer."Liq. Payment Terms Code");
            IF Liquidity."Consider Discount" THEN BEGIN
              "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",ServiceHeader."Document Date");
              IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
                "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            END ELSE
    ...
    
    

    Helyettesítő kód

    ...
          IF Customer."Liq. Payment Terms Code" <> '' THEN BEGIN
            PaymentTerms.GET(Customer."Liq. Payment Terms Code");
            IF Liquidity."Consider Discount" THEN BEGIN
              IF (CALCDATE(PaymentTerms."Discount Date Calculation",ServiceHeader."Document Date") <> ServiceHeader."Document Date") AND
                (PaymentTerms."Discount %" <> 0)
              THEN
                "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",ServiceHeader."Document Date")
              ELSE
                "Liquidity Date" := CALCDATE(PaymentTerms."Due Date Calculation",ServiceHeader."Document Date");
              IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
                "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
            END ELSE
    ...
    
    

Előfeltételek

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

  • A Microsoft Dynamics NAV 2009 Service Pack 1 német verziója
  • A Microsoft Dynamics NAV 2009 német verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 német verziója
  • A Microsoft Dynamics NAV 5.0 német verziója

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.