![]() |
#1 |
Участник
|
isFormDatasource vs dataSource != null
AX2009
Перебираем строки датасорса X++: for (salesLine = formDataSource.getFirst(true) ? formDataSource.getFirst(true) : formDataSource.cursor(); salesLine; salesLine = formDataSource.getNext()) { } а salesLine.datasource() == null Выглядит это довольно странно. |
|
![]() |
#2 |
Участник
|
Может init() формы/датасурса ещё не выполнился и датасурс ещё не проинициализовался?
|
|
![]() |
#3 |
Участник
|
Всё это дело выполняется в классе, который вызывается по нажатию меню айтема. Форма вполне себе проинициализировалась. formDataSource достаётся из args.record().dataSource().
|
|
![]() |
#4 |
Участник
|
имхо, getFirst() вытаскивает данные именно, если хотите и привязку к датасорсу, надо идти чегео first()/next(),cursor()
|
|
![]() |
#5 |
Участник
|
Позвольте полюбопытствовать, зачем вам salesLine.datasource(), если у вас есть переменная formDataSource, в которой и находится требуемое значение?
|
|
![]() |
#6 |
Участник
|
Xardas, естественно, salesLine.datasource() нужен не в приведённом месте, а на уровне класса, вызванного из класса, куда salesLine был передан в качестве параметра
![]() И тащить туда лишнюю переменную не хочется. Меня скорее смущает сочетание salesLine.isFormDatasource() == true salesLine.datasource() == null Хочется понять смысл. Если датасорса нет, то почему "the data source is a form" |
|
![]() |
#7 |
MCT
|
А у menuItem с которого класс вызывается, тот ли источник указан, который в классе обрабатываете?
__________________
Axapta book for developer |
|
![]() |
#8 |
Участник
|
Вопрос оказался в стороне, на которой выполняется класс. При выполнении на стороне клиента - всё ОК. А вот на стороне сервера - описанная картина. Но почему всё-таки .isFormDatasource == true?
|
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
![]() |
#9 |
Участник
|
А проверьте для меня кое-что:
А если вызвать клиентский метод, передав в него этот распакованный salesLine с сервера, и вызвать эти два метода у него, что вернет? |
|
![]() |
#10 |
Участник
|
После распаковки в серверном методе передал в класс, исполняемый на клиенте
salesLine.isFormDatasource() == false salesLine.datasource() == null |
|
![]() |
#11 |
Участник
|
ОК, спасибо. Просто хотел убедиться, что ссылка на источник таки теряется, а не просто недоступна на сервере.
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|