Фильтр в подчиненной таблице
Автор arsenal, 13 апр. 2011 10:55
Сообщений в теме: 9
#1
Отправлено 13 Апрель 2011 - 10:55
Есть таблица "Договора" и подчиненная ей таблица "Документы по договору". В подчиненной таблице есть фильтры по типу документа. При просмотре документов в подчиненной таблице фильтры не работают, т.е. выбираем какой-либо фильтр и все документы (с любым типом) пропадают. При выборе "Все записи" все документы появляются. Есть еще одна таблица "Документация" (не подчиненная), в ней как в справочнике хранятся все возможные документы, которые могут возникнуть в процессе выполнения договора, там настроены точно такие же фильтры и все работает.
Причем заметил такую закономерность. В таб. "Документы по договору" есть поле связи с таб. "Документация", откуда мы набираем необходимые документы к данному договору. При выборе документа поле "Тип документа" заполняется через вычисление. Поле "Тип документа" является списком. Так вот в чем особенность. При вычислении поле заполняется правильно. При просмотре записи мы видим заполненное поле, при редактировании записи соответственно поле пустое, но при сохранении вновь заполняется через вычисление, т.е. как бы все работает. Но фильтр, получается, срабатывает по тому значению поля, которое мы выбрали при редактировании. Т.е. если поле оставить пустым, то фильтр воспринимает его как пустое, несмотря на то, что при вычислении поле заполняется соответствующим значением. Если в поле при редактировании мы вручную ставим значение, например, "БД", то при вычислении поле заполняется значением "ДД" (так и должно быть), но фильтр все равно воспринимает значение как "БД".
Это ошибка в программе или я что-то не так делаю?
Причем заметил такую закономерность. В таб. "Документы по договору" есть поле связи с таб. "Документация", откуда мы набираем необходимые документы к данному договору. При выборе документа поле "Тип документа" заполняется через вычисление. Поле "Тип документа" является списком. Так вот в чем особенность. При вычислении поле заполняется правильно. При просмотре записи мы видим заполненное поле, при редактировании записи соответственно поле пустое, но при сохранении вновь заполняется через вычисление, т.е. как бы все работает. Но фильтр, получается, срабатывает по тому значению поля, которое мы выбрали при редактировании. Т.е. если поле оставить пустым, то фильтр воспринимает его как пустое, несмотря на то, что при вычислении поле заполняется соответствующим значением. Если в поле при редактировании мы вручную ставим значение, например, "БД", то при вычислении поле заполняется значением "ДД" (так и должно быть), но фильтр все равно воспринимает значение как "БД".
Это ошибка в программе или я что-то не так делаю?
#2
Отправлено 13 Апрель 2011 - 11:05
Скорее всего Вы неверно выполняете вычисление. Именно поэтому у Вас не работают фильтры и поле при редактировании пустое, хотя подобного быть не должно. Подчиненность таблицы здесь не причем.
Если у Вас платная техподдержка, пришлите бэкап на почту, мы проверим в чем ошибка. Если веб-версия, можете просто скинуть логин-пароль в личку.
Если у Вас платная техподдержка, пришлите бэкап на почту, мы проверим в чем ошибка. Если веб-версия, можете просто скинуть логин-пароль в личку.
#3
Отправлено 13 Апрель 2011 - 11:09
В догонку еще вопрос. Можно ли при выборе документа в таб. "Документы по договору" через поле связи из таб. "Документация" включать в таблице "Документация" фильтр, который в данный момент включен в таб. "Документы по договору", а то открывающийся список получается слишком большим.
Возможно ли в принципе такое управление фильтрами?
У меня пока бесплатная программа.
Возможно ли в принципе такое управление фильтрами?
У меня пока бесплатная программа.
#4
Отправлено 13 Апрель 2011 - 11:27
То как Вы описали - нет. Хотя фильтр по документам там в принципе возможен через зависимые поля связи, но для этого придется менять тип поля "Тип документа", что в свою очередь повлияет на фильтры и т.д. Короче простого ответа здесь нет, нужна индивидуальная настройка конфигурации под ваши задачи.
#5
Отправлено 13 Апрель 2011 - 11:41
Код вычисления в поле "Тип документа" такой
$docum= data_table("Документы по договору","id={ID}");// получаем данные из текущей строки
$document = data_table("Документация","id='".$docum['Название']."'");
return $document['Тип документа'];
Вроде бы стандартный код, взят из примеров
#6
Отправлено 13 Апрель 2011 - 11:50
Тип обеих полей - список? Список значений совпадает, один к одному?
#8
Отправлено 13 Апрель 2011 - 12:12
Значит причина в другом. У Вас почему то не сохраняется результат вычисления. Почему именно - затрудняюсь ответить без наличия конфигурации.
#9
Отправлено 13 Апрель 2011 - 12:29
Разработчик (13.4.2011, 12:12) писал:
Значит причина в другом. У Вас почему то не сохраняется результат вычисления. Почему именно - затрудняюсь ответить без наличия конфигурации.
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных













