Есть события перед добавлением \ изменением элемета.
<?
// файл /bitrix/php_interface/init.php
// регистрируем обработчик
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("MyClass", "OnBeforeIBlockElementAddHandler"));
class MyClass
{
// создаем обработчик события "OnBeforeIBlockElementAdd"
function OnBeforeIBlockElementAddHandler(&$arFields)
{
if(strlen($arFields["CODE"])<=0)
{
global $APPLICATION;
$APPLICATION->throwException("Введите символьный код.");
return false;
}
}
}
?>
Ну и для апдейта так же оформить надо