|
![]() |
#1 |
Участник
|
Прежде всего, спасибо за то, что не остались просто " еще одному человеку, пожелавнему остаться неизвестным"
![]() ![]() Теперь по делу: А почему во втором способе восстанавливается только lookupField, а lookupValue остается с RecId? Думаю, на данном этапе первый вариант в самый раз. Но, как шаг для дальнейшего улучшения, второй вариант очень даже ничего. Почему бы Вам не поэкспериментировать какое-то время с первым вариантом, добавив вывод какого-то сообщения в случае, если наткнулись на форму, на которой указан lookupField? Мне кажется, особенно учитывая, что форма вызывается новая, и args формируется здесь же, что по ветке с findRecord идти никогда не будет ![]() Возможно и не прав, не проверял. Насколько я понял, Максим говорит о другом опасении. О том, что существуют формы, у которых логика завязана на использование значений lookupValue. Но, ИМХО, это в основном лукап-формы. В остальных (переход к основной таблице, к примеру) формах врядли значение этого поля анализируется. Завтра поищу по АОТ, чтобы утверждать наверняка. Последний раз редактировалось kashperuk; 27.04.2007 в 01:43. |
|
![]() |
#2 |
Участник
|
Цитата:
![]() Цитата:
Цитата:
Проверил у себя [ сильно перелопаченный retail от коруса] : В основном Lookup используются в init'e для анализа включать фильтры , накладываемые на форме, или нет... Единственна критическая форма - Addresses , с ипользованием linkActivate в случае открытия из vendTable... К сожалению, нет сейчас appl под рукой - по памяти.... Цитата:
Сообщение от AndyD
![]() А почему вы считаете, что по lookupField( ) по RecId будет искать правильно?
В случае с SalesTable будет работать корректно, потому что большему salesId будет соответствовать больший recId (пока не перевалили на отрицательные recId!). А, к примеру, InventTable. Там сортировка идет по itemId, и далеко не всегда большему itemId соответствует больший recId. И таких примеров по AOT можно привести массу . Цитата:
Цитата:
Сообщение от AndyD
Тогда надо формировать строку axpath опираясь не на recId, а на поля уникального индекса (если он есть, опять же).
А в случае recId корректнее все-таки поиск перебором. . |
|
![]() |
#3 |
Участник
|
Цитата:
При лукапе на сервер отправляется запрос вида X++: select * from TableName where recid >= recIdValue order by [- , ] Если порядок сортировки по полям не будет совпадать с порядком сортировки по recId, то запись отпозиционируется неверно
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: DocSerzh (1), gl00mie (3). |
![]() |
#4 |
Участник
|
Цитата:
Сообщение от AndyD
![]() Нет. Не верно.
При лукапе на сервер отправляется запрос вида X++: select * from TableName where recid >= recIdValue order by [- , ] Если порядок сортировки по полям не будет совпадать с порядком сортировки по recId, то запись отпозиционируется неверно |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от AndyD
![]() При лукапе на сервер отправляется запрос вида
X++: select * from TableName where recid >= recIdValue order by [- , ] ![]() |
|
Теги |
tabax, taskbar, toolbar, инструменты, панель задач, панель инструментов, полезное, табакс, тулбар, управление окнами |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|