如何在销售订单搜索视图中添加今天过滤器

时间:2015-08-23 06:32:57

标签: odoo

我试过了。

<filter string="Today" doamin="['date_order','=',datetime.now()]"/>

但是,它给出了一个错误。

2 个答案:

答案 0 :(得分:1)

域应该是元组列表。你创建了一个列表,但忘了一个元组。另外你做了一个拼写错误(“doamin”)。下面的代码应该没有错误地执行:

For Each Sheet In sheetrange
    On Error GoTo bm_NoSheet
    Set FullRow = Sheets(Sheet.Value).Range("A5:EE5")
    Set Items = Sheets(Sheet.Value).Range("A6:A500")
    On Error GoTo 0

    For Each Cell In FullRow
        If Cell.Value = inputcell.Value Then 'TYPE MISMATCH HERE
            With FullRow
            Set SumRange = Range(.Cells(Cell.Row - 3, Cell.Column), .Cells(520, Cell.Column))
            sumState = sumState + WorksheetFunction.SumIf(Items, entry, SumRange)
            End With
        End If
    Next Cell
    GoTo bm_Next
bm_NoSheet:
    If Err.Number = 9 Then
        With Worksheets.Add(after:=Sheets(Sheets.Count))
            .Name = Sheet.Value
        End With
        Resume
    End If
bm_Next:
Next Sheet
但是,我不认为这是你想要的。 <filter string="Today" domain="[('date_order','=',datetime.now())]"/> date_order字段。这只会选择当前日期和时间的订单(所以不是今天的所有订单)。

以下是datetime字段上正确“今日”过滤器的示例(基于datetime模块中的stock.move.search视图):

stock

基本上<filter string="Today" domain="[('date_order','&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0))), ('date_order','&lt;=', datetime.datetime.combine(context_today(), datetime.time(23,59,59)))]"/> 必须大于或等于当天(00:00:00)的开头,但小于或等于当天结束时(23:59:59)。< / p>

答案 1 :(得分:0)

通过在过滤器域中应用波纹管条件,您可以轻松获取今天的记录。简单而简短。

<filter string="Today Orders" domain="[('date_order', '=', datetime.datetime.now().strftime('%Y-%m-%d'))]"/> 

它将返回具有今天订购日期的所有记录。