就是不能拆包装销售。比如一箱香烟要一包包的卖,一箱里面有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货物拆包销售的问题的更多相关文章

  1. C语言实现商品销售系统

    商品销售系统 #include<stdio.h> //头文件 #include<string.h> //头文件 #include<stdlib.h> //头文件 # ...

  2. SAP中寄售处理

    寄售分两种: 1, 供应商提供货物,我们销售 2,我们提供货物,寄售商销售 [@more@] 1, 供应商提供货物,我们销售 创建PO,购买寄售货物,categories维护成K,然后收货即可. 2, ...

  3. Nginx 引入线程池,提升 9 倍性能

    转载:http://blog.csdn.net/wuliusir/article/details/50760357 众所周知,NGINX 采用异步.事件驱动的方式处理连接.意味着无需对每个请求创建专门 ...

  4. 进项税额_MBA

    进项税额   目录 [显示] [编辑] 什么是进项税额 进项税额是指纳税人购进货物或应税劳务所支付或者承担的增值税税额.所说购进货物或应税劳务包括外购(含进口)货物或应税劳务.以物易物换入货物.抵偿债 ...

  5. SQL Server 查询性能优化——创建索引原则(二)

    三:索引的建立原则 一般来说,建立索引要看数据使用的场景,换句话来说哪些访问数据的SQL语句是常用的,而这些语句是否因为缺少索引(也有可能是索引过多)变的效率低下.但绝不是所有的SQL语句都要建立索引 ...

  6. SQL Server 查询性能优化——创建索引原则

    索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...

  7. python-day31(正式学习)

    一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...

  8. Python核心技术与实战——二十|assert的合理利用

    我们平时在看代码的时候,或多或少会看到过assert的存在,并且在有些code review也可以通过增加assert来使代码更加健壮.但是即便如此,assert还是很容易被人忽略,可是这个很不起眼的 ...

  9. 网络架构,七层协议,三次握手四次挥手,socket套接字简单编程

    一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...

随机推荐

  1. __attribute__机制介绍(转)

    转自 http://blog.csdn.net/ithomer/article/details/6566739 1. __attribute__ GNU C的一大特色(却不被初学者所知)就是__att ...

  2. builtroot make menuconfig流程

    本文主要介绍一下,buildroot(buildroot-2018.02.1)的make menuconfig.众所周知,在我们执行menuconfig时,会生成一个图形化界面,然后进行相关的配置.同 ...

  3. layui实现点击按钮添加行(方法渲染创建的table)

    / jquery实现的搜索功能 $('#search_btn').on('click',function(){ var txt=$('#inputValue').val(); var value=$( ...

  4. Windows管理多个java版本--解决'has value '1.8',but'1.7' is required'的方法

    公司考虑到代码的可持续维护性,要求全部使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8,导致eclisp在启动时报’has value ‘1.8’,but ...

  5. Elasticsearch分析聚合

    原文链接:http://blog.csdn.net/napoay/article/details/53484730

  6. .NET 4.0中的缓存功能

    # .NET 4.0中的缓存功能 .Net 4.0中有3种,System.Runtime.Caching,System.Web.Caching.Cache,Output.Cache.下面分别对这三者进 ...

  7. SonarQube 7.x 的安装使用 + 集成Maven 使用

    SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 下载地址:http://www.sonarqube.org/do ...

  8. [原创]OpenERP 7.0 打印PDF报表 中文 乱码问题的解决方案。

    网上的解决方案基本上以替换字体和安装上海先锋科技开发的软件包配置两种方案,替换字体的方案尝试了几次都么有成功,安装软件包的方案成功. 软件环境:Ubuntu Server 12.04 第一步:先到ht ...

  9. ubuntu qt5 error: Unknown module(s) in QT: webkitwidgets解决办法

    question: project-error-unknown-modules-in-qt-webkitwidgets-webkit os: ubuntu16.04 LTS-32bit qmake v ...

  10. ansible分发密钥

    http://www.361way.com/ansible-cfg/4401.html 修改host_key_checking(默认是check的):改为false,      host_key_ch ...