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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.08.2011, 11:29   #1  
Дмитрий Седышев is offline
Дмитрий Седышев
Участник
 
6 / 10 (1) +
Регистрация: 22.08.2011
AllowCrossCompany в запросе формы
Доброго времени суток, коллеги

Я передаю запрос по всем филиалам через метод executeQuery() дата сорса через функцию this.query(query). При загрузке формы все нормально, выдаются все нужные записи, однако при любом действии мышкой или клавиатуры на форме, неоднократно возникает следующий инфолог:

Ошибка времени выполнения: должен вызывать метод "" в удаленном режиме.

При выставлении брейкпоинта на метод Info/Add, в стеке вызовов оказывается только этот метод и никаких его вызывающих. Отладка тоже ничего не показала: такое ощущение, что ошибка возникает спонтанно, совершенно случайным образом.

Буду рад услышать хоть что-нибудь по подобной проблеме.
Старый 22.08.2011, 13:38   #2  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Такая ошибка иногда выскакивает, когда в индексном файле проблема (во всяком случае у меня такое было). Попробуйте перестроить индекс.

А какое отношение имеет CrossCompany к вашей проблеме? Если у вас на датасорсе стоит параметр AllowCrossCompany "Yes", то наверное и в передаваемом query надо вызывать:

X++:
    query.allowCrossCompany(true);
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 23.08.2011, 10:26   #3  
Дмитрий Седышев is offline
Дмитрий Седышев
Участник
 
6 / 10 (1) +
Регистрация: 22.08.2011
Датасорс моей формы не использует индексов. Проблема возникает лишь в том случае, когда я передаю в этот датасорс запрос с параметром AllowCrossCompany(true), если же запрос, передаваемый через функцию this.query(query) без этого параметра, то ошибка не возникает.

На датасорсе же нет параметра AllowCrossCompany, есть только CrossCompanyAutoQuery, изменение которого на возникновение ошибки никак не влияет.
Старый 23.08.2011, 14:28   #4  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Цитата:
Сообщение от Дмитрий Седышев Посмотреть сообщение
Датасорс моей формы не использует индексов.
Я имел в виду AOI, обычно когда выбрасывается стек-трейс без имени метода, надо обновить индекс приложения.

Цитата:
Сообщение от Дмитрий Седышев Посмотреть сообщение
Проблема возникает лишь в том случае, когда я передаю в этот датасорс запрос с параметром AllowCrossCompany(true), если же запрос, передаваемый через функцию this.query(query) без этого параметра, то ошибка не возникает.
А в чем собственно стоит задача? показать в датасорсе данные из разных компаний?
Может ошибка возникает при выполнении какого-то дисплей метода? Приведите код пожалуйста.

Цитата:
Сообщение от Дмитрий Седышев Посмотреть сообщение
На датасорсе же нет параметра AllowCrossCompany, есть только CrossCompanyAutoQuery, изменение которого на возникновение ошибки никак не влияет.
Согласен, не вник особо
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 23.08.2011, 16:04   #5  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
попробуйте еще проверить параметр SetCompany на дизайне формы. Значение должно быть "No"
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
За это сообщение автора поблагодарили: A_BAS (1).
Старый 24.08.2011, 10:59   #6  
Дмитрий Седышев is offline
Дмитрий Седышев
Участник
 
6 / 10 (1) +
Регистрация: 22.08.2011
Спасибо, но к сожалению ничего из предложенного не помогло.
Старый 25.08.2011, 03:47   #7  
Дмитрий Седышев is offline
Дмитрий Седышев
Участник
 
6 / 10 (1) +
Регистрация: 22.08.2011
Привожу код. Метод executeQuery()

Query подтягивается из мапа, который создается в классе дриллдауна.

public void executeQuery()
{
Query query;
;
query = drillDownEngine.getQuery(this.table());
if (query)
{
TabPageLedgerTrans.visible(true);
this.query(query);
super();
}
else
{
TabPageLedgerTrans.visible(false);
}
}

Да, задача показать записи из разных компаний. Нет, дисплей методов на форме не существует.
Старый 25.08.2011, 09:54   #8  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,436 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А этот источник данных является единственным на форме? Если нет, то является ли он подчинённым либо главным по отношению к другим датасурсам? Таблица временная или постоянная?
У меня как-то была вот такая проблема Display метод временной таблицы выполняется в компании DAT
Я понимаю, что это не ваш случай, но вдруг наведёт ещё на какие-нибудь мысли
Старый 25.08.2011, 13:01   #9  
Дмитрий Седышев is offline
Дмитрий Седышев
Участник
 
6 / 10 (1) +
Регистрация: 22.08.2011
На форме пять датасорсов и они используются в зависимости от запросов в мапе. Ни на одном датасорсе не заполнен параметр JoinSource. Таблица - LedgerTrans.
Старый 25.08.2011, 13:13   #10  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,436 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Дмитрий Седышев Посмотреть сообщение
На форме пять датасорсов
Может попробовать локализовать проблему, убирая поэтапно различные контролы с формы? Т.е. попытаться воспроизвести ошибку на максимально простом примере.
Старый 26.08.2011, 12:28   #11  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Если я вас правильно понял, когда онид DS активен, остальные не видны.
Может попробовать тогда "поотключать" все неактивные датасорсы, например, закоментировав super() в executeQuery.

Еще конечно, чтоб решить проблему быстро и не разбираться долго, предлагаю вам заполнять временную таблицу данными из разных компаний.
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dax-lessons: Cross company reports [AllowCrossCompany] in Dynamics AX , X++ Blog bot DAX Blogs 0 10.03.2011 18:11
OZKA's DAX Journal: Модификация формы "Должностные лица". Blog bot DAX Blogs 0 30.09.2008 22:05
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

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

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

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