【发布时间】:2016-08-05 17:09:29
【问题描述】:
这是我用来创建带有日记项目的日记条目的代码。
//Journal entry creation
function createJournalEntries($jId, $partnerId, $name, $amount, $ref, $periodId, $check, $date)
{
$dAccId = 8;
$cAccId = 6;
$name = 'tea';
$debit = 20;
$credit = 20;
$amtCur = 0.00;
$taxAcc = 15;
$taxAmt = 2;
$jlines = array (
new xmlrpcval(
array(
"name" => new xmlrpcval($name, "string"),
"partner_id" => new xmlrpcval($partnerId, "int"),
"account_id" => new xmlrpcval($dAccId, "int"),
"debit" => new xmlrpcval(20.00, "float"),
"credit" => new xmlrpcval(0.00, "float")
)
),
new xmlrpcval(
array (
"name" => new xmlrpcval($name, "string"),
"partner_id" => new xmlrpcval($partnerId, "int"),
"account_id" => new xmlrpcval($dAccId, "int"),
"debit" => new xmlrpcval(0.00, "float"),
"credit" => new xmlrpcval(20.00, "float")
)
)
);
$val = array (
"journal_id" => new xmlrpcval($jId, "int"),
"partner_id" => new xmlrpcval($partnerId, "int"),
"name" => new xmlrpcval($name, "string"),
"amount" => new xmlrpcval($amount, "float"),
"ref" => new xmlrpcval($ref, "string"),
"peroid_id" => new xmlrpcval($periodId, "int"),
"date" => new xmlrpcval($date, "string"),
"to_check" => new xmlrpcval($check, "boolean"),
"line_id" => new xmlrpcval($jlines, "array"),
);
$module = 'account.move';
$method = 'create';
$valu= $this->create($module, $method, $val);
return $valu;
}
这是要创建的主要函数。
//function for create
public function create($module, $method, array $values = array()) {
$this->client->setSSLVerifyPeer(0);
if (strpos($this->userId, 'LOGIN FAIL:') === false) {
try {
$msg = new xmlrpcmsg('execute');
$msg->addParam(new xmlrpcval($this->dbname, "string"));
$msg->addParam(new xmlrpcval($this->userId, "int"));
$msg->addParam(new xmlrpcval($this->password, "string"));
$msg->addParam(new xmlrpcval($module, "string"));
$msg->addParam(new xmlrpcval($method, "string"));
$msg->addParam(new xmlrpcval($values, "struct"));
$response = $this->client->send($msg);
if (!empty($response->faultString())) {
return "FAIL: in create:".$response->faultString();
//return $userId;
}
return $response->value()->scalarval();
} catch (Exception $e) {
throw new Exception("Create Exception:". $e);
}
}else{
return $this->userId;
}
}
在这里我无法获得带有日记条目的日记项目。
xmlrpc 返回类似对象错误的错误
【问题讨论】:
-
你试过odoo.com/documentation/8.0/api_integration.html链接。记住这一点,如果我们在任何对象中有需要字段,那么在我们创建任何记录时,您必须设置默认值或任何随机数据。否则 odoo 总是给你错误信息。
-
我已经尝试了 odoo 网站中给出的那些 ripcord php 代码,我从 ui {required:true} 中获得了必填字段,但我仍然无法在日记条目中创建日记项目。
-
只需将必填字段设置为 Null 或 None,以便帮助我们解决问题
-
谢谢它帮我解决了
-
很高兴听到它