Я новичок в Odoo, и я все еще пытаюсь получить представление о его взглядах.Odoo 8 display stock_move.picking_id.partner_id in view
Мне нужно добавить поле «Поставщик» в стандартное представление для Закупки - Входящие продукты, значение которых должно быть взято из файла stock_move.picking_id.partner_id Я не могу понять, как это получить значение в представлении xml, хотя необходимые отношения, похоже, определены, так как я могу получить его таким образом в коде python.
Вот стандартное определение вида:
<record id="view_move_tree_receipt_picking" model="ir.ui.view">
<field name="name">stock.move.tree2</field>
<field name="model">stock.move</field>
<field name="priority" eval="6"/>
<field name="arch" type="xml">
<tree colors="grey:state == 'cancel'" string="Moves">
<field name="date" widget="date"/>
<field name="picking_id" string="Reference" invisible="1"/>
<field name="origin"/>
<field name="product_id"/>
<field name="product_uom_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="location_id" invisible="1"/>
<field name="location_dest_id" invisible="1"/>
<field name="create_date" invisible="1"/>
<field name="date_expected" invisible="1"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="terp-gtk-jump-to-ltr" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"
groups="stock.group_stock_user"/>
<field name="state"/>
<button name="action_done" states="draft,assigned,confirmed"
icon="gtk-go-forward" type="object" groups="stock.group_stock_user"
class="oe_highlight" help="Done"/>
</tree>
</field>
</record>
и соответствующие определения столбцов (пропуск несвязанных линий для краткости)
class stock_move(osv.osv):
_name = "stock.move"
_description = "Stock Move"
_order = 'date_expected desc, id'
_columns = {
'picking_id': fields.many2one('stock.picking', 'Reference', select=True, states={'done': [('readonly', True)]}),
}
class stock_picking(osv.osv):
_name = "stock.picking"
_inherit = ['mail.thread']
_description = "Picking List"
_order = "priority desc, date asc, id desc"
_columns = {
'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}),
}
Спасибо за ваш ответ. Звучит разумно, но все, что я получаю, это столбец с нулевыми значениями. – dgeorgiev
Вам необходимо перезагрузить сервер и обновить модуль, если он еще не получил успеха, а затем удалите этот partner_id из таблицы (stock_move) вручную по запросу, а затем перезапустите сервер и модуль обновления. –
Хорошо, похоже, мне удалось заставить его работать. И да, существующая колонка вызывала проблемы, поэтому я переименовал новое поле. Также решили не хранить = True – dgeorgiev