смотрим веб-форму HRMEPEmployeeList
метод init
X++:
public void init()
{
Query query;
QueryBuildDataSource qbdsOrganisation, qbdsHRMVirtualNetworkHistory;
;
super();
emplTable_Q.dataSourceTable(tablenum(EmplTable)).clearDynalinks();
element.args().record(null);
query = new Query(querystr(HRMEPEmployeeList));
SysQuery::findOrCreateRange(query.dataSourceTable(tablenum(EmplTable)), fieldnum(EmplTable,Status)).value(queryValue(HRMEmplStatus::Employed));
qbdsHRMVirtualNetworkHistory = query.dataSourceTable(tablenum(HRMVirtualNetworkHistory));
SysQuery::findOrCreateRange(qbdsHRMVirtualNetworkHistory, fieldnum(HRMVirtualNetworkHistory,EndDate)).value(queryRangeConcat(queryRange(systemdateget(),''),dateNull()));
qbdsOrganisation = query.dataSourceTable(tablenum(HRMOrganization));
SysQuery::findOrCreateRange(qbdsOrganisation, fieldnum(HRMOrganization,Responsible)).value(queryValue(SysCompanyUserInfo::current().EmplId));
SysQuery::findOrCreateRange(qbdsOrganisation, fieldnum(HRMOrganization,Active)).value(queryValue(NoYes::Yes));
emplTable_ds.query(query);
}
код читается следующим образом:
добавить условие на таблицу сотрудников:
- статус должен быть Нанят
- дата завершения больше текущей даты
- ответственный за подразделение совпадает с текущим сотрудником
- подразделение является активным
выбрать сотрудников
Если хотя бы одно из условий не выполняется, то списка вы не получите.
Проверьте:
- задан ли ответственный за подразделение сотрудник
- активно ли подразделение
- приняты ли ваши сотрудники на работу
- не уволен ли он
- ваш логин связан с ответственным за подразделение в таблице сотрудники