Get worker information in D365fo x++

 Get worker information in D365fo x++

public static void createUser(HcmWorker _hcmWorker) { DSAPDisprzUsers disprzUsers; DirPerson dirPerson = DirPerson::find(_hcmWorker.Person); DirPersonName dirPersonName = DirPersonName::find(dirPerson.RecId); CompanyInfo CompanyInfo = HcmWorkerHelper::getLegalEntity(_hcmWorker.RecId); OMOperatingUnit department = HcmWorkerHelper::getPrimaryDepartment(_hcmWorker.RecId); HcmPositionWorkerAssignment positiont = HcmWorkerHelper::getWorkerPrimaryPositionAssignment(_hcmWorker.RecId); HcmWorker currentWorkerManager = HcmWorkerHelper::getManagerForWorker(_hcmWorker.RecId); hcmEmployment hcmEmployment = hcmEmployment::find(_hcmWorker.RecId); disprzUsers.PersonnelNumber = _hcmWorker.PersonnelNumber; disprzUsers.UserName = _hcmWorker.email(); disprzUsers.Password = '123456789'; disprzUsers.LegalEntity = CompanyInfo.DataArea; disprzUsers.CompanyId = CompanyInfo.DataArea; disprzUsers.CompanyName = CompanyInfo.name(); disprzUsers.Creater = curUserId(); disprzUsers.CreaterEmail = HcmWorker::find(HcmWorker::userId2Worker(curUserId())).email(); disprzUsers.Dim_CostCentre = DSAPDisprzUsers::getDimension(hcmEmployment.DefaultDimension, 'CostCentre'); disprzUsers.Dim_Department = DSAPDisprzUsers::getDimension(hcmEmployment.DefaultDimension, 'Department'); disprzUsers.Dim_Division = DSAPDisprzUsers::getDimension(hcmEmployment.DefaultDimension, 'Division'); disprzUsers.Dim_Location = DSAPDisprzUsers::getDimension(hcmEmployment.DefaultDimension, 'Location'); disprzUsers.Dim_Project = DSAPDisprzUsers::getDimension(hcmEmployment.DefaultDimension, 'Project'); disprzUsers.Name = _hcmWorker.name(); disprzUsers.FirstName = dirPersonName.FirstName; disprzUsers.MiddleName = dirPersonName.MiddleName; disprzUsers.LastName = dirPersonName.LastName; disprzUsers.DepartmentName = department.Name; disprzUsers.EmploymentId = hcmEmployment.EmploymentId; disprzUsers.EmploymentType = enum2Str(hcmEmployment.EmploymentType); disprzUsers.JobTitle = _hcmWorker.primaryJobId(); disprzUsers.StartDate = hcmEmployment.ValidFrom; disprzUsers.EndDate = hcmEmployment.ValidTo; disprzUsers.WorkerPosition = positiont.description(); disprzUsers.PositionValidFrom = positiont.ValidFrom; disprzUsers.PositionValidTo = positiont.ValidTo; disprzUsers.Manager = currentWorkerManager.PersonnelNumber; disprzUsers.ManagerName = currentWorkerManager.name(); disprzUsers.Gender = enum2Str(dirPerson.Gender); disprzUsers.MaritalStatus = enum2Str(dirPerson.MaritalStatus); disprzUsers.PrimaryAddress = _hcmWorker.primaryAddress(); disprzUsers.PrimaryEmail = _hcmWorker.email(); disprzUsers.MobileNumber = _hcmWorker.phone(); //disprzUsers.LicenseType = disprzUsers.WorkerStatus = NoYes::Yes; disprzUsers.NotifyUser = NoYes::No; disprzUsers.TriggerDefaultSkillAssignment = NoYes::No; disprzUsers.insert(); } public static str getDimension(int64 _dimension, str _name) { DefaultDimensionView DefaultDimensionView; select DefaultDimensionView where DefaultDimensionView.DefaultDimension == _dimension && DefaultDimensionView.Name == _name; return DefaultDimensionView.dimensionDiscription(); }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++