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


Вычисляемые фильтры


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

#1 Arom

    Участник

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

Отправлено 07 Июль 2014 - 12:59

Добрый день.
Помогите разобраться как делать вычисляемые фильтры.
Описание задачи:
В базе есть таблица "ООО "Рога и копыта". У этой таблице есть поле "Папка". Типа "связь", на таблицу "Папка (дело)".
Связь по полю "Номер папки". Т.е. в этой таблице("Папка (дело)") находится список все папок, по ВСЕМ организациям. У Папки есть признак Закрытия (Да/Нет). Когда я создаю поле Папка в таблице ООО" Рога и копыта" , можно установить фильтр по организации. Т.е. в это поле будут выводится все папки у которых организация ровна ООО" Рога и копыта". А можно сделать так, чтобы фильтровалось не только по организации но и по признаку закрытия. Т.е. чтобы в поле папка выводились все папки организации ООО" Рога и копыта" и чтобы эти папки были открытыми(признак закрытия равен Нет).

#2 CbCoder

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

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

Отправлено 07 Июль 2014 - 13:55

А в чем проблема то добавить в фильтр еще одно условие, не совсем пойму? Первое у вас уже есть - "организация равна Рога и копыта". Заходите в настройки фильтра и добавляете второе - "признак закрытия равен Нет". Вроде всё элементарно. Или я что-то не так понял из вашего описания?

#3 Arom

    Участник

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

Отправлено 07 Июль 2014 - 14:27

Вы меня не правильно поняли. Можно сделать фильтр у которого "признак закрытия равен Нет". А как я отфильтрую по организации не понятно, потому что организация в данном случае не константа. У меня несколько организаций. Т.е.у меня для каждой организации своя таблица. И у всех у них есть поле "папка", которое ссылается на таблицу "Папка (дело)". А в этой таблице папки по всем организациям.

#4 CbCoder

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

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

Отправлено 07 Июль 2014 - 15:11

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

#5 Arom

    Участник

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

Отправлено 08 Июль 2014 - 14:29

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

#6 CbCoder

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

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

Отправлено 08 Июль 2014 - 14:53

Цитата

Организаций пол сотни, я не думаю, что создавать столько фильтров это нормально

А создавать полсотни таблиц под каждую организацию - это разве более нормально? Тогда уж создание 50-ти фильтров - "ненормальность" того же порядка.

Цитата

Может быть возможно сделать вычисляемый фильтр с помощью sql

Каким образом? Понятия "вычисляемый фильтр" в программе Клиентская база не существует.

#7 Arom

    Участник

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

Отправлено 09 Июль 2014 - 07:25

а как же:
http://clientbase.ru...сляемые_фильтры

#8 CbCoder

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

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

Отправлено 09 Июль 2014 - 08:41

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





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

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