2016-03-22 5 views
1

メソッドcurrentUserId()でAxaptaUserManagerクラスを編集しました。クラスメソッドで配列またはコンテナを返す方法

私の編集したコード:

public static str currentUserId() 
{ 
    str userSingle; 
    ; 

    userSingle = 'azn03'; 

    return userSingle; 
} 

私は私のクエリで範囲について上記の方法を置く:

Policy

:次に

Exportfile for AOT version 1.0 or later 
Formatversion: 1 

***Element: QUE 

; Microsoft Dynamics AX Query: ABU_HCMWorker03 unloaded 
; -------------------------------------------------------------------------- 
VERSION 31 

QUERY #ABU_HCMWorker03 
PROPERTIES 
    Name    #ABU_HCMWorker03 
    Version    #29 
    NextUniqueId  #1003 
    Origin    #{DC53FD0D-7322-447E-8393-3FCA091A6CE1} 
ENDPROPERTIES 

METHODS 
SOURCE #classDeclaration 
    #public class QueryRun extends ObjectRun 
    #{ 
    #} 
ENDSOURCE 
ENDMETHODS 
BLOCKS 
BLOCK #HcmWorker 
    PROPERTIES 
    Name    #HcmWorker_1 
    Table    #HcmWorker 
    UniqueId   #1000 
    FetchMode   #1:1 
    ENDPROPERTIES 

    FIELDLIST 
    PROPERTIES 
     Dynamic    #Unselected 
    ENDPROPERTIES 

    ENDFIELDLIST 
    SORTING 
    ENDSORTING 
    LINES 
    ENDLINES 
    BLOCKS 
    BLOCK #DirPerson 
     PROPERTIES 
     Name    #DirPerson_1 
     Table    #DirPerson 
     UniqueId   #1001 
     FetchMode   #1:1 
     Relations   #Yes 
     ENDPROPERTIES 

     FIELDLIST 
     PROPERTIES 
     ENDPROPERTIES 

     ENDFIELDLIST 
     SORTING 
     ENDSORTING 
     LINES 
     ENDLINES 
     BLOCKS 
     BLOCK #DirPersonUser 
      PROPERTIES 
      Name    #DirPersonUser_1 
      Table    #DirPersonUser 
      UniqueId   #1002 
      FetchMode   #1:1 
      Relations   #Yes 
      ENDPROPERTIES 

      FIELDLIST 
      PROPERTIES 
       Dynamic    #Unselected 
      ENDPROPERTIES 

      ENDFIELDLIST 
      SORTING 
      ENDSORTING 
      LINES 
      LINE #User 
      PROPERTIES 
       Name    #User 
       Table    #DirPersonUser 
       Field    #User 
       Value    #(currentUserId()) 
      ENDPROPERTIES 

      ENDLINES 
      BLOCKS 
      ENDBLOCKS 
      ASSOCIATIONS 
      ASSOCIATION 
       FOREIGNKEYRELATION #DirPerson 
      ENDASSOCIATIONS 
     ENDBLOCK 
     ENDBLOCKS 
     ASSOCIATIONS 
     ASSOCIATION 
      FOREIGNKEYRELATION #DirPerson 
     ENDASSOCIATIONS 
    ENDBLOCK 
    ENDBLOCKS 
    GROUPBY 
    ENDGROUPBY 
    HAVING 
    ENDHAVING 
    ORDERBY 
    ENDORDERBY 
ENDBLOCK 
ENDBLOCKS 
DEPENDENTS 
ENDDEPENDENTS 
COMPOSITEQUERIES 
ENDCOMPOSITEQUERIES 
ENDQUERY 


***Element: END 

を、私は、クエリと役割を接続するポリシーを作成します

最後に、「TradeSalesRepresentative」に1人のユーザーを追加します。

結果は期待通りではありません。形式SalesTableには、すべてのセールスマンのすべての受注が表示されます。私の目的はSalesTableフォームでの販売注文のフィルタリングです。私のステップに何か間違っていますか?

+0

おそらくコードの変更を避けてテストを行い、[runas.exeコマンド](http://axandhellisfunafterall.blogspot.com.es/2012/07/command-line-runas-with-ax)を使用することができます。 html)。 [セキュリティ開発ツール](https://technet.microsoft.com/en-us/library/hh859729.aspx)は、セキュリティの変更をテストするための優れた方法です。 –

+0

セキュリティ開発ツールの使用方法はわかりません。 runas.exeコマンドから実行すると、予期しない結果が発生しました。 – Setiaji

答えて

2

このメソッドを使用します。

public static str currentUserId() 
{ 
    return 'azn03'; 
} 

...にクラスSysQueryRangeUtil

範囲を戻してフィルタリングするには、手動でフィルタを設定した場合と同じように文字列をカンマ区切りにします。

+0

これは 'currentUserId'メソッドの目的を無効にします! 使用後は必ず削除してください。 –

+0

もちろん、この例のメソッドを使用して、重要な部分はクエリヘルパーメソッドをどこに配置するかです。しかし、あなたの編集は自分の意図と異なって見えるようにしました。 – AnthonyBlake

関連する問題