Здравствуйте, пожалуйста помогите как можно отфильтровать схему Employee.

Надо вывести все Сотрудники которые являются Supervisor - ом?

Я пробовал с помощью filtrGroup но к сожалению у меня не получился. 

Нравится

7 комментариев

Здравствуйте,

 

Рекомендуем вам ознакомиться с этой статьей на Академии, в которой должны быть инструкции по вашему запросу.

Если данная статья не предоставит нужного ответа, просьба более детально описать, что именно и где вы пытаетесь отфильтровать (желательно со скриншотами), чтобы мы смогли предоставить наиболее подходящее решение.

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;
	}
}	

 

Alla Savelieva,

спасибо Вам, но Я не понял свойство

EWBConfigurationConstants. Откуда взяли?

Creatio,

 

В данном случае EWBConfigurationConstants не имеет значения, это всего лишь способ получить нужные данные.

В вашем случае вы можете использовать всё что нужно, от this.get("ColumnValue") до хардкода нужного значение "value"

Creatio,

Дима Вам выше уже ответил.

В моем случае - это схема, которая содержит константные значения. Вынесла в отдельную схему, потому что они используются в разных скриптах. Также, если потом нужно будет поменять это значение, удобно изменить в одном месте централизовано.

Показать все комментарии

Добавил новое поле в [tbl_Contact], ссылка на [tbl_ConfigurationItemLocation]. Добавил это поле в sq_, ds_. В событиях SelfOnDatasetBeforePost, SelfOnDatasetAfterPost видно, что DataSet получает новое значение поля и флаг Change у DataField стоит, но в БД данные не уходят. Профайлер показывает, что update не содержит нового поля. Если открыть ds и выгрузить sql update, то в конструкции присутствует новое поле. Какой механизм задействован в генерации sql update и подстановки измененных параметров? Что может повлиять, на то что бы изменения не попадали в этот механизм?


P.S. хм, теперь в ds в select есть поле в update нет поля. Почему поле не попадает в update?
P.P.S. вопрос решен, в sq был выбран PK tbl_ConfigurationItemLocation.

Нравится

1 комментарий

Здравствуйте, Михаил Евгеньевич!

Судя по последнему Вашему комментарию, проблема решена. Если у Вас возникнут вопросы или сложности, пожалуйста, сообщите нам.

Приятного дня!

Показать все комментарии