Можно на сервере (в контекстной процедуре), можно на клиенте используя
Если Товар = ПредопределенноеЗначение("Перечисление.ВидыНоменклатуры.Материал") Тогда
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
Если НЕ СтрокаТабличнойЧасти.Товар = ПредопределенноеЗначение("Перечисление.ВидыНоменклатуры.Материал") Тогда
Сообщить(""+СтрокаТабличнойЧасти.Товар+" это не товар!");
УдалитьСтроку(СтрокаТабличнойЧасти.НомерСтроки-1);
Возврат;
КонецЕсли;
(5) на этот код
&НаКлиенте
Процедура МатериалыПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
Если НЕ СтрокаТабличнойЧасти.Товар = ПредопределенноеЗначение("Перечисление.ВидыНоменклатуры.Материал") Тогда
Сообщить(""+СтрокаТабличнойЧасти.Товар+" это не товар!");
//УдалитьСтроку(СтрокаТабличнойЧасти.НомерСтроки-1);
Объект.Товары.Удалить(СтрокаТабличнойЧасти.НомерСтроки-1);
Возврат;
КонецЕсли;
КонецПроцедуры
сообщение "это не товар" выскакивает сразу после нажатия кнопки "Добавить", даже не заходя в выбор элемента :)