"Nincs jogosultsága a 'SubcontractingManagement' Codeunit futtatására" hibaüzenet jelenik meg, amikor megpróbál frissíteni egy kiadott termelési rendelést a Microsoft Dynamics NAV 2009 olasz verziójában

Hatókör
Dynamics NAV 2009

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

Tünetek

Tegyük fel, hogy olyan licencet használ, amely tartalmazza a granulátum 7300 - Megoldásfejlesztő összetevőt, és nincs granulátuma a Microsoft Dynamics NAV 2009 R2 és a Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) olasz verziójában. Amikor megpróbál frissíteni egy kiadott termelési rendelést, az alábbi hibaüzenet jelenik meg:

Megjegyzés

Nincs engedélye az "SubcontractingManagement" Codeunit futtatására.
Az engedélyek módosításához forduljon a rendszergazdához.

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 változtassa meg a Mezők kódot a Termék Rendelési összetevő táblában (5407) a következők szerint:

Meglévő kód: 1

...
     ProdOrderRtngLine@1001 : Record 5409;
     Vendor@1130000 : Record 23;
     SKU@1130001 : Record 5700;
     GetPlanningParameters@1130002 : Codeunit 99000855;
     SubcontractingManagement@1130003 : Codeunit 12152;
   BEGIN
     VALIDATE("Expected Quantity",Quantity * ProdOrderNeeds);

     ProdOrderLine.GET(Status,"Prod. Order No.","Prod. Order Line No.");
...

Helyettesítő kód 1

...
     ProdOrderRtngLine@1001 : Record 5409;
     Vendor@1130000 : Record 23;
     SKU@1130001 : Record 5700;
     GetPlanningParameters@1130002 : Codeunit 99000855;
     SubcontractingManagement@1130003 : Codeunit 12152;

// Add the following line.
       LicensePermission@1002 : Record 2000000043;
// End of the line.

   BEGIN
     VALIDATE("Expected Quantity",Quantity * ProdOrderNeeds);

     ProdOrderLine.GET(Status,"Prod. Order No.","Prod. Order Line No.");
...

Meglévő 2. kód

...
       ProdOrderRtngLine.SETRANGE("Routing Reference No.",ProdOrderLine."Routing Reference No.");
       ProdOrderRtngLine.SETRANGE("Routing Link Code","Routing Link Code");
       IF ProdOrderRtngLine.FIND('-') THEN BEGIN
         "Due Date" := ProdOrderRtngLine."Starting Date";
         "Due Time" := ProdOrderRtngLine."Starting Time";

// Delete the following lines.
           IF SubcontractorPrices.READPERMISSION THEN
             IF (ProdOrderRtngLine.Type = ProdOrderRtngLine.Type::"Work Center") THEN
               IF SubcontractingManagement.GetSubcontractor(ProdOrderRtngLine."No.",Vendor) THEN
                 IF Vendor."Subcontractor Procurement" THEN
                   VALIDATE("Location Code",Vendor."Subcontracting Location Code");
// End of the lines.

       END;
     END ELSE BEGIN
       IF xRec."Routing Link Code" <> '' THEN BEGIN
         GetPlanningParameters.AtSKU(
           SKU,
...

2-es helyettesítő kód

...
       ProdOrderRtngLine.SETRANGE("Routing Reference No.",ProdOrderLine."Routing Reference No.");
       ProdOrderRtngLine.SETRANGE("Routing Link Code","Routing Link Code");
       IF ProdOrderRtngLine.FIND('-') THEN BEGIN
         "Due Date" := ProdOrderRtngLine."Starting Date";
         "Due Time" := ProdOrderRtngLine."Starting Time";

           // Add the following lines.
           IF LicensePermission.GET(LicensePermission."Object Type"::TableData, DATABASE::"Subcontractor Prices") THEN
             IF LicensePermission."Execute Permission" <> LicensePermission."Execute Permission"::" " THEN
               IF (ProdOrderRtngLine.Type = ProdOrderRtngLine.Type::"Work Center") THEN
                 IF SubcontractingManagement.GetSubcontractor(ProdOrderRtngLine."No.",Vendor) THEN
                   IF Vendor."Subcontractor Procurement" THEN
                     VALIDATE("Location Code",Vendor."Subcontracting Location Code");
          // End of the lines.

       END;
     END ELSE BEGIN
       IF xRec."Routing Link Code" <> '' THEN BEGIN
         GetPlanningParameters.AtSKU(
           SKU,
...

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 olasz nyelvű verziója
  • A Microsoft Dynamics NAV 2009 Service Pack 1 olasz 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.