Как добавить автоинкремент в поле SuiteCRM - PullRequest
0 голосов
/ 11 июня 2019

Я использую SuiteCRM-7.11.5 в Windows.Я хочу создать идентификационную метку, которая будет автоматически отображаться в окне «Создать новую задачу».Если показ автоматического увеличения невозможен, я по крайней мере хочу, чтобы автоматическое увеличение в базе данных MySQL.

Я нашел несколько вопросов в переполнении стека и на форуме SuiteCRM (без папки расширений), которые все устарели или вообще не работали.Плагины удалены из github.Любая помощь, взлом или обходной путь приветствуется.Я также новичок в suitecrm и mysql, поэтому пошаговый ответ будет принята с благодарностью.

Я также попытался добавить параметр автоинкремента в phpmyadmin, но он выдает ошибку как

Неверный спецификатор столбца для столбца 'id'

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Автоинкремент определенно возможен в suiteCRM, все, что вам нужно, чтобы поместить поле с помощью кода, подобного этому.

 'auto_number' =>
            array(
                'name' => 'auto_number',
                'vname' => 'Serial No',
                'type' => 'int',
              'len' => 11,
              'required'=>true,
              'auto_increment' => true,
            ),
0 голосов
/ 13 июня 2019

Создайте поле типа int и создайте перед сохранением логический хук.Добавьте ниже код,

global $db;
    $query = "SELECT MAX(field_name) as max_count FROM table where deleted=0";
    $result = $db->query($query);
    $row = $db->fetchByAssoc($result);
    $max_number = $row['max_count'];
    if(empty($max_number)){
        $max_number = 1;
    }
    else{
        (int)$max_ticket_number++;
    }
    if(empty($bean->field_name)){
        $bean->field_name = $max_ticket_number;
    }
}
...