业务场景
以采购订单中的采购进价为例,一般产品经理在需求文档中就是写“在新增、编辑中有个字段叫采购进价可手动输入,在详情页中不可编辑或者再写“保留3位小数点”,于是开发测试常常会问以下问题。
-
当用户输入超过3位小数点时怎样处理
-
当用户输入低于2位小数点时怎样处理
-
允许用户输入的最大、最小值是多少、默认值是多少
-
数据库中保留几位小数点
这时产品经理开始临时思考这些问题或者直接说“这不是业务问题,你自己看着办”。当仓库收货单、配送单也用到采购进价字段时,开发又会问同样的问题,这时产品经理一般会思考“在采购进价那不是回答了吗,怎么又来问”。
这样可能就导致同一个数字类字段在不同业务模块中不同定义规范,或者不同数字类字段没有统一的定义规范,也就是比较乱。如果是做wms、erp、tms特别是saas产品以这样的方式去做,那就相当于在系统上临时贴膏药,搞的系统没有标准,那么如何才能合理地解决此问题呢?
方案概述
先对这类数字字段进行分类,然后抽象出“最小长度、最大长度、存储长度、是否抹零、超出取值、超出最小值、超出最大值”这七个属性用来定义规范,最后当业务模块中定义这类字段时调用此规范就行,具体如下。
属性规范
字段类型
-
价格类:业务单据中的进价、单价、成本等。
-
金额类:业务单据中的库存金额、销售金额、毛利额、利润额、付款金额、金额合计等。
-
数字(小数)类:库存表或者业务单据中允许小数的库存数量、预留数量、配送数量、收货数量、温度、数量合计等。
-
数字(整数)类:需要以整数计算的天数、人数等。
-
数字(百分比):包含百分比的折率、税率、权重等。
字段属性
-
最小长度:允许用户输入的最小小数位数
-
最大长度:允许用户输入的最大小数位数
-
存储长度:数据库中存储的小数位数
-
是否抹零:小数点位数在【最小长度,最大长度】之间 且 尾部带0,0是否抹掉
-
超出取值:小数点位数超出最大位数是用四舍五入、向上取整、还是 向下取整
-
超出最小值:是给提示 还是 直接取最小值
-
超出最大值:是给提示 还是 直接取最大值
规范举例
(仅做演示用,假设最小值是1,最大值是999)
业务案例
在本篇中我只是写了做B端产品中特别小的一个逻辑,想借此说明做B端产品特别是saas产品一定要抱着工匠之心,以严谨的逻辑和实事求是的态度才能做好,不是那么随便的,不是那么随意的。
我是中杰,做了6年B端产品经理,曾经为了做一个功能冥思苦想,我当时多么希望能有相关的竞品借鉴或老司机分享。如今我愿意把曾经做的wms、erp 中的需求设计分享出来,以供需要的人借鉴参考。因此我写了本书《B端产品设计实战 wms是怎样建成的》,也有一个社群里头有做wms、tms、erp的产品、开发、设计、实施。
无论你是想买书、和我交流需求、或者加入社群都可以加我微信。
本文来自中杰,本文观点不代表 PmTemple 立场,转载请联系原作者。原文链接: