Az előre fizetett vevők értékesítési ajánlatából nem hozhat létre értékesítési rendelést, ha az értékesítési ajánlat a Microsoft Dynamics NAV 2009 svájci verziójában Cím, "Kezdet-Összesen" vagy "Végösszeg" sortípust tartalmaz

Hatókör
Dynamics NAV 2009

Ez a cikk a Microsoft Dynamics NAV-ra vonatkozik az alábbi országokban és nyelvi beállításokkal.

  • francia (Svájc) (fr-ch)
  • Német (Svájc) (gr-ch)
  • olasz (Svájc) (it-ch)

Tünetek

Tegyük fel, hogy van olyan ügyfele, aki a Microsoft Dynamics NAV 2009 svájci verziójában használ előre fizetést. Ezután hozzon létre egy értékesítési árajánlatot, amelyben a vevő Típus mezőjében a Cím, a Kezdet-összeg vagy a Végösszeg értéket adja meg. Ebben az esetben, amikor a Rendelés gombra kattintva értékesítési rendelést hoz létre az értékesítési árajánlatból, a következő hibaüzenet jelenik meg:

Megjegyzés

Ebben a mezőben meg kell adnia a Nem lehetőséget. in Sales Line document type='Order',Document No.='DocumentNumber',Line No.='LineNumber'.

Ez a probléma a következő termékekben fordul elő:

  • A Microsoft Dynamics NAV 2009 R2 svájci verziója
  • A Microsoft Dynamics NAV 2009 Service Pack 1 svájci 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 az Értékesítési sor táblában (37) a következők szerint:
    Meglévő kód: 1

    ...
    // Delete the following line.
    IF NOT (Type IN [Type::" ",Type::Title..Type::"New Page"]) THEN BEGIN
    ...
    

    Helyettesítő kód 1

    ...
    // Add the following line.
    IF IsTypeQuantitative THEN BEGIN
    ...
    

    Meglévő 2. kód

    ...
    // Delete the following line.
    IF (NOT (Type IN [Type::"G/L Account"..Type::"Charge (Item)"])) AND (Quantity <> 0) THEN
    ...
    

    2-es helyettesítő kód

    ...
    // Add the following line.
    IF NOT IsTypeQuantitative AND (Quantity <> 0) THEN
    ...
    

    Meglévő 3-as kód

    ...
    // Delete the following line.
    IF ("Prepayment %" <> 0) AND (Type <> Type::" ") THEN BEGIN
    ...
    

    3-as helyettesítő kód

    ...
    // Add the following line.
    IF ("Prepayment %" <> 0) AND IsTypeQuantitative THEN BEGIN
    ...
    

    Meglévő 4-es kód

    ...
    // Delete the following line.IF NOT (Type IN[Type::"G/L Account"..Type::"Charge (Item)"]) THEN
    ...
    

    4-es helyettesítő kód

    ...
    // Add the following line.
    IF NOT IsTypeQuantitative THEN BEGIN
    ...
    

    Meglévő 5-ös kód

    ...
    // Delete the following line.
    IF (Type IN[Type::"G/L Account"..Type::"Charge (Item)"]) AND ("No." <> '') THEN BEGIN
    ...
    

    5-ös helyettesítő kód

    ...
    // Add the following line.
    IF IsTypeQuantitative AND ("No." <> '') THEN BEGIN
    ...
    

    Meglévő 6-os kód

    ...
    PROCEDURE RoundLineAmount@1150000(_Amount@1150000 : Decimal) : Decimal;
    VAR
    SalesSetup@1150001 : Record 311;
    BEGIN
    GLSetup.GET;
    IF ("Currency Code" = '') OR ("Currency Code" = GLSetup."LCY Code") THEN BEGIN
    SalesSetup.GET;
    SalesSetup.TESTFIELD("Line Amt. Round LCY");
    _Amount := ROUND(_Amount,SalesSetup."Line Amt. Round LCY");
    END;
    EXIT(_Amount);
    END;
    BEGIN
    ...
    

    6-os helyettesítő kód

    ...
    PROCEDURE RoundLineAmount@1150000(_Amount@1150000 : Decimal) : Decimal;
    VAR
    SalesSetup@1150001 : Record 311;
    BEGIN
    GLSetup.GET;
    IF ("Currency Code" = '') OR ("Currency Code" = GLSetup."LCY Code") THEN BEGIN
    SalesSetup.GET;
    SalesSetup.TESTFIELD("Line Amt. Round LCY");
    _Amount := ROUND(_Amount,SalesSetup."Line Amt. Round LCY");
    END;
    EXIT(_Amount);
    END;
    
    // Add the following lines.
    PROCEDURE IsTypeQuantitative@1150010() : Boolean;
    BEGIN
    EXIT(Type IN [Type::"G/L Account"..Type::"Charge (Item)"]);
    END;
    // End of the lines.
    
    BEGIN
    ...
    

    Meglévő 7-es kód

    ...
    // Delete the following line.
    IF Type <> Type::" " THEN
    
    Quantity := TempSalesLine.Quantity;
    ...
    

    Helyettesítő kód: 7

    ...
    // Add the following line.
    IF IsTypeQuantitative THEN
    
    Quantity := TempSalesLine.Quantity;
    ...
    

    Meglévő 8-as kód

    ...
    // Delete the following line.
    IF NOT "System-Created Entry" AND ("Document Type" = "Document Type"::Order) AND (Type <> Type::" ") THEN
    
    "Prepayment %" := SalesHeader."Prepayment %";...
    

    8-as helyettesítő kód

    ...
    // Add the following line.
    IF NOT "System-Created Entry" AND ("Document Type" = "Document Type"::Order) AND IsTypeQuantitative THEN
    
    "Prepayment %" := SalesHeader."Prepayment %";
    ...
    

    Meglévő 9-es kód

    ...
    // Delete the following line.
    IF ("Shipment Date" < WORKDATE) AND (Type <> Type::" ") THEN
    
    IF NOT (HideValidationDialog OR HasBeenShown) AND GUIALLOWED THEN BEGIN
    ...
    

    Helyettesítő kód: 9

    ...
    // Add the following line.
    IF ("Shipment Date" < WORKDATE) AND IsTypeQuantitative THEN
    
    IF NOT (HideValidationDialog OR HasBeenShown) AND GUIALLOWED THEN BEGIN
    ...
    

    Meglévő 10-es kód

    ...
    // Delete the following line.
    IF Type <> Type::" " THEN
    
    UpdateAmounts;
    ...
    

    10-es helyettesítő kód

    ...
    // Add the following line.
    IF IsTypeQuantitative THEN
    
    UpdateAmounts;
    ...
    

    Meglévő kód: 11

    ...
    // Delete the following line.
    IF Type = Type::" " THEN
    
    EXIT(TRUE);
    ...
    

    11-es helyettesítő kód

    ...
    // Add the following line.
    IF NOT IsTypeQuantitative THEN
    
    EXIT(TRUE);
    ...
    
  2. Módosítsa a QuoteMgt codeunit (3010801) kódját a következők szerint:
    Meglévő kód

    ...
    // Delete the following lines.
    IF (Type IN [Type::"G/L Account"..Type::"Charge (Item)"]) AND
    ("No." <> '')
    THEN BEGIN
    // End of the lines.
    ...
    

    Helyettesítő kód

    ...
    // Add the following line.
    IF IsTypeQuantitative AND ("No." <> '') THEN BEGIN
    ...
    

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 svájci verziója
  • A Microsoft Dynamics NAV 2009 Service Pack 1 svájci 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.