$where['product.category_id'] = " = '{$category_id}'";
}
if ($societe_id) {
    $where['product_reference.societe_id'] = " = '{$societe_id}'";
}
if ($keywords) {
    $where[] = "product_reference.code LIKE '%{$keywords}%' OR \r\n              product.code LIKE '%{$keywords}%' OR \r\n              product.name LIKE '%{$keywords}%' OR \r\n              product.classe_comptable LIKE '%{$keywords}%' OR \r\n              product.description LIKE '%{$keywords}%'";
}
if (!$show_all) {
    $where[] = "product_reference.cancelled = '0' OR product_reference.cancelled IS NULL";
}
$where["product.name"] = $letter === "#" ? "RLIKE '^[^A-Z]'" : "LIKE '{$letter}%'";
$orderby = 'product.name ASC';
$leftjoin = array();
$leftjoin['product'] = 'product.product_id = product_reference.product_id';
$reference = new CProductReference();
$total = $reference->countList($where, null, $leftjoin);
$list_references = $reference->loadList($where, $orderby, intval($start) . "," . CAppUI::conf("dPstock CProductReference pagination_size"), null, $leftjoin);
foreach ($list_references as $ref) {
    $ref->loadRefsFwd();
    $ref->_ref_product->loadRefStock();
    $ref->_ref_product->getPendingOrderItems(false);
}
$smarty = new CSmartyDP();
$smarty->assign('list_references', $list_references);
$smarty->assign('total', $total);
$smarty->assign('mode', $mode);
$smarty->assign('start', $start);
$smarty->assign('letter', $letter);
$smarty->assign('reference_id', $reference_id);
$smarty->display('inc_references_list.tpl');
Esempio n. 2
0
 /**
  * @see parent::loadRefsBack()
  */
 function loadRefsBack()
 {
     $ljoin = array("product" => "product_reference.product_id = product.product_id");
     $where = array("product_reference.societe_id" => " = '{$this->_id}'");
     $reference = new CProductReference();
     $this->_ref_product_references = $reference->loadList($where, "product.name", null, null, $ljoin);
     $this->_back["product_references"] = $this->_ref_product_references;
     $this->_ref_products = $this->loadBackRefs('products', "name");
     $this->_ref_product_orders = $this->loadBackRefs('product_orders', "date_ordered");
 }
// ---------------------
CProductOrderItemReception::$_load_lite = true;
$oir = new CProductOrderItemReception();
$oir_where = array("product_order_item_reception.units_fixed" => "= '0'");
$oir_ljoin = array("product_order_item" => "product_order_item_reception.order_item_id = product_order_item.order_item_id", "product_reference" => "product_order_item.reference_id = product_reference.reference_id", "product" => "product_reference.product_id = product.product_id");
// ---------------------
CProductOrderItem::$_load_lite = true;
$oi = new CProductOrderItem();
$oi_where = array("product_order_item.units_fixed" => "= '0'");
$oi_ljoin = array("product_reference" => "product_order_item.reference_id = product_reference.reference_id", "product" => "product_reference.product_id = product.product_id", "user_log" => "product_order_item.order_item_id = user_log.object_id AND user_log.object_class = 'CProductOrderItem'");
// ---------------------
CProductReference::$_load_lite = true;
$ref = new CProductReference();
$ref_where = array("product_reference.units_fixed = '0'");
// ---------------------
$references = $ref->loadList($ref_where, null, 50);
CAppUI::stepAjax("Correction de " . count($references) . " références");
// Chargement des CProductReference
foreach ($references as $_reference) {
    $_product = $_reference->loadRefProduct();
    //mbTrace($_product->_view, " ######################## ");
    $old_date = CMbDT::dateTime();
    $quantity_product = $_product->quantity;
    $quantity_reference = $_reference->orig_quantity;
    $price_reference = $_reference->orig_price;
    $logs = array();
    // LOG CProduct quantity
    $product_logs_quantity = $_product->loadLogsForField("quantity", true, null, true);
    append_user_logs($logs, $product_logs_quantity);
    // LOG CProductReference quantity AND price
    $reference_logs = $_reference->loadLogsForField(array("quantity", "price"), true, null, true);