Как использовать Sugarcrm\Sugarcrm\Util\Uuid::uuid1() в пользовательской точке входа?

Я учу suitecrm. Мне нужно создать новый бин, используя определенный идентификатор из пользовательской точки входа, генерация идентификатора не работает, когда я пытаюсь этот код

// Create bean
$testAccountBean = BeanFactory::newBean('Accounts');

// Set the new flag
$testAccountBean->new_with_id = true;

$id = Sugarcrm\Sugarcrm\Util\Uuid::uuid1();

$testAccountBean->id = $id;
$testAccountBean->name = generateRandomString();

$testAccountBeanId = $testAccountBean->save();

echo $testAccountBeanId;

Я ничего не получаю

Когда я проверяю результат вызова Sugarcrm\Sugarcrm\Util\Uuid::uuid1() ничего не получить взамен.

Спасибо за любую идею

2 ответа

Решение

Функция называется create_guid, требует include/utils.php и вы сможете позвонить.

<?php
 if (!defined('sugarEntry')) {
    define('sugarEntry', true);
}

require_once 'data/BeanFactory.php';
require_once 'include/utils.php';
$testAccountBean = BeanFactory::newBean('Accounts');
$id = create_guid();

Сказав так - если вы делаете $testAccountBean->new_with_id = true; это означает, что вы предоставите свой собственный идентификатор, который мы используем для вставки идентификаторов из других систем / миграций. Но если вам нужен GUID, просто удалите эту строку, и suitecrm сгенерирует ее для вас.

Вам нужно будет позвонить следующим образом:

$testAccountBean->new_with_id = true; 
$testAccountBean->id = create_guid();

Обратите внимание, что если вы присвоили свой собственный идентификатор с помощью функции create_guid, то также необходимо установить "new_with_id". Вы можете найти функцию по этому пути: include \ utils.php

Ниже приведено тело функции:

function create_guid()
{
    $microTime = microtime();
    list($a_dec, $a_sec) = explode(' ', $microTime);

    $dec_hex = dechex($a_dec * 1000000);
    $sec_hex = dechex($a_sec);

    ensure_length($dec_hex, 5);
    ensure_length($sec_hex, 6);

    $guid = '';
    $guid .= $dec_hex;
    $guid .= create_guid_section(3);
    $guid .= '-';
    $guid .= create_guid_section(4);
    $guid .= '-';
    $guid .= create_guid_section(4);
    $guid .= '-';
    $guid .= create_guid_section(4);
    $guid .= '-';
    $guid .= $sec_hex;
    $guid .= create_guid_section(6);

    return $guid;
}
Другие вопросы по тегам