Показать сообщение отдельно
Старый 20.10.2009, 13:42   #3  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Спасибо, raz.

В результате пришел к такому решению:
1. В методе updateAccounts класса RLedgerSheetServer_TurnoverCustVend изменил участок кода:
X++:
if(this.contragentTable() == tablenum(VendTrans))
    key = data.getKeyBuild([custVendTrans.sumAccount(),
                                      //custVendTrans.AccountNum,
                                       strltrim((select firstonly Name from VendTable where VendTable.AccountNum == custVendTrans.AccountNum).Name),
                                       custVendTrans.RContractCode ? custVendTrans.RContractCode : SysQuery::valueEmptyString(),
                                       custVendTrans.RContractAccount ? custVendTrans.RContractAccount : SysQuery::valueEmptyString()]);

if(this.contragentTable() == tablenum(CustTrans))
    key = data.getKeyBuild([custVendTrans.sumAccount(),
                                       strltrim((select firstonly Name from CustTable where CustTable.AccountNum == custVendTrans.AccountNum).Name),
                                       custVendTrans.RContractCode ? custVendTrans.RContractCode : SysQuery::valueEmptyString(),
                                       custVendTrans.RContractAccount ? custVendTrans.RContractAccount : SysQuery::valueEmptyString()]);
2. В методе insertRow класса RLedgerSheetEngine_TurnoverCustVend изменил следующий участок:
X++:
case keyContragentPosition:
    accName = conpeek(_key,conIterator);
    if(this.contragentTable() == tablenum(VendTrans))
        newFormListItem(strltrim((select firstonly AccountNum from VendTable where VendTable.Name == accName).AccountNum + "@FAV2143" + accName));
    if(this.contragentTable() == tablenum(CustTrans))
        newFormListItem(strltrim((select firstonly AccountNum from CustTable where CustTable.Name == accName).AccountNum + "@FAV2143" + accName));
    //newFormListItem(strltrim(this.getContragentName(_key) + "@FAV2143" + conpeek(_key,conIterator)));
break;
, где accName типа Name.

В таком случае в оборотно-сальдовой ведомости по поставщикам и клиентам имеем сортировку по названию контрагента, а не по его номеру в системе.