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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.11.2006, 15:55   #1  
Dymm is offline
Dymm
Участник
 
27 / 10 (1) +
Регистрация: 09.08.2005
Адрес: Днепропетровск
не работает переход к основной таблице
аксапта 2.5

часть полей из CustTable перенесена в другую таблицу(фактически продублированы данные) - WMSCustTable

WMSCustTable добавлена как датасорс в форму CustTable и поля формы (те самые, которые были перенесены) берутся из нее. При этом 'основным' DS формы является WMSCustTable, а CustTable приджойнен к нему innerJoinом.

Перестал работать переход к основной таблице по CustAccount(то есть форма открывается, но dynalink не создается)

перенос WMSCustTable на 1е место из датасорсов формы (физически, в .xpo перенесен) не дает никакого результата

Что делать?
Старый 24.11.2006, 16:08   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
А на EDT CustAccount relations не меняли? Если нет, то в форме дожен первым быть DS на CustTable, чтобы работало.
__________________
Андрей.
Старый 24.11.2006, 16:17   #3  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Раштренный тип поля CustAccount таблы WMSCustTable какой? Попробуйте настроить явно релейшн на табле WMSCustTable.
Старый 24.11.2006, 16:47   #4  
Dymm is offline
Dymm
Участник
 
27 / 10 (1) +
Регистрация: 09.08.2005
Адрес: Днепропетровск
2Dron AKA andy: а если нельзя(долго объяснять почему), чтоб первым был ДС CustTable то ничего не спасет отца русской демократии?

ADD: первым он и так есть, а вот не должен ли он быть "головным", то есть неприджойненым ни к чему, а все должны уже джойниться к нему? вот такой вариант-то и не подходит..

Sada: EDT - CustAccount. Явно релейшн пробовал - тоже не работает. Мне тоже кажется что вариант andy похож на правду - то есть получается что переход в первую очередь идет по релейшну на ЕДТ, а таблица, связанная этим релейшном должна быть первым ДС..

и это очень грустно
Старый 24.11.2006, 17:51   #5  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Так, еще раз объясните, с какого поля (и какой на нем EDT) не работает jumpRef?
И все же насчет нельзя первым тоже объяснить бы...
Может, можно сделать основным все же CustTable, затем к нему по delayed вашу табл, затем опять по innerjoin CustTable?
__________________
Андрей.
Старый 24.11.2006, 17:54   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Может, можно сделать основным все же CustTable, затем к нему по delayed вашу табл, затем опять по innerjoin CustTable?
Это тогда не jumpRef получится, а фильтрация - в этом случае проще в init'е перед super() отловить lookupField и lookupValue и использовать их
__________________
Axapta v.3.0 sp5 kr2
Старый 24.11.2006, 17:57   #7  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от AndyD Посмотреть сообщение
Это тогда не jumpRef получится, а фильтрация
Верно...
__________________
Андрей.
Старый 29.11.2006, 11:30   #8  
Dymm is offline
Dymm
Участник
 
27 / 10 (1) +
Регистрация: 09.08.2005
Адрес: Днепропетровск
да уж..
думал что порешал все таким макаром, но нет

X++:
// инит WMS_CustTable_ds
public void init()
{
    QueryBuildDatasource _qbds;
    Query                _query;
    FormStringControl    _ctrl;
    Common               _record;

    ;
    _record  = element.args().record();
    super();
    if (element.args().caller())
    {
       _ctrl           = element.args().caller().selectedControl();

       _query = WMSCustTable_ds.query();
       _qbds  = _query.dataSourceTable(tablenum(WMSCustTable));

       _qbds.clearLinks();
       _qbds.clearDynalinks();

       _qbds.addDynalink(
                     fieldnum(WMSCustTable,AccountNum),
                    _record,
                    _ctrl.dataField());
     }
}
теперь переход-то осуществляется, но при передвижении по таблице, откуда была вызвана основная - передвижения по WMSCustTable не осуществляется..
Старый 14.12.2006, 13:49   #9  
Dymm is offline
Dymm
Участник
 
27 / 10 (1) +
Регистрация: 09.08.2005
Адрес: Днепропетровск
поднимаю тему еще раз
проблема из предпоследнего предложения остается открытой

то есть вроде бы и диналинк есть, но какой-то он не совсем "dyna"
Старый 14.12.2006, 16:49   #10  
Dymm is offline
Dymm
Участник
 
27 / 10 (1) +
Регистрация: 09.08.2005
Адрес: Днепропетровск
а ведь таки заработало..
кривизна оказалась в том что свойство FDS WMSCustTable "LinkType" было выставлено в Passive, когда поставил Delayed - завелось
Всем спасибо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Переход к основной таблице договоров KolesOlya DAX: Программирование 12 11.04.2007 10:28
Переход к основной таблице номенклатуры akvi DAX: Администрирование 13 24.05.2006 14:59
Переход на правильную запись при Переходе к основной таблице. - 2 Anais DAX: Программирование 2 01.11.2004 17:14
Переход к основной таблице в Ax3 Wamr DAX: Программирование 0 03.08.2004 17:58
Переход на правильную запись при Переходе к основной таблице. Anais DAX: Программирование 11 29.06.2004 19:16

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

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

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