Коллеги, здравствуйте.
Как создать фильтр для справочного поля ""Ответственный", чтобы была выборка из раздела "Контакты" только записей с типом "Сотрудник"?
Нравится
Добрый день.
В базовой версии фильтрация поля 'Ответственный' настраивается через атрибуты таким образом:
"Owner": { "dataValueType": Terrasoft.DataValueType.LOOKUP, "lookupListConfig": {"filter": BaseFiltersGenerateModule.OwnerFilter} }
Mетод фильтрации OwnerFilter определен в BaseFiltersGenerateModule и для его использования в карточке редактирования должен быть подключен этот модуль. Сделано это было для того, чтобы использовать данный метод фильтрации в нескольких карточках и не дублировать программный код.
Для решения Вашей задачи Вы можете использовать данный код.
Добрый день.
В базовой версии фильтрация поля 'Ответственный' настраивается через атрибуты таким образом:
"Owner": { "dataValueType": Terrasoft.DataValueType.LOOKUP, "lookupListConfig": {"filter": BaseFiltersGenerateModule.OwnerFilter} }
Mетод фильтрации OwnerFilter определен в BaseFiltersGenerateModule и для его использования в карточке редактирования должен быть подключен этот модуль. Сделано это было для того, чтобы использовать данный метод фильтрации в нескольких карточках и не дублировать программный код.
Для решения Вашей задачи Вы можете использовать данный код.
Алла Савельева,
Алла, дело в том, что я использую не стандартное поле "Ответственный", я создал раздел, и в нём добавил справочное поле "Ответственный", - UsrAccount, справочник которого ссылается на раздел "Контакты". Мне необходимо, чтобы в данном кастомном справочном поле отображались только те значения, у которых Тип - Сотрудник.
Nastol Eugene,
Тогда можете реализовать такую же фильтрацию для Вашего поля по аналогии с приведенным примером.
Проверьте, точно ли у Вас поле 'Ответственный', которое называется UsrAccount, ссылается на раздел 'Контакты'.
Проверил, в справочнике стоит "Контакты.
define("UsrBid1Page", ["BaseFiltersGenerateModule"], function(BaseFiltersGenerateModule) {
return {
entitySchemaName: "UsrBid",
...
]/**SCHEMA_DIFF*/,
attributes: {
"UsrAccount": {
"DataValueType": Terrasoft.DataValueType.LOOKUP,
"lookupListConfig": {"filter": BaseFiltersGenerateModule.UsrAccountFilter}
}
},
methods: {
UsrAccountFilter: function() {
return Terrasoft.createColumnIsNotNullFilter("[SysAdminUnit:Contact].Id");
},
Сейчас пробую так, не работает, - вываливается весь список
Nastol Eugene,
Если у Вас есть доступ к серверу баз данных посмотрите профайлером, какой запрос идет в базу.
Также проверьте консоль - нет ли там сообщений об ошибках.