dear admin kindly guide me how to control users tally group wise and ledger wise disallowed the user following formats dis allowed Group allowed dis allowed group allowed ledger
For that you will need to create a aggregate udf in group/ledger master so that user can select those users who can edit group/ledger. After that put a filter in ledger/group collection as Aaradhya said so that you can only those group/ledger which are allowed to login user.
sir, i write one tdl for user wise group security , in security control shows the list of groups to activate for particular user but its not affecting when i making entry it showing everything can you please guide , what are the possible problem and what are the collection i must used to filter when i change some collection to filter there is some error " out of storage " somthing pleas help
hi, i have ready made solution for Group wise Ledger Wise Security Control User Wise , if you need msg me at maduraitally@gmail.com
please try this code ;;add collection filter [#Collection: List of Ledgers] Add:Filter:Actve1_Report [#Collection: Monthly Ledger Extract] Add:Filter:Actve1_Report [#Collection: Monthly Ledger Extract Server] Add:Filter:Actve1_Report [#Collection: Monthly Ledger Extract Remote] Add:Filter:Actve1_Report [#Collection: Group Summary Extract Server] Add:Filter:Actve1_Report [System:Formula] Actve1_Report: If $$IsCmpOwner Then 1=1 else not ($$check_user@Req_obj);;:$$CmpUserName) Req_obj:$$Name ReQ_ledger: $$AsReqObj:$$FilterValue:$R_GR_Block_ledgers:filter_coll_user:1:ForThis_led ForThis_led : $GR_Block_ledgers = $$Name ;or $GR_Block_ledgers = $$ReqObject:$Parent;;$Parent:Godown:$Parent ;;filter_coll_user [Function:check_user] Parameter:vledger:String ; Parameter:Curr_user:string;;:$$CmpUserName Variable:counter:Number:0 Variable:return_value:Logical:No 00:Log:##vledger ;01:Log:##Curr_user 03:Walk Collection: filter_coll_user 03a: Log:$R_GR_Block_ledgers + " " 04:Set:counter:$$NumItems:filter_coll_user ;;10 05:While:##counter >0 06o If:##vledger = $R_GR_Block_ledgers :Set:return_value:Yes 07: Decrement:counter 09: End While 10: End Walk 12: Return:##return_value [Collection:filter_coll_user] Source Collection:GR_User_List Walk:GR_Block_ledgers_aggr Compute:R_GR_Block_ledgers:$GR_Block_ledgers Compute:R_GR_Block_logics:$GR_Block_logic ; Filter:Curr_user_filter Fetch:GR_Block_logic,name [System:Formula] Curr_user_filter: ($Name=$$CmpUserName) ; (##Curr_user = $name ) ;;and $GR_Block_logic;;R_GR_Block_logics [Collection : GR_User_List] Type : User List : Company Childof : ##SVCurrentCompany Fetch:GR_Block_logic,name Filter:Curr_user_filter [#Line: CUTitle] Add:Option:CUTitlenew_det: yes;;@@error_LogModule [!Line: CUTitlenew_det] Add : Fields : At End : GR_Title_user;,Groupfilttitle007R [Field : GR_Title_user] Use : Short Name Field Set as : "Allow Ledger In Report" Skip:Yes ;[#Line: Company Users] ; Add : Fields : At End : ABN CU Valid Date [#Part: Company Users] Add:Option:Companynew_det:yes;; @@error_LogModule [!Part: Companynew_det] Local : Line : Company Users : Add : Field : At End : GR_user;,Groupfiltdet [Field : GR_user] Use : Logical Field Set as : If $$IsEmpty:#CMPUserName Then "" Else "No" Skip : $$IsEmpty:#CMPUserName SubForm : JLGodownForm007R : $$Value Width@ShortNameWidth Align:Center Storage:GR_Block_logic Set as:$GR_Block_logic ;grpnameinsec [System:UDF] GR_Block_logic:Logical:12382 [Report: JLGodownForm007R] Form : JLGodownForm007R [Form: JLGodownForm007R] Part : JLGodownForm007R Height : 50% Screen Width : 25% Screen [Part: JLGodownForm007R] Line : JLGodownFormTitle007R, JLGodownForm007R Repeat : JLGodownForm007R : GR_Block_ledgers_aggr Scroll : Vertical Break on : $$IsEndOfList:$GR_Block_ledgers or $$IsEnd:$GR_Block_ledgers [Line: JLGodownFormTitle007R] Field : Name Field Border : Thin Top Bottom Local : Field : Name Field : Set as : "Allow Ledgers" Local : Field : Name Field : Full Width: Yes Local : Field : Name Field : Align : Center Local : Field : Name Field : Skip : Yes [Line: JLGodownForm007R] Field: JLGodownForm007R [Field: JLGodownForm007R] Use : Name Field Set as : $GR_Block_ledgers Storage : GR_Block_ledgers Table : Ledger,Not Applicable : $$Line = 1 Table : Ledger, EndofList : $$Line > 1 ; Show Table : Always Full Width : Yes [System : UDF] GR_Block_ledgers_aggr : Aggregate : 127 GR_Block_ledgers : String : 128