A Microsoft Dynamics NAV dán verziójában jóváíráshoz tartozó OIOUBL-fájl érvényességének tesztelésekor kerekítési problémákra vonatkozó hibaüzenet jelenik meg

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

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

Tünetek

Feltételezzük, hogy a Microsoft Dynamics NAV dán verziójában szereplő tételhez hoz létre jóváírási értesítést egy olyan tételhez, amely több mint két tizedesjegyből áll, és nagy mennyiséget használ. Az exportált elektronikus jóváírási OIOUBL fájl érvényességét az alábbi webhelyen tesztelheti:

http://www.oioubl.info/validator/default.aspx Ebben az esetben a kerekítési problémákkal kapcsolatos hibaüzenet jelenik meg. Ez a probléma a következő termékekben fordul elő:

  • A Microsoft Dynamics NAV 2009 R2 dán nyelvű verziója
  • A Microsoft Dynamics NAV 2009 Service Pack 1 dán verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 dán 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 az OIOUBL exportálási számla kódját (13609) a következőképpen:
    Meglévő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Delete the following line.  
                        AddElement(XMLCurrNode,'PriceAmount',OIOUBLDocumentEncode.DecimalToText(SalesInvLine."Unit Price"),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    

    Helyettesítő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Add the following line.  
                        AddElement(XMLCurrNode,'PriceAmount',FORMAT(SalesInvLine."Unit Price",0,9),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    
  2. Módosítsa a tulajdonságok kódját a következőképpen: OIOUBL Export Sales Cr. Memo codeunit (13610) a következők szerint:
    Meglévő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Delete the following line.  
                        AddElement(XMLCurrNode,'PriceAmount',OIOUBLDocumentEncode.DecimalToText(SalesCrMemoLine."Unit Price"),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    

    Helyettesítő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Add the following line.  
                        AddElement(XMLCurrNode,'PriceAmount',FORMAT(SalesCrMemoLine."Unit Price",0,9),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    
  3. Módosítsa a tulajdonságok kódját az OIOUBL exportálási szolgáltatásszámla kódegységében (13616) a következők szerint:
    Meglévő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Delete the following line.  
                        AddElement(XMLCurrNode,'PriceAmount',OIOUBLDocumentEncode.DecimalToText(ServInvLine."Unit Price"),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    

    Helyettesítő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Add the following line. 
                        AddElement(XMLCurrNode,'PriceAmount',FORMAT(ServInvLine."Unit Price",0,9),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    
  4. Módosítsa a tulajdonságok kódját az OIOUBL exportálási szolgáltatásban Cr. Memo codeunit (13617) a következők szerint:
    Meglévő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Delete the following line.  
                        AddElement(XMLCurrNode,'PriceAmount',OIOUBLDocumentEncode.DecimalToText(ServCrMemoLine."Unit Price"),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    

    Helyettesítő kód

    ...
                      AddElement(XMLCurrNode,'Price','',DocNameSpace2,XMLNewChild,Prefix2);
                      XMLCurrNode := XMLNewChild;
    
    // Add the following line.  
                        AddElement(XMLCurrNode,'PriceAmount',FORMAT(ServCrMemoLine."Unit Price",0,9),
    
                        DocNameSpace,XMLNewChild,Prefix);
                      XMLCurrNode := XMLNewChild;
                      AddAttribute(XMLCurrNode,'currencyID',CurrencyCode);
    ...
    
    

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 R2 dán nyelvű verziója
  • A Microsoft Dynamics NAV 2009 Service Pack 1 dán verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 dán 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.