Показать сообщение отдельно
Старый 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 на справочниках, будет достигнуто единообразие работы переходов