一、

我觉得这个问题可以从微软关于货币的字段类型得到一些启发。微软的货币型字段其实和数字的一个区别就是可以按照不同国家的币种进行数值转换。

你看,不管是什么方式,都作为一个属性来看待,但是这个属性值可以不一样,而且可以用一个函数,根据不同的参数进行转化。

1 用一个表保存所有的单位(不管是计价还是计量,还是其他的单位)

2 再用一个表保存不同单位之间的换算关系(如果有必要的话,其实是否可以用一个全局常量基本确定下来?)

3 然后用一个函数去搞定,什么地方需要不一样的数据你就传入不同的参数好了。

这样做的好处是通用性很强,维护性好,扩展性好。

二、

单位太多的解决方案:

建立一个“单位换算表”,其中一个是主计量单位,其它的单位是换算到该单位的换算率,

再建立一个“品种档案”保存“采购主计量单位”,“生产主计量单位”,“BOM主计量单位”,各模块的单据中采用各自的主计量单位进行出入库或者使用的单位,

做帐表统计和查询的时候按照换算关系进行运算。

在用户想做查询的时候,系统可以自动按照是属于哪个部门,然后把单位换算到该部门所

对应的主计量单位后再进行运算,并显示出来。

三、

计量单位:至少支持销售,生产计量,最好采购也支持,主要看你什么行业了;有时同一个计量单位间的换算是不一样的,比如:两种针剂,第一种 1盒 = 10支;地二种 1盒 = 5支;这样计量单位换算关系要把物料编号包括进去;而且换算关系是不能随便改动的,否则帐本对不起来很正常

四、

1、可以在用户输入时弹出一个下拉选框,例如输入一个“加”就把所有“加”开头的都列出来,接着输了“拿大”,就把所有“加拿大”开头的列出来,供用户选择。这样对用户来说也方便快捷。

2、原料编号可以做成字符串,随用户怎么定义,只要保证不重复就行了。但是千万不要把原料编号作为关键字,唯一性并不是关键字的充分条件,还必须具有不变性。比如说,你的系统已经使用一段时间,在库存、工艺等表里都是使用原料编号,突然用户觉得现有的编号体系不好,想改一改,你就会头痛了。就算不是大改,平常的增加删除,要是不注意,都会弄出很多问题。比如说,通常编号总是按顺序的,用户删除一种原料后,再增加新原料时,可能会使用原先被删除的编号,但是如果原先删除该原料编号时仓库里还有这种原料,而你程序疏忽了,没做检查,那你现在就死定了,而且这种错误让你摸不着头绪。所以原料还得有个系统编号,这是一个内部的流水号,对用户不可见的,这个才是关键字

五、肯定可以支持不同的单位呀。而且在单位之间还可以互相转换呢!
每一种物料都一有一个基本单位,其余可能是什么转换单位或辅助单位之类的,每个转换单位或辅助单位都与基本单位有一个转换比率。
但有一点就是你必须注意,与库存、成本等打交道的资料都应该要用基本单位进行计算,否则出错了还不知道错在哪里。
关于单位的问题也是一个比较难以处理的问题,有的用户在开了单之后,还要求对单位进行自由转换,也就是你所说的那样。
不过我在处理这些问题还是没有遇到什么大问题,因为如果你的数据库设计的好的话,这些问题还是比较好处理的。

六、我一点也不觉得你的客户的要求离谱啊。我以前做的系统就是物料编码是20位的,物料名称30位,物料规格30位,和你客户的要求一样(不会他们以前用的是我以前公司的产品吧);而且也支持多单位,计量单位和计价单位可以不同。我们的做法是:在物料表中共有3个单位,这3个单位中有一个是基本单位,另外两个是换算单位,并在换算单位和基本单位之间定义换算率(换算率还包括固定换算率和变动换算率的区分),在库存系统中包括两个单位:基本单位(小单位)和一个换算单位(大单位)。比如说物料A,可在库存系统中定义他的基本单位是‘只’,换算单位是‘盒’,在定义它们的换算率:10只/盒,这样在库存进、出料的时候就可以发X盒Y只,而不需换算成只来做;其他的系统也可支持两个单位,一个作为基本单位(不一定和库存的基本单位一致),另一个是换算单位。例如在采购系统中,对物料A的采购的计价单位是‘盒’,计价的大单位可以是‘箱’,10盒/箱。采购时就可以用N箱M盒来采购,付款依据盒数来付,销售系统的定义的方法也是一样

进销存系统中的多计量单位相关推荐

  1. 中小型企业常用的进销存系统有哪些?

    俗话说,兵贵神速.在这个快节奏时代,很多企业都用进销存系统替代手工作业和纸质办公,将销售.采购.仓库.财务等各部门连成一个整体,最大限度提升工作效率和企业效益.但很多初次接触,或准备上进销存系统的老板 ...

  2. php收银系统如何连接pos机,如何实现POS机与进销存系统相连接_店铺ERP_企业服务汇...

    编者按:在零售行业内进销存软件的应用尤为广泛,POS机作为零售行业常用的收款方式,许多企业在问如何让POS机与已有的零售进销存系统相关联?能否在POS收款完成后将销售单与库存进行同步从而实现对零售进销 ...

  3. 进销存系统的一些事儿

    List与Set的区别: List有序[有索引].Set无序[没有索引.TreeSet底层使用二叉树结构实现,所以有序] List允许数据重复.Set不允许重复 实际开发中可以使用Set集合来去除重复 ...

  4. 进销存系统--ERP软件常用货物计量单位汇总

    今天在建进销存系统时,突然想不起来货物的销售计量单位了,于是结合常用的一些货物销售汇总了一些销售计量单位,总共70多种,分享给大家!! 把 筒 支 盒 套 箱 张 包 个 板 杯 本 部 册 层 床 ...

  5. 医疗:ERP进销存系统(8)

    进销存系统是为了对企业生产经营中进货.出货.批发销售.付款等进行全程进行(从接获订单合同开始,进入物料采购.入库.领用到产品完工入库.交货.回收货款.支付原材料款等)跟踪(每一步都提供详尽准确的数据) ...

  6. PyMySQL设计-进销存系统-完整版-

    目录 前缀 Main color Start 前缀 将3个文件保存好之后,放在同一个文件夹中,运行start即可~文件名最好不要修改 Main import pymysql import openpy ...

  7. 进销存系统_系统介绍核心模块划分功能流程介绍(1)

    一.学习目标 二.进销存系统简介 进销存系统是为了对企业生产经营中进货.出货.批发销售.付款等全程进行(从接获订单合同开始.进入物料采购.入库.领用到产品完工入库.交货.回收货款.支付原材料款等)跟踪 ...

  8. 开源依旧:再次分享一个进销存系统

    开篇 我之前发过一篇博文<两天完成一个小型工程报价系统(三层架构)>,不少朋友向我要源码学习,后来久而久之忘记回复了.今天我再分享一个进销存系统,只为学习,没有复杂的框架和设计模式,有的是 ...

  9. 手机进销存系统/供应链管理系统

    花了将近两个月的时间学习了一个企业级进销存项目,已经结束了两周多,现在终于有时间来对这个项目的学习做个总结了! 一.首先介绍下这个项目 (注:本人目前大三,专业为信息管理,与编程沾边不多.而我对编程很 ...

最新文章

  1. FIR.im Weekly - 上周微博热转资源精选
  2. 嵌入式linux hdmi分辨率,【Firefly3399Pro】rk3399pro在Framebuffer状态命令行模式中强制HDMI输出固定分辨率...
  3. 苹果回应“远程扫描用户相册”:声明被广泛误解,未设后门,功能仅美国可用...
  4. FreeSWITCH 学习笔记(一)
  5. 遍历DataTable内存数据的三种方法性能对比
  6. Android给文档加水印,Android文档水印之PDF水印
  7. Android中集成第三方库的方法和问题
  8. 知识,因为美丽而传播
  9. 驱动加载工具 DriverLoader 1.0
  10. 算法导论第三版 第30章习题答案
  11. 中国未来家庭STEAM教育趋势研究报告
  12. Nature子刊:高通量蛋白质组学方法学综述
  13. CCNA:IOS设备管理配置
  14. PTA——7-4 秋天的第一杯奶茶
  15. 安装算量软件哪个速度快效率高?
  16. 电脑鸿蒙系统怎么连接无线网络,三星笔记本电脑怎么连接无线网wifi
  17. github开源:企业级应用快速开发框架CIIP WEB+WIN+移动端
  18. c语言中static作用
  19. 针对Vmware打开BIOS中VT虚拟化相关后仍然报错
  20. qt调试android程序崩溃,使用qt5开发的Android应用程序合并了AWS C++库崩溃

热门文章

  1. RabbitMQ(四):mandatory、immediate、备份交换器
  2. Lua全局变量代码规范
  3. LeetCode412_412. Fizz Buzz
  4. 面试问题:发一个随机红包,100块钱给10个人。每个人最多12块钱,最少6块钱。怎么分?
  5. 中国漂粉精市场深度调查及战略研究报告(2022版)
  6. 我与chatGPT的谈话从三个问题开始
  7. 计算机英语教案模板,英语教案模板范文
  8. OpenGL---GLUT教程(五) GLUT键盘控制
  9. JAVA生成二维码链接
  10. 南邮 OJ 1652 翻转棋