Дубли записей заявок
Дубли записей заявок
Подскажите пожалуйста, как сделать проверку дублей заявок по номеру телефона. Есть сущность "Заявки", есть поле телефон с маской. Как можно сделать так, чтобы когда оператор заходил в заявку, у него появлялся список заявок с таким же номером телефона?
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Дубли записей заявок
Попробуйте это поле https://docs.rukovoditel.net.ru/index.php?p=101
Re: Дубли записей заявок
Супер, спасибо большое, но я не очень разбираюсь в программировании, подскажите, что нужно написать.
- Fait
- Инвестор

- Сообщения: 1196
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Дубли записей заявок
Сделайте поле "PHP код" и вставьте туда этот код:vda81 писал(а): 02 дек 2025, 15:51 Подскажите пожалуйста, как сделать проверку дублей заявок по номеру телефона. Есть сущность "Заявки", есть поле телефон с маской. Как можно сделать так, чтобы когда оператор заходил в заявку, у него появлялся список заявок с таким же номером телефона?
Код: Выделить всё
$phone = [777];
$res = []; $out = '';
if (strlen($phone) > 10) {
$check = db_query("select * from app_entity_33 where
REGEXP_REPLACE(field_888, '[^0-9]', '')=REGEXP_REPLACE('".preg_replace('/\D/', '', $phone)."', '[^0-9]', '')");
foreach ($check as $k => $value) {
//$res[] = ((int)$k + 1).') '.$value['field_999']; // Просто текст
$res[] = '<a target="_blank" href="index.php?module=items/info&path=33-'.$value['id'].'">'.((int)$k + 1).') '.$value['field_999'].'</a>'; // Ссылка на запись
}
if (empty($res)) {
$out = 'Сделок с таким номером нет';
}
else {
$out = 'Номер телефона встречается в таких сделках:<br>'.implode('<br>',$res);
}
}
//echo $out; // Ajax-запрос
$output_value = $out; // PHP-код33 - id сущности "Заявки"
888 - id поля с номером телефона в сущности "Заявки"
999 - id поля "Наименование", чтобы вывести название заявки. Если не нужно отображать как ссылку, то раскомментируйте первую строку, а вторую удалите.
Если нужно отображать именно на странице записи, то используйте поле типа "PHP код", установив там в настройках галочку "Выполнять динамически".
Если нужно отображать список прямо на форме ввода, то используйте поле типа "Ajax-запрос", раскомментируйте соответствующую строку и удалите "$output_value =...".
Re: Дубли записей заявок
спасибо за помощь, но я сделал как то так. вроде все работает
field_213 - поле id телефон
app_entity_21 - id сущности
немного подкорректировал css для вывода ссылок дублей в одну строку
вот так выводится на странице записи

Код: Выделить всё
e.id <> [id] and
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(e.field_213,'+',''),'-',''),' ',''),'(',''),')','') =
(
select
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(field_213,'+',''),'-',''),' ',''),'(',''),')','')
from app_entity_21
where id=[id]
)app_entity_21 - id сущности
немного подкорректировал css для вывода ссылок дублей в одну строку
Код: Выделить всё
tr.form-group.form-group-326 ul {
display: flex;
gap: 7px;
padding: 0;
margin: 0;
list-style: none;
}
tr.form-group.form-group-326 li {
border-top:none;
padding: 0px;
}
tr.form-group.form-group-326 a {
text-decoration: underline;
}
- Fait
- Инвестор

- Сообщения: 1196
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Дубли записей заявок
Как хотите)
Через REGEXP_REPLACE как-то компактнее получается.
И моя версия выводит информативнее, попробуйте)
Через REGEXP_REPLACE как-то компактнее получается.
И моя версия выводит информативнее, попробуйте)