Перейти к содержимому


Скрытие полей таблицы под фильтром

фильтр скрытие полей

Сообщений в теме: 21

#1 Александр Jet

    Активный участник

  • Пользователи
  • PipPipPip
  • 41 сообщений

Отправлено 16 Ноябрь 2017 - 11:06

В фильтре есть настройка - скрывать поля. При выборе полей для скрытия поля скрываются не только в таблице, но и в самой карточке в режиме просмотра или добавления.

Как сделать, чтобы поля скрывались только в таблице, но были видны при редактировании записи?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Ноябрь 2017 - 13:32

Это устаревший функционал и им не рекомендуется пользоваться. Используйте правила доступа, там в том числе есть то что вам требуется.

#3 plotnikov

    Активный участник

  • Пользователи
  • PipPipPip
  • 155 сообщений

Отправлено 16 Ноябрь 2017 - 15:38

CbCoder, не понял. Мы очень активно пользуемся этим функционалом - под разные фильтры таблицы выводим нужные поля, а не все сразу. Ваша рекомендация не пользоваться очень пугает.... функционал будет сохранен в новых версиях?

#4 Tony999

    Активный участник

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 Ноябрь 2017 - 15:59

<?php
$ADDITIONAL_JAVASCRIPT = <<<EOT
$(document).ready(function(){
$('[id *= "12120"]').hide();
});
EOT;
?>


12120 - номер поля у столбца, который надо скрыть.
Вставьте этот код или его часть в файл functions_custom.php и будет Вам счастье! :)
Кстати, наверное, похожую строчку можно и в свой CSS вставить, что будет выглядеть лучше.
P.S. Сорри, немного не по теме, тут я про то, как скрыть столбец в таблице, ну а поле в просмотре скрыть еще проще...

Сообщение отредактировал Tony999: 16 Ноябрь 2017 - 16:25

Умные сайты на заказ
https://info.crm-master.info

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Ноябрь 2017 - 17:35

Просмотр сообщенияplotnikov (16 Ноябрь 2017 - 15:38) писал:

CbCoder, не понял. Мы очень активно пользуемся этим функционалом - под разные фильтры таблицы выводим нужные поля, а не все сразу. Ваша рекомендация не пользоваться очень пугает.... функционал будет сохранен в новых версиях?

Пока никто ничего не удалял, но я лично сторонник сноса, т.к. функционал устарел и дублирует правила. Это скрытие вводилось до того как появились правила и по сути является их костылем. Сейчас оно мало того что дублирует (что заставляет дольше искать где именно поле скрыто), так еще и обладает как минимум двумя недостатками: 1) поле не скрывается если войти в запись по прямой ссылке, а не из фильтра, 2) нельзя задать раздельно скрытие для разных режимов - то что хочет автор темы. В правилах этих минусов нет. Так что пользуйтесь правилами по возможности.

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

#6 Tony999

    Активный участник

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 Ноябрь 2017 - 18:19

Правила тормозят....
Умные сайты на заказ
https://info.crm-master.info

#7 plotnikov

    Активный участник

  • Пользователи
  • PipPipPip
  • 155 сообщений

Отправлено 16 Ноябрь 2017 - 18:55

Просмотр сообщенияCbCoder (16 Ноябрь 2017 - 17:35) писал:



Пока никто ничего не удалял, но я лично сторонник сноса, т.к. функционал устарел и дублирует правила. Это скрытие вводилось до того как появились правила и по сути является их костылем. Сейчас оно мало того что дублирует (что заставляет дольше искать где именно поле скрыто), так еще и обладает как минимум двумя недостатками: 1) поле не скрывается если войти в запись по прямой ссылке, а не из фильтра, 2) нельзя задать раздельно скрытие для разных режимов - как раз то что вы хотите. В правилах этих минусов нет. Так что пользуйтесь правилами по возможности.

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

Правила разграничивают доступен всей таблице, для конкретного фильтра через правила нельзя закрыть доступ к полю.
Разве не так?

В фильтрах вполне удобно - делаем фильтр, проставляем каким группам нужен доступ к нему, скрываем ненужные поля.

То, что при переходе по ссылке попадаешь в фильтр и некоторые поля не редактируются, то это не минус, это нюанс работы фильтров. Мы вполне с ним сработались.

#8 plotnikov

    Активный участник

  • Пользователи
  • PipPipPip
  • 155 сообщений

Отправлено 16 Ноябрь 2017 - 18:59

Правила и скрытие полей в фильтрах разные задачи решают, я не понимаю как это можно убрать.

#9 AntonKravchenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 152 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород

Отправлено 16 Ноябрь 2017 - 21:51

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

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Ноябрь 2017 - 09:24

Правила разграничивают доступен всей таблице, для конкретного фильтра через правила нельзя закрыть доступ к полю.
Разве не так?


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

В фильтрах вполне удобно - делаем фильтр, проставляем каким группам нужен доступ к нему, скрываем ненужные поля.

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

То, что при переходе по ссылке попадаешь в фильтр и некоторые поля не редактируются, то это не минус, это нюанс работы фильтров. Мы вполне с ним сработались.

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

и правилами никак не убрать целый столбик из табличного вида

С чего это вдруг? Как раз таки если поле недоступно по всему фильтру (что получается если условия фильтра и правила совпадают), то столбец отключается целиком. Я же говорю - поведение одно и тоже, только без перечисленных выше косяков.

#11 plotnikov

    Активный участник

  • Пользователи
  • PipPipPip
  • 155 сообщений

Отправлено 17 Ноябрь 2017 - 10:31

Просмотр сообщенияCbCoder (17 Ноябрь 2017 - 09:24) писал:

Правила разграничивают доступен всей таблице, для конкретного фильтра через правила нельзя закрыть доступ к полю.
Разве не так?


Не совсем так, в правиле можно задать те же условия что и в фильтре. Зайдя в фильтр, увидите тот же самый результат. Но в отличие от фильтра, скрываться будет и тогда, когда в адресе не указан фильтр, но тем не менее запись под его условия подпадает.
Еще раз. В таблица я сделал 10 фильтров. Как через правила в конкретном фильтре скрыть какое-то поле? Никак. Правила дают возможность только для всех таблицы (во всех 10 фильтрах) скрыть поле.
CbCoder, имея возможность скрывать поля в фильтре конкретном мы в компании выстроили целую цепочку действий (запланировать..., спланированные..., выполненные... и т.д. - и все это в пределах одной таблицы, очень удобно обрабатываются записи). Правила такого не дадут - во всех фильтрах будут одни и теже поля. А полей много, это мешает работать, т.к. в каждом фильтре нужны определенные поля, все остальное - лишнее.
Если нужен пример, то напишите, дам доступ к КБ.

Просмотр сообщенияCbCoder (17 Ноябрь 2017 - 09:24) писал:

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

#12 AntonKravchenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 152 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород

Отправлено 17 Ноябрь 2017 - 13:49

Цитата

и правилами никак не убрать целый столбик из табличного вида

С чего это вдруг? Как раз таки если поле недоступно по всему фильтру (что получается если условия фильтра и правила совпадают), то столбец отключается целиком. Я же говорю - поведение одно и тоже, только без перечисленных выше косяков.
не знал, спасибо!

#13 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Ноябрь 2017 - 14:46

Цитата

Еще раз. В таблица я сделал 10 фильтров. Как через правила в конкретном фильтре скрыть какое-то поле? Никак. Правила дают возможность только для всех таблицы (во всех 10 фильтрах) скрыть поле.

Вы правила с обычными правами не путаете, случайно? "Еще раз": в правилах задаются условия, абсолютно такие же как и в фильтрах. И поведение соответственно такое же.

Цитата

Сейчас я вижу, что мы о разном говорим

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

Цитата

Если нужен пример, то напишите, дам доступ к КБ.

Лучше на бесплатном аккаунте разместите пример таблицы из вашей конфигурации, можно без данных. Перенести можно через инструмент дополнений. Заодно всем будет видно.

Цитата

пожалуйста, выслушайте сначала отзывы клиентов

Именно этим тут и занимаюсь. Но пока я не увидел реальных аргументов против, скорее набор заблуждений или непонимания (моего или вашего). Но в любом случае, повторюсь: а) решения пока никто не принимал, это еще будет обсуждаться, в том числе у нас внутри компании, б) если отключим (а точнее просто скроем), то ничего у вас не сломается, все будет работать как работало, и только новые фильтры надо будет настраивать по новому. Если же вдруг выяснится что где-то без старого скрытия никак не обойтись, то оперативно вернем в очередной ревизии.

#14 Александр Jet

    Активный участник

  • Пользователи
  • PipPipPip
  • 41 сообщений

Отправлено 19 Ноябрь 2017 - 20:28

Правильно ли я в итоге понял, чтобы скрыть Поле1 в Фильтре NNN, но оставить его доступным для редактирования нужно следующее:
  • создаем фильтр NNN в котором прописываем условия, галочку для скрытия Поля1 не ставим
  • в настройках доступа таблицы создаем правило с условием, дублирующим условия фильтра NNN
  • в правиле указываем скрывать Поле1 в таблице, но отображать при редактировании и добавлении
  • при просмотре таблицы в фильтре NNN для всех выводимых строк будет срабатывать созданное правило, которое и скроет Поле1 в таблице
Можно ли пойти обратным путем?
  • Создать фильтр NNN, в настройках которого скрыть Поле1
  • Создать правило, дублируещее фильтр NNN
  • В правиле указать, что Поле1 нужно отображать при редактировании
Что произойдет в этом случае? Поле 1 будет скрыто, так как это прописано в фильтре или оно будет отображаться, так как это указано в правиле?

Цитата

Правила тормозят....

Насколько созданные правила тормозят работу системы? В таблице выводится 25 строк. Если второй метод сработает так же как и первый, то получается он будет меньше тормозить работу системы, так как правило будет срабатывать только при редактировании и просмотре записи, а не при выводе всех записей фильтра в таблице?

#15 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Ноябрь 2017 - 09:33

Цитата

Правильно ли я в итоге понял, чтобы скрыть Поле1 в Фильтре NNN, но оставить его доступным для редактирования нужно следующее

Да, все верно.

Цитата

Можно ли пойти обратным путем?

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

Цитата

Насколько созданные правила тормозят работу системы? В таблице выводится 25 строк.

Насколько знаю, скорость работы правил и скрытия в фильтрах теоретически не должны сильно отличаться, т.к. механизмы там схожие. Возможно на больших таблицах (тысячи строк) какая то разница и будет, но вряд ли вы что-то заметите на 25 строках.

Цитата

Если второй метод сработает так же как и первый, то получается он будет меньше тормозить работу системы, так как правило будет срабатывать только при редактировании и просмотре записи, а не при выводе всех записей фильтра в таблице?

Это заблуждение, и правило и скрытие работают в обоих режимах - и в таблице и в просмотре записи.

#16 plotnikov

    Активный участник

  • Пользователи
  • PipPipPip
  • 155 сообщений

Отправлено 20 Ноябрь 2017 - 12:17

Просмотр сообщенияCbCoder (18 Ноябрь 2017 - 14:46) писал:

Вы правила с обычными правами не путаете, случайно? "Еще раз": в правилах задаются условия, абсолютно такие же как и в фильтрах. И поведение соответственно такое же.
не путаю... Условия - да! Не в этом вопрос, а в том, что Правила разграничивают доступ к полям на уровне всей таблицы, в то время как в фильтрах есть возможность скрыть некоторые поля в отдельных фильтрах (мешающиеся). Например. Есть таблица "Договора" и фильтр по умолчанию "Все записи". В таблице 30 полей (или больше). Добавляю еще один фильтр "Не полученные остатки" (договор закрыт, полная оплата не получена) и скрываю в этом фильтре все поля, кроме ФИО клиента, суммы остатка и пр - то есть оставляю только полей 5 из 30. То есть в этом фильтре нет необходимости выводить все 30 полей, они только мешаться будут.
Далее, есть следующий фильтр (например) - нет закрывающих документов. По условию вывожу туда записи, в которых нет закрывающих документов. И скрываю все ненужные поля (включая остаток и пр), кроме ФИО клиента и возможно каких-то полей, полезных бухгалтеру. Есть еще фильтр (например) "Портфолио" - скрываю в нем все поля, кроме фотографий выполненных объектов.
И т.д. К каждому фильтру даю доступ нужным группам - менеджеру к "Не полученные остатки", бухгалтеру - "нет закрывающих документов", вебмастеру - доступ к портфолио.

Далее, если очень надо, то в довесок я могу еще правила задействовать, если необходимо какие-то поля скрыть у конкретного человека или при каких-то условиях. Но скрытие (показ поля) произвойдет на уровне всей таблицы, а не в конкретном фильтре.

Как тоже самое правилами сделать?

Просмотр сообщенияCbCoder (18 Ноябрь 2017 - 14:46) писал:

Лучше на бесплатном аккаунте разместите пример таблицы из вашей конфигурации, можно без данных. Перенести можно через инструмент дополнений. Заодно всем будет видно.
я выше пример расписал, понятно? Я еще раз в правила залез, никакой связи с фильтрами в них не нашел. Где ошибаюсь? Если не понятно, то попробую на демо аккаунте сделать (но честно не очень хочется, т.к. куча времени убью).

#17 plotnikov

    Активный участник

  • Пользователи
  • PipPipPip
  • 155 сообщений

Отправлено 20 Ноябрь 2017 - 12:23

upd: дополню, что группа вебмастер, менеджер и пр кроме указанных фильтров дается доступ и к другим фильтрам. То есть например, если я открою доступ Бахгалтеру к фильтру "Портфолио", то он увидит там не все 30 полей, к которым у него доступ есть, а только те из них, которые в конкретном фильтре не были скрыты мной. А скрываю я все ненужные поля в конкретном фильтре.

#18 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Ноябрь 2017 - 14:32

Цитата

Добавляю еще один фильтр "Не полученные остатки" (договор закрыт, полная оплата не получена) и скрываю в этом фильтре все поля, кроме ФИО клиента, суммы остатка и пр - то есть оставляю только полей 5 из 30.

И что мешает сделать тоже самое через правило? Получите абсолютно тот же результат внутри фильтра. Во всех остальных записях будут отображаться эти поля. С чего вдруг вы решили что они по ВСЕЙ таблице скроются?

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

К примеру, берем любой ваш фильтр со скрытыми полями. Далее:
  • создайте правило с такими же условиями и скройте там те же поля
  • отключите скрытие в фильтре (можно создать копию фильтра для теста)
  • зайдите в фильтр и проверьте результат - он должен быть один в один тот же
  • зайдите в другие записи (не из фильтра) и убедитесь что ничего там не скрылось


#19 plotnikov

    Активный участник

  • Пользователи
  • PipPipPip
  • 155 сообщений

Отправлено 20 Ноябрь 2017 - 16:50

CbCoder, я не пойму логики. То есть предлагается создать фильтр и правило и назначить им одинаковые условия. И если у группы есть доступ к фильтру, то при его открытии группе выведутся поля, заложенные дополнительно в правиле (или скрытые в нем).

Но при этом, если меняется условие в фильтре, то надо идти в правило и менять там тоже условие, чтобы оно было идентично фильтру? А если групп 10 (и правило не глобальное), то в каждой группе тоже изменить условия, чтобы они соответствовали условию из фильтра? И так на каждый фильтр создавать новое правило, умножая его на количество групп?

Я действительно логику происходящего не понимаю пока.

Цитата

Такое ощущение что вы больше теоретически рассуждаете, а не на основании практики.
Я не знаю как Вас зовут и производите ли вы работы с тикетами, но если да, то больше чем уверен, что вы были в нашем аккаунте. И если за 4,5 года работы в КБ я "теорию нарабатываю", то обидно это слышать, т.к. куча багов присылал, которые впоследствии были исправлены. И не меньше предложений реализованных.

#20 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Ноябрь 2017 - 17:18

Цитата

Но при этом, если меняется условие в фильтре, то надо идти в правило и менять там тоже условие, чтобы оно было идентично фильтру?

Это уже другой вопрос, касаемый удобства работы. При желании его можно решить, например явно связав правило с фильтром (выше я уже писал про автоматическое создание правила по фильтру). Тогда при изменении условий фильтра, условия связанного правила будут меняться автоматически. Тем не менее, само скрытие в этом случае будет регулироваться правилом, как и должно быть, а не старым костылем, дублирующим функционал правил.

Цитата

если за 4,5 года работы в КБ я "теорию нарабатываю", то обидно это слышать

Так я и не оцениваю ваш опыт работы с КБ целиком, какой бы ни был опыт работы в целом, он не исключает отсутствия навыков в конкретной области, просто потому что работа велась другими инструментами.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных