AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.07.2008, 13:18   #1  
demon46 is offline
demon46
Участник
 
78 / 12 (1) ++
Регистрация: 26.06.2006
Фильтр строк подчиненной таблицы на форме
Доброго всем времени препровождения!

Прошу прощения за немного глуповатый вопрос. Знаю, что на этот вопрос было очень много тем (по крайней мере сегодня прочитал поболшье 10) Но все же больше сил нет одному ломать голову, практически на пустом месте.
у меня есть табличка ItemDistribution связана с таблицей ItemDistributionLine всязь типа Delayed. На форме у меня в верхней части отображены строки таблицы ItemDistribution и здесь же есть Box который фильтрует записи в зависимости от выбранного значения. Ниже находится разделитель а далее ItemDistributionLine. Пытаюсь сделать Box для фильтрации таблички ItemDistributionLine но у меня постоянно "падает" аксапта. Когда я убираю связь между таблицами, тогда все получается, но нет связи с таблицами.
в Init() на форме я написал следующий код
X++:
    itemDistributionLineRange    = ItemDistributionLine_ds.query()
                                    .dataSourceNo(1).addRange(fieldnum(ItemDistributionLine, EndProcess));
соответственно на ExecuteQuery() таблички ItemDistributionLine повесил код
X++:
itemDistributionLineRange.value(SysQuery::Value(NoYes::Yes));
и при всех этих условиях у меня "вылетает" аксапта. Что же мне делать? Неужели все связи между таблицами прописать вручную?
Старый 15.07.2008, 13:23   #2  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1234 (44) ++++++++
Регистрация: 11.04.2008
Возможно ошибка в .dataSourceNo(1), т.к. скорее всего датасорс ItemDistributionLine_ds второй по счету. Замените dataSourceNo(1), на dataSourceTable(tablenum(ItemDistributionLine)). И никогда не ссылайтесь по номеру датасорса, а явно указывайте таблицу
За это сообщение автора поблагодарили: demon46 (1).
Старый 15.07.2008, 13:29   #3  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1234 (44) ++++++++
Регистрация: 11.04.2008
+
Цитата:
в Init() на форме я написал следующий код
Код, относящийся к датасорсам пишите в методе init на датасорсе после super(), а не в init формы. (но это уже просто рекомендвция)
Старый 15.07.2008, 13:32   #4  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Неужели все связи между таблицами прописать вручную?
Не совсем вас понял.... но зачем связь между таблицами прописывать в ручную ее можно прекрастно организавать через EDT или relations таблицы. Когда связь есть и при переходе записи фильтруються правильно вам необходимо проделать то что вы описали выши. Т.е. добавить код в метод init() и executeQuery() дата соурса ItemDistributionLine. Т.е. так как вы и описали.
Старый 15.07.2008, 15:41   #5  
demon46 is offline
demon46
Участник
 
78 / 12 (1) ++
Регистрация: 26.06.2006
DSPIC Огромное спасибо. Все получилось. Действительно не на тот датасорс ссылался...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Как не выводить заголовки в форме, если нет строк? DreamCreator DAX: Программирование 9 29.05.2008 15:10
Фильтр на Веб форме egorych DAX: Программирование 3 21.06.2007 18:32
вывод количества записей в таблице на web форме и указание текущей страницы таблицы bambuk1960 DAX: Программирование 1 06.07.2006 13:27
Не работает стандартный фильтр на форме Julietta DAX: Прочие вопросы 4 06.12.2004 13:30
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:49.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.