delete

JournalModel.delete(where)

凭证数据删除

提示

  • where 暂只支持凭证头表上的字段作为条件

参数

where (Union[str, Term, EmptyCriterion]) – 删除条件 (格式 可参考 数据表(DataTableMySQL)的条件格式)

示例

# 创建凭证组件元素对象
journal = JournalModel(element_name="ZHY_TEST_0613_02")
t = journal.table
# 删除数据的条件 (格式 可参考 数据表(DataTableMySQL)的条件格式,& 表示 and,| 表示 or)
where = (
    ((t.year == '2023') | (t.journal_id == 'head_main_id_202306080001'))
    &
    (t.entity.isin(['A','B']) | t.journal_id.like('head_main_id_202306080002%'))
)
# 调用删除方法
journal.delete(where)

将执行sql:(只需关注 where 后的条件)

DELETE h,l
FROM
    凭证头表 h left join 凭证行表 l on h.journal_id = l.journal_id
WHERE
    (h.`year`='2023' OR `h.journal_id`= 'head_main_id_202306080001')
    AND
    (h.`entity` IN ('A','B') OR h.`journal_id` LIKE 'head_main_id_202306080002%')
返回类型

CommonResultDTO