Пытаюсь контакту добавить только адрес в реквизиты, нашел класс "\Bitrix\Crm\EntityRequisite();", нашел метод "add", перечитал 1000 раз уже весь код этой функции класса, ни как не могу понять почему, у меня не добавляется адрес(((
Если использовать функцию "update", предварительно записав любое значение в реквизит и сослаться на его ID - всё прекрасно работает, тут же всегда возвращается "0", причем в самой функции класса "add" перед записью адреса в реквизит вызывается другая функция другого класса:
$result = RequisiteTable::add($fields);
$id = $result->isSuccess() ? (int)$result->getId() : 0;
if ($id > 0)
{... //запись адреса в БД
Которая должна создавать сам инстанс реквизита, как я понимаю (но могу быть и неправ), а потом на ID этого реквизита дописывает адрес. А она мне всегда возвращает "0", и дальше ничего ен происходит(((
В классе "RequisiteTable", метода "add" - нету, но сам этот класс наследуется от "class RequisiteTable extends Entity\DataManager" другого класса.
Бьюсь уже неделю, перечитал все связанные классы ни как не могу понять чего не хватает(
CModule::IncludeModule("crm");
$arRQAddr['6'] = [ //1 - Физический адрес, 6 -Юридический адрес
'ADDRESS_1' => 'ул. Семашко, д.1',
'ADDRESS_2' => '',
'POSTAL_CODE' => '355029',
'PROVINCE' => 'Ставропольский край',
'CITY' => 'город Ставрополь',
'COUNTRY' => "Россия"
];
$fields =
[
'ENTITY_TYPE_ID' => '3',
'ENTITY_ID' => '144333',
'ADDRESS_ONLY' => "Y",
'RQ_ADDR' => $arRQAddr,
];
$requisite = new \Bitrix\Crm\EntityRequisite();
$res = $requisite->add($fields);