Показать сообщение отдельно
Старый 15.09.2006, 09:29   #1  
miaa is offline
miaa
Участник
Аватар для miaa
 
23 / 10 (1) +
Регистрация: 26.09.2004
Адрес: Москва
Как программно определить поля с выбранными галками (печать под итогов)?
Здравствуйте!
У меня следующая задача.
Есть класс, который расширяет возможность стандартного диалога печати отчета. Добавлена возможность вугружать в excel. Там просто берется QueryRun, который настраивается в диалоге и по нему выбрасываются строки через буфер в excel. Но если указать печать подитогов по полям - это уже не работает.
Так вот я это и делаю.
Пытаюсь составить список полей, по которым надо подитоги (пары tableId, fieldId) собирать. Примерно так

PHP код:
    for (1<= _qr.query().dataSourceCount(); i++)
    {
        
qbds _qr.query().dataSourceNo(i); // перебираю датасорсы

        
dictTable = new DictTable(qbds.table());
        
fieldId   dictTable.fieldNext(0);

        while (
fieldId && ! isSysId(fieldId))
        {
            if (
qbds.autoSum(fieldId))   //вроде должно проверять, но вылетает ошибка на втором поле таблицы CustTable, что "поле 2 нет в списке сортировки". Я же на могу все поля в список сортировки поместить.
            
{
                 
// тут сохраняю найденое поле
            
}
            
fieldId         dictTable.fieldNext(fieldId);
        }
    } 
Причем код клиента (поле №1)есть в списке сортировки и qbds.autoSum(fieldId) возвращает true, хотя итоги по нему - нет.
Проблема в qbds.autoSum(fieldId) - не понимаю как она работает.