Код у вас избыточный.
достаточно чего-то такого:
X++:
public void init()
{
CustVendGroupTable _custVendTableData;
;
CustVendTable.setTmp();
while select custVendTableData group by CustVendGroupId
{
CustVendTable.data(custVendTableData.data());
CustVendTable.doInsert();
}
super();
}
А вот что происходит дальше, после super(), я уже не пойму.
Вы сгруппировали данные по одному полю CustVendGroupId, поэтому это единственное поле, которое будет заполнено.
Накладывать фильтры по другим полям - как-то странно.

Думаю, что вы просто хотите заполнять таблицу совсем не так, как заполняете.