A Microsoft Dynamics 2009 svájci verziójában nem lehet költségköltségvetést megadni a RoleTestreszabott ügyfél (RTC) költségarvestusében

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

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) (de-ch)
  • olasz (Svájc) (it-ch)

Tünetek

Ha a Microsoft Dynamics 2009 svájci verziójában megnyitja a költségvetési mátrixot a RoleTestreszabott ügyfélprogramban (RTC), nem tudja szerkeszteni a költségvetési mátrix értékeit. Ezért nem adhatja meg a költségköltségvetést a költségkönyvelésben.

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 (SP1) 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 működését. Azonban nem módosítják ezeket a példákat, hogy további funkciókat biztosítsanak, és nem építenek ki eljárásokat kifejezetten az Ön igényeire.

Megjegyzés: A gyorsjavítás telepítése előtt győződjön meg arról, hogy a Microsoft Dynamics NAV ügyfél összes felhasználója kijelentkezett a rendszerből. Ez magában foglalja a Microsoft Dynamics NAV Application Server (NAS) szolgáltatásokat 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 Tulajdonságok között az Időszakonkénti költségtervmátrix űrlap (36883) esetében a következők szerint:
    Meglévő kód

    }
    PROPERTIES
    {
    Width=20790;
    Height=6380;
    
    // Delete the following line.
    Editable=No;
    // End of the deleted line.
    
    CaptionML=ENU=Cost Budget per Period Matrix;
    InsertAllowed=No;
    DeleteAllowed=No;
    LinksAllowed=No;
    SourceTable=Table3010551;
    

    Helyettesítő kód

    }
    PROPERTIES
    {
    Width=20790;
    Height=6380;
    CaptionML=ENU=Cost Budget per Period Matrix;
    InsertAllowed=No;
    DeleteAllowed=No;
    LinksAllowed=No;
    SourceTable=Table3010551;
    
  2. Módosítsa a kódot a Költségköltségvetés időszakonkénti mátrix űrlap vezérlőiben (36883) a következők szerint:
    Meglévő kód: 1

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field1.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(1);
    END;
    }
    { 1051;Label ;0 ;0 ;0 ;0 ;ParentControl=1015;
    

    Helyettesítő kód 1

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field1.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(1);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(1);
    END;
    }
    { 1051;Label ;0 ;0 ;0 ;0 ;ParentControl=1015;
    

    Meglévő 2. kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field2.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(2);
    END;
    }
    { 1052;Label ;0 ;0 ;0 ;0 ;ParentControl=1016;
    

    2-es helyettesítő kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field2.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(2);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(2);
    END;
    }
    { 1052;Label ;0 ;0 ;0 ;0 ;ParentControl=1016;
    

    Meglévő 3-as kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field3.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(3);
    END;
    }
    { 1053;Label ;0 ;0 ;0 ;0 ;ParentControl=1017;
    

    3-as helyettesítő kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field3.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(3);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(3);
    END;
    }
    { 1053;Label ;0 ;0 ;0 ;0 ;ParentControl=1017;
    

    Meglévő 4-es kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field4.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(4);
    END;
    }
    { 1054;Label ;0 ;0 ;0 ;0 ;ParentControl=1018;
    

    4-es helyettesítő kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field4.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(4);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(4);
    END;
    }
    { 1054;Label ;0 ;0 ;0 ;0 ;ParentControl=1018;
    

    Meglévő 5-ös kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field5.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(5);
    END;
    }
    { 1055;Label ;0 ;0 ;0 ;0 ;ParentControl=1019;
    

    5-ös helyettesítő kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field5.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(5);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(5);
    END;
    }
    { 1055;Label ;0 ;0 ;0 ;0 ;ParentControl=1019;
    

    Meglévő 6-os kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field6.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(6);
    END;
    }
    { 1056;Label ;0 ;0 ;0 ;0 ;ParentControl=1020;
    

    6-os helyettesítő kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field6.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(6);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(6);
    END;
    }
    { 1056;Label ;0 ;0 ;0 ;0 ;ParentControl=1020;
    

    Meglévő 7-es kód

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field7.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(7);
    END;
    }
    { 1057;Label ;0 ;0 ;0 ;0 ;ParentControl=1021;
    

    Helyettesítő kód: 7

    
    
    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field7.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(7);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(7);
    END;
    }
    { 1057;Label ;0 ;0 ;0 ;0 ;ParentControl=1021;
    

    Meglévő 8-as kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field8.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(8);
    END;
    }
    { 1058;Label ;0 ;0 ;0 ;0 ;ParentControl=1022;
    

    8-as helyettesítő kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field8.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(8);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(8);
    END;
    }
    { 1058;Label ;0 ;0 ;0 ;0 ;ParentControl=1022;
    

    Meglévő 9-es kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field9.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(9);
    END;
    }
    { 1059;Label ;0 ;0 ;0 ;0 ;ParentControl=1023;
    

    Helyettesítő kód: 9

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field9.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(9);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(9);
    END;
    }
    { 1059;Label ;0 ;0 ;0 ;0 ;ParentControl=1023;
    

    Meglévő 10-es kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field10.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(10);
    END;
    }
    { 1060;Label ;0 ;0 ;0 ;0 ;ParentControl=1024;
    

    10-es helyettesítő kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field10.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(10);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(10);
    END;
    }
    { 1060;Label ;0 ;0 ;0 ;0 ;ParentControl=1024;
    

    Meglévő kód: 11

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field11.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(11);
    END;
    }
    { 1061;Label ;0 ;0 ;0 ;0 ;ParentControl=1025;
    

    11-es helyettesítő kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field11.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(11);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(11);
    END;
    }
    { 1061;Label ;0 ;0 ;0 ;0 ;ParentControl=1025;
    

    Meglévő 12-es kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field12.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(12);
    END;
    }
    { 1062;Label ;0 ;0 ;0 ;0 ;ParentControl=1026;
    

    12-es helyettesítő kód

    IF "Line Type" <> "Line Type"::"Cost Type" THEN
    CurrForm.Field12.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;
    
    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(12);
    END;
    // End of the added lines.
    
    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(12);
    END;
    }
    { 1062;Label ;0 ;0 ;0 ;0 ;ParentControl=1026;
    
  3. Módosítsa a kódot a Globális változók között az Időszakonkénti költségmátrix űrlapon (36883) a következők szerint:
    Meglévő kód

    BudgetFilter@1150004 : Code[10];
    MATRIX_ColumnCaption@1150005 : ARRAY [12] OF Text[80];
    AmtType@1150006 : 'Balance at Date,Net Change';
    RoundingFactor@1150007 : 'None,1,1000,1000000';
    MATRIX_CellData@1150008 : ARRAY [32] OF Decimal;
    
    LOCAL PROCEDURE SetDateFilter@1150000(MATRIX_ColumnOrdinal@1150000 : Integer);
    BEGIN
    IF AmtType = AmtType::"Net Change" THEN
    IF MatrixRecords[MATRIX_ColumnOrdinal]."Period Start" = MatrixRecords[MATRIX_ColumnOrdinal]."Period End" THEN
    

    Helyettesítő kód

    BudgetFilter@1150004 : Code[10];
    MATRIX_ColumnCaption@1150005 : ARRAY [12] OF Text[80];
    AmtType@1150006 : 'Balance at Date,Net Change';
    RoundingFactor@1150007 : 'None,1,1000,1000000';
    MATRIX_CellData@1150008 : ARRAY [32] OF Decimal;
    
    // Add the following lines.
    Text000@1150011 : TextConst 'ENU=Set View As to Net Change before you edit entries.';
    Text001@1150012 : TextConst 'ENU=%1 or %2 must not be blank.';
    CurrRegNo@11500010 : Integer;
    // End of the added lines.
    
    LOCAL PROCEDURE SetDateFilter@1150000(MATRIX_ColumnOrdinal@1150000 : Integer);
    BEGIN
    IF AmtType = AmtType::"Net Change" THEN
    IF MatrixRecords[MATRIX_ColumnOrdinal]."Period Start" = MatrixRecords[MATRIX_ColumnOrdinal]."Period End" THEN
    
  4. Módosítsa az UpdateAmount függvény kódját a Költségköltségvetés időszakonkénti mátrix űrlapon (36883) a következők szerint:
    Meglévő kód

    RoundingFactor::"1000000":
    MATRIX_CellData[ColumnID] := ROUND(MATRIX_CellData[ColumnID] / 1000000,0.1);
    END;
    END;
    
    BEGIN
    {
    <changelog>
    <add id="CA0001" dev="kcools" date="2007-02-21" area="COSTACCTNG" feature="PSCORS1209"
    releaseversion="CACEM6.00">
    

    Helyettesítő kód

    RoundingFactor::"1000000":
    MATRIX_CellData[ColumnID] := ROUND(MATRIX_CellData[ColumnID] / 1000000,0.1);
    END;
    END;
    
    // Add the following lines.
    LOCAL PROCEDURE UpdateAmount@1150005(ColumnID@1150000 : Integer);
    BEGIN
    IF AmtType <> AmtType::"Net Change" THEN
    ERROR(Text000);
    
    IF (CostCenterFilter = '') AND (CostObjectFilter = '') THEN
    ERROR(Text001,FIELDCAPTION("Cost Center Filter"),FIELDCAPTION("Cost Object Filter"));
    
    SetFilters(ColumnID);
    CALCFIELDS("Budget Amount");
    InsertMatrixCostBudgetEntry(CurrRegNo,ColumnID);
    END;
    
    LOCAL PROCEDURE SetFilters@1150006(ColumnID@1150000 : Integer);
    BEGIN
    SetDateFilter(ColumnID);
    SETFILTER("Cost Center Filter",CostCenterFilter);
    SETFILTER("Cost Object Filter",CostObjectFilter);
    SETFILTER("Budget Filter",BudgetFilter);
    END;
    
    LOCAL PROCEDURE InsertMatrixCostBudgetEntry@1150007(VAR RegNo@1150000 : Integer;ColumnID@1150001 : Integer);
    VAR
    MatrixCostBudgetEntry@1150003 : Record 3010571;
    BEGIN
    MatrixCostBudgetEntry.INIT;
    MatrixCostBudgetEntry."Budget Name" := BudgetFilter;
    MatrixCostBudgetEntry."Cost Type No." := "No.";
    MatrixCostBudgetEntry.Date := MatrixRecords[ColumnID]."Period Start";
    MatrixCostBudgetEntry."Cost Center Code" := CostCenterFilter;
    MatrixCostBudgetEntry."Cost Object Code" := CostObjectFilter;
    MatrixCostBudgetEntry.Amount := MATRIX_CellData[ColumnID] - "Budget Amount";
    MatrixCostBudgetEntry.INSERT(TRUE);
    END;
    // End of the added lines.
    
    BEGIN
    {
    <changelog>
    <add id="CA0001" dev="kcools" date="2007-02-21" area="COSTACCTNG" feature="PSCORS1209"
    releaseversion="CACEM6.00">
    

          

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.