Скрытие полей, сущностей карточки

Доброго времени суток!
Нужна информация о том способна ли BPM на сие деяние.
Итак возьмем раздел Контрагенты.

В нем мы создали деталь - "Команда контрагента".
В этой детали находятся пользователи которые относятся к данному контрагенту.

Итак вопрос, каким образом можно ограничить количество полей/сущностей на карточке по условию, что пользователь не находится в команде контрагента?
Необходимо чтобы в карточке отображалось максимум 3-4 поля и 1 вкладка - Основная информация и самое главное, необходимо чтобы как только грузится карточка не было никаких задержек.

У кого какие есть представления по поводу данной проблемы, коллеги?

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

        hideAccountCard: function(_item) {
                if (_item !== 1) {
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=1]").setStyle("display", "none");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=2]").setStyle("display", "none");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=3]").setStyle("display", "none");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=4]").setStyle("display", "none");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=5]").setStyle("display", "none");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=6]").setStyle("display", "none");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=6]").setStyle("display", "none");
                        this.showInformationDialog("Вы не входите в команду контрагента!");
                } else {
                        his.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=1]").setStyle("display", "");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=2]").setStyle("display", "");
                        his.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=3]").setStyle("display", "");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=4]").setStyle("display", "");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=5]").setStyle("display", "");
                        this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=6]").setStyle("display", "");
                                }
                        },

Нравится

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

а чем вам фильтрация записей в детали-то не угодила? esq долго выполняется?

Просто от момента открытия карточки до времени скрытия 2-3 секунды.
Такой фриз клиента не устраивает.
Вот я и ищу другие выходы из ситуации.

Хммм... это вообще ненормально. У меня у одного клиента такое настроено, так изменение мнговенное почти. Фриз более полсекунды явно свидетельствует о наличии проблем технического свойства. Онсайт?

"Дмитрий Степанов" написал: У меня у одного клиента такое настроено, так изменение мнговенное почти

А может, вы настраивали еще, чтобы эти пользователи не могли эти поля вытащить в колонки реестра?

"Владимир Соколов" написал:
Дмитрий Степанов пишет:

У меня у одного клиента такое настроено, так изменение мнговенное почти

А может, вы настраивали еще, чтобы эти пользователи не могли эти поля вытащить в колонки реестра?


Нет, такой настройки пока не было, просто в методе где происходит скрытие не мало логики накручено. И то что через Ext скрывается буквально моментально, а вот по атрибутам страдает.

"Владимир Соколов" написал:
Дмитрий Степанов пишет:

У меня у одного клиента такое настроено, так изменение мнговенное почти

А может, вы настраивали еще, чтобы эти пользователи не могли эти поля вытащить в колонки реестра?

я отключал сам пункт меню с этой возможностью :)

"Дмитрий Степанов" написал:я отключал сам пункт меню с этой возможностью :)

Я с точки зрения безопасности данных. Всё равно у пользователей останется возможность отфильтровать по этим полям список...

"Владимир Соколов" написал:

Я с точки зрения безопасности данных. Всё равно у пользователей останется возможность отфильтровать по этим полям список...

Если изменить режим использования поля на уровне объекта на "Никогда", то после очистки кеша по полю нельзя будет отфильтровать и отобразить его в реестре раздела.

"Демьяник Алексей" написал:Если изменить режим использования поля на уровне объекта на "Никогда", то после очистки кеша по полю нельзя будет отфильтровать и отобразить его в реестре раздела.

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

Касательно оригинального топика, если вы о задержке между отображением карточки со всеми полями, и моментом когда те которые необходимо скрыть, будут скрыты. То стоит пойти обратным путем, и изначально, в схеме страницы видимость полей прикрепить к атрибутам которые изначально false, а уже выполнив всю необходимую логику и проверки, делать поля видимыми, для тех, для кого они должны быть видимыми.
Но, возможно я не доконца понял сокрытие чего вас интересует. Полей на карточке, закладок на карточке, деталей на карточке, или строк в детали.

Максим Шевченко, кстати дельный совет.
Кажется это решит проблему, спасибо)

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