Utiliser feed importer pour modifier le stock ubercart

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
J'utiliser Ubercart pour gérer mes produits.
J'aimerais passer un csv avec des ean et modifier mes stocks en fonction.
Exemple
Le Stock vaut 75 avant l'import; Je donne comme valeur 6, le stock est décrémenté de 6 et le nouveau stock est 69.

Pour mener à bien cette tache dans j'utilise le plugin PHP de feed importer .
Mais sans que je comprenne pourquoi certains stock ne sont pas décrémentés ou sont complètement faux.

$searched = $item['products_gencod'];
if(!$item['products_gencod']){
  return;
}
$nid = '';
$query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
      ->entityCondition('bundle', 'product')
      ->fieldCondition('field_supplier_ean', 'value', $searched , '=');
  $result = $query->execute();
if (isset($result['node'])) {
  $productInformations = array_values($result['node'])[0];
  $nid = $productInformations->nid;
}else {
  $query ='';
  $result = '';
  $result = db_query('SELECT * FROM {uc_products} WHERE model = :model', array(':model' => $item['products_gencod']))->fetchAssoc();

  if($result['nid']){
    $nid = $result['nid'];
  }
}

if ($nid) {
  $node = node_load($nid);
  if($node){
    $actualStock = $node->field_product_stock['und'][0]['value'];
    if( $field < $actualStock){
      $field = $actualStock - (int)$field;
      $node->field_product_stock['und'][0]['value'] = $field;
      node_save($node);
    }else{
      $node->field_product_stock['und'][0]['value'] = 0;
      node_save($node);
    }
  }

}else {
  return $item['products_gencod'];
}

Version de Drupal :