This question has been flagged
3 Replies
3801 Views

  Currently, I'm working in odoo version 12.0.

  I'm facing the issue, When I invisible sale order line Description field from Tree view at that time it also invisible the section text & Note Text. 

  Code for invisible sale order line Description field:

   <xpath  expr="//page[@name=''order_lines]//tree/field[@name='name']" position="attributes">

      <attribute name="invisible">1</attribute>     ​ 

  ​  </xpath>

Can anyone help me to resolve this issue?

Thanks in advance.


                 

           


                                                                                                                                                                                                                                                                        

Avatar
Discard

Can you check there this is not happen due to widget assign on name field in sale order line called section_and_note_text.

Author

Yes, I already check for that widget. But It does not happen due to that widget.

Best Answer

Hi, 

the right code is:

 <xpath  expr="//page[@name=''order_lines]//tree/field[@name='name']" position="attributes">   

   <attribute name="invisible">1</attribute>  

<xpath>


Avatar
Discard
Best Answer

who ever is facing this issue and couldn't solve:

First go to your xml file and inherit the view form:

 

then in the arch field use the xpath as below:

            1        

Now good to go.
good luck.

Avatar
Discard
Best Answer

Hi,

This is happening due to the 'section_and_note_one2many'  and 'section_and_note_text' widgets. In the code they are displaying section and notes in the place of field 'name'.

You can achieve this by extend  SectionAndNoteListRenderer with following code:

_renderBodyCell: function (record, node, index, options) {
var $cell = this._super.apply(this, arguments);
if (node.attrs.name === "name" && record.model === 'sale.order.line'){
return $cell.addClass('o_hidden');
}
return $cell;
},
_getNumberOfCols: function () {
var n = this._super();
if(this.state.model === 'sale.order.line'){
n--;
}
return n;
},
_renderHeaderCell: function (node) {
if (node.attrs.name === "name" && this.state.model === 'sale.order.line'){
return;
}
else{
var $th = this._super.apply(this, arguments);
return $th;
}
}

 Thanks

Avatar
Discard
Author

Hi, above js doesn't work. Can you please give any other solution excluding js?