Как добавить имя учетной записи в контакт в Dynamics 365

Я использую Alexa-php-инструментарий для Dynamics 365 https://github.com/AlexaCRM/php-crm-toolkit, с помощью этого я могу успешно создать новый контакт, но я не могу добавить имя учетной записи с контактом, когда я пытаюсь получить эту ошибку:

Примечание. Учетная запись свойства контактного лица не может быть установлена ​​в строке ../vendor/alexacrm/php-crm-toolkit/src/Entity.php в строке 263.

Вот мой сценарий.

<?php
//URL: https://github.com/AlexaCRM/php-crm-toolkit
/**
* Use init.php if you didn't install the package via Composer
*/
use AlexaCRM\CRMToolkit\Client as OrganizationService;
use AlexaCRM\CRMToolkit\Settings;
require_once '../vendor/autoload.php';
require_once '../vendor/alexacrm/php-crm-toolkit/init.php';
require_once 'config.php';
require_once 'includes/db.php';
$db         = new DB();
$options    = getAuth();
$serviceSettings = new Settings( $options );
$service = new OrganizationService( $serviceSettings );
$accountId = 'a2536507-018d-e711-8115-c4346bac0a5f';
// create a new contact
$contact = $service->entity( 'contact' );
$contact->accountid = $accountId;
$contact->firstname = 'Test';
$contact->lastname = 'Contact12';
$contact->jobtitle = 'Business Analyst';
$contact->mobilephone = '1002345679';
$contact->fax = '9902345679';
$contact->emailaddress1 = '[email protected]';
$contact->address1_line1 = '119 Cambridge';
$contact->address1_line2 = 'Apt 22';
$contact->address1_city = 'Houston';
$contact->address1_stateorprovince = 'TX';
$contact->address1_postalcode = '77009';
$contact->address1_country = 'US';
$contactId = $contact->create();
echo $contactId;
?>

0

Решение

В этом вопросе есть строка вашего кода:

$contact->accountid = $accountId;

Сначала родительский аккаунт контакта сохраняется в parentcustomerid поле, которое является специальное поле поиска, в котором может храниться ссылка как на учетную запись, так и на контактную сущность.
Поля accountid а также parentcontactid помочь справиться с этим в фоновом режиме, но в целом не доступны. Вам нужно работать с parentcustomerid поле.

Во-вторых, еще одна проблема при работе с поиском (внешние ключи) заключается в том, что вам нужно передать тип сущности (имя таблицы).

Правильный код может выглядеть так:

$accountRef = $client->entity( 'account' );
$accountRef->ID = $accountId;
$contact->parentcustomerid = $accountRef;

или же

$contact->parentcustomerid = new EntityReference( 'account', $accountId );

Эти примеры взяты из список вопросов, отрегулирован, но не проверен. Надеюсь, это рабочий пример, а не функциональный запрос.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]