IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Odoo (ex-OpenERP) Discussion :

Recherche de valeur correct pour Application de la Taxe sectionc omptabilité


Sujet :

Odoo (ex-OpenERP)

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut Recherche de valeur correct pour Application de la Taxe sectionc omptabilité
    modifier

    Qu'elle serait les composantes de la requête à faire pour trouver dans 'account.tax'pour joindre ces 2 élements


    TVA collectée (vente) 10,0% et Application de la Taxe : Vente

    TVA collectée (vente) 10,0%
    les 10 % correcpondent à amount dans account.taxe => que je trouve

    Application de la Taxe : Vente
    Celle ci renvoie à priori à un menu sélection qui contient 3 valeurs (vente, achat, tout).

    [type_tax_use] => Array ( [selection] => Array ( [0] => Array (
    [0] => sale [1] => Sale )
    [1] => Array ( [0] => purchase [1] => Purchase )
    [2] => Array ( [0] => all [1] => All ) )

    Que je n'arrive pas trouver



    merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    Je vais essayer de clarifier ma question car je ne suis pas sur d'avoir été clair

    Si je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            $field_list = array('id',
                                'amount',
                                'type_tax_use' => 'sale'
                              );
    
    
            $QodooProductsTaxId = $OSCOM_ODOO->readOdoo($ids, $field_list, 'account.tax');
    Cela fonctionne parfaitement et j'ai bien un résultat :
    Array ( [0] => Array ( [amount] => 0.055 [id] => 8 [type_tax_use] => purchase)
    or il ne prend que le dernier de la liste, Ce que je recherche c'est la partie sale. de tel manière à obtenir ceci :


    Array ( [0] => Array ( [amount] => 0.055 [id] => 4 [type_tax_use] => sale)

    [amount] => 0.055 ===> 0.055 est le % de la taxe qui et est variable (20% ou aucun)
    [id] => 4 ===> correspond à la ligne ID comprenant (amount + type_tax_use) ==> varie en fonction de la taxe
    [type_tax_use] => sale ===> celle ci est toujours sur sale

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    J'ai essayé de faire ceci

    Step 1 : réponse du test

    a/ recherche information avec type_tax_use - $ids = $OSCOM_ODOO->odooSearch('type_tax_use','=', 'sale', 'account.tax', 'string');

    J'ai cette réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    array (size=8)
      0 => int 2
      1 => int 3
      2 => int 4
      3 => int 5
      4 => int 30
      5 => int 31
      6 => int 32
      7 => int 34
    b/ recherche amount sur account.tax

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $products_tax = 0.055
        $ids1 = $OSCOM_ODOO->odooSearch('amount','like', $products_tax, 'account.tax', 'double');
    response

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        array (size=22)
          0 => int 4
          1 => int 5
          2 => int 6
          3 => int 8
          4 => int 9
          5 => int 11
          6 => int 13
          7 => int 14
          8 => int 16
          9 => int 18
          10 => int 19
          11 => int 21
          12 => int 23
          13 => int 24
          14 => int 26
          15 => int 28
          16 => int 29
          17 => int 30
          18 => int 31
          19 => int 32
          20 => int 33
          21 => int 34
    Maintenant, recherche dans les 2 elements et trouver sale at 0.055 pour lataxe, the bon Id
    soit

    2 => int 4 (recherche 1)
    0 => int 4 (recherche 2)

    J'ai cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    // search by 2 criterias with and OPERATOR
        Public function odooSearch1($attribute, $operator, $keys, $relation, $string = 'string', $attribute1, $operator1, $keys1, $string1 = 'string') {
    
          $client = new xmlrpc_client($this->server_url . "/xmlrpc/object");
          $client->setSSLVerifyPeer(0);
    
          $domain_filter = array (
                                  new xmlrpcval(
                                                array(
                                                  new xmlrpcval($attribute , "string"),
                                                  new xmlrpcval($operator,"string"),
                                                  new xmlrpcval($keys, $string),
                                                ),"array"
                                  ),
                                  new xmlrpcval(
                                                array(
                                                  new xmlrpcval($attribute1 , "string"),
                                                  new xmlrpcval($operator1,"string"),
                                                  new xmlrpcval($keys1, $string1),
                                                ),"array"
                                              ),
                                );
    
          $msg = new xmlrpcmsg('execute');
          $msg->addParam(new xmlrpcval($this->database, "string"));
          $msg->addParam(new xmlrpcval($this->id, "int"));
          $msg->addParam(new xmlrpcval($this->password, "string"));
          $msg->addParam(new xmlrpcval($relation, "string"));
          $msg->addParam(new xmlrpcval("search", "string"));
          $msg->addParam(new xmlrpcval($domain_filter, "array"));
    
          $response = $client->send($msg);
    
          $val = $response->value();
          $ids = $val->scalarval();
    
          return $this->traverse_structure($ids);
        }
    Maintenant si je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $products_tax = 0.055
    $ids1 = $OSCOM_ODOO->odooSearch1('amount', 'like', $products_tax, 'account.tax', 'double', 'type_tax_use','=', 'sale', 'account.tax', 'string');
    Réponse est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Array ( )
    array (size=0)
      empty


    Si j'intervertie la recherche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $products_tax = 0.055
    $ids1 =        $ids1 = $OSCOM_ODOO->odooSearch1('type_tax_use','=', 'sale', 'account.tax', 'string',  'amount','like', $products_tax, 'account.tax', 'double')
    Réponse est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Array ( )
    array (size=8)
      0 => int 2
      1 => int 3
      2 => int 4
      3 => int 5
      4 => int 30
      5 => int 31
      6 => int 32
      7 => int 34
    Pourquoi une réponse différente sur un critère de recherche ET sur une même requête.

    pour la recherche avec les 2 critère, la réponse devrait être int 4


    Merci pour votre aide

Discussions similaires

  1. [PhoneGap] Recherche développeur bénévole sympa pour application iPhone/Android
    Par TMS Prod dans le forum Mobiles
    Réponses: 0
    Dernier message: 27/05/2015, 20h16
  2. Recherche outil de Benchmark pour application web .NET
    Par yannard dans le forum Performance Web
    Réponses: 0
    Dernier message: 26/03/2012, 11h04
  3. Réponses: 4
    Dernier message: 23/10/2006, 09h14
  4. Réponses: 2
    Dernier message: 16/06/2006, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo