Посмотрите еще вот что. Есть один баг в Ах 4.0, возможно он сохранился и в Ах2009 (у меня её нет, не могу проверить). Суть в том, что при создании записей Purchline работает табличный метод Purchline.TaxByLine(), и в нем такой запрос:
X++:
select sum(TaxAmount) from taxTrans where taxTrans.InventTransId == this.InventTransId;
- но при этом у таблицы taxtrans нет индекса по полю InventTransId ! В нашей базе исправление этого бага дало ускорение формирования строк Purchline в 4-5 раз. Проверьте этот момент в Ах2009.