поиск по RPC в openerp по многим идентификаторам

1

В настоящее время я работаю с XMLRPC API для подключения веб-сайта к openerp. Идея состоит в том, что мы хотим получить последнее количество запасов от openerp. В настоящее время я использую эту библиотеку соединителей. Это пример данных из моего openerp api

[0] => Array
        (
            [create_date] => 2016-01-26 03:02:29
            [qty] => 6
            [propagated_from_id] => 
            [package_id] => 
            [cost] => 1500000
            [inventory_value] => 9000000
            [lot_id] => 
            [reservation_id] => 
            [id] => 2
            [negative_dest_location_id] => 
            [create_uid] => Array
                (
                    [0] => 1
                    [1] => Administrator
                )

            [display_name] => 17326: 6.0Unit(s)
            [__last_update] => 2016-01-26 03:02:29
            [location_id] => Array
                (
                    [0] => 19
                    [1] => Warehouse 1/Stock
                )

            [company_id] => Array
                (
                    [0] => 1
                    [1] => PT. ONE WAY
                )

            [history_ids] => Array
                (
                    [0] => 2
                )

            [owner_id] => 
            [write_date] => 2016-01-26 03:02:29
            [write_uid] => Array
                (
                    [0] => 1
                    [1] => Administrator
                )

            [name] => 17326: 6.0Unit(s)
            [product_id] => Array
                (
                    [0] => 2756
                    [1] => [17326]  AEG Vacuum Cleaner Dust Extractor Wet & Dry AP 20
                )

            [packaging_type_id] => 
            [negative_move_id] => 
            [in_date] => 2016-01-26 03:02:29
        )

Как я могу фильтровать эти данные product_id

[product_id] => Array
                (
                    [0] => 2756
                    [1] => [17326]  AEG Vacuum Cleaner Dust Extractor Wet & Dry AP 20
                )

Вот мой код

$rpc = new OpenERP();

$x = $rpc->login("supermin", "my_site", "my_pass", "http://111.222.33.44:8069/xmlrpc/");

$data = $rpc->searchread(
    array(
        array("model", "=", "product.product"),
        array("module", "=", "sale"),
        array("product_id", "=", "2756"),
    ),
    "stock.quant"
);  

Любой пример будет полезен. благодаря

Теги:
xml-rpc
openerp

1 ответ

1

Попытайтесь использовать это:

//... your source
$data = $rpc->searchread(
    array(
        array('model', '=', 'product.product'),
        array('module', '=', 'sale'),
        array('product_id', '=', '2756'),
    ),
    'stock.quant',
    array(), // default
    0, // default
    10, // default
    'product_id DESC' // default value was 'id DESC'
);  

Я не использовал коннектор lib, но если мы проверим метод searchread() класса OpenERP, мы увидим, что по умолчанию $order = "id DESC".

Надеюсь, это поможет вам.

  • 0
    спасибо за пример кода, я использую этот код: $ data = $ rpc-> searchread (array (array ('product_id', '=', 2756)), "stock.quant"); Где product_id на самом деле является идентификатором варианта продукта, поэтому сначала вы должны получить идентификатор варианта продукта для использования в этом поисковом фильтре, а затем получить количественные данные запаса,
  • 0
    Я не понял. Как я вижу $model_name = 'stock.quant' . Это означает, что данные будут искать в таблице stock_quant (объект Odoo stock.quant , столбцы по умолчанию, которые мы можем видеть в аддоне stock ). Вот столбец из stock.py : 'product_id': fields.many2one('product.product', 'Product', required=True, ondelete="restrict", readonly=True, select=True) . Как вы хотите отсортировать данные?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню