一种成本计算方法与流程

文档序号:17699059发布日期:2019-05-17 22:02阅读:245来源:国知局
本发明涉及一种成本计算方法。
背景技术
::零售行业的货品出入库记录较多,影响成本计算结果的因素很多,成本计算过程中容易出错,出错后无法确定重新开始成本计算的节点。技术实现要素:本发明提出一种成本计算方法,解决了现有技术中成本计算过程中容易出错,出错后无法确定重新开始成本计算的节点的问题。本发明的技术方案是这样实现的:一种成本计算方法,具体包括以下步骤:(1)确定成本计算的组别、开始日期和计算周期;(2)根据成本计算的开始日期和计算周期,将货品类别设置为正常的货品对应的交易数据表xf_itemsadm,xf_itemmvdm筛选出来;(3)删除交易数据表xf_itemsadm,xf_itemmvdm中无意义的交易记录;(4)定义与交易数据表相关的表,将交易数据同步更新到相关的表中,包括记录vip或非vip销售数据的xf_vipitemsadm和记录促销的销售数据的xf_demodm和xf_promdm;(5)将交易数据表xf_itemsadm,xf_itemmvdm中摊分成本的交易记录的单位成本设为0;(6)根据成本计算的组别分别计算各个组别收退货的单位成本;(7)使用(6)的单位成本更新itemsadm,xf_itemmvdm中的转出单成本;(8)用转出单成本更新xf_trfcost中的对应转出单的货品单位成本;(9)用xf_trfcost中的货品转出成本更新itemsadm,xf_itemmvdm相关调拨单的成本;(10)计算货品调拨成本;(11)更新itemsadm,xf_itemmvdm中摊分成本的事务历史记录的单位成本;(12)更新摊分成本的事务历史记录的doucument单位成本;(13)计算货品close成本。优选的,成本计算的组别成本中心、店铺、货号、颜色、尺寸、批号六个元素的一个或多个,每个元素都用一个16进制数据表示;多个元素组合需将元素对应的16进制数据相加,得到唯一的数据。优选的,成本计算的计算周期为月、周或天。优选的,步骤(2)中货品类别还包括用户自定义货品和无成本货品。优选的,还包括以下步骤更新汇总信息表中的成本记录。优选的,还包括以下步骤更新xf_costbal的成本记录,xf_costbal按日期和货品组别记录货品的单位成本。优选的,还包括以下步骤更新成本计算终止日期。优选的,还包括以下步骤更新成本计算最后修改日期。优选的,还包括以下步骤更新xf_itemext货品的单位成本和/或单位成本最后计算日期,f_itemext记录了货品在每个店铺的各种交易总数及其成本。优选的,还包括以下步骤定期清除成本历史记录。本发明的有益效果在于:解决了现有技术中成本计算过程中容易出错,出错后无法确定重新开始成本计算的节点的问题。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一种成本计算方法一个实施例的流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明提出了一种成本计算方法,具体包括以下步骤:(1)确定成本计算的组别、开始日期和计算周期;成本计算的组别包括成本中心、店铺、货号、颜色、尺寸、批号六个元素的一个或多个,每个元素都用一个16进制数据表示;多个元素组合需将元素对应的16进制数据相加,得到唯一的数据。举例如下:1)核算主体:成本中心2)核算主体:成本中心+店铺再次举例如下:交易数据:1)分类:款号2)分类:款号+颜色3)分类:款号+颜色+尺码4)分类:款号+颜色+尺码+批次启动costserver(成本计算服务器)后,首先要看要从哪天开始计算,即确定成本计算的开始时间。在表xf_xf_itemext中有两个字段:xf_costballastmodify、xf_costballastupdate决定了本次计算从什么时候开始计算。表xf_xf_itemext每个店铺一条记录,记录了costserver和qohserver的一些信息。dataserver、posserver、exchmain在做了跟成本计算相关的交易数据后,首先看看当时的交易时间是否小于xf_xf_itemext.xf_costballastmodify,如果是就更新xf_xf_itemext.xf_costballastmodify;costserver启动时会比较xf_costballastmodify和xf_costballastupdate,从最小的日期开始计算,计算完毕后同时更新两个日期。成本重算系统每处理一笔交易会比较该货品对应的“最后交易日期”,如果发现“当前交易日期”<“最后交易日期”,则将“最后交易日期”更新为“当前交易日期”;成本计算时比较“成本计算日期”和“最后交易日期”,如果“最后交易日期”<“成本计算日期”,则从“最后交易日期”开始重新计算成本。成本计算的计算周期为月、周或天。举例如下:核算周期为天核算周期为周核算周期为月(2)根据成本计算的开始日期和计算周期,将货品类别设置为正常的货品对应的交易数据表xf_itemsadm,xf_itemmvdm筛选出来;普通货品参与成本计算。在货品主文件数据维护时,将货品的itemoption设置为normal:itemoption<>’s'且itemoption<>’c'。步骤(2)中货品类别还包括用户自定义货品和无成本货品。有些货品的成本是用户自已录入的,也可能是从第三方系统中导入进来的,在这种情况下,成本计算过程中不会计算这些货品的成本,系统直接用xf_standardcost中成本更新系统相关表中的成本,但在货品主文件数据维护时,必须将该货品的itemoption设置为standardcost:itemoption=’s'。有些货品只需要计算库存,而不需要计算成本。例如:供货商附送的赠品不计在货品成本中,在管理中只需要知道库存有多少。成本计算过程中会先将这类货品过滤出去不管,但在货品主文件数据维护时,必须将该货品的itemoption设置为nocost:itemoption=’c′。(3)删除交易数据表xf_itemsadm,xf_itemmvdm中无意义的交易记录;正常情况下xf_itemsadm,xf_itemmvdm中不会出现所有数据、金额都为0的数据,因为这些数据没有意义,如果因意外情况出现了,系统也要删除这些数据。在xf_itemsadm,xf_itemmvdm的同一条记录中,如果以下情况同时出现,则表示这条记录无意义,系统会首先删除这条记录。xf_qty=0xf_cost=0xf_amt=0xf_taxamt1=0xf_taxamt2=0xf_markdownamt=0xf_discountamt=0xf_promotionamt=0(4)定义与交易数据表相关的表,将交易数据同步更新到相关的表中,包括记录vip或非vip销售数据的xf_vipitemsadm和记录促销的销售数据的xf_demodm和xf_promdm;处理交易数据时,会将交易数据同时更新到一些相关的表中,有一些表costserver在计算过程中会更新基础数据的表,计算完毕后更新summary的表。在costsrvr,cfg中定义了这些基础表:[movementtablesection];tablenamecolmqtycolmcost1=xf_itemsadm,xf_itemmvdm,xf_qty,xf_cost2=xf_vipitemsadm,xf_itemmvdm,xf_qtysold,xf_costsold3=xf_demodm,xf_qtysold,xf_costsold4=xf_promdm,xf_qtysold,xf_costsold(5)将交易数据表xf_itemsadm,xf_itemmvdm中摊分成本的交易记录的单位成本设为0;系统所有的事务历史记录都记录在表xf_itemsadm,xf_itemmvdm中,在计算过程中,首先计算进、退货的成本,得出单位成本,分摊给转出单,再根据转出单的单位成本更新转入、调拨调整的单位成本,接着加上调拨的成本,得出单位成本,分摊给盘点、数据调整、销售、批发事务历史记录及其相关document,然后再加上这些这些分摊的成本和成本调整的成本,得出最后close的单位成本。所以,把这些交易与成本计算的关系分为两类,一类是直接影响成本计算的交易类型,这些交易一般在开交易单时就要求直接录入货品成本:另一类,是在成本计算过程中,由直接影响成本计算的交易数据计算得出的成本,然后摊分这些成本,再参与成本计算的交易类型,这些交易一般在开交易单时不涉及成本:将itemsadm,xf_itemmvdm中摊分成本的事务历史记录的单位成本置为0,有些事务历史记录是在成本计算过程中摊分下来的,这些事务历史记录在开单时带入的成本是不准确的,所以先要清除这些不准确的成本。(6)根据成本计算的组别分别计算各个组别收退货的单位成本;按零售业务的顺序,收、退货相关的交易数据是成本的来源。一般要收了货,才能根据收货金额形成成本,同时在收货时有一些其他费用也需要计入成本,有了退货也要减去这些成本,这些与收、退货相关的交易就形成最初的成本。系统要按成本计算组别首先计算出所有组别的单位成本,以便将这些成本摊分到不同组别的转出单中,然后转入单才能根据对应成本组别的转出成本更新转入成本。(7)使用(6)的单位成本更新itemsadm,xf_itemmvdm中的转出单成本;用最初形成的成本更新所有成本组别的转出单单位成本。(8)用转出单成本更新xf_trfcost中的对应转出单的货品单位成本;用xf_itemsadm,xf_itemmvdm中转出单成本更新xf_trfcost对应转出单货品的成本,为转入作准备。系统支持在不中成本中心间做调拨,也就是说可以在成本中心c1中作转出,在成本中心c2作转入,在成本计算过程中,首先得到c1的转出成本,更新xf_trfcost,然后在c2中作转入。[documenttablesection];tablenamecolmstorecodecolmdocnocolmitemcolmitemlotnumcolmunitcostto=xf_trfcost,xf_trfoutstore,xf_trfoutno,xf_plu,xf_itemlotnum,xf_aucost(9)用xf_trfcost中的货品转出成本更新itemsadm,xf_itemmvdm相关调拨单的成本;系统在作转入时会直接从xf_trfcost取出转出单成本,用来作转入、差异调整时的成本。(10)计算货品调拨成本;系统按成本组别计算成本,系统可以在不同成本组别中作调拨,转入、转出、调拨差异调整都会影响不同成本组别中的货品成本。所以,接下来要计算调拨的成本。(11)更新itemsadm,xf_itemmvdm中摊分成本的事务历史记录的单位成本;得到计算所得的单位成本后,就要摊分到事务历史记录中。(12)更新摊分成本的事务历史记录的doucument单位成本;得到计算所得的单位成本后,同时也要更新事务历史记录对应的document。[documenttablesection];tablenamecolmstorecodecolmdocnocolmitemcolmitemlotnumcolmunitcostpc=xf_stkvariance,xf_storecode,xf_stkno,xf_plu,xf_itemlotnum,xf_aucostqa=xf_qtyadjd,xf_storecode,xf_qtyadjno,xf_plu,xf_itemlotnum,xf_aucostwa=xf_wsinvd1,xf_wsinvloc,xf_wsinvno,xf_plu,xf_itemlotnum,xf_aucostwr=xf_wsrefundd1,xf_wsrefundloc,xf_wsrefundno,xf_plu,xf_itemlotnum,xf_aucost(13)计算货品close成本。将所有成本摊分到事务历史记录中后,就要计算close的成本了。以下面列表中成本调整’ca’的成本不是摊分得到的,在系统应用过程中,会有一些意外情况导致实际的货品成本与系统的成本不同,这种情况下,可以在后台做成本调整,在成本计算中也会计算这些调整的值。本发明明确了成本计算的周期、开始时间和计算周期,若成本计算出错,方便重新开始计算。本发明优选的实施例还包括以下步骤更新汇总信息表中的成本记录。系统中有一些summary的表记录了事务历史记录一些不同类型的汇总信息,也包括了成本。所以,成本改变后也要更新这些表,更新后用当前时间更新xf_xf_itemext.xf_costbalrebuildcatsumdate在costsrvr.cfg中有这些summary表的相关设置,等于“1”表示在成本计算最后更新这个表,等于“0”则不会更新。enableconsolidatecatdm=1enableupdatecathmcost=1enablesummaryitemwm=1enablesummarycatwm=1enablesummaryitemmm=1enablesummarycatmm=1enablesummaryyearopening=1本发明优选的实施例还包括以下步骤更新xf_costbal的成本记录,xf_costbal按日期和货品组别记录货品的单位成本。系统在做一些交易单时从该表中取得货品的单位成本。所以,成本更新后要更新该表。本发明优选的实施例还包括以下步骤更新成本计算终止日期。在表xf_xf_itemext中有个字段xf_costballastupdate记录costserver计算到了哪一天,与xf_costballastmodify决定下次costserver从什么时候开始计算。costserver会比较这两个日期,从小的那天开始算起。本发明优选的实施例还包括以下步骤更新成本计算最后修改日期。dataserver、posserver、在做了跟成本计算相关的交易数据后,首先看看当时的交易时间是否小于xf_xf_itemext.xf_costballastmodify,如果是就更新xf_xf_itemext.xf_costballastmodify。启动costserver后,首先要看要从哪天开始计算。在表xf_xf_itemext中有两个字段:xf_costballastmodify、xf_costballastupdate决定了本次计算从什么时候开始计算。本发明优选的实施例还包括以下步骤更新xf_itemext货品的单位成本和/或单位成本最后计算日期,f_itemext记录了货品在每个店铺的各种交易总数及其成本。在表xf_itemext中有个字段xf_lastaucostdate记录xf_costbal最新的成本日期,xf_itemext记录了货品在每个店铺的各种交易总数及其成本。所以,成本更新后也要更新该表。本发明优选的实施例还包括以下步骤定期清除成本历史记录。当系统应用时间很长后,需要定期处理一些历史数据,清除一些不需要保留的数据,以免浪费占用系统资源。参数设置:设置全部清除xf_costbal中多少天前的成本:xf_costbalpurgealldays。设置清除xf_costbal中多少天前的成本,但保留每个月最后一天的数据:xf_costbalpurgepartdays。示例:清除365天前的成本记录xf_costbalpurgealldays=365示例:清除365天前的成本记录,但要保留每个月最后一天的数xf_costbalpurgepartdays=365本发明的有益效果在于:解决了现有技术中成本计算过程中容易出错,出错后无法确定重新开始成本计算的节点的问题。上述技术方案公开了本发明的改进点,未详细公开的技术内容,可由本领域技术人员通过现有技术实现。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1