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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.05.2002, 15:46   #1  
andreynikolai is offline
andreynikolai
Участник
 
133 / 10 (1) +
Регистрация: 11.04.2002
display - методы для отчетов
Кто подскажет как работать с запросами в display - методах отчетов.

display Name getUserName ()
{
return (select Name from UserInfo
where UserInfo.Id == RSCMFreightTable.EmplId).Name;
}

У меня не работает эта конструкция, поскольку RSCMFreightTable не объявлена, а если ее объявить то в отчете ни хрена ничего не появляется, хотя поле и связано с DataMethod.
Старый 27.05.2002, 16:15   #2  
vetalgl is offline
vetalgl
Участник
 
7 / 11 (1) +
Регистрация: 06.12.2001
Не знаю почему, но у меня иногда возникает такая проблема, не могу обратится к имени поля датасорса в квери, даже если название датасорса совпадает с именем таблицы - иногда (не всегда) возникают проблемы, тогда перекладываю этот дисплей метод на таблицу, а оттуда уже без проблем работает ... :-)
__________________
Всем привет!!!
Старый 27.05.2002, 16:42   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
вар1. Существуют 2 таблицы: EmplTable (персонал), UserInfo (пользователи). Возможно данные в этих таблах не совпадают и тогда поиск по emplId ничего не дает
вар2. RSCMFreightTable действительно не объявлен в DS отчета (с точностью до буквы)
вар3 RSCMFreightTable был добавлен в отчет только что, тогда его не будет видно до перезагрузки

В отчете дисплей-метод можно разместить на ReportSection, на DS, на таблице и на отчете. А у Вас он где?
Старый 30.05.2002, 12:33   #4  
AY is offline
AY
Участник
 
33 / 10 (1) +
Регистрация: 14.05.2002
Адрес: Москва
тайное знание
Уважаемый andreynikolai,
скорее всего, вы столкнулись с той же проблемой, что и я в свое время.

Решается она так (см. пример):

1. Создайте в аот репорт, скажем Report1 )))
2. Определите для него DataSource - таблицу грузов RSCMFreightTable.
3. Создайте метод отчета Report1\Methods\getUserName:
display Name getUserName ()
{
return (select Name from UserInfo
where UserInfo.Id == RSCMFreightTable.EmplId).Name;
}
и попытайтесь его откомпилировать. Система выдаёт вам 7-ю ошибку о несуществовании поля.
4. Сохраните отчет, не смотря на окно с сообщениями об ошибке.
5. Продублируйте полученный отчет в репозитарии.
6. Скомпилируйте полученный отчет CopyOfReport1.... Вот такие чудеса.
7. Создайте и сгенерируйте дизайн для CopyOfReport1и перетащите метод getUserName в Body Section Groupы.
8. Запустите отчет.
9. А Report1 сотрите, как плохое воспоминание.

Обнаружил это я ещё на версии 2.1. В 2.5. наблюдается то же самое.

С уважением,
AY.

P.S. Если вы программируете в Аксапте под 3-мя уровнями, запуск новой сессии будет воспринимать исходный некомпилируемый отчет Report1 корректным и запросто скомпилирует и выполнит его. Но умоляю Вас, никогда не программируйте под 3-мя уровнями! Да, и я полностью согласен с Wamr:
"... where UserInfo.Id == RSCMFreightTable.EmplId ..." - это НЕФИЗИЧНО!
Старый 31.05.2002, 10:20   #5  
andreynikolai is offline
andreynikolai
Участник
 
133 / 10 (1) +
Регистрация: 11.04.2002
Я уже раньше это заметил.
Но что это : глюк Axapta или код написан неправильно, и это действительно чудеса
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Найти display методы MrVisual DAX: Программирование 12 15.05.2007 09:53
display-методы в группах Damn DAX: Программирование 2 15.02.2004 23:27
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Зачем нужны display и edit методы Андре DAX: Программирование 4 15.08.2002 13:24
edit и display методы Maxim Gorbunov DAX: База знаний и проекты 4 15.01.2002 12:58

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:46.