Можно привести параметры запуска, т.е. какие из условий запроса действительно подхватываются?
Как много проводок по клиентам у вас в базе? Просто устрашает условие (просмотр CustTrans с начала времен?)
X++:
queryRun.query().dataSourceTable(tableNum(CustTrans)).addRange(fieldNum(CustTrans,TransDate)).value(queryRange(dateNull(),datefrom-1));
По идее datefrom в параметрах запуска отчета медленно, но верно увеличивается, а следовательно, и объем выбираемых данных.
Что потом происходит с tmpTable ? Насколько критичен параметр Voucher - а, т.е. нет ли в дальнейшем просто группировки скажем по группе финансирования, клиенту, договору и нахождения общей суммы в поле tmpTable.DebtBeginPeriod?
Просто, судя по имени поля tmpTable.DebtBeginPeriod, таким образом вы пытатесь определить сумму проводок на начало периода?