1 日结介绍
RMIS 第5章 · 系统核心批处理流程
系统日结是对当日全部业务数据(销售、补货、进货、退货、调拨、配送、盘点、报损、生鲜加工等)进行数据计算汇总的过程。它产生商品、部门、分类、机构、品牌等维度的进销存数据,同时对当天商品出货进行批次勾对,计算供应商进销存。
日结总过程:
-- 日结主过程
Ups_day_sum
-- 全批次系统自动调用
ups_batch_day_sum
Ups_day_sum
-- 全批次系统自动调用
ups_batch_day_sum
注意事项:
1. 晚上22点后才能开始日结,防止门店尚未结束营业
2. 凌晨2点之前的销售统计到前一天,受参数
3. 每日结的子过程通过
4. 日结期间需停止一切系统业务操作,避免数据异常
1. 晚上22点后才能开始日结,防止门店尚未结束营业
2. 凌晨2点之前的销售统计到前一天,受参数
每天几点之前的销售算到前一天 控制(新版默认值改为0)3. 每日结的子过程通过
ups_sd_status 写入 tb_sum_status 表,可由此表查看日结执行情况4. 日结期间需停止一切系统业务操作,避免数据异常
2 日结流程总览
RMIS 第5章 · 六大环节顺序执行
日结按以下顺序依次执行,各环节之间存在先后依赖关系,不能随意调整顺序:
批次勾对
→
进销存处理
→
基础信息变动
→
日结后业务处理
→
辅助结算
→
卡日结
| 环节 | 核心内容 | 涉及存储过程 |
|---|---|---|
| 批次勾对 | 延迟出货勾对、销售勾对、处理销售库存 | ups_batch_delayed, ups_d_batch_sale, ups_d_sale_write |
| 进销存处理 | 商品进销存、供应商全批次、供应商商品结算、供应商日结、供应商损失 | ups_d_gds, ups_d_batch_GDS_A, ups_d_gds_provider, ups_d_provider |
| 基础信息变动 | 变价单/商品信息变更单/分店信息/季节性/状态变更生效 | ups_d_gdsinfo_change_bill, ups_d_set_gds_pt_cost |
| 日结后业务 | 财务月定义、库存上下限、七日销量、ABC分类、自动补货 | ups_d_create_month_def, ups_d_set_store_limit, ups_d_set_abc |
| 辅助结算 | 周/月结算、付款方式统计、时段统计、收银员/售货员统计 | ups_d_sale_supp, ups_d_period |
| 卡日结 | 会员卡消费、积分计算、升降级、卡进销存、卡信息变更 | ups_d_card |
3 批次勾对过程
RMIS 第5章 · 出货成本计算核心
(1) 延时出货批次勾对 — 过程名:ups_batch_delayed
- 按日期、机构执行,默认所有机构,实际调用
ups_batch_delayed_by_store - 取数来源:
tb_batch_out表中c_out_type = '延迟%'且c_status = '尚未勾对'的记录 - 处理销售产生的虚拟供应商出货与延时出货的成本差,计入
tb_o_sg销售流水表
(2) 全批次销售勾对 — 过程名:ups_d_batch_sale
- 仅当参数
是否启用全批次管理 = 是时执行 - 通过
up_insert_tb_o_sg_ForSum把销售流水写入tb_o_sg_ForSum快照表 - 调用
up_batch_bill_out '销售'执行销售勾对,产生Tb_batch_a,Tb_batch_out记录 - 更新
tb_o_sg.c_pt_cost(销售成本)—— 也就是说,当天看到的流水成本,日结后会再次更新
(3) 处理销售库存 — 过程名:ups_d_sale_write
- 每晚从库存中扣减销售数量,更新
tb_gdsstore - 作废/初始信息商品也需处理销售,处理完后再恢复商品状态
4 进销存处理过程
RMIS 第5章 · 多维度进销存数据生成
(1) 商品进销存当日结算 — ups_d_gds
- 通过
up_get_gds_subcode获取进销存明细 → 写入临时表 →tbs_d_gds_forsum快照 →tbs_d_gds - 然后按部门、机构、品牌厅、分类汇总,分别写入
tbs_d_adno,tbs_d_store,tbs_d_trademark,tbs_d_gdsclass等表 - 非自营商品只处理库存数量,不处理金额
- 受参数控制是否生成品牌表
tbs_d_brand;是否上传总部/供应链
(2) 供应商全批次日结 — ups_d_batch_GDS_A
- 数据来源:
tb_batch_a→ 临时表 →tbs_b_d_gds_provider_a,tbs_b_d_provider_a - 生成辅助表:
tbs_b_d_gds_provider_a_supp,tbs_d_provider_sale_supp(按类型区分储值卡、银行卡消费额等) - 失败时写入
tb_log_err:"供应商全批次日结失败"
(3) 供应商商品结算 — ups_d_gds_provider
- 必须先完成供应商全批次日结;只计算自营商品
- 从业务单据
tb_o_i/tb_o_ig/tb_o_f/tb_o_fg及日结表取数
5 基础信息变动处理
RMIS 第5章 · 单据生效与商品状态变更
(1) 生效商品信息变更单 — ups_d_gdsinfo_change_bill
- 查询已审核且当天需生效的变更单
tb_o_gdsinfo_change - 验证箱码对应单品是否修改 → 若修改则作废原加工配方单、重新生成并审核
- 更新商品主档
tb_gds;若修改了单位/规格,自动同步含量为1的条码单位和规格 - 状态变更为"已生效"
(2) 设置商品成本价 — ups_d_set_gds_pt_cost
- 商品最低价 = 成本价时,更新
tb_gdsstore.c_price_min = c_pt_cost - 集中式下根据参数
总部商品成本价设置规则取值:分店平均/最高/最低/最多成本价 - 建议选择"分店最多成本价",用门店中最多的成本价更新总部商品主档
6 日结后业务数据处理
RMIS 第5章 · DMS、ABC、库存上下限等自动计算
(1) 生成财务月定义 — ups_d_create_month_def
- 受参数
财务月份开始日期控制:一般选"0"(自然月)或"26"(上月26日到本月25日) - 标准库中
tb_month_def初始为空,日结时生成2年数据 - 同时生成机构日志表
tb_store_diary - 此参数上线前须确定,后期不可调整
(2) 计算库存上下限 — ups_d_set_store_limit
- 必须在计算完DMS后执行
- 可按参数
库存上限计算方法[店代码]设置每个店的规则 - 先生成临时表 → 更新
tb_gdsstore的c_n_min,c_n_max,c_n_min_order
(3) 设置ABC分类 — ups_d_set_abc
- 受参数
日结时是否生成商品ABC统计控制 - 按品类编码长度维度计算,支持分店/分区总部;计算周期按周或月
- 默认按销售量(毛利)计算;A类占80%、B类15%、C类5%
- 配送中心ABC按配送出货量或配送金额计算
7 辅助结算与时段统计
RMIS 第5章 · 付款方式、时段、收银员等维度统计
按付款方式统计 — ups_d_sale_supp
- 从流水快照
tb_o_sg_ForSum取数,结合tb_o_sm计算 - 按机构、部门、分类、品牌厅、品牌维度生成各付款方式汇总
销售时段统计 — ups_d_period
- 参数控制开关和统计间隔(默认60分钟)
- 指标包括:来客数、销售额、客单价、毛利、收银台数、收银人数
- 用于分析销售峰值、安排员工班次、调整销售策略
8 日结工具
RMIS 第5章 · 并行日结管理平台
为什么需要日结工具?日结是几十个存储过程的顺序执行,数据量大时一次日结需要数小时。日结工具的核心价值是按机构并行执行子过程,大幅缩短日结时间。
日结工具三大模块:
- 日结执行模块:按序调用所有日结存储过程
- 日结作业模块:通过TaskServer每天定时调用
- 日结管理模块:提供界面配置、查看状态和日志、控制启停
日结状态机:
未执行 → 执行中 → 执行成功
↘ 执行失败(可再次启动)
↘ 已中止(人为干预或节点失败触发)
↘ 执行失败(可再次启动)
↘ 已中止(人为干预或节点失败触发)
门店分组策略:
- 按门店数据量大小分组,每组均衡分配;大店组门店少、小店组门店多
- 建议不超过5组,避免并行压力过大
- 一个门店只能属于一个分组;未分组门店自动归为一组
重点注意事项:
1. 日结工具和数据库作业两种模式不能随意切换;启用日结工具后,不可再执行
2. 定时任务建议设置为重复执行而非一天一次,以便异常后自动补偿
3. 新项目须在产生业务数据前启用日结工具;老项目切换必须确保前一日所有步骤全部执行成功
4. 参数
1. 日结工具和数据库作业两种模式不能随意切换;启用日结工具后,不可再执行
ups_day_sum2. 定时任务建议设置为重复执行而非一天一次,以便异常后自动补偿
3. 新项目须在产生业务数据前启用日结工具;老项目切换必须确保前一日所有步骤全部执行成功
4. 参数
日结执行者 须设为"日结工具"
9 日结工具短信报警
RMIS 第5章 · 日结异常自动通知
日结报警程序在日结过程中检查进度,发现异常时向预设手机号发送短信。
- 前提:已部署TaskServer、已开通示例ERP系统短信平台
- 建议时段:凌晨2点到上午9点,每30分钟检查一次
- 手机号配置:参数
定时作业预警通知短信列表,多个号码用英文逗号分隔 - 日志表:
tb_dailySettlement_alert_log - 所需文件:
EnjoyDtsClientPluginForDailySettlementAlert.dll+Enjoy.dll+Enjoy.SMS.dll+Enjoy.WebService.dll+Newtonsoft.Json.dll