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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.04.2010, 17:10   #1  
Gad is offline
Gad
Участник
 
136 / 18 (1) ++
Регистрация: 21.05.2003
Адрес: Москва
Relation CustTable, VendTable и т.д. на таблице LedgerJournalTrans AX2009
Доброго времени суток.
Вопрос вот в чем. На таблице LedgerJournalTrans есть ряд Relation, например CustTable, в которых помимо прочего используется LedgerJournalTrans.Company == CustTable.dataAreaId. Если в базе несколько компаний и таблица CustTable общая (включена в табличную коллекцию, которая связана с виртуальной компанией, в которую входят все компании), то при переходе к основной таблице на поле AccountNum (AccountType = Клиент), получаем пустой грид (так как в поле Company строк журнала выбирается реальная компания, а в dataAreaId таблицы клиентов - виртуальная). Все это происходит в AX2009, в Ax3 при существовании тех же Relation - все ОК. Подскажите в чем дело плз.
Старый 20.04.2010, 19:24   #2  
zhan is offline
zhan
Участник
 
19 / 54 (2) ++++
Регистрация: 17.09.2008
Адрес: Москва
Эта проблема для типа счета Клиент/Поставщик/Счет ГК решена в Rollup 3 для DAX 2009. Желательно поставить это обновление и ситуация исправится.

Если нет возможности посмотреть как это было сделано, то ниже шаги которые исправят ситуацию:
1. На Формах LedgerJournalTrans* там где в качестве типа счета/корр. счета могут быть указаны выше приведенные типы счетов, нужно проверить что на источнике данных LedgerJournalTrans для полей AccountNum и OffsetAccount перекрыт метод jumpRef.
2. Там где это не сделано, перекрыть.
3. В теле метода jumpRef поля accountNum источника данных LedgerJournalTrans(например для формы LedgerJournalTransDaily) написать следующий код :

X++:
public void jumpRef()
{
    switch(ledgerJournalTrans.AccountType)
    {
        case LedgerJournalAcType::Ledger :
            LedgerTable::jumpRefLedger(ledgerJournalTrans.AccountNum,ledgerJournalTrans.Company);
            break;
        case LedgerJournalAcType::Cust :
            CustTable::jumpRefCustomer(ledgerJournalTrans.AccountNum,ledgerJournalTrans.Company);
            break;
        case LedgerJournalAcType::Vend :
            VendTable::jumpRefVendor(ledgerJournalTrans.AccountNum,ledgerJournalTrans.Company);
            break;
        default :
            super();
    }
}
После того как вы во всех формах перекроете или поправите методе jumpRef, переходы должны заработать.
Но правильней на мой взгляд поставить Rollup 3.

Если в строке журнала у вас будет не заполнен код поставщика, а при переходе к основной таблице будет показан весь справочников поставщиков, то в метод jumpRefVendor на VendTable нужно внести следующее изменение:

X++:
changecompany(companyId)
{
     args = new Args(formstr(VendTable));
     //args.record(_accountNum ? VendTable::find(_accountNum) : args.record());
     args.record(VendTable::find(_accountNum));
     formRun = classfactory.formRunClass(args);
     formRun.init();
     formRun.run();
     formRun.wait();
}
При внесении аналогичных изменений в другие методы jumpRef на справочниках, будет достигнуто единообразие работы переходов
Старый 20.04.2010, 20:04   #3  
Gad is offline
Gad
Участник
 
136 / 18 (1) ++
Регистрация: 21.05.2003
Адрес: Москва
Спасибо. Rollup 3 конечно поставим
Теги
relation, virtual company, ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
PartyId в CustTable, VendTable nano3 DAX: Программирование 5 05.02.2010 07:15
Проблема с LedgerJournalTrans Alexanderrrr DAX: Программирование 14 23.09.2009 13:42
DAX 4.0 Чем обусловлено наличие двух разных таблиц CustTable и VendTable? Бигудь DAX: Функционал 40 02.03.2009 13:04
Фильтрация CustTable по связанной таблице Hyper DAX: Программирование 6 21.11.2007 12:38
Relation на таблице и EDT Alex_K DAX: Программирование 2 15.12.2004 15:49

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

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

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