Via un crochet logique, j'essaie de mettre à jour les champs de mes produits, après qu'une facture ait été enregistrée. Ce que je comprends jusqu'à présent, c'est que j'ai besoin d'obtenir la facture liée AOS_Products_Quotes et à partir de là, je pourrais obtenir les produits, mettre à jour les champs requis et enregistrer les produits. Est-ce que ça te paraît correct?Obtention d'éléments de ligne dans un crochet logique de facture dans SuiteCRM
Le hook logique est en cours de déclenchement mais les relations ne se chargent pas.
function decrement_stocks ($bean, $event, $arguments) {
//$bean->product_value_c = $bean->$product_unit_price * $bean->product_qty;
$file = 'custom/modules/AOS_Invoices/decrement.txt';
// Get the Invoice ID:
$sInvoiceID = $bean->id;
$oInvoice = new AOS_Invoices();
$oInvoice->retrieve($sInvoiceID);
$oInvoice->load_relationship('aos_invoices_aos_product_quotes');
$aProductQuotes = $oInvoice->aos_invoices_aos_product_quotes->getBeans();
/*
$aLineItemslist = array();
foreach ($oInvoice->aos_invoices_aos_product_quotes->getBeans() as $lineitem) {
$aLineItemslist[$lineitem->id] = $lineitem;
}
*/
$sBean = var_export($bean, true);
$sInvoice = var_export($oInvoice, true);
$sProductQuotes = var_export($aProductQuotes, true);
$current = $sProductQuotes . "\n\n\n------\n\n\n" . $sInvoice . "\n\n\n------\n\n\n" . $sBean;
file_put_contents($file, $current);
}
La facture est récupérée très bien. Mais soit load_relationship
ne fait rien ($ sInvoice ne change pas avec ou sans) et $aProductQuotes
est nul.
Je travaille sur SuiteCRM 7.8.3 et l'ai essayé sur 7.9.1 sans succès. Qu'est-ce que je fais mal?