全部文档
文档中心数据流3.0案例库0302-凭证冲销

0302-凭证冲销

用于存储凭证头行数据。



用于展示凭证清单、凭证明细。

  1. 在开始节点配置启动参数{"calendar":"202603"},用于指定当前期间,后续需要用此参数找上月需冲销凭证、生成本月凭证

  2. 无需定时触发,只要手动触发即可

根据启动参数的calendar得到上月:

  • 当月是202601,上月是202512

  • 当月是202612,上月是202611

可借助AI代码助手编写,或自行AI对应的python写法,参考代码如下:

Copy

import pandas as pd
from datetime import datetime
from dateutil.relativedelta import relativedelta

def get_previous_month(calendar_str: str) -> str:
    """
    根据YYYYMM格式的年月获取上个月的YYYYMM格式
    
    Args:
        calendar_str: YYYYMM格式的年月字符串
        
    Returns:
        YYYYMM格式的上个月年月字符串
    """
    # 解析字符串为日期对象(设置为该月的第一天)
    current_date = datetime.strptime(calendar_str, "%Y%m")

    # 计算上个月
    previous_date = current_date - relativedelta(months=1)

    # 格式化为YYYYMM
    return previous_date.strftime("%Y%m")

def main():
    # 从Pipeline.params获取calendar参数
    calendar_str = Pipeline.params.get("calendar")

    if not calendar_str:
        raise ValueError("未找到calendar参数")

    # 获取上个月
    previous_month = get_previous_month(calendar_str)

    return previous_month

# 调用主函数
result = main()
result




凭证头:



凭证行:同理,过滤条件可以点到头上的字段



以需冲销的凭证行为数据源。

用重命名实现借贷反向:



用左连接拼接头,得到大宽表:



  1. 记录和原凭证的关联关系:用列计算实现source_journal=journal_id

  2. 其他字段更新:用列计算实现journal_type='temp_reverse'journal_name='收入暂估冲销'calendar=Pipeline.params.calendar(在SQL中用预置变量需要先定义参数)



以上一步生成的凭证行为数据源,按journal_id去重,只保留凭证头需要的字段即可:



查找到新的头主键,丢弃旧的主键。



建议开启同一事务控制



按默认的同名匹配即可:



journal_entry一定要替换为新的!不然就插到旧的需冲销凭证里去了!



自定义一个执行后返回的响应内容,例如:



用于发起前序配置的数据流,同步执行后返回响应,再查询数据源以查看新生成的冲销凭证。



测试数据请自行点新增按钮,新造一条凭证。

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send