Здравствуйте!
У меня следующая задача.
Есть класс, который расширяет возможность стандартного диалога печати отчета. Добавлена возможность вугружать в excel. Там просто берется QueryRun, который настраивается в диалоге и по нему выбрасываются строки через буфер в excel. Но если указать печать подитогов по полям - это уже не работает.
Так вот я это и делаю.
Пытаюсь составить список полей, по которым надо подитоги (пары tableId, fieldId) собирать. Примерно так
PHP код:
for (i = 1; i <= _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) - не понимаю как она работает.