一、

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

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

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. C#毕业设计——基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码)——进销存管理系统

    基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver药店进销存管理系统设计与实现,文章末尾 ...

  3. java毕业设计—— 基于java+JPA+jsp的进销存管理系统设计与实现(毕业论文+程序源码)——进销存管理系统

    基于java+JPA+jsp的进销存管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JPA+jsp的进销存管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  4. 进销存管理系统的设计与实现(spring;springMVC;spring boot)

    目 录 第一章 绪论 1 1.1 研究背景和意义 1 1.2 研究目标 1 1.3 论文结构 1 1.4 本章小结 2 第二章 相关技术与方法 3 2.1 架构概述 3 2.2 关键技术简介 3 2. ...

  5. 用低代码如何搭建一套进销存管理系统(采购、销售、库存一体化管理)?

    库房进货.提货.备货混乱,想纸笔记录,会发现工作量太大:改用Excel,会发现数据难同步,数据丢失风险大. 这里提供一个进销存管理模板,针对上述问题,可以用此模板来轻松解决. 模板直达>> ...

  6. ERP与进销存、财务软件的区别

    近两年,ERP理论在我国企业界迅速传播,人们希望通过导入这种新的管理思想以促使企业的管理发生根本的转变.国外ERP厂商SAP.SSA.Oracle.JDE等进入中国市场后,供应链的概念流行起来,我国有 ...

  7. 企业进销存管理系统 email_进销存财务软件选它就对了!

    在选择或者购买进销存财务软件时,小编觉得不必盲目跟风,选择广告中经常出现的大品牌软件.目前软件市场上有许多很完善的.性价比非常高的进销存软件了.对于每个客户都非常关注,进销存财务软件系统会根据用户的反 ...

  8. 实时进销存如何帮助企业从销售、采购到库存实现一体化管理?

    实时进销存的出现,颠覆了传统进销存的概念,能够实时解决企业进货.销售.库存等管理难题,打通从销售.订单.供应商.采购.入库.盘点.出库.发货.收款.付款等整个流程,通过实时数据跟踪销售订单.控制采购价 ...

  9. 知识:什么是进销存软件系统?

    进销存管理软件负责跟踪管理企业生产经营中的原料.货物.资金,从物料采购.入库.领用到产品生产后入库.交货.回款等,每一步都有进销存管理软件记录详细数据.进销存软件帮助企业准确管理采购进货.存货.分销. ...

最新文章

  1. mysql 一分钟内_MySQL语句需要超过一分钟才能执行
  2. MongoDB中如何优雅地删除大量数据
  3. linux select read阻塞_linux下的IO模型详解
  4. mybatis多对多的问题汇总
  5. 学点数学(5)--线性规划对偶形式的理解
  6. 比赛-暑假训练赛1 (26 Jul, 2018)
  7. The system is running in low-graphics mode
  8. 云栖社区 mysql_mysql
  9. 如何查看android虚拟机的目录及文件
  10. 微信小程序个人笔记!
  11. 前端HTML学习之案例--学生信息表
  12. 介绍几个巨佬给大家认识
  13. Coinbase与华尔街的内幕故事
  14. 《设计模式修炼真经》15 — 模板方法模式
  15. 局域网联机_七日杀v17.2(B27)版/支持局域网联机/多项修改器/初始存档/局域网联机教程...
  16. bash: setenv: command not found
  17. webservice 本地测试把localhost 改成主机ip
  18. 迷你世界php源码,我的世界被迷你世界抄袭已实锤,源代码曝光相似程度达90%[多图]...
  19. 音频信号噪声隔离(一)
  20. 区块链技术现在及未来应用

热门文章

  1. OpenCV在浏览器中运行深度网络
  2. OpenCV创建校准图案calibration pattern
  3. Qt Creator管理C ++后端对象
  4. Qt Creator创建Qt Quick项目
  5. OpenGL简单镶嵌
  6. C++对C的加强之变量检测增强
  7. C语言中时间的基本用法
  8. C++ 获取文件大小
  9. android 实现打开相册
  10. Oracle中删除用户和表空间的常见问题(比如:ORA-01940无法删除当前已连接用户的解决方案)