Привязать ИНН/КПП к компании

Рейтинг: 43.5080  
В работе
Предложил Пользователь 140728 17.03.2014 15:25:09

Привязать ИНН/КПП к компании

Вот простой алгоритм:
-Мы создали компанию.
-Мы выставляем счет.
-В блоке плательщик контрагентом выставляем компанию.
-Нам предлагают заполнить реквизиты - среди всех полей интересуют ИНН и КПП. Мы вводим поля.

При повторном выставлении счета, к примеру, для этой же компании нас опять попросят ввести ИНН и КПП.

Предлагаю создать поля ИНН и КПП для компании, которые вводятся один раз при создании и при выставлении счета также автоматически вносятся в реквизиты.

Во-первых, жутко неудобно вписывать их каждый раз.
Во-вторых, это уникальные значения, которые для компании неизменны и не могут быть такими же у другой компании.

Это было бы гораздо удобней для клиентов, т.к. многие фирмы ведут учет своих партнеров и клиентов, не только идентифицируя их по названию, но и по ИНН. Было бы проще выгружать их в CRM.
Сейчас, конечно, поле Банковские реквизиты существует, но носит информационный характер. Так бы поле ИНН имело бы и вспомогательный функционал при выставлении счетов.

Рейтинг: 0.5341  
Пользователь 283516 20.07.2015 10:51:41
Добрый день. Нас тоже интересует такой вопрос. Планируется ли реализация этой идее в ближайшем будущем?
Рейтинг: 1.7254  
Пользователь 336753 10.08.2015 11:43:00
Екатерина, добрый день!
Данная идея имеет статус "В работе". Подскажите, пожалуйста, какой приблизительный срок реализации? Желательно по пунктам:
1. Добавление стандартных полей ИНН и КПП в карточку Компании.
2. Возможность автоматического копирования данных из этих полей в другие зависимые сущности, создаваемые для конкретной компании.

На мой взгляд нет необходимости увязывать две эти задачи. Можно решить и постепенно. Т.е. добавить поля, а потом решить вопрос с автоматическим копированием.
Рейтинг: 0  
Пользователь 393368 08.10.2015 19:54:13
Не сделают судя по всему никогда.
Я вышел из ситуации так: В поле "Название компании" к названию компании просто добавляю ИНН и КПП, типа - ООО "Компания", ИНН 776878787, КПП90809809
Все!
Рейтинг: 0.08  
Пользователь 393368 08.10.2015 19:54:25
Не сделают судя по всему никогда.
Я вышел из ситуации так: В поле "Название компании" к названию компании просто добавляю ИНН и КПП, типа - ООО "Компания", ИНН 776878787, КПП90809809
Все!
Рейтинг: 0  
Пользователь 466853 19.01.2016 17:35:13
Заканчивается второй год. Где ИНН?
Рейтинг: 0.3504  
Пользователь 462373 28.01.2016 15:11:53
Действительно, очень неудобно. Битрикс, может отвлечетесь от проведения вебинаров с продажами и сделаете упор на устранение мелких недоработок?
Рейтинг: 0.3504  
Пользователь 462373 28.01.2016 15:12:03
Действительно, очень неудобно. Битрикс, может отвлечетесь от проведения вебинаров с продажами и сделаете упор на устранение мелких недоработок?
Рейтинг: 0.5338  
Пользователь 140728 17.03.2016 15:27:38
Сегодня идее исполняется 2 годика) С Днем Рождения нас!
Рейтинг: 0.3004  
Пользователь 165965 26.03.2016 14:43:32
Если кому интересно, то есть способ, который за 10 минут добавит вам эту возможность:

  1. Создаем у компании пользовательские поля ИНН и КПП, допустим "UF_INN" и "UF_KPP"
  2. Теперь нужно вставить значения данных полей в подстановку формы заполнения реквизитов в счетах.
    Есть 2 способа:
    1. - На прямую поправить класс в ядре
    2. - Создать копию метода класса и заменить вызов стандартного метода новым в компоненте "bitrix/components/bitrix/crm.invoice.edit/component.php" (в идеале скопировать компонент в папку local)
Рассмотрим более простой вариант  с изменением класса:
Открываем файл "bitrix/modules/crm/classes/general/crm_invoice.php" и ищем метод "__RewritePayerInfo" (примерно 1950 строка).

  • Заменяем выборку свойств
Заменяем это:
$arCompany = CCrmCompany::GetByID($companyId); 
На вот это:
$arCompany = CCrmCompany::GetListEx(array(), array('=ID' => intval($companyId)), false, false, array('*', 'UF_*'))->Fetch();  

  • Заменяем недоработанный функционал подстановкой значений
Заменяем это:
elseif ($property['FIELDS']['CODE'] === 'INN')
{
 $todo = 'todo'; // TODO:
}
elseif ($property['FIELDS']['CODE'] === 'KPP')
{
 $todo = 'todo'; // TODO:
} 
На вот это:
elseif ($property['FIELDS']['CODE'] === 'INN')
{
 $curVal = $arCompany['UF_INN']?:'';
}
elseif ($property['FIELDS']['CODE'] === 'KPP')
{
 $curVal = $arCompany['UF_KPP']?:'';
}

И радуемся результату:


PS: я делал через новый класс и через компонент в папке local. Приведенный пример должен работать, но я не проверял его именно в этой реализации. Версия ядра и CRM 16 (актуальная на данную дату)
Рейтинг: 0  
Пользователь 165965 12.04.2016 13:07:41
Вижу мой комментарий пока не пользуется популярностью, но все же добавлю информацию о том, как вставлять КПП и ИНН в предложениях, вдруг кому поможет.

1) Открываем файл "bitrix/modules/crm/classes/general/crm_quote.php" и ищем метод "RewriteClientFields" (строка 2110)
2) Заменяем выборку свойств:
заменяем:
$arCompany = CCrmCompany::GetByID($companyId); 
на:
 $arCompany = CCrmCompany::GetListEx(array(), array('=ID' => intval($companyId)), false, false, array('*', 'UF_*'))->Fetch();  

3) Дополняем подстановку свойств:
находим:
elseif ($k === 'CLIENT_EMAIL')
{
 $v = ($contactEMail != '') ? $contactEMail : $companyEMail;
}
elseif ($k === 'CLIENT_PHONE')
{
 $v = ($contactPhone != '') ? $contactPhone : $companyPhone;
} 
дополняем:
... 

// ИНН
elseif ($k === 'CLIENT_TP_ID')
{
 $v = $arCompany['UF_INN']?:'';
}
// КПП
elseif ($k === 'CLIENT_TPA_ID')
{
 $v = $arCompany['UF_KPP']?:'';
} 

Получаем результат:
Рейтинг: 0  
Пользователь 140728 15.04.2016 12:58:04
Смагин Артем,
1. Ваш пример только для коробки.
2. После обновления если затрутся Ваши изменения, то придется опять вносить их вручную, т.к. идет правка ядра (а представьте, что у Вас у клиентов это внедрено в 10/20/30 и т.д. порталах)

Все уже своими силами каждый по-своему решают эту задачу, идея в том, чтобы не приходилось своих велосипедов изобретать, а использовать, как показывает практика, этот востребованный функционал "из коробки"( имеется в виду как в облачной, так и в коробочной версии) с поддержкой обновлений.
Рейтинг: 0  
Пользователь 165965 29.07.2016 19:17:21
Антоненко Антон, можно 2 года у моря погоды ждать, а можно 10 минут потратить)

Да, и в последних обновлениях они все же сделали это, ура товарищи... совпадение, что это произошло через 2 недели после моего поста или нет... уж не знаю )
Рейтинг: 0  
Пользователь 650583 05.11.2019 12:15:41
5 с половиной лет "В работе" )))
Невероятное внимание к просьбам Клиентов и Партнёров!
Рейтинг: 0  
Пользователь 1485319 16.04.2021 10:56:37
7 лет? 7 лет? Это круто! это просто круто! это на столько круто что просто нет слов.
Рейтинг: 0  
Пользователь 148126 16.04.2021 14:27:42
Коллеги, но это же давно реализовано...
Страницы: 1  2