Ez a cikk a Microsoft Dynamics NAV-ra vonatkozik az alábbi országokban és nyelvi beállításokkal.
- angol (Kanada) (en-ca)
- angol (Egyesült Államok) (en-us)
- spanyol (Mexikó) (es-mx)
- francia (Kanada) (fr-ca)
Tünetek
Feltételezzük, hogy a Microsoft Dynamics NAV 2009 észak-amerikai verziójában bejelölte az Automatikus buildkészlet anyagjegyzék jelölőnégyzetet. Amikor a "Vevők értékesítési előzményei" űrlapon a Másolás dokumentumba funkciót futtatva hoz létre értékesítési rendelést egy vevőnek szóló cikkhez, a következő hibaüzenet jelenik meg:
Megjegyzés
A Build Kit nem szerepelhet az Értékesítési sorban.
Ez a probléma a következő termékekben fordul elő:
- A Microsoft Dynamics NAV 2009 R2 észak-amerikai verziója
- A Microsoft Dynamics NAV 2009 Service Pack 1 észak-amerikai 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:
Távolítsa el a LOCAL tulajdonságot a Dokumentum másolása parancsfájlban (6620) a következő eljárásokból, az alábbiak szerint:
Meglévő kód: 1... // Delete the following line. LOCAL PROCEDURE CopyFromKitSalesToLine@1462000(VAR ToSalesLine@1462000 : Record 37;VAR FromSalesLine@1462001 : Record 37); ...Helyettesítő kód 1
... // Add the following line. PROCEDURE CopyFromKitSalesToLine@1462000(VAR ToSalesLine@1462000 : Record 37;VAR FromSalesLine@1462001 : Record 37); ...Meglévő 2. kód
... // Delete the following line.LOCAL PROCEDURE CopyFromKitSalesShptToLine@1462001(VAR ToSalesLine@1462000 : Record 37;VAR FromSalesShptLine@1462001 : Record 111); ...2-es helyettesítő kód
... // Add the following line.PROCEDURE CopyFromKitSalesShptToLine@1462001(VAR ToSalesLine@1462000 : Record 37;VAR FromSalesShptLine@1462001 : Record 111); ...Meglévő 3-as kód
... // Delete the following line.LOCAL PROCEDURE CopyFromKitSalesInvToLine@1462002(VAR ToSalesLine@1462000 : Record 37;VAR FromSalesInvLine@1462001 : Record 113); ...3-as helyettesítő kód
... // Add the following line.PROCEDURE CopyFromKitSalesInvToLine@1462002(VAR ToSalesLine@1462000 : Record 37;VAR FromSalesInvLine@1462001 : Record 113); ...Adja hozzá a következő helyi változókat az Értékesítési előzmények Másolási sor Mgt. codeunit (7172) CopyLinesToDoc eljárásához az alábbiak szerint:
CopytoKitLine@1015 : Codeunit 6620; FromSalesInvLine@1018 : Record 113; FromSalesShptLine@1020 : Record 111; FromArchiveLine@1021 : Record 5108;Módosítsa a kódot az Értékesítési előzmények (CopyLinesToDoc) eljárásban Copy Line Mgt. codeunit (7172) a következőképpen:
Meglévő kód: 1... FromDocType::"Return Order": BEGIN FromSalesHeader.GET(FromSalesLine."Document Type",FromSalesLine."Document No."); ItemChargeAssgntNextLineNo := 0; CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); // Delete the following lines. IF FromSalesLine.Type = FromSalesLine.Type::"Charge (Item)" THEN CopyFromSalesDocAssgntToLine(ToSalesLine,FromSalesLine,ItemChargeAssgntNextLineNo); END; FromDocType::"Posted Shipment": BEGIN FromSalesShptHeader.GET(FromSalesLine."Document No."); FromSalesHeader.TRANSFERFIELDS(FromSalesShptHeader); CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); END; FromDocType::"Posted Invoice": BEGIN FromSalesInvHeader.GET(FromSalesLine."Document No."); FromSalesHeader.TRANSFERFIELDS(FromSalesInvHeader); CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); // End of the lines. END; FromDocType::"Posted Return Order": BEGIN ...Helyettesítő kód1
... FromDocType::"Return Order": BEGIN FromSalesHeader.GET(FromSalesLine."Document Type",FromSalesLine."Document No."); ItemChargeAssgntNextLineNo := 0; CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); // Add the following lines. IF NOT (FromDocType IN ["Document Type"::"Credit Memo","Document Type"::"Return Order"]) THEN CopytoKitLine.CopyFromKitSalesToLine(ToSalesLine,FromSalesLine); IF FromSalesLine.Type = FromSalesLine.Type::"Charge (Item)" THEN BEGIN CopyFromSalesDocAssgntToLine(ToSalesLine,FromSalesLine,ItemChargeAssgntNextLineNo); CopytoKitLine.CopyFromKitSalesToLine(ToSalesLine,FromSalesLine); END; END; FromDocType::"Posted Shipment": BEGIN FromSalesShptHeader.GET(FromSalesLine."Document No."); FromSalesShptLine.GET(FromSalesLine."Document No.",FromSalesLine."Line No."); FromSalesHeader.TRANSFERFIELDS(FromSalesShptHeader); CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); CopytoKitLine.CopyFromKitSalesShptToLine(ToSalesLine,FromSalesShptLine); END; FromDocType::"Posted Invoice": BEGIN FromSalesInvHeader.GET(FromSalesLine."Document No."); FromSalesInvLine.GET(FromSalesLine."Document No.",FromSalesLine."Line No."); FromSalesHeader.TRANSFERFIELDS(FromSalesInvHeader); CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); CopytoKitLine.CopyFromKitSalesInvToLine(ToSalesLine,FromSalesInvLine); // End of the lines. END; FromDocType::"Posted Return Order": BEGIN ...Meglévő 2. kód
... FromDocType::"Archived Order": BEGIN FromSalesArchHeader.GET(FromSalesLine."Document Type",FromSalesLine."Document No.", DocNoOccurrence,DocVersionNo); // Delete the following lines. FromSalesHeader.TRANSFERFIELDS(FromSalesArchHeader); CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); // End of the lines. END; END; END; ...2-es helyettesítő kód
... FromDocType::"Archived Order": BEGIN FromSalesArchHeader.GET(FromSalesLine."Document Type",FromSalesLine."Document No.", DocNoOccurrence,DocVersionNo); // Add the following lines. FromArchiveLine.GET(FromSalesLine."Document Type",FromSalesLine."Document No.", DocNoOccurrence,DocVersionNo,FromSalesLine."Line No."); FromSalesHeader.TRANSFERFIELDS(FromSalesArchHeader); CopyLine(ToSalesHeader,ToSalesLine,FromSalesHeader,FromSalesLine,NextLineNo); CopyFromKitArchiveToLine(ToSalesLine,FromArchiveLine); // End of the lines. END; END; END; ...Módosítsa a kódot a CopyLine eljárásban az Értékesítési előzmények lapon. Sor másolása Mgt. codeunit (7172) a következők szerint:
Meglévő kód... VALIDATE("Variant Code",FromSalesLine."Variant Code"); // Delete the following lines. VALIDATE("Location Code",FromSalesLine."Location Code"); VALIDATE("Unit of Measure",FromSalesLine."Unit of Measure"); VALIDATE("Unit of Measure Code",FromSalesLine."Unit of Measure Code"); VALIDATE(Quantity,0); // End of the lines. IF NOT (FromSalesLine.Type IN [FromSalesLine.Type::Item,FromSalesLine.Type::Resource]) THEN BEGIN IF (FromSalesHeader."Currency Code" <> ToSalesHeader."Currency Code") OR ...Helyettesítő kód
... VALIDATE("Variant Code",FromSalesLine."Variant Code"); // Add the following lines. "Location Code" := FromSalesLine."Location Code"; VALIDATE("Unit of Measure",FromSalesLine."Unit of Measure"); VALIDATE("Unit of Measure Code",FromSalesLine."Unit of Measure Code"); VALIDATE(Quantity,0); Quantity := FromSalesLine.Quantity; "Qty. to Ship" := FromSalesLine.Quantity; "Qty. to Invoice" := FromSalesLine.Quantity; "Line Amount" := FromSalesLine."Line Amount"; "Quantity (Base)" := FromSalesLine.Quantity; "Qty. to Invoice (Base)" := FromSalesLine.Quantity; // End of the lines. IF NOT (FromSalesLine.Type IN [FromSalesLine.Type::Item,FromSalesLine.Type::Resource]) THEN BEGIN IF (FromSalesHeader."Currency Code" <> ToSalesHeader."Currency Code") OR ...Adja hozzá a következő helyi eljárást az Értékesítési előzmények sorának másolása Mgt. Codeunit (7172) mezőhöz az alábbiak szerint:
LOCAL PROCEDURE CopyFromKitArchiveToLine@7(VAR ToSalesLine@1001 : Record 37;VAR FromArchiveLine@1002 : Record 5108); VAR FromKitArchiveLine@1003 : Record 25003; ToKitArchiveLine@1004 : Record 25003; ToKitSalesLine@1005 : Record 25000; BEGIN IF ToSalesLine."Build Kit" THEN BEGIN FromKitArchiveLine.RESET; FromKitArchiveLine.SETRANGE("Document No.",FromArchiveLine."Document No."); FromKitArchiveLine.SETRANGE("Document Line No.",FromArchiveLine."Line No."); IF FromKitArchiveLine.FINDSET THEN REPEAT ToKitSalesLine.TRANSFERFIELDS(FromKitArchiveLine); ToKitSalesLine."Document Type" := ToSalesLine."Document Type"; ToKitSalesLine."Document No." := ToSalesLine."Document No."; ToKitSalesLine."Document Line No." := ToSalesLine."Line No."; CASE ToKitSalesLine.Type OF ToKitSalesLine.Type::Item,ToKitSalesLine.Type::Resource: BEGIN ToKitSalesLine."Extended Quantity" := ToKitSalesLine."Quantity per" * ToSalesLine."Quantity (Base)"; ToKitSalesLine."Extended Quantity (Base)" := ToKitSalesLine."Quantity per (Base)" * ToSalesLine."Quantity (Base)" END; ToKitSalesLine.Type::"Setup Resource": BEGIN ToKitSalesLine."Extended Quantity" := ToKitSalesLine."Quantity per"; ToKitSalesLine."Extended Quantity (Base)" := ToKitSalesLine."Quantity per (Base)"; END; END; ToKitSalesLine."Outstanding Quantity" := ToKitSalesLine."Extended Quantity"; ToKitSalesLine."Outstanding Qty. (Base)" := ToKitSalesLine."Extended Quantity (Base)"; ToKitSalesLine.INSERT; UNTIL FromKitArchiveLine.NEXT = 0; END; END;
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 észak-amerikai verziója
- A Microsoft Dynamics NAV 2009 Service Pack 1 észak-amerikai 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.