我想在我的xml字段中使用域过滤器,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<proxy name="invoicereport_pickupECB" startOnLoad="true" transports="vfs"
xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<log level="full"/>
<property name="transport.vfs.ReplyFileName" value="Excel.csv" scope="transport"/>
<property name="OUT_ONLY" value="true"/>
<send>
<endpoint>
<address uri="file:///usr/lib/wso2/wso2ei/6.3.0/samples/data-services/resources/Testfolder"/>
</endpoint>
</send>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<parameter name="transport.PollInterval">3</parameter>
<parameter name="transport.vfs.FileURI">vfs:sftp://abc:abc123@xx.yy.zz.aa:22/F:/Folder/new?sftpPathFromRoot=true;?vfs.passive=true</parameter>
<parameter name="transport.vfs.ActionAfterProcess">None</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.csv</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
但是,我不知道它是如何工作的!
这是我的字段:
domain="[('id','>=',field)]"
这是我的表单视图XML:
responsible_partner = fields.Many2one(string="Responsible",
comodel_name="res.partner",
ondelete='restrict',
domain="[('company_type','=','person')]",
delegate=False)
responsible_foyer = fields.Many2one(string="Foyer responsible", comodel_name="horanet.relation.foyer", copy=False)
这是我的功能:
<field name="responsible_partner" required="True" domain="[('id','=',responsible_foyer.partner_id)]" />
<field name="responsible_foyer" />
错误:
错误:AttributeError:对象没有属性'partner_id'
但是,我的模型中有一个字段partner_id:“ horanet.relation.foyer”。
你能跟我解释一下吗?
谢谢
答案 0 :(得分:0)
您不能从XML(即点后的部分)访问子记录。您只能引用表单本身中的字段,因此必须创建一个新的相关字段以获取所需的值,然后将其作为不可见字段添加到表单中,然后可以将其用作域的一部分。
编辑:下面的详细解决方案:
您可以像这样在python代码中添加相关字段:
https
然后,您可以在XML中将此字段添加到表单视图,但保持不可见。这样一来,您就可以在自己的域中使用它,但又不会使表单视图混乱。
responsible_foyer_partner_id = fields.Many2one('res.partner', related="responsible_foyer.partner_id", string="Responsible Foyer Partner")
现在您可以在您的域中使用此字段
<field name="responsible_foyer_partner_id" invisible="1"/>