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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2012, 12:51   #1  
Peppi is offline
Peppi
Участник
 
31 / 11 (1) +
Регистрация: 22.10.2008
В форме по вьюхе показываются не все строки
Добрый день всем.
Столкнулись вот со следующей проблемой, причину которой не можем никак понять:

Есть форма, она работает по вьюхе (вьюха переопределенная в sql).
1. При выполнении запроса по всей вьюхе - показывается 10 строк, если нажать итоги - считает нужное количество - около 20000.

2. Начинаем фильтровать запрос - отрабатывает корректно и показвыает правильное количество строк (в том числе, если использовать расширенный фильтр или фильтр по сетке), но как только пытаемся фильтровать по группе, которая в итоге должна показать всё - снова эти 10 строк. Можно нажать упорядочить по полю - и тоже запрос отрабатывает, но остаются только 10 строк. (Видно, что данные изменились по условиям сортировки, но строк мало)

3. Проверяли в sql - вьюха корректная, показывает верное количество строк. Форму компилировали. Аос перегрузили.

Один раз такое было, но потом прошло само..

У кого-нибудь есть идеи, почему на форме отображаются не все строки? Может ли быть, что, начиная с какого-то объема данных, на форме не могут быть отражены все строки(в случае если это вьюха, например)?
Старый 02.04.2012, 13:23   #2  
Peppi is offline
Peppi
Участник
 
31 / 11 (1) +
Регистрация: 22.10.2008
Хотела добавить, что раньше все работало, кроме одного раза, который, как я писала раньше, прошел сам.
Старый 02.04.2012, 13:43   #3  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
при просмотре через в обозреватель таблиц то же 10 строк?
каким образом заполняются RecId в переопределенном представлении?
Старый 02.04.2012, 14:45   #4  
Peppi is offline
Peppi
Участник
 
31 / 11 (1) +
Регистрация: 22.10.2008
"при просмотре через в обозреватель таблиц то же 10 строк"
Вообще не удается дождаться выполнения запроса. Так как в форме при открытии еще фильтр накладывается, а тут нет.

RecId заполняется значениями RecId основной таблицы вьюхи
Старый 02.04.2012, 15:26   #5  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
В памяти есть похожий случай, который встречался при связи LEFT JOIN: если значение поля в привязанной таблице равно NULL, тогда следует заменить его значение на 0 или символ пустой строки (не помню его код, но отображается как квадрат в кавычках) в зависимости от типа данных. Вот пример кода:
X++:
"CASE WHEN ИМЯ_ТАБЛИЦЫ.ИМЯ_ПОЛЯ IS NULL THEN 0 ELSE ИМЯ_ТАБЛИЦЫ.ИМЯ_ПОЛЯ END AS АЛИАС, \n"+
В PLSQLDeveloper'e действительно все отображалось в отличие от аксапты, плюс к этому не работала фильтрация по полям со значением NULL.

P.S. СУБД Oracle.
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 02.04.2012 в 15:29.
За это сообщение автора поблагодарили: db (2).
Старый 02.04.2012, 15:50   #6  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Еще вариант:
Проверьте соответствие полей, по которым вы осуществляете связь.
В случае, если в ваших расширенных типах данных стоит свойство Alignment, например, равное "Right", то не исключено, что в Аксапте отступ будет заполнен пробелами, что в свою очередь может привести к нарушению связи, поэтому в sql-запросе лучше всего использовать функцию SUBSTR, пример кода:
X++:
"(SUBSTR(NLS_LOWER(ТАБЛИЦА1.ПОЛЕ_СВЯЗИ),1,20) = SUBSTR(NLS_LOWER(ТАБЛИЦА2.ПОЛЕ_СВЯЗИ),1,20)) \n"+
Кстати, важно не забыть про NLS_LOWER для приведения значений полей к нижнему регистру, что также поможет избежать несоответсвия полей.
Еще нужно отметить, что в Аксапте важна длина расширенных типов связываемых полей - если она будет разной, связь не сработает.
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 02.04.2012 в 15:53.
Старый 02.04.2012, 16:27   #7  
Peppi is offline
Peppi
Участник
 
31 / 11 (1) +
Регистрация: 22.10.2008
К сожалению ли, к радости ли, заработало опять само...

Но я на всякий случай учла ваши рекомендации во вьюхе, надеюсь, ошибка повторяться не будет.
Спасибо за советы.
Старый 02.04.2012, 15:14   #8  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
ну всё таки дождитесь лучше
RecId уникального я так понимаю нет?

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

Если значения в RecId не уникальные, то попробуйте все таки сделать их таковымы. Можно попробовать использовать для этого ROW_NUMBER() OVER (ORDER BY ...)

Последний раз редактировалось db; 02.04.2012 в 15:18.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: О заполнении Наименования и Кода номенклатуры в печатной форме Накладной (Ax2009 ru7) Blog bot DAX Blogs 0 07.06.2011 09:11
Отображение таблицы в новой форме форме DAsm DAX: Программирование 23 04.03.2011 21:50
Как правильно связать таблицы в форме? Как показать параметры партии? mazzy DAX: Программирование 10 27.10.2010 15:56
Автоматический поиск строки в форме подбора YoYo DAX: Программирование 9 13.07.2010 15:43
Журналы и строки на одной форме. chi DAX: Программирование 16 08.06.2005 11:21

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

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

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