我有一项任务一直让我头疼,非常感谢你的帮助。
任务:
我试过用一个巫师,但没有用。我认为解决问题的方法可能会有帮助,但我还没有成功地使其工作:使用fields_view_init(),fields_view_get(),使用上下文,其中我选择多个关系模型B中整数字段的值,并使用@api.onchange和@api.depends --拉出整数字段的值,并且可能正在使用fields_view_get()动态创建两个星期的计划,或者根据整数值创建三个星期。
如何实现,请一些代码示例非常感谢。下面的代码将有助于理解我上面的意思。
class ratecard_sin_radio(models.Model):
code = fields.Char(string='SINGULAR RATECARD CODE',readonly=True)
name = fields.Char(string='NAME')
outlet_id = fields.Many2one(comodel_name='outlet', string='Outlet')
timeband_id = fields.Many2one(comodel_name='timeband', string='TimeBand')
class ratecard_multiple(models.Model):
#pudb.set_trace()
_name = 'ratecard.multiple'
scheduled_for = fields.Integer(string='SCHEDULED FOR',default=1 ,track_visibility='always',store=True , readonly=True)
multiple_ratecard_id = fields.Many2many(comodel_name='ratecard.sin.radio', relation='ratecard_multiple_singular_rel',
column1='ratecard_multiple_id',
column2='ratecard_sin_radio_id',
string='RATECARDS') 我的观点的样本部分如下:
<group colspan="4" col="4" >
<tree editable="bottom">
<group colspan="2" col="2" >
<field name='name'/>
<field name="scheduled_for"/>
</group>
<field name='multiple_ratecard_id' nolabel="1" options="{'reload_on_button': true}"> <!-- widget="many2many"-->
<tree string="ALLOCATE SPOTS" editable="bottom">
<!--<field name="week_id" widget="one2many_list"/>-->
<button name="scheduler" string="SCHEDULE" type="object" class="oe_highlight"/>
<field name="code"/>
<field name="name"/>
<field name="outlet_id" on_change="onchange_outlet(outlet_id)" placeholder="OUTLET"/>
<field name="outlet_type_id" domain="[('outlet_id', '=' ,outlet_id)]" placeholder="OUTLET TYPE" />
<field name='monday'/>
<field name='tuesday'/>
<field name='wednesday'/>
<field name='thursday'/>
<field name='friday'/>
<field name='saturday'/>
<field name='sunday'/>
<field name="spot_total"/>
<field name="noofweeks"/>
<field name='allocate_subtotal'/>
<field name="rates_total"/>
<field name="total_cost"/>
</tree>
</field>按钮调度程序是一个现在依赖于scheduled_for来动态生成每周视图的函数,如果scheduled_for是3
然后动态地生成mon,mon,mon。如果
4然后生成mon-sun mon。
论<button name="scheduler" string="SCHEDULE" type="object" class="oe_highlight"/>
调用此函数,该函数创建一个星期。我需要根据scheduled_for值来控制这个星期产生的问题,如果scheduled_for是3,我返回一个有3周的日历模型,即mon,mon,mon- -sun,如果scheduled_for是4,则返回mon,mon。
@api.multi
def scheduler(self):
view_id = self.env.ref('ragtimeorder.view_week_form').id
# context = self._context.copy()
return {
'name':_('SCHEDULE RATECARD'),
'view_type': 'form',
'view_mode': 'form',
'views': [(view_id, 'form'), ],
'res_model': 'week',
# 'context': self._context,
'type': 'ir.actions.act_window',
'target': 'new',
'flags': {'action_buttons': True},
}此调度程序函数的问题是静态的,需要是动态的。
发布于 2015-12-07 01:10:39
@danielmwai
它们在这里可能有多种可能的解决方案,您可以雇员:
1)每次调度时,您都会为所有可能的事件创建数据库记录(出售和持久解决方案,但很多都是头等大事)。
2)您几乎可以使用read/search_read方法创建记录,每当有人请求记录时,您读取该记录并在视图中创建虚拟记录传递作为视图重新转储时,它将呈现值并根据数据返回,然后遍历write方法,删除虚拟记录并在代码上处理它们。(速度快,但有时行为不当)
3)您可以编写web模块,让JS完成魔术,并通过网站界面模块完成所有事件的呈现。
凌驾
https://stackoverflow.com/questions/34044275
复制相似问题