Вопрос

Фильтрация справочного поля

Коллеги, здравствуйте. 

Как создать фильтр для справочного поля ""Ответственный", чтобы была выборка из раздела "Контакты" только записей с типом "Сотрудник"?

 

Нравится

5 комментариев
Лучший ответ

Добрый день.

В базовой версии фильтрация поля 'Ответственный' настраивается через атрибуты таким образом:

"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,

Если у Вас есть доступ к серверу баз данных посмотрите профайлером, какой запрос идет в базу.

Также проверьте консоль - нет ли там сообщений об ошибках.

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