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


Нелогичное использование фильтра при создании новой записи


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

#1 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 07 Февраль 2012 - 22:40

В таблице Сообщения предопределены два фильтра: Мои входящие и Мои исходящие. Для удобства в первом скрывается поле Кому, поскольку это и так понятно, во втором - От кого, по аналогичной причине. По умолчанию стоит первый фильтр. Теперь я хочу отправить сообщение. Если в момент создания записи будет стоять фильтр по умолчанию, то адресата мне не указать! Приходится переключать фильтр - поле Кому становится видимым - теперь сообщение можно адресовать.
Вопрос: зачем при создании записи нужен активный фильтр?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#2 CbCoder

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

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

Отправлено 08 Февраль 2012 - 09:03

Потому что в общем случае нет необходимости заполнять поля, ненужные для данного фильтра, эти поля должны заполняться по умолчанию. См. пример в документации: http://clientbase.ru...16/filters_new/

Так что скорее вы их не совсем логично используете.

#3 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 08 Февраль 2012 - 14:29

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

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#4 CbCoder

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

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

Отправлено 08 Февраль 2012 - 14:54

Я вам уже объяснил причины такой логики. Если сможете предложить более универсальный вариант - предлагайте.

#5 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 08 Февраль 2012 - 17:21

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

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#6 CbCoder

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

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

Отправлено 08 Февраль 2012 - 17:28

Я же приводил вам ссылку на документацию, чем такой пример не устраивает?

Цитата:

Цитата

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

Вполне же ясно написано: зачем вам при добавлении колбасы поля для булок, и наоборот?

#7 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 08 Февраль 2012 - 22:18

Просмотр сообщенияРазработчик (08 Февраль 2012 - 17:28) писал:

Я же приводил вам ссылку на документацию, чем такой пример не устраивает?
Когда мы просматриваем уже заполненную "колбасную" запись - поля для "булок" нам не нужны
Когда мы создаем новую запись и в полях установлены значения по умолчанию - тоже все понятно - мы заполняем, например, колбасу, если активен "колбасный" фильтр
Но речь идет о создании новой записи в случае, когда в фильтре не определены умолчания для тех полей, по которым отбирается запись (т.е. не ясно, что мы сейчас заполняем колбасу или булки).
Объясните мне - какой смысл скрывать поля в этом случае? Пример я просил привести именно по этому случаю.
Наглядный пример неверности существующего варианта - это те самые сообщения, о которых шла речь выше. Использование возможности скрывать поля в зависимости от фильтра - позволяет удалить лишнюю информацию, но ограничение, заложенное в программу, убивает все на корню. Чтобы отправить новое сообщение нужно выбрать фильтр Мои исходящие и нажать создать сообщение, что позволит увидеть и заполнить поле Кому. Почему я не могу сделать это из под любого фильтра, если умолчания для поля нет - я не понимаю...
Кстати, при выборе фильтра Все записи в "булках" будут видны пустые колбасные характиристики, видимость которых лучше всего задавать средствами js в зависимости от типа товара (колбасы или булок). Может быть реализовать настройку скрытия полей в зависимости от значения поля в виде таблицы (примерно как расширенные права доступа) в настройках самого поля? Т.е. чтобы это выполнял не программист, а была возможность реализовать сие стандартными средствами. Или вынести это как отдельную настройку для таблицы туда же, где расположены фильтры, форматирование и прочее.

Сообщение отредактировал andibrag: 09 Февраль 2012 - 07:57

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#8 CbCoder

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

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

Отправлено 09 Февраль 2012 - 09:20

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

#9 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 09 Февраль 2012 - 09:48

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

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#10 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 09 Февраль 2012 - 11:03

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

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#11 CbCoder

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

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

Отправлено 09 Февраль 2012 - 11:09

Может сделать проще - добавить опцию "не скрывать поля при добавлении новой записи", и проблема будет решена?

#12 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 09 Февраль 2012 - 15:15

Просмотр сообщенияРазработчик (09 Февраль 2012 - 11:09) писал:

Может сделать проще - добавить опцию "не скрывать поля при добавлении новой записи", и проблема будет решена?
для фильтров это решение, наверное, самое простое.
А описанное в 10 посте могло бы быть удобным для создания формы с определенными данными в зависимости от значения поля.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#13 CbCoder

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

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

Отправлено 09 Февраль 2012 - 15:38

Ну это уже не к фильтрам, скорее упрощение показа/скрытия полей в зависимости от значения списка, без использования JS.

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

#14 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 10 Сентябрь 2012 - 22:52

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

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#15 CbCoder

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

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

Отправлено 11 Сентябрь 2012 - 08:36

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

#16 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

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

Отправлено 11 Сентябрь 2012 - 08:56

Ясно. Спасибо.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






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

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