Уважаемый 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 ..." - это НЕФИЗИЧНО!