Как генерируются уникальные идентификаторы в модулях Sugar CRM, таких как модуль электронной почты?

Нужно знать, как работает функция «create_guid» и как она генерирует IDs для разных модулей, например. Emails модуль?


person sabna    schedule 21.02.2012    source источник


Ответы (2)


Вы можете просто назвать это как

$next_meeting->id = create_guid();

например, в логическом хуке. Сама функция размещена в файле /include/utils.php.

Конечно, вы должны сохранить только что сгенерированный bean-компонент с помощью

$next_meeting->save();
person erop    schedule 22.02.2012

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

$Module_Bean->new_with_id = true; 
$Module_Bean->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;
}
person Star    schedule 12.10.2017