Вы забыли указать, что источник формы - это "временная таблица".
X++:
CustVendGroupTable _custVendTable;
CustVendGroupTable _tempCustVendTable;
;
CustVendGroupTable.setTmp();
_tempCustVendTable.setTmp();
while select _custVendTable group by CustVendGroupId
{
//info(_custVendTable.CustVendGroupId);
_tempCustVendTable.data(_custVendTable.data());
_tempCustVendTable.doInsert();
}
CustVendGroupTable.setTmpData(_tempCustVendTable);
super();
Цитата:
Сообщение от
Eldar9x
сделайте промежуточный буфер, и дайте ему значение, равное "":
X++:
CustVendGroupId buf = "";
;
потом бежите по таблице сортировав по Вашему полю, и если выбранное значение не совпадает с буфером, то doInsert();
иначе просто пропускаете итерацию:
X++:
while select _custVendTable order by CustVendGroupId
{
if (custVendTable .CustVendGroupId != buf)
{
_tempCustVendTable.data(_custVendTable.data());
doInsert();
buf = custVendTable .CustVendGroupId ;
}
}
Так не стоит делать, если записей у вас много в таблице.