Здравствуйте, пожалуйста помогите как можно отфильтровать схему Employee.
Надо вывести все Сотрудники которые являются Supervisor - ом?
Я пробовал с помощью filtrGroup но к сожалению у меня не получился.
Нравится
Здравствуйте,
Рекомендуем вам ознакомиться с этой статьей на Академии, в которой должны быть инструкции по вашему запросу.
Если данная статья не предоставит нужного ответа, просьба более детально описать, что именно и где вы пытаетесь отфильтровать (желательно со скриншотами), чтобы мы смогли предоставить наиболее подходящее решение.
Mira Dmitruk,
На карточке у меня есть два справочника Подразделение (SysAdminUnit) и Сотрудник (Employee). Когда из Подразделение выбираем значение например Administrator, справочник Сотрудник надо отфильтровать и отображалась все сотрудники которые являются Администратором.
В SQL Я сделал это:
select * from "Employee" c join "SysAdminUnit" s on
c."ContactId" = s."ContactId" join "SysAdminUnitInRole" sys on
sys."SysAdminUnitRoleId" = '4b513fa7-40e9-40e7-8fbb-085f90ea2423' and
sys."SysAdminUnitId" = s."Id"
Теперь надо всё это реализовать через атрибут и Terrasoft.filtrGroup но к сожалению не получился.
На карточке у меня есть два справочника Подразделение (SysAdminUnit) и Сотрудник (Employee). Когда из Подразделение выбираем значение например Administrator, справочник Сотрудник надо отфильтровать и отображалась все сотрудники которые являются Администратором.
В SQL Я сделал это:
select * from "Employee" c join "SysAdminUnit" s on
c."ContactId" = s."ContactId" join "SysAdminUnitInRole" sys on
sys."SysAdminUnitRoleId" = '4b513fa7-40e9-40e7-8fbb-085f90ea2423' and
sys."SysAdminUnitId" = s."Id"
Теперь надо всё это реализовать через атрибут и Terrasoft.filtrGroup но к сожалению не получился.
Добрый день.
Я реализовывала подобную функциональность следующим образом (в моем примере фильтруются данные из таблицы Contact):
attributes: { "Responsible": { "dataValueType": Terrasoft.DataValueType.LOOKUP, "lookupListConfig": { "filter": function() { return this.responsibleManagersFilters(); } } } } methods: { responsibleManagersFilters: function() { var filterGroup1 = new Terrasoft.createFilterGroup(); filterGroup1.add("Account", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.EQUAL, "Account", EWBConfigurationConstants.Accounts.AccountId.EastWestBiopharma)); var filterGroup2 = new Terrasoft.createFilterGroup(); filterGroup2.logicalOperation = Terrasoft.LogicalOperatorType.OR; filterGroup2.add("EmployeeDatabaseAndPathologist", Terrasoft.createColumnInFilterWithParameters( "Department", [EWBConfigurationConstants.Contacts.Department.Database, EWBConfigurationConstants.Contacts.Department.Pathologists])); filterGroup2.add("ExistsInSysRole", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.EQUAL, "[SysAdminUnit:Contact].[SysUserInRole:SysUser].SysRole", EWBConfigurationConstants.Users.SysRole.ResponsibleForPatientInfo)); filterGroup1.add(filterGroup2); return filterGroup1; } }
Creatio,
В данном случае EWBConfigurationConstants не имеет значения, это всего лишь способ получить нужные данные.
В вашем случае вы можете использовать всё что нужно, от this.get("ColumnValue") до хардкода нужного значение "value"
Creatio,
Дима Вам выше уже ответил.
В моем случае - это схема, которая содержит константные значения. Вынесла в отдельную схему, потому что они используются в разных скриптах. Также, если потом нужно будет поменять это значение, удобно изменить в одном месте централизовано.