动态配置表问题

求助:图1的“应回款时间” 如何能根据图2里的“应回款时间”来取? 。收到发票几日内有关的直接取过来中文即可,其它的比如:次月18日, 要根据“创建日期”那列的值来计算出来。 比如创建日期是9月,那回款时间就是10.18日。  

(图1的 “二级部门 ,图2=“门店””)

FineReport 嗨工真的L 发布于 2025-10-14 15:33
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
嗨工真的LLv3初级互助
发布于2025-10-14 18:43

SWITCH(C4,

  "8306", "收到发票5个工作日内",

  "8122", "收到发票30个工作日内",

  "8300", "收到发票15个工作日内",

  

  "8102", 

    IF(Month(i4) == 12,  

       DATE(Year(i4)+1, 1, 28), 

       DATE(Year(i4), Month(i4)+1, 28)

    ),

  "8214", 

    IF(Month(i4) == 12, 

       DATE(Year(i4)+1, 1, 20), 

       DATE(Year(i4), Month(i4)+1, 20)

    ),

  "8114",

    DATE(Year(i4), Month(i4), 18),

  "8305",  

    DATE(Year(i4), Month(i4), 15),

  "8199", 

    IF(Month(i4) == 12, 

       DATE(Year(i4)+1, 1, 28), 

       DATE(Year(i4), Month(i4)+1, 28)

    ),

  "8193",  

    IF(Month(i4) == 12, 

       DATE(Year(i4)+1, 1, 20), 

       DATE(Year(i4), Month(i4)+1, 20)

    ),  

  "8200",  

    IF(Month(i4) == 12, 

       DATE(Year(i4)+1, 1, 20), 

       DATE(Year(i4), Month(i4)+1, 20)

    ),  

  "8308", 

    DATE(Year(i4), Month(i4), 15),

  "未定义回款规则"  

)

最佳回答
0
华莉星宸Lv7专家互助
发布于2025-10-14 15:38

你这个感觉没有什么具体的逻辑啊

image.png

  • 华莉星宸 华莉星宸 回复 嗨工真的L(提问者) 你如创建日期是10月22日,廊坊明珠的怎么统计?
    2025-10-14 15:45 
  • 华莉星宸 华莉星宸 回复 嗨工真的L(提问者) 就是当月和次月需要判断一下,直接写公式判断
    2025-10-14 16:24 
最佳回答
0
技术支持--哈哈Lv4初级互助
发布于2025-10-14 15:41

实现「应回款时间」自动匹配和计算的方法如下:

1. 数据匹配逻辑
  • 直接取中文值:当回款规则为「收到发票几日内」时,直接从图2对应字段取值

  • 日期计算:当规则为「次月18日」时,需基于「创建日期」列计算(如创建日期9月→回款时间10月18日)

2. 实现步骤2.1 数据集准备

在SQL查询中添加条件判断,区分两种回款规则:


SELECT

门店 AS 二级部门,

CASE

WHEN 应回款规则 LIKE '%收到发票%' THEN 应回款规则  -- 直接取中文

WHEN 应回款规则 = '次月18日' THEN

STRFTIME('%Y-%m', DATE(创建日期, '+1 month')) || '-18'  -- 计算次月18日

END AS 应回款时间

FROM 数据表名

示例SQL

2.2 公式计算(备用方案)

若需在报表单元格中计算,使用FineReport公式:


IF(LEFT(应回款规则,6)="收到发票", 应回款规则,

MONTH(创建日期)+1 & "月18日"  -- 次月逻辑

)

日期函数示例

3. 注意事项
  • 确保「创建日期」字段为规范的日期格式

  • 若需跨年计算(如12月→次年1月),需额外处理年份:

    STRFTIME('%Y', DATE(创建日期, '+1 month')) || '-01-18'

  • 2关注人数
  • 42浏览人数
  • 最后回答于:2025-10-14 18:43
    请选择关闭问题的原因
    确定 取消
    返回顶部