Требуемый QueryBuildDataSource не найден в запросе, связанном с FormDataSource - PullRequest
0 голосов
/ 05 октября 2018

Я расширил SalesTableListPage, чтобы включить новый столбец, полученный из метода отображения на CustTable, теперь мои пользователи получают сообщение об ошибке:

Требуемый источник QueryBuildDataSource не найден вЗапрос, связанный с FormDataSource.QueryBuildDataSource должен иметь то же имя и идентификатор таблицы, что и FormDataSource.

The Objects in question

Чтобы получить доступ к методу отображения, мне пришлось:

  1. Добавить CustTable в SalesTableListPage Запрос
  2. Повторно выбрать SalesTableListPage Запрос в узле Источники данных формы SalesTableListPage.
  3. Добавить новый StringEdit в сетку и установить его на CustTable CityName_BR

Я не могу повторить эту ошибку с моим администратором или не-администратором, и я не понимаю, где этовозникает ошибка.

  • В одном сообщении говорится, что если у вас есть запрос в пункте меню, который открывает форму, тогда для этого запроса требуются те же источники данных, что и для запроса в форме. Но у меня нет запроса по моему пункту меню
  • В других предложениях говорится, что мне нужно добавить новый источник данных "в запросах, связанных с таблицей". Мне неизвестно о такой настройке в AX 2012
  • Другие предложения относятся к запросам, написанным в коде. Мои запросы AOT

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

Решение этой Cue Group привело меня к нескольким пунктам меню с прикрепленными запросами.Виновным представляется элемент меню SalesTableListPageOpen и запрос с тем же именем (которое ссылается на запрос, который я изменил).

Однако я все еще не понимаю, как на самом деле исправить ошибку, начиная с * 1055.* запрос просто говорит Composite Query\SalesTableListPage.Сброс / сброс ссылочного запроса, восстановление и повторная компиляция запроса не оказали никакого влияния ...

1 Ответ

0 голосов
/ 05 октября 2018

Я думаю, что одно из предложенных вами решений, вероятно, правильно.Просто исследуйте запрос, и вы сможете выяснить, что происходит.

Внизу \Classes\SalesTableListPageInteraction\initializeQuery просто поставьте:

info(_query.toString());

Затем откройте меню All sales orders и Open sales orders, и вы увидите различия в запросах.Затем повторите открытие различных пунктов меню с разными пользователями и посмотрите, что из этого получится.

Возможно, вам понадобится переместить местоположение строки info, но концепция здесь есть.

...