Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
9982 Lượt xem

I have  a php form use and a custom openerp module for storing student details of name and number..

How to communicate this php to openerp for exporting and importing student details from openerp to php form

Here I attached my php code and openerp module ..Pls help...

==================PHP================

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
 
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="fname" /><br><br>
Phone: <input type="text" name="phone" /><br><br>
 
<input type="submit" />
</form>
</body>
</html>

 

insert.php

<?php
$con = mysql_connect("localhost","root","siroco");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("project", $con);
 
$sql="INSERT INTO info (name, phone)
VALUES
('$_POST[fname]','$_POST[lname]')";
 
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";
 
 
$res=  mysql_query("SELECT * FROM info");  
if(mysql_query($sql,$con))
{
  echo "<table border='1'><tr><th>Name</th><th>Phone</th></tr>";
while($row = mysql_fetch_array($res))
{
 echo "<tr>";
   echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['phone'] . "</td>";
        echo "</tr>";
   }
   }
 
mysql_close($con)
?>

==============OPENERP===================

__init__.py

import web_service_info

__openerp__.py

{
    "name" : "Web service module",
    "version" : "1.0",
    "author" : "ME ",
    "category" : "Generic Modules for Web service connector",
    "description": """
    Module For Managing Student Name and roll number export and import:
 
    """,
    "depends" : ['base'],
    "init_xml" : [],
    'images': [],

     "update_xml" : [
                    'web_service_view.xml'           
         ],
                   
    'images': [],
    "installable": True,
    "auto_install":False
}

webservice.py

from osv import osv,fields

class student_info(osv.osv):
    
    _name='student.info'
    
    _columns={
               'name':fields.char('name',size=15),
               'phone_number':fields.char('Phonenumber',size=10),
             }
    def import_student(self,cr,uid,ids,context=None):
        print "######################context#######",context
        return "Hi"
    def export_student(self,cr,uid,ids,context=None):
        print "#########3uid#######",ids
        return "Hi"
    
student_info()

.xml======

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>
    
    
     <record id="user_info_tree_view" model="ir.ui.view">
          <field name="name">user.info.tree.view</field>
          <field name="model">student.info</field>
          <field name="type">tree</field>
            <field name="arch" type="xml">
             <tree string="user information">
                <field name="name"/>
                <field name="phone_number"/>
              </tree>
       </field>
       </record>
       
        <record id="project_info_form_view" model="ir.ui.view">
            <field name="name">project.info.form.view</field>
            <field name="model">student.info</field>
            <field name="type">form</field>
            <field name="arch" type="xml">
            <form string="Project information" version="7.0" >
                
                <header>
                                        
                    <button name="import_student" string="Import Student"
                 class="oe_highlight" type="object"/>

                    <button name="export_student" string="Export Student"
                 class="oe_highlight" type="object"/>

                </header>        
                
                    <sheet>
                   <group>
                        <field name="name"/>
                     <field name="phone_number"/></group>    
                     </sheet>   
                </form>
                
            </field>
        </record>
        
           <record id="hr_info_action" model="ir.actions.act_window">
               <field name="name">HR Details</field>
               <field name="res_model">student.info</field>
               <field name="view_type">form</field>
               <field name="view_mode">tree,form</field>
       </record>


       <menuitem id="user_module_menu" name="Student Info"/>
       
       <menuitem id="user_module_menu1"  parent="user_module_menu" name="Student Information"/>
       
       <menuitem id="user_module_menu123" action="hr_info_action" parent="user_module_menu1" name="Student Details"/>
       
       
    </data>
</openerp>

 

How to export and import data from openerp to php form ,php ->openerp

 

@@ HOw to import data from openerp to php with xmlrpc(php->openerp,openerp->PHP)

 

 

 

 

 

 

 

 

 

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi, you can use XML-RPC for communication between PHP and OpenERP/Odoo.

Access Open-server using xml-rpc

Download the XML-RPC framework for PHP

windows / linux: download the xml-rpc framework for php from http://phpxmlrpc.sourceforge.net/ The latest stable release is version 2.2.2 released on March 16, 2009.

Setup the XML-RPC for PHP

extract file xmlrpc-2.2.tar.gz and take the file xmlrpc.inc from lib directory place the xmlrpc.inc in the php library folder restart the apache/iis server

Demo script

Login

function connect() {
   var $user = 'admin';
   var $password = 'admin';
   var $dbname = 'db_name';
   var $server_url = 'http://localhost:8069/xmlrpc/';


   if(isset($_COOKIE["user_id"]) == true)  {
       if($_COOKIE["user_id"]>0) {
       return $_COOKIE["user_id"];
       }
   }

   $sock = new xmlrpc_client($server_url.'common');
   $msg = new xmlrpcmsg('login');
   $msg->addParam(new xmlrpcval($dbname, "string"));
   $msg->addParam(new xmlrpcval($user, "string"));
   $msg->addParam(new xmlrpcval($password, "string"));
   $resp =  $sock->send($msg);
   $val = $resp->value();
   $id = $val->scalarval();
   setcookie("user_id",$id,time()+3600);
   if($id > 0) {
       return $id;
   }else{
       return -1;
   }
 }
 

Search

/**
 * $client = xml-rpc handler
 * $relation = name of the relation ex: res.partner
 * $attribute = name of the attribute ex:code
 * $operator = search term operator ex: ilike, =, !=
 * $key=search for
 */

function search($client,$relation,$attribute,$operator,$keys) {
     var $user = 'admin';
     var $password = 'admin';
     var $userId = -1;
     var $dbname = 'db_name';
     var $server_url = 'http://localhost:8069/xmlrpc/';

     $key = array(new xmlrpcval(array(new xmlrpcval($attribute , "string"),
              new xmlrpcval($operator,"string"),
              new xmlrpcval($keys,"string")),"array"),
        );

     if($userId<=0) {
     connect();
     }

     $msg = new xmlrpcmsg('execute');
     $msg->addParam(new xmlrpcval($dbname, "string"));
     $msg->addParam(new xmlrpcval($userId, "int"));
     $msg->addParam(new xmlrpcval($password, "string"));
     $msg->addParam(new xmlrpcval($relation, "string"));
     $msg->addParam(new xmlrpcval("search", "string"));
     $msg->addParam(new xmlrpcval($key, "array"));

     $resp = $client->send($msg);
     $val = $resp->value();
     $ids = $val->scalarval();

     return $ids;
}

Create

<?

include('xmlrpc.inc');

$arrayVal = array(
'name'=>new xmlrpcval('Fabien Pinckaers', "string") ,
'vat'=>new xmlrpcval('BE477472701' , "string")
);

$client = new xmlrpc_client("http://localhost:8069/xmlrpc/object");

$msg = new xmlrpcmsg('execute');
$msg->addParam(new xmlrpcval("dbname", "string"));
$msg->addParam(new xmlrpcval("3", "int"));
$msg->addParam(new xmlrpcval("demo", "string"));
$msg->addParam(new xmlrpcval("res.partner", "string"));
$msg->addParam(new xmlrpcval("create", "string"));
$msg->addParam(new xmlrpcval($arrayVal, "struct"));

$resp = $client->send($msg);

if ($resp->faultCode())

    echo 'Error: '.$resp->faultString();

else

    echo 'Partner '.$resp->value()->scalarval().' created !';

?>

Write

/**
 * $client = xml-rpc handler
 * $relation = name of the relation ex: res.partner
 * $attribute = name of the attribute ex:code
 * $operator = search term operator ex: ilike, =, !=
 * $id = id of the record to be updated
 * $data = data to be updated
 */

function write($client,$relation,$attribute,$operator,$data,$id) {
     var $user = 'admin';
     var $password = 'admin';
     var $userId = -1;
     var $dbname = 'db_name';
     var $server_url = 'http://localhost:8069/xmlrpc/';

     $id_val = array();
     $id_val[0] = new xmlrpcval($id, "int");

     if($userId<=0) {
     connect();
     }

     $msg = new xmlrpcmsg('execute');
     $msg->addParam(new xmlrpcval($dbname, "string"));
     $msg->addParam(new xmlrpcval($userId, "int"));
     $msg->addParam(new xmlrpcval($password, "string"));
     $msg->addParam(new xmlrpcval($relation, "string"));
     $msg->addParam(new xmlrpcval("write", "string"));
     $msg->addParam(new xmlrpcval($id, "array"));
     $msg->addParam(new xmlrpcval($data, "struct"));

     $resp = $client->send($msg);
     $val = $resp->value();
     $record = $val->scalarval();

     return $record;

}

 
 
 
Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

I have a system in Laravel for electronic invoicing and I enabled it as API (it receives JSON, it generates XML and it sends to SUNAT Peru), what I need is to develop a module to send json from odoo 11 to the API.

Could anyone help me please.

Regards,

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Hi Dhinesh,

But i need to pass data from php form to openerp module and openerp to php form  using button click of export and import student .Then what are the steps i can  follows.pls help

Ảnh đại diện
Huỷ bỏ