07.04.2011, 11:22 | #21 |
Участник
|
Упустил раньше этот вопрос. Поля заполняются напрямую из tabpage, у меня под каждым лежит свой DataSource! т.е. одна таблица раскопированна в 2 DS. Я решил последовать вашему совету и создать поле в таблице с 2 возможными значениями. на каждм DS в методе initValue буду заполнять это поле в зависимости от места где создается (левый или правый tabpage), теперь надо понять как фильтр на отображение наложить? Форма служит для отображения и создания записей!
|
|
07.04.2011, 11:22 | #22 |
Участник
|
Я бы не закладывался на значение самих полей. Вы же сами сказали что их может быть и 5 и 10. Повторюсь ещё раз. Я советую вам в таблицу строк добавить поле "тип строки" и использовать его для фильтрации.
Примерно так: X++: qbds.addrange(fieldnum(MyTableLine, LineType)).value("1"); Да to Ivanhoe: Цитата:
|
|
07.04.2011, 11:34 | #23 |
Участник
|
Точнее фильтр нужно на inite формы!?
|
|
07.04.2011, 11:46 | #24 |
Участник
|
Цитата:
Там конечно тоже можно, но обычно принято в init датасорса. |
|
07.04.2011, 11:53 | #25 |
Участник
|
Спасибо за ответ! Про то как условия фильтра наложить я знаю а вот как дальше фильтровать не знаю! т.е. какие действия производить, свойства какие использовать - может visible или какое другое???
|
|
07.04.2011, 12:02 | #26 |
Участник
|
Цитата:
Ну как бы сделать addRange это всё что требуется для того чтобы источник данных отфильтровался. Ещё возможно _ds.research(), что бы заставить датасурс перестроить запрос, но если вы добавили фильтр в init датасурса то и он не нужен. |
|
07.04.2011, 12:25 | #27 |
Участник
|
Я наверно не понимаю как происходит запрос на датасорсе, т.е. достаточно просто создать range и все, т.е. не как в обычных запросах???
|
|
07.04.2011, 12:37 | #28 |
Участник
|
Мне надо как то подхватить query в initValue DataSource и наложить условие! Но как не знаю???
|
|
07.04.2011, 12:42 | #29 |
северный Будда
|
Коллеги, я не думаю, что мы сделаем хорошее дело, совместно расписав решение тестовой задачи вплоть до знаков препинания. Хотя бы потому, что постановщик тоже наверняка читает форум - следовательно, видит весь процесс "решения" и делает соответствующие выводы. Тем более, что прецеденты были.
Думаю, вполне достаточно ограничиться предложением S.Kuskov насчёт доп поля в таблице. Мне тоже этот вариант кажется оптимальным. Хотя, возможно, я и ошибаюсь.
__________________
С уважением, Вячеслав |
|
07.04.2011, 12:50 | #30 |
Участник
|
Идеологически решение с полями я понял как сделать! Просто когда начал говорить про доп. поля сказали что это не правильно! Я уже 1,5 дня потратил на поиски решения, к сожалению опыт работы с аксаптой только 1 месяц, и некоторые алгоритмы ее функционирования не совсем понятны! так что не делайте не правильных выводов! Задача действительно для меня сложная.
|
|
07.04.2011, 13:17 | #31 |
северный Будда
|
Цитата:
Сообщение от GOL
Идеологически решение с полями я понял как сделать! Просто когда начал говорить про доп. поля сказали что это не правильно! Я уже 1,5 дня потратил на поиски решения, к сожалению опыт работы с аксаптой только 1 месяц, и некоторые алгоритмы ее функционирования не совсем понятны! так что не делайте не правильных выводов! Задача действительно для меня сложная.
Просто обычно никто не ставит разработчику задачу "напиши код в такой-то форме, прикрути к ней такие-то датасорсы и т.д.". Постановка пляшет от бизнес-логики. Т.е., например, нужна форма, позволяющая вносить определённые данных, нужным образом их обрабатывать, при этом требуется сделать такие-то фильтры. А внутреннее наполнение этой формы - 100% вотчина разработчика. В сформулированном Вами виде форма будет выглядеть и действовать совершенно нелогично для стандартной Аксапты, поэтому нужны ОЧЕНЬ веские основания, чтобы такое просить. Тут надо или показать действующее решение и спросить "что не устраивает", или попросить аналогичный пример и сделать как в нём. Так бы я сделал на Вашем месте.
__________________
С уважением, Вячеслав |
|
07.04.2011, 13:26 | #32 |
Участник
|
Цитата:
каждом tabpage лежит по grid-у, и в каждом оторбажается по 2 поля одной записи.
Цитата:
Дополнение к пред. сообщению: не как это убрать, а как сделать так что бы в левом гриде отображались только 3 заполенные строки, а в правом соответсвенно 2 зап. строки)))) Вот
Цитата:
Сообщение от GOL
Как сделать так чтобы при нажатии СОЗДАТЬ НОВУЮ ЗАПИСЬ запись создавалась только в 1 гриде, а если надо то заходим во второй tabpage и нажимаем СОЗДАТЬ НОВУЮ ЗАПИСЬ и можем заполнить остальные 2 поля этой записи. P.S. про само тестовое задание и Цитата:
опыт работы с аксаптой только 1 месяц, и некоторые алгоритмы ее функционирования не совсем понятны
__________________
Ivanhoe as is.. |
|
07.04.2011, 13:26 | #33 |
Участник
|
Вот я тоже надеялся найти дествующий пример, и не задавать лишних и идиотских запросов, но пока все что я видел в Ax не похоже на то что требуется! Это задача к реальному применению моет иметь какое то отношение чисто теоритически, например вам надо к ОС добавить какие -то доп, атрибуты, в верхней части заполняется сам номер ОС, а в нижних tabpage, как раз атрибуты кот. содержаться в отдельной таблице, и отображаются корректно, в соответствии с требованиями (которые я все ни как не могу реализовать :-) ) Если честно тяжело корректно сформулировать то что я хочу реализовать. Пок работал только с обыкновенными запросами qbds, qbr, query и т.д. поэтому как подхватывать в init query который строит запросы к DS формы пока не знаю, может кто знает пример где это рализованно и на этот запрос накладывается фильтр?? Спасибо!
|
|
07.04.2011, 13:59 | #34 |
NavAx
|
2 GOL простите, что не читал всю ветку, но судя по последнему сообщению, вам стоит посмотреть на форму InventTable.
|
|
07.04.2011, 14:45 | #35 |
Участник
|
|
|
07.04.2011, 15:30 | #36 |
Участник
|
Не подскажите какое условие нужно наложить на query что бы не выводилось пустых записей??
qbds.addRange(fieldnum(OStable, CrashComm)).value(SysQuery::valueNotEmptyString()); - так не работает!! Спасибо |
|
07.04.2011, 16:01 | #37 |
Участник
|
Должно работать. qbds правильно получаете? Чтобы это проверить попробуйте вместо SysQuery::valueNotEmptyString() задать какое-нибудь реальное значение. Фильтр сработает?
Последний раз редактировалось S.Kuskov; 07.04.2011 в 16:10. |
|