project BLF > class BBusinessComponent > business logic query BusCompByActivityUserComp (distinct)

Description

Checks the if the <user> can execute <activity> for component <component> in company <company>.

Remark that only the company bound activities are checked (UsrRole.UsrRoleIsForAllCompanies=False).


Parameters


icBusComponentCodecharacterBusComponentCode
icBusActivityCodecharacterBusActivityCode
icUsrNamecharacterUsrName
icUsrLogincharacterUsrLogin
iiCompanyIDintegerEntity ID
iiUsrIDinteger


query condition


  each BusComponent where
BusComponent.BusComponentCode = icBusComponentCode

      each BusActivity (inner-join) where
BusActivity.BusComponent_ID = BusComponent.BusComponent_ID AND
BusActivity.BusActivityCode = icBusActivityCode

          each Resources (inner-join) where
Resources.BusActivity_ID = BusActivity.BusActivity_ID AND

              each RoleResource (inner-join) where
RoleResource.Resource_ID = Resources.Resource_ID AND

                  first Role (inner-join) where
Role.Role_ID = RoleResource.Role_ID AND

                      each UsrRole (inner-join) where
UsrRole.Role_ID = Role.Role_ID AND
UsrRole.Usr_ID = iiUsrID

                          first Usr (inner-join) where
Usr.Usr_ID = UsrRole.Usr_ID AND
Usr.UsrLogin = icUsrLogin And
Usr.UsrName = icUsrName

                          each UsrRoleCompany (inner-join) where
UsrRoleCompany.Company_Id = iiCompanyId AND
UsrRoleCompany.UsrRole_ID = UsrRole.UsrRole_ID AND


query resultset tqBusCompByActivityUserComp


field namedata typedb fielddescription
tiBusActivity_IDintegerBusActivity.BusActivity_IDRecord ID
tcBusActivityCodecharacterBusActivity.BusActivityCodeCode
tiBusComponent_IDintegerBusComponent.BusComponent_IDBusComponent_ID
tcBusComponentCodecharacterBusComponent.BusComponentCodeComponent
tiCompany_IDintegerUsrRoleCompany.Company_IDEntity
tiRole_IDintegerRole.Role_IDRecord ID
tiUsr_IDintegerUsr.Usr_IDRecord ID
tcUsrLogincharacterUsr.UsrLoginLogin
tcUsrNamecharacterUsr.UsrNameUser Name


Internal usage


BLF
method BWorkObject.CreateDraftWorkObject

QadFinancials
method BCInvoice.ValidateComponentPostReason