MIS货物拆包销售的问题
就是不能拆包装销售。比如一箱香烟要一包包的卖,一箱里面有50条,一条里面有10包,而是,要一包一包的卖。
解决方案:
入库的时候,记录下包装总量(自动改成数量×50),再附加2条说明字段,第一条说明是一包,第二条说明现状态没有被拆封(包装×1),且这个包装有自己的编号。
出售的时候,记录下包装销售(自动改成数量×50),再附加2条说明字段(包装×1)。一般情况下,只需要统计明细,但有时候也要统计包装数量,这样两不误。
总结:
1. 无论入库还是出售,关键还是主要记录明细。但明细相互有些区别:
属于套餐里的明细要标记为S,套餐本身标记为M,普通商品不标记。一个套餐要插入至少2次:一次是套餐本身的标记,另一次是所有的明细。
这样既可以完全按明细统计,也可以按销售项目来统计。
2. 注意,套餐里每个货物的TVA不一样,而不能是统一的TVA,所以交税的时候,必须根据明细来统计。
(这样说来,套餐入库的时候必须插入每一样东西的明细)
3. 这样一包一包卖没有问题。如果被拆箱了,那么不再有包装×1字段(要跑到进货处修改状态),而只能是散货供应。
总货物表:
1. 原因:我感觉使用触发器维护一个总货物表还是有必要的,而不是单纯的进货、出货表,然后联合统计。
因为总货物表可以表明现有的物资数量,这样才可以有选择的卖。否则根本就是瞎卖。
2. 产生规则:1)每次进货的时候生成,但是对于套餐,既要记录下包装的存货数量,也要记下存货的明细数量。
总货物表的id字段与商品表一致。
如果销售的是包装,那么既要让包装数量-1,也要让相应的明细数量减少。
多给一个按钮,表示拆箱卖货。但是餐馆卖套餐,如果可以卖,那么一定是已经配好了,所以不存在拆箱的问题。
2)如果为简化问题,那么每次也可以当场统计存货,但是速度慢。。。
最后总结:
1. 货物表最好有,否则就是瞎卖。某包装被拆了分开要卖,那么要用不同出货的按钮。
2. 入库的时候,既要入库套餐,也要入库套餐明细(虽然餐馆没有这个问题)
3. 出库的时候,既要出库套餐,也要出库套餐明细。这样各种统计都可以正确达到效果。且即使货物明细TVA不同也绝对不会出错。
MIS货物拆包销售的问题的更多相关文章
- C语言实现商品销售系统
商品销售系统 #include<stdio.h> //头文件 #include<string.h> //头文件 #include<stdlib.h> //头文件 # ...
- SAP中寄售处理
寄售分两种: 1, 供应商提供货物,我们销售 2,我们提供货物,寄售商销售 [@more@] 1, 供应商提供货物,我们销售 创建PO,购买寄售货物,categories维护成K,然后收货即可. 2, ...
- Nginx 引入线程池,提升 9 倍性能
转载:http://blog.csdn.net/wuliusir/article/details/50760357 众所周知,NGINX 采用异步.事件驱动的方式处理连接.意味着无需对每个请求创建专门 ...
- 进项税额_MBA
进项税额 目录 [显示] [编辑] 什么是进项税额 进项税额是指纳税人购进货物或应税劳务所支付或者承担的增值税税额.所说购进货物或应税劳务包括外购(含进口)货物或应税劳务.以物易物换入货物.抵偿债 ...
- SQL Server 查询性能优化——创建索引原则(二)
三:索引的建立原则 一般来说,建立索引要看数据使用的场景,换句话来说哪些访问数据的SQL语句是常用的,而这些语句是否因为缺少索引(也有可能是索引过多)变的效率低下.但绝不是所有的SQL语句都要建立索引 ...
- SQL Server 查询性能优化——创建索引原则
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...
- python-day31(正式学习)
一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...
- Python核心技术与实战——二十|assert的合理利用
我们平时在看代码的时候,或多或少会看到过assert的存在,并且在有些code review也可以通过增加assert来使代码更加健壮.但是即便如此,assert还是很容易被人忽略,可是这个很不起眼的 ...
- 网络架构,七层协议,三次握手四次挥手,socket套接字简单编程
一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...
随机推荐
- Go快速入门
整理一些Go最基本的语法,旨在快速入门. 最简单的hello world package main import "fmt" func main() { fmt.Println(& ...
- day5:协成函数与import、for...import...的使用
一.协程函数 1.把函数的执行结果封装好__iter__和__next__,即得到一个迭代器2.与return功能类似,都可以返回值,但不同的是,return只能返回一次值,而yield可以返回多次值 ...
- weex-iOS集成
weex-iOS集成 weex只是刚刚起步,还存在一些bug,有些功能还有待完善和提高.但是其使用起来还是可以节省些时间. 这里我们说说如何把weex集成到我们的iOS项目中 1. 下载weex源代码 ...
- CentOS6.5下Apache防止目录遍历
原先以为CentOS下的Apache应该是默认关闭目录遍历的... 然后拿自己网站试了一下发现想太多...汗 就去改下Apache的配置 首先Apache的配置文件在 /etc/httpd/conf/ ...
- Unity3D避免代码被反编译
1.Unity编译后最终会将代码编译在dll里面,无论是ios还是Android解开包以后都可以拿到dll,路径在Data/Managed/Assembly-CSharp.dll 2.IOS其实不用做 ...
- wget命令 -c断点续传
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080 下载文件在指定位置并进行重命名 -O file - ...
- nodejs系列笔记01---Buffer
纯JavaScript无法处理二进制数据,buffer就是用来处理二进制数据的 原始数据保存在buffer实例中,一个buffer实例类似于数组.buffer的大小在建立时指定的不可更改. buffe ...
- 海康网络摄像机调用SDK解码Java版
两个回调函数: FRealDataCallBack 实现预览回调数据 DecCallBack 解码回调函数 在HCNetSDK.java补充相关函数和结构声明 //播放库函数声明,PlayCtrl.d ...
- GridLayout 可使容器中的各个组件呈网格状布局
GridLayout 可使容器中的各个组件呈网格状布局,平局占据容器的空间,即使容器的大小发生变化,每个组件还是平均占据容器的空间. 和FlowLayout一样,GridLayout也是按照从上到下, ...
- vs的快捷键包含部分代码的自动生成
VS2010 快捷键 全屏:Shift+Alt+Enter注释选定内容:Ctrl+E+C/Crtr+E+U代码格式化:ctrl+E+F VS2008 使用小技巧——快捷键1. 怎样调整代码排版的格式? ...