物料移动类型和后勤自动科目设置-转

  • Post author:
  • Post category:其他


后勤应该如何实时和财务集成,原则上,应该尽量让后勤人员在物料交易时不过多涉及财务专业知识,而是让系统自动产生会计凭证,ERP各模块都自动和财务集成,下面一步步详细说说ERP实现后勤自动过帐的基本原理,其它模块的自动集成参考其他章节。


1.认识评估概念


关键词语:评估等级|评估范围|评估类|评估类别

什么是评估等级和评估范围呢?如图1(Tcode:OX14)。



一般,系统推荐的评估等级(Valuation Level)是工厂,此时评估范围(Valuation Area)=工厂。

什么是评估类(Valuation Class)和评估类别(Valuation Category)呢?如图2。




评估类

是用来确定物料各种不同交易时记入哪个科目的,评估类和物料的移动类型中的科目修改一起确定会计科目,说白了,评估类是物料的科目确定标志码,评估类+科目修改得到会计科目。

想设置多少个评估类最好先看看企业的报表,比如,将劳保和办公用品物料都对应到备品备件3007,物料消耗时和一般的备品备件都对应到物料消耗-备品备件科目,结果企业需要统计劳保和办工用品,系统虽然还提供了物料组区分劳保和办公用品,也即使说物料消耗-备品备件科目+物料组依旧可区分出当期的劳保消耗和办公用品消耗,但是用户认为没有直接走科目直观,并且物料消耗-备品备件是需要考核的,所以最好还是新增劳保和办公用品两个评估类,直接对应到劳保费和办公费科目。

财务人员当然更喜欢直接从科目上直接进行报表分析.


评估类如何配置呢?

Tcode:OMSK




图3中使用Tcode:OMSK定义和分配评估类的,首先定义帐户分配参考比如0001(参考原材料)和0010(制成品参考),如图3-[1], 然后定义好评估类,将评估类归属于某个帐户分配参考,如评估类0710和0720归属帐户分配参考0001,如图3-[2], 最后将物料类型对应到帐户分配参考,如图3-[3],如物料类型ROH对应到帐户分配参考0001,这步有什么意义呢? 简单地说,就是限制特定物料类型只能选择特定,现在属于物料类型ROH的物料的评估类只能选择0710和0720,这样可杜绝原材料被某个马大哈不小心选择了产成品的评估类,这样都能整出个配置,多人性化。

那么,如何更改有交易记录的物料的Valuation Class?

步骤如下:

I.使用MMBE/MM03查看库存,把该物料的库存调为0,可新建一专门的中间物料,使用移动类型309先转移到中间物料,修改完评估类后再转回,如果物料在该工厂多个库存地有库存,注意按照库存地转出先转如中间物料。

II.Tcode:OMT4(或SE16: V_160M)把消息号MM326/MM327改成W,系统默认为物料有Open采购订单和生产工单不允许修改评估类,这个消息号可以修改。

III. MM02或MM17批更改Valuation Class .


评估类别

又是什么呢?举个简单例子,同一材料有采购自用的,有工厂采购的,有来料加工的,有自制的,使用评估类别实际上是使用同一料号却从库存管理和成本核算上区分开物料的多种形态,评估类别和分割评估相关,在此不细述。


2.组合评估范围

Tcode:OMWD




前面说过,通常评估等级是评估范围,这样系统在Copy新建工厂时即产生评估范围,ERP的成本核算是基于Plant的,Plant的建立可参照企业的车间,可参照企业的产品系列,或根据两个城市的不同的办事处,比如某公司代码在甲城市设置了生产工厂,在乙城市设置了一个销售办事处,从城市甲转移到城市乙的货物如果需要增加转储运费或方便管理控制,最好不采用同工厂间的301移库而是开物料转储单,而开转储单是基于工厂的,工厂还和利润中心对应,如果需要考核利润中心,设置工厂也是必要的,有时,为了成本核算也可建立一些虚拟工厂,典型的如各种无价值工厂,比如某物料有来料加工,除了建立来料加工的分割评估,也可建立一个来料加工工厂,再如某些贸易加工企业可能每个月都需要报废一些物料,每季末再申报海关集中处理,报废的物料在生产工厂库存不再反应,此时,就可建立一个无价值的报废工厂管理报废料的数量。

有趣的是,有的ERP软件使用仓库做物料成本核算。

在图4中,将公司代码2331的7个工厂都归属到同一个评估分组。

特别地,对于大型跨国企业,由于其分布在世界各地的公司代码可能使用不同的会计科目表,可将使用同一会计科目表的公司代码的各工厂组合起来,如图5。




3.定义物料移动类型


Tcode:OMJJ|OMCJ|OMBW

关键词:移动类型|价值串|交易(事务)码|科目修改

移动类型(Movement Type):ERP系统使用移动类型来确定各种不同的物料移动是否更新物料的库存数量和自动对应到相关的G/L 帐目的规则。


价值串(Value String):

物料移动的科目确定实际上是通过分配给移动类型的记账价值串来确定。


交易码(TE Key):

ERP系统使用交易(事务)码来确定生成过帐行的科目,每个物料交易实际上至少涉及到交易(事务)码,比如发料,至少涉及存货记帐交易码BSX,表示材料的增减,另外至少设计各种类型材料消耗科目,如果材料采用标准价格,多数情况下还涉及差异科目,这些都是通过交易码确定。


科目修改:

细分科目确定,存货交易分成两大类,一是存货的进库,一是存货的出库,典型地,对于记帐交易码BSX,表示材料的进库,无论是采购入库,生产入库,盘盈入库,委外加工入库等入库动作,都只直接对应到一个存货科目,它就不再需要科目修改,对于材料的各种出库消耗交易码GBB,它需要对应到各种消耗类型,所以使用科目修改细分不同类型的消耗科目,比如发料到工单是生产成本消耗,研发发料对应到研发费用,销售发料对应到销售成本科目,报废发料对应到管理费用等等。



现在,通过图6能知道后勤自动过帐的基本原理。

I.工厂(评估范围)被分配到公司代码,科目表被分配到公司代码,可将多个工厂组合成一个评估分组码。

II.前面说过,通过物料类型限制只能使用某些评估类,物料主数据中维护好评估类。

III.物料在选择不同移动类型移动时将根据相应的价值串和交易码确定该移动类型是否进行数量和价值的更新,如果更新价值就涉及自动科目获取和自动财务记帐。

为了方便读者理解,举一个实际例子,如图7。

ERP系统预置了各种移动类型,基本上可以满足企业要求,这些移动类型也起到一个模版作

用,如果需要用户可以根据这些模版任意复制自己的移动类型。


业务背景:


企业借用来料加工成品进行销售,来料加工原料和来料加工成品都采用分割评估,只管理数量,成本为0.假设直接使用物料转储,从来料加工产品到自有产品时,如果使用309直接从来料加工物料转到自有物料,无论自有产品采用移动平均价还是标准价格,自有产品的成本都将为0,影响自有产品的当期成本。

为此,Copy 562为ZL1表示来料加工转出,561为ZL2为来料加工转入,如图7。



简单叙述下Copy移动类型的注意点:

1.”短文本”页面修改移动类型文本,注意”帮助文本”页面也一定要修改一下文本。

2.”允许事务”中选择什么Tcode(ERP系统的一种快捷运行程序的代码)。

3.”字段选择”页面选择移动的字段状态,字段状态在本书有过专门介绍,物料移动类型,会计科目和记帐码都有字段状态并需要保持一致。

用户需求,自动过帐还需要核算到多个辅助项目,这不成问题,系统为移动类型设置了多个字段状态分组,通常的辅助核算无非是供应商/客户/员工什么的,图8-[2][3]显示的是附加科目设置分组(Account Assignment)的字段,你想到的没想到的”核算”字段应该都有,而且你可以方便设置那些字段为必输,隐藏和可选。



1. “回转/后续移动类型”页面,通常Copy移动类型都需要成对出现,在此设置ZL1/ZL2的反冲移动类型为ZL2/ZL1,ERP系统提供了强大的”后悔”功能,基本上,各种交易都可反冲, ERP系统中,除非归档,原则上应该严禁删除任何凭证。

2. “科目分组”页面,其中TE码GBB对应物料出库,设置科目修改ZL1表示决定出库的一个小类别的科目确定码,如图9。



图9显示移动类型ZL1/ZL2对应的的科目修改为ZL1,如果有材料差异则进入PRD->PRA对应的科目,这些科目将配置在自动过帐表格中。

接下来就可定义后勤自动过帐的科目分配了.


4.配置自动过帐科目

Tcode:OBYC


后勤自动科目配置包括委外加工,采购价格差异,物料分类帐差异,关税/代理/保险/商检/海关等各种采购附加费用科目的自动确定等,涉及各种后勤业务的自动科目分配,会计科目和财务专业知识又掩盖在幕后,比如各种采购附加费用,后勤采购人员只要输入关税/代理/保险/商检/海关等对应的条件类型就可,条件类型在自动科目配置中对应到科目,否则你让采购员开采购单时去选择各种科目,他天天半夜起床时都会恨死你。



图10显示的是后勤自动科目配置的全部TE码/事务,其中图10-[1][2]显示的BSX表示存货入库,根据评估类对应到存货科目,比如原材料主数据维护的评估类是3004,则入库借记BSX原料,如果是产品7020则借记BSX产成品科目,另一方科目则取WRX,就是ERP系统所谓的GR/IR科目,可以将各种评估类都对应到该GR/IR中间科目,最右边的GBB表示物料消耗出库,前面已经讲过,无论何种入库,借方BSX都一定是存货科目,出库消耗就不同,有发料到委外仓,发料报废,盘盈盘亏,发料到各种类型成本中心,生产领料,退库等等,所以消耗事务GBB才会有所谓的科目修改来进一步细分科目确定,最典型的是如图10-[3]的VBR, 生产发料(移动261)和成本中心发料(201)都对应到该科目修改,同时刚才Copy的移动类型ZL1/ZL2来料加工移动类型对应到应付帐款-来料加工(设置成一般总帐科目)。

在图10中,估价修改FR01即公司代码2331全部工厂的评估分组码,相传国内有的ERP软件直接物料凭证模板,在凭证模板设置科目,凭证模板类似移动类型+自动科目配置,我在想一个问题是对于同一凭证模板比如生产发料,会计凭证如下


Dr:生产成本-物料消耗

Cr:原材料


现在有一个大型跨国公司,科目都是这俩破科目,但是会计编码不一样,那就比较不好玩了,凭证模板根据工厂设置科目,那还不如搞一个评估分组码,对同一凭证模板不同评估分组码设置一套科目, 将后勤自动科目配置和移动类型分开的好处是,对后勤顾问只要Copy移动类型就行,全部后勤科目配置集中起来让财务顾问去折腾。

很显然,对于任何物料移动,其中一方的TE码/事务码必定是BSX(存货科目),现在来料加工转移到自有业务如下处理,来料加工物料原料/产品转出,因为来料加工原料/产品价格为0,所以转出时只产生物料凭证,存货数量减少,没有财务凭证,同时使用移动类型ZL2转入自有原料/产品,产生物料凭证增加存货数量,同时产生如下会计凭证:


Dr:库存商品 (入库总金额为物料单价*数量)

Cr:其它应付款-来料加工。


还料时则反冲这两张物料凭证或ZL1出自有材料,ZL2进来料加工产品,这样借料对当期成本影响就甚小,为什么说甚小呢?因为假设自有产品采用标准价+ML,从来料加工转进自有产品采用标准价格非实际价格还是有稍许影响的,表格说明几种情况,为了简便,假设无消耗:


一.不从来料加工借料

期初库存

标准价

当期采购数量

采购价格

来料加工转入

期末数量

期末实际价格

0

1200

1000个

1300

0个

1000

1300


二.直接309从来料加工转为自有库存

0

1200

1000个

1300

1000个(无价值)

2000

650

备注:影响当期成本,期末实际价格= 1000 * 1300 / ( 1000 + 1000)


三.采用ZL1/ZL2两步法从来料加工转为自有库存

0

1200

1000个

1300

1000

2000

1250

备注:可忽略的稍许影响,除非标准价格和当期实际采购价格相差过大.

期末实际价格= ( 1000 * 1300 + 1000 * 1200) / ( 1000 + 1000) = 1250

现在,回顾一下后勤自动过帐设计思路:

1. 工厂/评估范围组合为一评估分组码.

2. 物料主数据中维护评估类

3. 物料移动类型中的价值串和TE码决定科目.

4. 根据TE码(或+价值修改)+评估类分配科目.

事务

一般修改

Valuation Class和科目

备注Memo

AG1

N/A

和运输机构相关,在SAP标准的MM定价类型有的条件类型用到此Account key ,

企业根本不用.

AG2

N/A

AG3

N/A

AKO

N/A

如有多plant而需要区分此差异可根据不同的val. Class(Mat. type)配置不同的价差科目

当物料采用

标准价

时从consignment 库存和普通库存互相转产生的价差(材料成本差异科目)

如MB1B:311/312 K

AUM

N/A

同上,一般企业就使用材料差异科目.(COS-Returns Cost Variance)和65310080(Return Freight – Others)科目,主要考虑是公司间转移会有运输费用等.

工厂之间货物移动或者物料到物料之间的转换产生的价差.

MB1B:311/309

*对于开STO (公司间或跨公司)的库存转移似乎和这无关.即使材料采用STD,采购价格和物料价差由

PRD

(采购价差)决定.

B01

N/A

所谓的后续结算(Subsquent settlement),可这样理解在PO中定义了折扣condition(Volumn-based rebate数量折扣),在收货后获取折扣,这时可给condition配置一

预提应计收入

科目.

比如SAP默认的Pricing

Procedure:

RM5000-RM5003

B02

N/A

B03

N/A

BSD

N/A

库存补充记帐和BSX不同的是,似乎使用第三方采购时非采购方需要使用此事务,更详细请看SAP相关帮助

BSV

N/A

外包引起的存货变更科目,根据不同的valuation class配置类似

委外加工结转|产出

科目或直接使用

生产成本产出

科目.

外包PO的收货或外包后续调整对应的科目.

BSX

N/A

根据不同的valuation class配置不同的存货科目

大家都很熟悉就是存货过帐科目.

COC

N/A

特别地,为巴西公司的重估消耗科目

DEL

N/A

DIF

N/A

可以分借贷给不同的科目,借方可配置类似营业外支出而贷方可配置营业外收入科目.

MIRO时在容限范围(Tcode:OMR6)内的小差异,比如GR/IR line item amount是100USD,AP是100.8(or 99.5)USD,就需要配置DIF科目.

EIN

N/A

Purchase account(

EIN

), purchase offsetting account (

EKG

), freight purchase account (

FRE

)

These transactions are used only if

Purchase Account Managment is active in the company code.

请参考IMG :Material management->

Valuation and account assignment->

Purchase Account Management

Company code BE01默认激活.

通常在Belgium, Spain, Portugal, France, Italy, and Finland等国家使用.

EKG

FRE

FR1-

FR4

各种采购附加杂费比如运输保险等科目带未清项(open item)管理,此运输费类似GR/IR要发票校验. BS科目

除非商品流通企业的运杂费(代摊存货费用)核算采用条件类型(现在方案不采用).

FRL

可根据外包料的valuation class设置外包费用-SFG(FG)科目.

同样是为外包,和BSV(



产出)不同的是,这一般是外包作业(



)即相关外包费用科目,企业实际付给外包商的委外加工(服务)费用

FRN

外包PO的突发附加费用

*公司配置62000090(Operating matl. Consum-FG科目)

这是为外包PO所谓的突发delivery costs (incidental costs of procurement)或其它费用所设计的科目

GBB

AUA

生产订单结算的产出差异

设置成和AUF一样的科目

AUF


生产成本-产出

(prod. Cost-output)科目,根据Val. Class(Mat. Type)细分.

无科目分配的生产订单收货,当工单采用

backflush

或分步使用MB1A261发料,MIGO 101收FG时就使用到AUF .

BSA

库存初始化科目.

MB1C 561期初库存

INV

库存使用中造成的损益差异,

通常就是盘点损益.)

盘赢盘亏

VAX

销售成本科目

VAY和VAX的区别

和VAY不同的是VAX通常用于

无SO

发货,典型的比如STO(stock transfer order),VL10B后做的VL02N发货.

实际上跨公司的公司转储单隐含集成同一集团一方销售业务,简化了处理步骤.

VAY

VB0

外包PO收货时所对应的企业自备材料消耗费用,根据valuation class(Mat.type)不同设置不同科目

企业在外协时可能提供一些材料,在收货时会有Dr:

VB0

对应外协材料消耗科目

Cr:材料存货科目

有企业直接配置存货科目.这时会计分录就是 Dr:存货 Cr:存货

VBR

生产费用消耗,即所谓的

生产成本投入

,根据Val. Class配备不同科目.

大家最熟悉的261/262工单发货,201/202成本中心发货都是对应此科目.

VKA

SAP提供的default for sales order account assignment

SAP提供的default for project account assignment,

输入SE16:V_T163K,K->VBR,M->

VKA,P->VKP

K类PO(费用类PO)和P类PO大家都很熟悉,M类PO通常是指为某Sales order购买收货将到指定的SO stock.


如果愿意你可轻易更改成你所需用的Account modification.

VKP

VNG

报废/毁损科目,可只使用一个报废费用科目,没必要一定要根据val. Class细分,视管理需求设置

典型的551报废对应的科目.

Y-Z型自定义

自定义的一般修改

主要确定新准则下的科目是否和物料自动过帐相关.

查看了相关科目,似乎关系也不到.

ZOF

生产成本-产出科目

研发物料消耗等科目.

可无PO(purch. Order)收材料,理论上,同样也可无Prod. Order收SFG/FG..

MIGO(A1:Goods receipt,R10:Others)

521/522, 收半成品成品

531/532, 收By-product

KBS

SAP用来在收货时临时决定PK码不能设置科目(81/91).

KDM

汇兑损益科目,有的企业设置已实现和未实现汇兑损益.

比如MIRO引起的汇兑损益.

KDR

发票校验外币转化成本位币时的小数位差异.类同KDM

KDV

类KDR,ML使用

目前未配置

KON

应付委托款

Consignment liabilities(应付委托款

)arise in the case of withdrawals from consignment stock or from a pipeline or when consignment stock is transferred to own stock.

KTR

使用cost object hierarchy的价差抵消科目

Offsetting entry for price differences in

cost object hierarchies.



PRK

对应.

LKW

起用ML后的应计和递延科目

中石化使用了材料成本差异科目.

PRD

一般修改PRA|PRD|PRF|PRU

PRV

ML低层价差

PRY

ML相关成本价格差额

RUE

预提delivery cost科目

在PO有condition type使用这account key,在MIRO必须手工清理.

*比如你copy了procedure RM0000并使用了condition MAR1.

UMB

可使用材料差异(BS科目)

*公司配置科目Gain/Loss from Val.(P&L科目)

MR21/MR22更改price时的.

外企似乎更愿使用重估损益之类的P&L科目.

UPF

计划外运费科目

FR1-FR4等的计划价和MIRO时的实际价差异将自动过帐到此科目

VST

现在你根本就不用再在此配置进项税科目,可能你只要设置一rule然后保存一下就可,即使你在此设置了,SAP更愿意去读取OB40设置的科目.

FTXP定义税码,OB40给定VST科目,这个事务没有存在必要

WGI

因通货膨胀引起Goods issue/Goods receipt的重估

少用

WGR

WRX

即GR/IR科目

相关Tcode:OBYP,F.13,F.19

Z**

自定义的Transaction

MM带记帐码的条件类型可以对应自定义的帐码,即对应此.

结论:

(1). FR1代摊存货费用不走条件类型,不相关.

(2). 除了GBB物料各种消耗类科目才有可能涉及新增加删除科目外,其它不涉及,仔细分析了新增删除科目,基本没有科目和物料自动消耗相关.


ERP APAR相关科目配置:


(1).IMG路径:应收帐目和应付帐目->业务交易->未结清项目的结清->为汇率差异定义会

计科目(Tcode:OB09),特别是有外币业务的企业应收应付预收预付其它应收应付应

该配置汇率差异科目(中石化有的企业据成从来无外币业务无配置).

(2).IMG路径:应收帐目和应付帐目->业务交易->未结清项目的结清->收到的预付款->定义客户预付款的统驭科目(Tcode:OBXR).

(3).IMG路径:应收帐目和应付帐目->业务交易->带有备选统驭科目的过帐->其它特殊总帐事务->为客户定义备选统驭科目(Tcode:OBXY)


为供应商定义备选统驭科目(Tcode:OBXT)


(4).IMG路径:应收帐目和应付帐目->业务交易->带有备选统驭科目的过帐->确定备选的统驭科目(Tcode:SE16->V_THKON).

(5). IMG路径:应收帐目和应付帐目->业务交易->结算->评估->外币估值->准备外币评估的自动过帐(Tcode:OBA1,OBA1->KDF同OB09)

(6).Tcode FTXP,OB40定义税码和税务科目(和新科目无关,保持原样).

(7).OBXU:定义现金折扣科目(5503990400: 财务费用-其他费用-现金折扣)

(和新科目无关,保持原样).

(8).OBXK:为银行费用定义会计科目(5503990400: 财务费用-其他费用-现金折扣)

(和新科目无关,保持原样).


ERP CO自动科目配置:


(1). 统驭调整科目(和新准则无关)

IMG路径:控制->成本要素会计->统驭分类帐下.

OBXN:业务区域调整科目6100000000 ,各种业务范围(包括功能范围对应的)调整中间科目.

OK17:统驭过帐调整6100000001 ,KALC时会将水电汽风等次级要素的调整会对应到此科目.

OBXM:资产负债表再调整科目配置(OBXM-GA0 = OBXN)

(2)内部定单和WBS结算科目的检查.

SAP MM 移动类型-入门篇

基础是物流 那么 怎样在系统中控制物流?

最基础的需求是控制进/出/消耗 包括1/从哪里进来(采购订单/生产订单/其他库位) 到哪里去(销售订单/生产订单/成本中心/内部订单/其他库位/其他工厂) 2/这种移动的原因 (可以对移动进行控制,例如在用户报损 可以细分各部门责任) 3/这种移动的数量和金额 对库房帐和财务帐带来的影响 以及这种影响能否自动实现(MM-FI的接口)

sap系统中用于标志物料移动(收货/发货/转储/转储记帐)的三位的数字/字母

通常分几大类:收货 发货 转储 库房调整

常用的有:

收货类

101 采购订单收货 103 采购订单收货至冻结状态 122 无采购订单退货 161 按退货采购订单退货 131 从生产订单

收货

501 无采购订单收货 511 免费收货

发货类

201 成本中心消耗 261 内部订单消耗

541 委外加工发货

551 库房报损

转储类

301 工厂间转储(一步) 311 存储地点间转储 309 编码转换 321-325 库存类为冻结/质检状态的记帐修改 移动

调整类

盘赢盘亏 一般控制比较严

4系列移动类型没用过 哪位讲讲?

通常我们说的移动类型是IM(库存管理)移动类型



*0403更新

移动类型在某电子行业重复制造模式企业的应用

以部门为线 串一下

1/库房收货处 唯一任务是收货 按采购订单号码 清点货物数量 整理通知IQC准备质检

101 按采购订单收货 MB01 没上WM会收到PO指定的存储地点 有WM会收到收货区(是对应WM移动类型决定)

使用QM模块 并在主数据中设定必须做IQC的物料收货后自动转为质检库存类 直到作出使用决定后再移动

501 无采购订单收货

511 免费收货 MIGO/MB1C

2/库房材料库 主要任务是WM转储/库存调拨/按生产订单投料/非生产消耗/盘库

WM转库就不讲了

库存调拨 有工厂间调拨 301 存储地点间调拨 311 事务码都是MB1A

还分一步和两步方法 例如用 303+305 效果与301类似但两个工厂都需要做动作 用内部订单控制

月底结算 双方对帐

对特殊库存状态(special storage category)物料库存调拨需要用特殊移动类型质检料的转库 323 冻结料的转库 325

对库存状态变化 质检->自由库存 321 MB1B

编码转换 309 MB1B

由于生产方式是重复制造 采用反冲方法将原材料转入supply area 通过生产线软件取数据 自动confirm生产订单然后反冲 先根据order消耗 然后发货到生产线收货区

对材料 261消耗到订单 对应前端MB1C 对半成品/成品 101收货 对应前端MB31

报损 551 MB1C 这里的移动原因一般是强制输入的 以便月底报表 区分各部门数据(供应商原因/研发原因/各生产线原因)

借料 系统里面没有 拷一个出来就是 自然是借到成本中心来控制

月底盘库 701/702 Or 711/712 这个用户看不到 对盘库差异清算自动产生

3/库房发货处

这里的移动类型也看不见 对这里人员是根据delivery note和shipping noification发货

601 销售出库

633 寄售出库(总部->分公司)

541 委外加工发货



版权声明:本文为chfeijj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。