Эта проблема для типа счета Клиент/Поставщик/Счет ГК решена в 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 на справочниках, будет достигнуто единообразие работы переходов