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


Фильтр в подчиненной таблице


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

#1 arsenal

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

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

Отправлено 13 Апрель 2011 - 10:55

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

Причем заметил такую закономерность. В таб. "Документы по договору" есть поле связи с таб. "Документация", откуда мы набираем необходимые документы к данному договору. При выборе документа поле "Тип документа" заполняется через вычисление. Поле "Тип документа" является списком. Так вот в чем особенность. При вычислении поле заполняется правильно. При просмотре записи мы видим заполненное поле, при редактировании записи соответственно поле пустое, но при сохранении вновь заполняется через вычисление, т.е. как бы все работает. Но фильтр, получается, срабатывает по тому значению поля, которое мы выбрали при редактировании. Т.е. если поле оставить пустым, то фильтр воспринимает его как пустое, несмотря на то, что при вычислении поле заполняется соответствующим значением. Если в поле при редактировании мы вручную ставим значение, например, "БД", то при вычислении поле заполняется значением "ДД" (так и должно быть), но фильтр все равно воспринимает значение как "БД".

Это ошибка в программе или я что-то не так делаю?

#2 CbCoder

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

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

Отправлено 13 Апрель 2011 - 11:05

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

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

#3 arsenal

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

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

Отправлено 13 Апрель 2011 - 11:09

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

У меня пока бесплатная программа.

#4 CbCoder

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

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

Отправлено 13 Апрель 2011 - 11:27

То как Вы описали - нет. Хотя фильтр по документам там в принципе возможен через зависимые поля связи, но для этого придется менять тип поля "Тип документа", что в свою очередь повлияет на фильтры и т.д. Короче простого ответа здесь нет, нужна индивидуальная настройка конфигурации под ваши задачи.

#5 arsenal

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

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

Отправлено 13 Апрель 2011 - 11:41

Код вычисления в поле "Тип документа" такой
$docum= data_table("Документы по договору","id={ID}");// получаем данные из текущей строки
$document = data_table("Документация","id='".$docum['Название']."'");
return $document['Тип документа'];
Вроде бы стандартный код, взят из примеров

#6 CbCoder

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

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

Отправлено 13 Апрель 2011 - 11:50

Тип обеих полей - список? Список значений совпадает, один к одному?

#7 arsenal

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

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

Отправлено 13 Апрель 2011 - 12:06

Просмотр сообщенияРазработчик (13.4.2011, 11:50) писал:

Тип обеих полей - список? Список значений совпадает, один к одному?
ДА

#8 CbCoder

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

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

Отправлено 13 Апрель 2011 - 12:12

Значит причина в другом. У Вас почему то не сохраняется результат вычисления. Почему именно - затрудняюсь ответить без наличия конфигурации.

#9 arsenal

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

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

Отправлено 13 Апрель 2011 - 12:29

Просмотр сообщенияРазработчик (13.4.2011, 12:12) писал:

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

#10 CbCoder

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

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

Отправлено 13 Апрель 2011 - 12:54

Просмотр сообщенияarsenal (13.4.2011, 13:29) писал:

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





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

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