А каким образом пользователи вручную помечают столько записей, что даже просто считать их стандартной конструкцией типа
X++:
for (custTable = _formDS.getFirst(true);
custTable;
custTable = _formDS.getNext())
{
занимает слишком много времени?
Они сначала фильтруют записи в гриде, а потом кликают в верхнем левом углу, чтобы выделить всё? Тогда уж надо запрос из формы копировать, а не выделенные записи.