2017-02-16 1 views
0

À l'aide d'un logichook, j'essaie d'insérer un nouvel enregistrement de devis dans la classe bean. Le champ "quote_num" est un champ d'auto-incrémentation. Lorsque j'essaie ce code ci-dessous, au lieu de l'insérer dans MySQL avec l'attribut quote_num que je spécifie, il utilise le numéro suivant dans la séquence d'auto-incrémentation. Je sais que je pourrais juste utiliser un SQL INSERT mais j'essaye de m'en tenir au bean. Des idées?Champ d'incrémentation automatique SugarCRM 7

$newQuote = new Quote(); 
$newQuote->name = "Web Order"; 
$newQuote->quote_num = 902011; 
$newQuote->quote_order_c = $orderorcredit; 
$newQuote->save(); 
+0

espoir ce lien vous aidera u https://community.sugarcrm.com/thread/28762-autoincrement-field – TomPHP

Répondre

0

Pour Incrémentation automatique: Vous pouvez faire comme ci-dessous,

$count = "SELECT IFNULL(MAX(your field), 0) as count FROM table;    

       $count = ''; 
       while ($row = $GLOBALS['db']->fetchByAssoc($result)) { 
        $count_coc = $row['count']; 
       } 
       $bean->ignore_update = true; 
       $bean->number_c = $count_coc + 1; 
       $bean->save(); 
+0

Merci pour la réponse . Votre exemple me montre comment auto-incruster à travers le code. Mon problème est que l'autoincrement se passe au niveau MySQL et j'essaie d'éviter l'incrément automatique en utilisant le bean dans Sugar plutôt qu'une instruction SQL. –

+0

pourriez-vous élaborer plus clairement quel résultat vous voulez. –

+0

Quote_num est un champ d'incrémentation automatique. Disons que c'est à 200 000. Si j'utilise le bean sugar ($ newQuote-> quote_num) et que j'attribue 900 000 comme quote_num, il ignore 900000 et insère simplement dans le DB comme 200001 car c'est le prochain numéro dans la séquence d'auto-incrémentation. Je veux insérer manuellement un nombre supérieur à l'incrément suivant en utilisant le haricot. –