добавьте обработчик события
AddEventHandler('crm', 'OnBeforeCrmCompanyAdd', 'checkINN');
function checkINN(&$fields) {
if (isset($fields['UF_CRM_INN'])) { // Предполагается, что UF_CRM_INN - это пользовательское поле для ИНН
$filter = array("UF_CRM_INN" => $fields['UF_CRM_INN']);
$result = CCrmCompany::GetList(array(), $filter);
if ($row = $result->Fetch()) {
global $APPLICATION;
$APPLICATION->throwException("Такая компания с ИНН уже есть.");
return false;
}
}
return true;
}
Либо можно добавить валидацию на фронте
<script>
BX.ready(function() {
var form = document.querySelector('[name="form_element"]'); // Замените на актуальный селектор формы
form.addEventListener('submit', function(e) {
var innValue = document.querySelector('[name="UF_CRM_INN"]').value; // Замените на актуальный селектор поля ИНН
BX.ajax.runComponentAction('bitrix:crm.company', 'getList', { // Замените на актуальный вызов API
data: {
filter: {'UF_CRM_INN': innValue},
select: ['ID']
}
}).then(function(response) {
if (response.data.length > 0) {
alert('Такая компания с ИНН уже есть.');
e.preventDefault(); // Остановить отправку формы
}
});
});
});
</script>