ERP系统单据编码规则

作者&投稿:应股 (若有异议请与网页底部的电邮联系)
ERP编码原则?~

编码的目的在于将化繁为简,便于管理,如果编码过于繁杂,则违反了编码之目的。
合理的编码,必须具备下列基本原则:
1.简单性
2.分类展开性
3.完整性
4.单一性
5.一贯性
6.可伸缩性
7.组织性
8适应计算机管理
9.充足性
10.易记性

说明:以物料的编码为主线讲解编码的原则,但所讲编码原则同样适用于系统的客户编码、供货商编码、职员编码、部门编码、单位编码、仓库编码、各种类别编码和其它需要编码的任何项目等。

第一节 物料编码的意义

物料编码是以简短的文字、符号或数字、号码来代表物料、品名、规格或类别及其它有关事项的一种管理工具。在物料极为单纯、物料种类极少的工厂或许有没有物料编码都无关紧要,但在物料多到数百种或数千、数万种以上的工厂,物料编码就显得格外重要了。此时,物料的领发、验收,请购、跟催、盘点、储存等工作极为频紧,而借着物料编码,使各部门提高效率,各种物料数据传递迅速、意见沟通更加容易。物料编码之功能如下:

Ø 增强物料数据的正确性

物料的领发、验收、请购、跟催、盘点、储存、记录等一切物料之活动均有物料编码可以查核,因此物料数据更加正确。至于一物多名,一名多物或物名错乱之现象不致于发生。

Ø 提高物料管理的工作效率

物料既有系统的排列,以物料编码代替文字的记述,物料管理简便省事,效率因此提高。

Ø 利于计算机的管理

物料管理在物料编码推行彻底之后,方能进一步利用计算机作更有效的处理,以达到物料管理之效果。

Ø 降低物料库存、降低成本

物料编码利于物料库存量的控制,同时利于呆料的防止,并提高物料管理工作的效率,因此可减轻资金的积压,降低成本。

Ø 防止物料舞弊事件之发生

物料一经编码后,物料记录正确而迅速,物料储存井然有序,可以减少舞弊事件之发生。

Ø 便于物料之领用

库存物料均有正确的统一的名称及规格予以编码。对用料部门的领用以及物料仓库的发料都十分方便。

Ø 便于压缩物料的品种、规格

对物料进行编码时,可以对某些性能相近或者相同的物料进行统一、合并和简化,压缩物料的品种、规格。

第二节 物料编码的原则

物料编码必须合乎物料编码的原则,合理的物料编码,必须具备下列基本原则:

l 简单性

l 分类展开性

l 完整性

l 单一性

l 一贯性

l 可伸缩性

l 组织性

l 适应计算机管理

l 充足性



一、简单性

编码的目的在于将物料化繁为简,便于物料的管理,如果编码过于繁杂,则违反了编码之目的。因切此物料编码在应用文字元号或数字上应力求简单明了,这样可节省阅读、填写、抄录的时间与手续,并可减少其中的错误机会。



二、分类展开性

物料复杂,物料编码大分类后还要加以细分,如果采用阿拉伯数字十进制,则每段最多只能由十个细分的项目,如果采用英文字母,则每段有26个细分项目,然而细分项目太多,就难于查找,而细分项目太少,则分类展开太慢,分类细分项目通常以五至九个较佳。例如采用阿拉伯数字十进制,有十八个项目时,其分类展开可以利用下列方法。


需要分类的

项目


第一种分类方法


第二类分类方法


第三类分类方法



1


1


11


0


01


01



2


12


02


02



3


13


03


03



4


14


1


1


04



5


15


2


21


05



6


16


22


06



7


2


21


23


07



8


22


3


3


08



9


23


4


41


09



10


24


42


10



11


25


43


11



12


26


5


5


12



13


3


31


6


61


13



14


32


62


14



15


33


63


15



16


34


7


7


16



17


35


8


8


17



18


36


9


9


18




(表一)

三、完整性

在物料编码时,所有的物料都应有物料编码可归,这样物料编码才能完整。若有些物料找不到赋予之物料编码,则很显然物料编码缺乏完整性。


四、单一性

物料编码的单一性是指一个物料编码只能代表一种物料,同一种物料只能找到一个物料编码,而绝无一个物料有数个物料编码,或一个物料编码有数项物料,一般地,只要物料的物理或化学性质有变化、只要物料要在仓库中存储、就必须为其指定一个编码,举例,如某零件要经过冲压成型、钻孔、喷漆三道工序才能完成。

五、一贯性


六、伸缩性


七、组织性


八、适应计算机管理


九、充足性


十、易记性

在不影响上述九项原则之下,物料编码应选择易于记忆的文字、符号或数字,或赋予暗示及联想性。但这原则是属于次要原则,若上述九项原则俱全而独缺乏此项原则的物料编码,仍不失为优秀的物料编码。

第三节 物料编码的方法

目前工商企业所采用的物科编码方法,主要有下列几种:

1. 阿拉伯数字法

2. 英文字母法

3. 暗示法



一、阿拉伯数字法

阿拉伯数字法,是以阿拉伯数字作为物料编码的工具,采用以一个或数个阿拉伯数字代表一项物料。这种方法容易了解,只是需另外准备物料项目与数字的对照表,又要记忆对照项目,因此有关人员必须经过一段时间的训练与适应才能运用自如。以阿拉伯数字做物料编码的,较常见的有下列几种:

ü 连续数字编码法

ü 分级式数字编码法

ü 区段数字编码法

ü 国际十进制分类法

1.连续数字编码法

连续数字编码法是先将所有物料依某种方式大致排列,然后自1号起依顺序编排流水号。这种物料编码方法可做到一料一号,只是顺序编码除显示编码时间的先后,往往与所代表项目的属性并无关联。因为新购物料无法插入原有排列顺序的料号内,例如: 1078为3/8“×3/4”之六角铁制带帽螺栓,而新购的六角铁制带帽螺栓为3/8“ ×1”,其物料编码无法插入(因过去没有库存或采用这种物料,故无编码),故只好编以最后一个号码8974。两种物料本应排在一起,现在物料编码相距如此遥远,在物料管理、仓储管理上很不方便。

2.分级式数字编码法

分级式数字编码法是先将物料主要属性分为大类并编定其号码。其次再将各大类根据次要属性细分为较次级的类别并编定其号码,如此已继续进行下去。在分级式数字编码法中,任一物料项目只有一个物料编码。

表二为三种属性的阶级式数字编码法,共可组成36个(3×4×3)编码,这种方法的优点一方面显示编码的规律性,一方面达到一物料项目仅有一编码的目标,其缺点是无用空号太多,一方面显得浪费累赘,另一方面常导致物料编码位数不够用。


来 源

(大类)


材 料

(中类)


用 途

(小类)



1 = 自制


1 = 非铁金属


1 = 零部件



2 = 外购


2 = 钢铁


2 = 包装用料



3 = 委外加工


3 = 木材


3 = 办公用品






4 = 化学品









(表二)

3.区段数字编码法

区段数字编码法介于连续数字编码法与分级式数字编码法之间。使用位数较级次式数字编码法更少,而仍能达到物料编码的目的。例如有64项,分为5大类,其情形如下:


A类


12项



B类


10项



C类


17项



D类


15项



E类


10项



合计


64项




(表三)

上述情形,如用阶级式数字编码法必须3位数,但如改为区段数字编码则仅需二位数即可,其情形如下:


类别


分配编码


剩余备用编码



A类


12项(01-20)


8项



B类


10项(21-37)


7项



C类


17项(38-61)


7项



D类


15项(62-83)


7项



E类


10项(84-99)


6项




(表四)

4.国际十进分类(U. D. C. )

这种方法于1876年美国杜威M.DeWey首创,其方法新颖而独到,可以无限制展开,颇受欧洲大陆各国的重视。1895年的国际图书馆学会决定杜威的十进法为基础,作更进一步发展,其后经众多数学专家的确究与发展,最后完成所谓国际十进制分类法(Universal Decimal Classification),目前已有许多国家采用为国家规格。

所谓国际十进制分类法是将所有物料分类为十大类,分别以0至9之数字代表之,然后每大类物料再划分为十个中类,再以0至9之数字为代表,如此进行下去按金字塔Pyramid形态展开。其情形如下:

6 应用科学

62. 工业技术

621. 机械的工业技术

621.8 动力传动

621.88 挟具

621.882. 螺丝、螺帽

621.882.2 各种小螺丝

621.882.21 金属用小螺丝

621.882.215 丸螺丝

621.682.215.3 平螺丝



二、英文字母法

是以英文字母作为物料编码工具的物料编码法。英文字母中I、O、Q、Z 等字与阿拉伯数字1、0、9、2等容易混淆,故多废弃不用,除此之外,尚有23个字母可利用。如以A代表金属材料,B代表非木材,C代表玻璃。以AA代表铁金属,以AB代表铜金属...

三、暗示法

暗示编码法是指物料编码代表物料的意义,可自编码本身联想出来。暗示编码法又可分为:

l 字母暗示法

l 数字暗示法

1.英文字母暗示法:

从物料的英文字母当中,择取重要且有代表性的一个或数个英文字母(通常取主要文字的第一个字母)做为编码的号码,使阅读物料编码者可以从中想象到英文字文字,进而从暗示中得知该物料为何物。

例如:

VC=Variable Capaciter (可变电容器)

IC=Integrated Circuit(集成电路)

SW=Switch(开关)

ST=Steel Tube (钢管)

BT=BRASS Tuber(黄钢管)

EP=Ear Phone(耳机)

2.数字暗示法:

直接以物料的数字为物料编码的号码,或将物料的数字依一固定规则而转换成物料编码的号码,物料编码的阅读者可从物料编码数字的暗示中得悉该物料为何物。

物料编码代表的意义:

例1: ×× × ××× ×× ××

—— — ——— —— ——

类 小类 形式 长度 厚度

例2:电阻值的编码


编码


电阻值



005


0.5Ω



050






100


10Ω



101


100Ω



102


1000Ω



103


10,000Ω



104


100,000Ω



105


1,000,000Ω




(表五)

例3:钢筋直径的编码


编号


钢筋直径



12


12mm



16


16mm



19


19mm



25


25mm




(表六)

例4:钢球轴承轴径之编码,其编码为轴经(限于轴经20mm至200mm)mm数的五分之一。


编码


轴径



05


25mm



06


30mm



07


35mm




(表七)

四、混合法

混合法物料编码系联合使用英文字母与阿拉伯数字来作物料编码,而多以英文字母代表物料之类别或名称,其后再用十进制元或其它方式编阿拉伯数字号码。这种物料编码方法较十进制元采用符号较多,故有不少企业乐于采用此种方法。

例如:M=金属物料

MB=螺栓、螺丝及帽

MBI=带帽螺栓

MBI-100=六角铁制螺栓带帽

MBI-106-6=3/8” x 3/4”六角铁制螺栓带帽

MBI-106-8=3/8” x 1”六角铁制螺栓带帽

MBI-106-9=1/2” x 1”六角铁制螺栓带帽


例一:某企业冰箱材料分类与编码

1. 代码基本形式

×× × × × × × × × ×

1 2 3 4 5 6 7 8 9 10

大分类 中分类 小分类

整个代码由十位数字组成,同样规格和材质的物料编码相同。

2. 大分类是由前两位数字代表,31表示冰箱

3. 中分类由第3、4、5位三位数字表示


1板金类


2金属类


3塑料橡胶类



01外箱组件


01铁


01挤压弄(射出)



02内箱组件


02铜


02成型(真空与冲床成型)



03门组件


03铝


03吹气盛开



04蒸发器组件


04锌合金


04剪型



05底座组件


05其它金属


05模内加热加压成型屑



06凝结器组件





06橡胶



07其它零件





07管棒类









08其它





4电工器材


5绝热材料


6杂类



01电装品部分


01玻璃纤维


01纸类



02电线


02保利龙


02胶带类



03其它





03玻璃类









04海绵类









05木类




(表八)

4. 小分类为5位数(6、7、8、9、10),前4位是流水号码,最后一位表

板金类表面处理编码。

0 表示未电镀、未喷漆、及表面不需要处理之零件

1 表示喷漆

2 表示电镀

3 表示研磨

5.分类编码实例



例二:某机械加工厂的物料编码原则

该企业考虑目前物料的总数有4000种左右,考虑到将来的发展,制定以下物料编码原则:

×× × × × ×

1 2 3 4 5 6

前5位为顺序号,以分段的方式将物料分为20大类,最后一位表示零件的特征码,A表示冲压工序已完成,B表示零件加工车间已完成、C表示电镀车间已完成、D表示喷漆车间以完成。

如: 00012A 十字架上托(已冲压成型)

00012B 十字架上托(已钻孔)

00012C 十字架上托(已电镀)

例三:某柴油机生产厂的物料编码原则

所有物料编码分四段,先后顺序为“物料类别、物料特征码、顺序号、后缀”

× ×××…… ××…… ×

物料类别 物料特征码 顺序号 后缀(可选)

1.物料类别

物料类别用一位数字或字母表示,用来区分产品、零部件、原材料、辅助材料……

2.物料特征码

物料特征码用3-8位数字或字母表示,用来表示识别该类物料的特征代码。每一类物料可取不同宽度的特征代码,如:产品的特征码可取3位,用来表示产品的系列号及其它特征,而零部件的特征码可取8位,用来表示零部件所属的产品号及其图号。一旦确定了某类特征代码使用的位数,则所有该类物料的特征码必须按照指定的位数编码。代码不足指定位数的可用其它字母或数字补充(用字母补充时一般用字母“N”,),代码超过指定位数的可进行简写。

对特征码,也可进行细分,如特征码总长度为6位,则可用前两位表示一种信息,中间两位表示一种信息,后两位表示一种信息。

3.顺序号

顺序号用来表示某一物料在该类物料中的编码顺序,是为了区别同一类物料中的不同物料而设计的。顺序号的长度可根据该类物料的多少确定,但要考虑编码将来的扩展,保留一定的余地。不同类别的物料可以取不同长度的顺序号,如:用三位就可表示从‘000’到‘999’共1000种物料。顺序号的长度一旦指定,则该类物料的所有顺序号位必须按指定的长度编写,不足长度的前面用’0’补充。如:001,002,003,090,445等是正确的,不能用’10’表示第10种物料,而应用‘010’来表示。

4.后缀

后缀用一位字母表示,可以用来区分相同名称、规格或图号而材质、加工工序或颜色不同的零部件或产品、原材料。这样,可以用相同的特征代码和顺序号表示出同一图号的零部件或产品的不同状态。

如: C325002R,表示产品325002红色

C325002G,表示产品325002绿色

L3421007A,表示零部件3421007已冲压成型

L3421007B,表示零部件3421007已零件加工

L3421007C,表示零部件3421007已电镀

后缀是可以选择的,可以使用,也可以不用,根据具体情况而定。

5.举例:如:产品的编码原则定为:

× ×××× ××

一位字母‘C’ 四位特征码 两位顺序号

则产品内销机-S195-S195长单机的代码可编为: CS19501

内销机-S195-S195方单机的代码可编为: CS19502

内销机-S195-S19545W 的代码可编为: CS19503

零部件的编码原则为:

× ×××××××× ××× ×

一位字母‘L’ 八位特征码 三位顺序号 一位后缀

用特征码表示产品及图号的缩写,后缀表示零部件加工的状态。

例,专用件或借用件的编码:

内销机-S195-S19545W缸套的图号为0101,零件顺序号为03则其代码为可编为:LS195010103 [L S195 0101 03],后缀不用。

通用件的产品编码:

通用件因为不专于任何一个产品序号,其产品特征码可定义为:TTTT或其它有代表性的字符。

如果上例中的内销机-S195-S19545W缸套属于通用件,则其编码为:LTTTT010103。

注意事项:

1.如果使用字母和数字混和编码时,应避免使用字母O、I、Z等字母,以免书写时与0、1、2相混淆;

2.编码中尽可能不用-、#、*等这些无意义的符号(只是为了区分编码的段,而没有任何含义),因为这些符号不便于计算机输入,而且会使编码太长;

3.确定编码方案时一定要保留足够的空间以方便以后的扩充;为了使编码便于书写和录入计算机,编码在满足一定的要求下应尽可能简短;

4.凡是库存中可能出现的物料都必须予以编码;

5.每种物料只能有一个编码,同样,一个编码只能在库存中找到一种物料,一一对应。



一、灵活地解决物料编码的修改问题

物料的编码原则上不允许修改,但由于各种原因,如:制定物料编码原则时预留范围不够,需要扩充;新物料编码时物料的类别分配错误;随着企业的发展,使用物料类型的变化,原来的编码原则需要更改或细分等。当这些事情发生时都需要对现有的物料编码进行修改,否则物料的编码原则将失效。综上所述,物料编码的修改在很多情况下是因为物料的类别变化引起的,物料编码中所携带的物料类别信息越多,则物料编码越需要频繁地修改,以下举例说明。

例:某企业的零件编码由5位数字组成,第一位是产品类型码,用“1”表示“单面台秤”,用“2”表示“双面台秤”,第二位表示“组件”,用“1”表示“齿轮组件”,用“2”表示外壳组件,后三位为顺序号,起初企业只有一个类型的产品叫“单面台秤”,用“01”表示“单面台秤齿轮组件”,“02”表示“单面台秤外壳组件”,单面台秤齿轮组件中的零件“大齿轮”的编码是 “11006”。后来企业又陆续开发了一系列新产品,如“双面台秤”、“健康称”、“厨房称”……,其中都用到了“单面台秤”中的一些部件,企业希望将这些组件重新分类,用第一位“0”表示通用件,将“大齿轮”(编码11006)归类到通用组件中,则其编码需改为“01006”。

允许用户简化物料的编码方案,尽可能减少物料编码中过多的类别信息,代之以顺序号,这样物料编码将比较简短,容易实现计算机录入、存储,有关类别信息将另外存储,不在编码中携带,这样,当物料的类别改变时,只需更改其类别,而原有的代码不变。这样会大大减少物料编码的改变频率。


二、物料分类更加灵活、细致


三、使用技巧

如果完全按照顺序号进行物料编码,虽然编码简短,但不容易记忆,如果编码中携带了物料的类别信息,则不易修改。一般地,根据企业的具体情况,采用二者结合的方法。有以下原则可参考:

当物料种类比较少时,如1000种以下,可较多地携带类别信息

如: 600型扫描仪,编码为SCAN600

1200型扫描仪,编码为SCAN1200

PⅡ300Mhz处理器,编码为P2CPU300

PHILIPS显示器,编码为CP001(CP表示计算机部件)

IBM显示器,编码为CP002(CP表示计算机部件)

当物料的种类较多时,如5000种以上,可不携带或少携带类别信息

如: 3/8” x 3/4”六角铁制螺栓带帽,编码为:5872

3/8” x 1”六角铁制螺栓带帽,编码为:5873

1/2” x 1”六角铁制螺栓带帽,编码为:5874

毛衣(红色):3002R (用R表示红色)

毛衣(黄色):3002Y (用Y表示红色)

记住毛衣为3002,可联想出红色3002R,绿色3002G……

将来可能会变动的物料类别信息或物料属性最好不要将其作为物料编码的一部分,而将其放在物料的类别信息中。

如果用户目前已经存在旧的物料编码,而且所有人员已经熟悉,不到万不得已,最好不要修改,继续沿用以前的代码,可减少许多工作量。

单据编码是ERP系统中必备的功能,用于生成各种单据的流水号,常常借助于日期时间等字符来生成一个唯一的单据号码。

从软件的角度来说,就是为生成数据表的主键值(参考编号),从用户的角度来说,就是给业务单据制定编码规范。之后做到见名知意。

举个例子:比如销售订单号是SO201508190001,采购订单号码是PO201508190001。


1 基础单据编码 Document serialization basic 

单据编码主表,用于存放单据及其编码规则。

CREATE TABLE [dbo].[DocumentSerialization](
    [SeriesCode] [NVARCHAR](8) NOT NULL,
    [Description] [NVARCHAR](40) NOT NULL,
    [Suspended] [NVARCHAR](1) NULL,
    [SerialLength] [DECIMAL](2, 0) NULL,
    [PrefixLength] [DECIMAL](2, 0) NULL,
    [Prefix] [NVARCHAR](12) NULL,
    [NextSeqNo] [DECIMAL](10, 0) NULL,
    [AllowOverride] [NVARCHAR](1) NULL,
    [CreatedDate] [DATETIME] NULL,
    [CreatedBy] [NVARCHAR](10) NULL,
    [RevisedDate] [DATETIME] NULL,
    [RevisedBy] [NVARCHAR](10) NULL,
    [WithReset] [NVARCHAR](1) NULL,
    [PrevResetDate] [DATETIME] NULL,
    [PrefixDefault] [NVARCHAR](12) NULL,
 CONSTRAINT [PK_DocumentSerialization] PRIMARY KEY CLUSTERED 
(
    [SeriesCode] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO


举例说明,这些字段值的含义。

处理销售订单功能SLSOSO,它的单据编码总长度是12,序号前缀长度是6,序号前缀规则是SO@Y@M,@Y表示两位数的年,@M表示两位数的月份,下一个单据编码流水号是4,所以当产生处理销售订单的单据编码时,它是SO1508000004。


2 宏处理 Macro

有时候我们需要根据情况选择一种或多种序列号生成方式,在生成序号的时候弹出窗体,让我们选择要哪一种前缀编码方案,比如采购订单的编码规则,有时候是PO201508180001,有时候是OE201508180001,它们的前缀(Prefix)是不一样的。为达到这种目的,我们给DocumentSerialization增加子表。

CREATE TABLE [dbo].[DocumentSerializationDetail]
(
[Index] [int] NOT NULL,
[SeriesCode] [nvarchar] (8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Prefix] [varchar] (12) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[TextPattern] [varchar] (12) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT ,
[NextSeqNo] [decimal] (10, 0) NULL,
[CreatedDate] [datetime] NULL,
[CreatedBy] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RevisedDate] [datetime] NULL,
[RevisedBy] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Suspended] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[DocumentSerializationDetail] ADD CONSTRAINT [PK_DocumentSerializationDetail] PRIMARY KEY CLUSTERED  ([Index], [SeriesCode]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[DocumentSerializationDetail] ADD CONSTRAINT [FK_DocumentSerializationDetail_DocumentSerialization] FOREIGN KEY ([SeriesCode]) REFERENCES [dbo].[DocumentSerialization] ([SeriesCode])
GO


参考下面的数据例子来理解这个表的含义:

使用问号作为占位符,在运行时弹出窗体让用户选择哪一种单据编码方案,用户选择PO,则生成PO201508前缀的采购订单编码,如用户选择OE,则生成OE201508前缀的采购订单编码。

为了加深对占位符号的理解,举例说明以下几种情况。

1  前缀定义值是 ??ABC,用户选择XY,则返回前缀结果XYABC。 
2  前缀定义???ABC,用户选择XY,返回结果前坠XY_ABC,对于不多余的占位符号用下划线替代。 
3  前缀定义@D@M@YABC,当前日期是2015年8月19日,则生成的前缀值是150819ABC。

 

3 基于用户的需要编码方案 User-based document serialization

有时候不同的用户有不同的单据编码规则,我们需要依照用户来创建编码规则。先创建数据库。

CREATE TABLE [dbo].[DocumentSerializationUser]
(
[Index] [int] NOT NULL,
[SeriesCode] [nvarchar] (8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[UserId]  nvarchar(10)  NOT NULL  COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Prefix] [varchar] (12) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[TextPattern] [varchar] (12) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT ,
[NextSeqNo] [decimal] (10, 0) NULL,
[CreatedDate] [datetime] NULL,
[CreatedBy] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RevisedDate] [datetime] NULL,
[RevisedBy] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Suspended] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO

这个表也是序号编码DocumentSerialization的子表,主键增加了用户编码字段UserId,记录每个用户要编码规则。

在系统中,优先使用基于用户的编码规则,其次是宏替换处理,最后才是应用基础的编码规则。

 

4 并发处理 Concurrency

当两个并发用户同时创建或保存一张同样的业务单据时,系统会返回两个相同的单据编码,产生了并发问题。

A 方案

打开业务功能时,立即为当前单据创建单据编码,比如产生单据编码SO15080004,在单据保存时,发现这张单据编码被其它的用户使用过,则重新产生一个新的业务单据编码SO15080005,如有发现此编码仍然被占用,依此向下搜寻,直到找到可以保存的单据编码。

这种方案的优点是总是可以保存单据,缺点是界面中看到的单据编码,不一定是最终保存的单据编码。

B 方案

打开业务功能时,不产生单据编码,只有在单据保存时才产生单据编码。避免了单据并发冲突。

这种方案优点是没有并发冲突,缺点是只有单据保存之后才可以看到单据编码。

 

5 编码规则程序设计 Document serialization programming

在单据保存时,调用接口产生编码规则,参考下面的程序片段。

EcnEntity ecn.....
if (ecn.IsNew && seriesCode != string.Empty)
{
     IDocumentSerializationManager serializationManager =ProxyInstance<IDocumentSerializationManager>();
     ecn.EcnNo = serializationManager.GetNextSerialNo(sessionId, seriesCode, ecn.EcnNo, ecn);
}

如果业务单据的实体保存时发生异常,则需要重置用户编码,清除产生的序号编码。

catch
{
     adapter.Rollback();
     if (ecn.IsNew && string.CompareOrdinal(ecn.EcnNo, currentRefNo) != 0)
     {
         try
         {
                ecn.EcnNo = currentRefNo;
                serializationManager.ResetNextSequenceNo(seriesCode);
         }
         catch
         {
         }
     }
     throw;
}

 

6 固定编码规则  Fixed document serialization

以上实现了基于流水号的单据编码规则,如果单据的编码规则相对固定,则以上方法行不通。请先阅读下面的需求说明:

接到客户订单,订立合同编号:HT201508003;接着做合同评审,产生一个合同评审单号PS201508003;合同评审通过以后,再到ERP系统中做销售单,销售单号是XSD201508003;如果一个合同分三个销售订单下单,则会分别产生XSD201508003-01,XSD201508003-02,XSD201508003-03 三个销售订单号。继续为销售订单发货,销售订单XSD201508003所产生的发货单号应该是XSFH201508003,如果销售订单XSD201508003分三次发货,则依次产生的三张销售发货单号是XSFH201508003-01,XSFH201508003-02,XSFH201508003-03。

   

单据编号201508003从销售合同到销售发货都是同一个单据号,只是编码前缀不同。

   

这种编码方案要求一个单据号码贯穿整个流程,单据编号从起始点业务单据传递到最终业务单据,仅仅是前缀不同。

要实现这种固定格式的单据编码,需要对流转的每个单据进行编程处理,业务单据也应该有固定的下推流程,做不到通用性,但是优点是很明显的,一个号码贯穿整个业务单据,非常清晰明了。


【参考:博客园】



你最好先了解,单据编码规则设计方案

1 用户可以自定义单据编号生成规则,
例如:年月日+电脑自动编号

字母(代表不同单据)+电脑自动编号

建议下载一个ERP软件,看看他们编码规则。

这个不是一句两句或者一两篇文章能够搞定的,而且需要结合公司实际的业务来编码。
比如有些公司一次性物料比较多,他们的编码基本上用的就是物料本身的编码再加上自己公司的代码,然后一些其他的编码。
有些公司物料种类变化不大,型号变化也不大,完全可以单独设置一些编码。


ERP系统单据编码规则
单据编码是ERP系统中必备的功能,用于生成各种单据的流水号,常常借助于日期时间等字符来生成一个唯一的单据号码。从软件的角度来说,就是为生成数据表的主键值(参考编号),从用户的角度来说,就是给业务单据制定编码规范。之后做到见名知意。举个例子:比如销售订单号是SO201508190001,采购订单号码是PO201...

ERP系统单据编码规则
对生产企业来说同一原料批次主要关注重点是有效期,且有些产品对原料是否同批次有比较严格的要求。过期的原料不能使用,或同一原料不同批次不能混用等等,这些问题只能用调整批次来解决。当然,为保证产品的质量,原则上应该是不能随意调整批次的。

erp中物料如何编码
4.建立物料编码一览表:有旧编码的一定要对照表由物料编码方案编制部门依据确认后的物料编码规则,编写现有物料的编码,列表下发,原来有物料编号的,同时编写新旧料号对照表。5.物料编码的使用推广全范围应用新编物料编码,包括:所有进出库单据、采购单、供应商送货单、客户订单、库房手帐、物料卡等 二、...

在吗亲,ERP编码规则怎么改
企业在上ERP系统的时候,一般会将基础资料进行归类梳理,按照一定的规则编码,一般情况下编码规则是软件厂商项目经理和软件使用方项目负责人进行确认的,如果要修改的话,等于说系统要重新上线,不到不得已不会改编码规则,万一要改也是需要彻头彻尾的大动。

叙述一下ERP软件的帐套编码规则详细(erp系统编码标准)
另外,ERP系统是很复杂庞大的系统,有些甚至要开发数年,你用一周开发完是不是有点过分了?现在的低代码平台是简单,但是ERP系统的难点是系统本身复杂不是工具复杂。在简单的工具,几百个表格。你做出来,还要有功能,可能吗?个人感觉,你理解的可能是企业管理系统,不是生产企业用的ERP,如果是这样的...

简述ERP流程(erp的流程)
5.资料收集:主要的目的是企业的人员在熟悉了各项编码原则的基础上,收集企业应用ERP管理所需要的基本资料,包括物料资料、供应商、客户、部门、人员等收集。6.流程测试:主要的目的是企业的人员测试流程拟定的合理性,并使用企业实际的业务流程来测试ERP系统的功能完善性,和操作的方便性。7.期初导入:主...

ERP项目中,需要自己编吗,物料编码自己编的多吗?
物料管理是ERP项目中工作量比较大的一个环节,需要将企业现有的物料全部导入系统。建议在实施此项工作前制定好物料编号规则、物料编码申请、物料信息维护规则。这样后续的工作就会好开展一些,如果物料编码信息不能得到足够重视,将会影响后续很多单据与计划的准确性。最后在补充一下:物料编码信息影响进销存、...

ERP在期初数据的编码怎么建立
编码只要包括:物料编码,单据编码,账户编码,角色编码,部门编码。其中以物料编码最为复杂,要根据公司实际物料进行编制,编码主要以从大类到小类的方式进行编排,也可以按财务分类来编排,如产成品、半成品、原材料、低值易耗品等等,主要是方便以后查找账目及数据使用。ERP的编码主要方式主要分2类,1....

什么叫序列号管理
序列号编码规则 在巨灵鸟ERP中,序列号编码方式为:单据编号-物料编号-顺序号,序列号通常都是自动生成,也可以改为手工填写。在巨灵鸟ERP中,产成品的序列号是在做生产通知单时自动生成,原材料的序列号是在入库时自动生成。序列号与物料计量单位的关系 在ERP系统中,序列号的生成是没有和物料的计量...

制造业erp管理系统?
4、系统参数设置:初始设置业务操作的基本业务信息和操作规则,包括设置系统参数、单据编码规则、打印及单据类型等,帮助用户把握业务操作规范和运作控制。5、完善的系统辅助工具:利用功能强大、使用灵活方便的系统工具,用户可以处理数据,满足自身需要。此外,制造业ERP管理系统还具备数据核对和清理功能,以及...

饶河县13364009062: ERP系统物料编码原则是什么? -
纵咳达维: 大多数的ERP系统采用的是等级形式的分类编码,例如003.01.1770.004.这种编码运用了成组技术,按照物料的规格、特性、使用情况等相似性,把物料分门别类. 分类编码之所以在ERP系统中被广泛应用,是因为它具有很大的优点.易维护...

饶河县13364009062: erp仓库编码规则? -
纵咳达维: 如果是仓库编码,一般要考虑到仓库的管理特性,比如从属性上分(自有库、委外库、寄存库等),或者从地域上分(本地库、异地仓库、物流代管仓库等),或者从仓库管理对象上分(原材料库、半成品库、低值易耗品仓库、成品仓库等).方法很多,一定要和管理需要结合.如果是仓库里面货物的编码,一定要注意编码的唯一性和可扩展性,并且在设立规则时,一定要尽量让编码符合工艺美感,最好不要在一个类别下的物资,编码有长有短,那就难看了,而且不好管理.

饶河县13364009062: 物料编码的原则 -
纵咳达维: 一.编号应该反应分类 编号如能反应分类,则在打印报表时,同类之资料才会被汇总于一处,将方便被比较或汇总.分类之一般原则是大分类号在前,小分类号在后,依序排列.例如编号时,可以第一、二码表示大分类,第三、四、五码表示中...

饶河县13364009062: ERP编码,怎样编码才更合理、更有效??
纵咳达维: 采用树形结构,大类码下属小类码,小类码下属商品信息,大类码采用两位数,小类码也采用两位数,最后加四位数流水,这样可以管理一百个大类,每个大类下属一百个小类,每个小类可以管理一万个商品信息.比如酒类大类为01,下属葡萄酒小类为02,最后加四位数0006,那么其商品代码就是01020006.把编码规则用文件的形式固定下来,只要看到前四位数就知道这个商品属于那个柜组管理.

饶河县13364009062: ERP中的物料编码,有什么规则,有例子吗? -
纵咳达维: 一般两种模式,一种按财务方式遍,成品A-XXX-XX 半成品B-XXX-XX 原料C-XXX-XX 低值易耗品D-XXX-XX 还有一种就不一定了,按行业各自特点去区分材料的分类,五金类,液体类,油漆类 等等,主要就是首段字母的编排方式区别,后面段的细分编码按实际情况即可

饶河县13364009062: erp系统产品编号怎么定义? 公司是供应商,主要做安防类的工程~~视频监控、公告广播(背景音乐)、 -
纵咳达维: 1、整理公司物料清单,注意排除重复的、多种物品叫同一个名称的两种现象.2、将公司物料分类,注意分类尽可能合理.3、制定编码原则.4、根据编码原则为物料确定编码.注意杜绝一品多号、多品一号的现象.5、录入或导入ERP.

饶河县13364009062: ERP系统中物料编码里的顺序码是指所有物料按序来排列还是指在一个大类里顺序排列? -
纵咳达维:[答案] ERP里的物料编码里的顺序码一般是按照大类、小类、顺序号这样编的.其实你问的没有什么区别.工厂物料管理肯定是按照分类进行的,录入ERP的时候一般是按照分类进行编号,然后再排顺序号.具体的物料怎么编号要看你们的编号规则.

饶河县13364009062: 为仓库物料编码?工厂是印刷包装准备开发ERP网页系统,很多不常用物料该如何为它编码 ,请大家帮忙谢谢 -
纵咳达维: 物料编码最好越简单越好 全数字是我的建议 物料编码也不要考虑太多 像外观 颜色 不同厂家购买 因为ERP系统就一个大脑 会帮你记住很多事情 通常好的ERP软件 物料编码后可以不同使用单位之角度 帮大家作分类管理 所以一般我会建议以原料 半成品 成品 物料 分第一大类 第一大类再按 物料性质分 如电机类 辅料类 五金类 或大小尺寸 区分等 另相同东西不同厂家购进 也只能为同一品号 否则造成 BOM在架构上困难及仓库管理之困扰 不常用的物料也是要编码 但如果是金额小 东西也小的料品可考虑架物料 可规划为自动扣料 或作不发料买进直接当费用处理(此种可不盘点 减少盘点时的困扰) 这需要分析物料的性质 金额 及重要性来判断

饶河县13364009062: ERP编码是指的什么? -
纵咳达维: 企业资源计划即 ERP (Enterprise Resource Planning),由美国 Gartner Group 公司于1990年提出.企业资源计划是 MRP II(企业制造资源计划)下一代的制造业系统和资源计划软件. 除了MRP II 已有的生产资源计划、制造、财务、销售、采购...

饶河县13364009062: 做一个合格的ERP专员,要懂的哪些,ERP的编码规则该怎麽完善,该怎麽使一个公司能更快上手ERP -
纵咳达维: 物料编码是企业实施ERP最基础的工作,也是最重要的工作.1.统一规划企业的信息编码体系,如企业具有设计研发能力,则ERP的物料编码应该从设计部正向流动至ERP.2.形成标准文件,文件应包括分类依据,编码依据,编码的申请与使用流程,及代码对照表;3.验证测试,及时完善、更改.4.发布实施,在企业中执行,并建立相应的惩罚措施. 企业的信息编码体系的建立应该在ERP之前就要规范完成,否则ERP进去的是垃圾,出来是还是垃圾. 数据不准确,统计报表不准确,结果ERP起不到任何决策作用. 企业的信息编码体系建立是属于企业标准化的范畴,应该由标准化人员牵头,各相关部门参与完成体系文件的建立.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网