Добрый день! 

Нужно сделать двунаправленный фильтр для полей Тип проекта и Вид процесса проекта в мобильном приложении.

 

Изображение удалено.

 

Мне удалось сделать фильтр при изменении значении поле Вид процесса проекта фильтровать значение поле Тип проект в мобильном приложении.

Изображение удалено.

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

Таблица Project содержет в себе поля

PsProcessType - вид процесса проекта и

ProjectSubType - тип проекта.

Соответственно данные этих полей берется из двух объектов справочников: 

PsProjectProcessType - Вид процесса проекта,

PsProjectSubType  - Тип проекта.

Объект PsProjectSubType содержит в себе связывающий двух столбец PsProjectProcessType.

Нравится

3 комментария

Добрый день,

 

Если связь между PsProjectProcessType и PsProjectSubType это связь один ко многим, то можно использовать MutualFiltration. Простой пример: фильтровать город по стране и наоборот. В таком случае код будет такой:

Terrasoft.sdk.Model.addBusinessRule('Contact', {
	ruleType: Terrasoft.RuleTypes.MutualFiltration,
	triggeredByColumns: ['Country'],
	filteredColumn: 'City',
	filteringPropertyName: 'Country'
});

В данной конфигурации есть два действия фильтрации:

 

Прямое: при выставлении поля-родителя фильтруемому полю выставляется фильтр (если поле-родитель заполнено)

Обратное: при выставлении фильтруемого поля, полю родителю автоматически выставляется значение (так как оно одно)

 

triggeredByColumns – имя колонки-родителя (один-ко-многим) в модели карточки

filteredColumn – имя фильтруемой колонки (один-ко-многим)  в модели карточки

filteringPropertyName – имя колонки-родителя в модели фильтруемого поля

Спасибо Oleg Drobina,

Реализовал фильтр следующим образом.

Terrasoft.sdk.Model.addBusinessRule('Project', {
    ruleType: Terrasoft.RuleTypes.MutualFiltration,
    triggeredByColumns: ["PsProcessType", "ProjectSubType"],
    connections: [
        {
            parent: "PsProcessType",
            child: "ProjectSubType",
            connectedBy: "PsProjectProcessType"
        }
    ]
});

Но есть одна проблема. При очистке значении поле Тип проекта  значение поле Вид процесса проекта  остается все еще выбранным. Нужно чтобы значение этого поле тоже сбрасывался. Или как можно сделать так, чтобы поле Вид процесса проекта выбрался автоматический, при выборе Типа проекта

Oleg Drobina, 

можете ответить на данный вопрос?

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

Добрый день. Подскажите, пожалуйста, как разрешить следующую проблему.

При удалении объекта, на который ссылается справочное поле другого объекта, штатно вызывается сообщение о невозможности удаления, так как присутствуют ссылающиеся записи. И вот тут тонкий момент, необходимо дать пользователю возможность удалить запись с удалением связанных записей, но запретить удаление без удаления связанных записей, так как поле, через которое связан объект, - обязательно к заполнению и использование объекта после такой очистки в "бэковых" процессах вызовет ошибку. Каскадную связь не предлагать.

 

PS. Может, я чего-то не знаю и возможность удаления без удаления связанных записей можно отключить?

Нравится

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

Здравствуйте, Александр!

Запуск механизма массового удаления осуществляется при помощи GridUtilitiesService. метод DeleteRecordsAsync который принимает массив идентификаторов записей, название сущности и словарь, который отвечает за конфигурирование параметров, так же метод подготавливает параметры и запускает MultiDeleteExecutor. Особенностью метода является управляемый запуск операции удаления при помощи системной настройки с кодом DefaultNumberItemsReturned, которая отвечает за запуск операции в фоне или в общем потоке.

Вы можете полностью заместить и изменить схему GridUtilitiesService для решения вашей бизнес цели.

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

Добрый день.

Как реализовать поиск по взаимосвязанным объектам?
Скажем, есть в системе ссылка.
-------------------------------
Правой кнопкой -> Меню -> Поиск связанных объектов.
-------------------------------

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

Нравится

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

Здесь и в комментариях приведён пример хранимой процедуры для получения списка таблиц, содержащих связанные с данной записи. Можно модифицировать её для получения ID связанных записей, а потом выводить их в реестр. Переход к записи можно реализовать по аналогии с напоминаниями - в зависимости от таблицы, в которой она находится (если это таблица раздела).

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

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