阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 6021|回复: 3

[推荐] 真正彻底删除千方百剂的红字单据

[复制链接]
  • TA的每日心情
    无聊
    2023-3-7 15:59
  • 签到天数: 200 天

    [LV.7]常住居民III

    发表于 2009-4-13 10:18:32 | 显示全部楼层 |阅读模式
    --==首先提醒大家先备份数据库,如果不懂SQL的朋友还请不要轻易尝试。==--
    --=========================================================--
    --=====================真正彻底删除红字单据====================--
    --=========================================================--
    QFBJ软件中在做删除的时候并未真正删除数据库表的记录,只是做了删除标记。
    以往使用的清除红字单据的方法
    delete from billindex where redword=1 --清除了经营历程(红字单的表头)
    update billindex set ifcheck='f' where redword='1' --隐藏了经营历程(红字单的表头)
    为了节约资源,我还是喜欢将无用的记录彻底删除。
    --=========================================================--
    --1----删除红字单据的销售单明细----------
    Delete SaleBill
    From SaleBill,billindex
    where SaleBill.billnumberId = billindex.billnumberId
    and billindex.redword = '1'
    --2----删除红字单据的出入库记录明细------
    Delete InOutstocktable
    From InOutstocktable,billindex
    where InOutstocktable.billnumberId = billindex.billnumberId
    and billindex.redword = '1'
    --3-----删除红字单据的收款单明细-----
    Delete From gatheringBill
    From gatheringBill,billindex
    where gatheringBill.billnumberId = billindex.billnumberId
    and billindex.redword = '1'
    --4-----删除红字单据的付款单明细-----
    Delete From PayBill
    From PayBill,billindex
    where PayBill.billnumberId = billindex.billnumberId
    and billindex.redword = '1'
    --5----删除经营历程红字单据表头----------
    Delete from billindex where redword=1
    -- 注意这句需要最后执行,如果你以前执行过这一句那么前面的就不起作用了,还有办法,呵呵~请往下看~
    --=========================================================--
    以上5步共删除了五个表的销售、出入库以及收付款记录和表头,可以直接复制到查询分析器执行。
    如果只执行1和4,则在经营历程中还能看到红字单据,双击(察看凭证),单据是空白的。
    5是删除了经营历程中的红字单据。执行完这5步就彻底消失了。
    --=========================================================--

    如果你曾经只是执行过第5个语句,还想删除其他两个表的记录的话,可以用下面这个。
    下面这4句可以完全替代上面的 1 - 4,也可以用这两句来删除。
    --------删除红字单据的销售单明细---------
    Delete From SaleBill
    where SaleBill.billnumberId
    Not in (select billnumberId from billindex where billindex.redword <> '1')
    --------删除红字单据的出入库记录明细-----
    Delete From InOutstocktable
    where InOutstocktable.billnumberId
    Not in (select billnumberId from billindex where billindex.redword <> '1')
    --------删除红字单据的收款单明细-----
    Delete From gatheringBill
    where gatheringBill.billnumberId
    Not in (select billnumberId from billindex where billindex.redword <> '1')
    --------删除红字单据的付款单明细-----
    Delete From PayBill
    where PayBill.billnumberId
    Not in (select billnumberId from billindex where billindex.redword <> '1')

    --=====================我是蓝色的分隔线======================--
    如果你的业务不止这些,用到的QFBJ的 功能较多,甚至全部。那么要删除就比较多了...我不一一写了,可以用这个,自己替换表名
    --------删除各个表中红字单据的明细记录--------
    Delete From 表名
    Where billnumberId
    Not in (select billnumberId from billindex where billindex.redword <> '1')


    ---说明:将 表名 替换为下面列表中的任何表,就可以删除其中的红字单据明细了。
    ------------------------表名以及功能说明-----------------------
    AdDebtBill --调帐单
    AdjustJobNumberBill --批号修改单
    AdPriceBill --库存成本调价单
    BuyBackBill --采购退货单
    BuyBill --采购入库单
    BuyBackBill --采购退货单
    CommissionBill --委托代销入库单、委托代销退货单、代销商品发货单
    DisassembleBill --商品拆装单
    gatheringBill --收款单
    InOutBill --获赠单、赠送单、其他出库单、其他入库单
    InOutstocktable --出、入库单
    LoseBill --报损单
    MoneyBill --费用单、其他收入单
    MoveBill --同价移库单
    MoveBjBill --变价移库单
    MoveMoneyBill --现金银行转款单
    overflowBill --报溢单
    PayBill --付款单
    PriceDiffBill --采购(销售)退补单、采购(销售)退货退补单
    RetailBill --零售出库单、零售退货单详细药品信息
    RetailBillIndex --零售出库单、零售退货单经手人等表头信息
    ROtherBillIndex --处方单录入(表头信息)、处方药销售记录
    ROtherMxBill --处方单(详细药品信息)
    saleBackBill --销售退货单
    SaleBill --销售出库单
    SendBill --配送单、门店配送退货申请表、配送退回入库记录
    TinyBill --药品拆零单
    -------------删除经营历程红字单据表头--------------

    Delete from billindex where redword=1
    删除完各个单据后别忘了把表头也删了
    (只要在删除完所有需要删除的表明细后,执行一次这句就可以了,不用每次都执行这句)
    --=========================================================--


    QFBJ中还有一些无用的不良数据,一起动手删了吧!看这个帖子:
    删除QFBJ数据库中的不良数据!
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

    发表于 2009-4-13 10:20:50 | 显示全部楼层
    删除红字单据后对应的对冲单据怎么办?
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    奋斗
    2011-11-3 19:43
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2009-4-14 21:37:12 | 显示全部楼层
    删掉了红字单据,帐还对吗?
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

    发表于 2009-4-24 23:39:20 | 显示全部楼层
    上次我试了,弄得千方百计程序都出问题了,不是很懂的就不要轻易尝试
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表