4Fang财务软件、四方在线软件、SaaS

简单实用的就是最好的!
帮助中心 | 登录 | 注册 | 关于 |

 
  invoice -- 账面数主表(进销存)

jangogo @ 2009-9-2 7:03:00

 
  1. CREATE TABLE [invoice] (   
  2.  [id] integer identity(1,1) not null CONSTRAINT [invoice_pkid] PRIMARY KEY,  --流水号,自动增加   
  3.  [btype]  varchar(2) null--单据名称(类型),如销售单为XK   
  4.  [period] varchar(6) not null,  --会计区间, 和accperiod表关联   
  5.  [bno] int not NULL,   --单据编号   
  6.  [idate] datetime not null,  --单据日期   
  7.  [itype] int not NULL,  --发票类型   
  8.  [taxrate] float NOT NULL--税率   
  9.  [discount]  float NOT NULL--折扣   
  10.  [FCur] varchar(30) NOT null--外币币别,本币填空字符串   
  11.  [ExRate] float null,  --汇率,本币填1   
  12.  [GoodsID] varchar(50) not null--核算成品的货品代码, 默认填空串   
  13.  [CompanyID] varchar(50) not null,  --核算往来单位的往来单位代码, 默认填空串   
  14.  [DeptStaffID] varchar(50) not null,  --核算部门的部门员工代码, 默认填空串   
  15.  [PrjID] varchar(50) not null,             --核算项目的项目代码, 默认填空串   
  16.  [StorageID] varchar(50) not null,    --核算仓库的仓库代码, 默认填空串   
  17.  [poid] varchar(50) not null,             --核算订单的订单代码, 默认填空串   
  18.  [maker] varchar(30) null,                --制单人   
  19.  [assessor] varchar(30) null,            --审批人   
  20.  [tallier] varchar(30) null,                  --登帐人   
  21.  [lastupdatetime] datetime null,        --最后更新时间   
  22.  [lastupdateby] varchar(30) null,      --最后更新人   
  23.  [ino] varchar(250) null,                   --发票号码   
  24.  [cno] varchar(50) null,                    --(支)票号   
  25.  [imemo] varchar(250) null,              --备注   
  26.  [ACID] varchar(50) NOT NULL,     --会计科目代码(实收/实付时的科目)   
  27.  [acmoney] money NOT NULL,       --实收/实付金额   
  28.  [acmoneyb] money NOT NULL,     --实收/实付金额(本币)   
  29.  [CreditDays] int null,    --信用天数   
  30.  [payDate] int null,        --支付日期   
  31.  [Address] varchar(200) null,  --地址   
  32.  [Contact] varchar(20) null,    --联系人   
  33.  [Mobile] varchar(50) null,       --手机   
  34.  [Phone] varchar(50) null,       --电话   
  35.  [transportType] varchar(20) NULL,  --运输方式    
  36.  [transportNo] varchar(20) null,         --运输单号   
  37.  [transportFee] money NOT NULL,   --运费   
  38.  [relaapp] varchar(20) null,                --关联程序   
  39.  [relaid] varchar(20) null,                   --关联ID   
  40.  [Foot]  varchar(50) not null,             --结算方式   
  41.  [tocompanyid] varchar(50) not null--"调拨到"往来单位的代码   
  42.  [todeptstaffid]  varchar(50) not null--"调拨到"部门员工的代码   
  43.  [toprjid] varchar(50) not null--"调拨到"项目的代码   
  44.  [topoid]  varchar(50) not null,  --"调拨到"订单的代码   
  45.  [togoodsid] varchar(50) not null,  --"调拨到"成品的货品代码   
  46.  [tostorageid] varchar(50) not null,  --"调拨到"仓库的代码   
  47.  [toaddress] varchar(200) null,  --"调拨到"地址   
  48.  [tocontact]  varchar(20) null--"调拨到"联系人   
  49.  [tomobile] varchar(50) null--"调拨到"手机   
  50.  [tophone] varchar(50) null,--"调拨到"电话   
  51.  [ID_Ref] int null,  --引用单编号,一般不要填   
  52.  [ID_Red] int null,  --冲红单编号,一般不要填   
  53.  [bomtype] int not null default 0,  --BOM构成模式,一般不要填   
  54.  [s1] varchar(50) null,   --保留字段   
  55.  [s2] varchar(50) null--保留字段   
  56.  [s3] varchar(50) null,  --保留字段   
  57.  [s4] varchar(20) null--保留字段   
  58.  [s5] varchar(100) null,--保留字段   
  59.  [s6] varchar(200) null,--保留字段   
  60.  [d1] datetime NULL--保留字段   
  61.  [d2] datetime NULL--保留字段   
  62.  [L1] int null,--保留字段   
  63.  [L2] int null,--保留字段   
  64.  [L3] int null,--保留字段   
  65.  [i1] int null,--保留字段(已使用,是否短款处理的标识符号)   
  66.  [i2] int null,--保留字段   
  67.  [i3] int null,--保留字段   
  68.  [c1] money NULL,--保留字段   
  69.  [c2] money NULL,--保留字段   
  70.  [c3] money NULL--保留字段   
  71. );   

说明:
 btype  :  单据名称(类型、代码),格式两位英文字母或者数字, 可以通过 进销存-->单据-->(选择你的单据)-->设置-->单据名称 里面看到,如销售单为XK。和btype表关联

 period  : 会计区间(月份), 和 accperiod表关联,因为很多时候会计所说的“月份”并非自然月,在accperiod里面定义了会计说的“月份”,例如2009年一月(200901)是"2008-12-26"到"2009-1-25".
              你要先根据你自己销售单的日期(idate字段) 查询accperiod表,看看你的日期是在那个period范围里面从而取得period的值,填入到本字段
              D_="'"
              select period from accperiod where startdate<=" & D_  &  iDate & D_ & " and enddate>=" &  iDate  &  H(1) & D_
              如果找不到记录,说明你的数据不能填入本数据库,可能是因为数据结转到下一年的数据库了,你应该更换你要写入的数据库。详细请看这里:【数据的分库存放】章节

 bno  :  单据编号,即单号, btype 、period、bno 三个字段一起构成一个唯一的“键”, 也就是说同一种单据类型同一个月份,单号必须唯一。
             要增加新单据到表里,必须先得到相同btype和period条件下的bno的最大值,参考以下SQL:
             "select max(bno) from " & "invoice" & " where period='" & "200901" & "' and btype='" & "XK" & "'" 
             获得最大值后,把这个最大值加一,作为新的单号

 itype  发票类型 有以下枚举值    1: 收据  2:普通发票 3:增值税发票 4:收购发票

 基础数据关联表
  1.  [GoodsID] varchar(50) not null--核算成品的货品代码, 默认填空串,关联goods表  
  2.  [CompanyID] varchar(50) not null,  --核算往来单位的往来单位代码, 默认填空串  ,关联company表,如果是销售单,这里就是客户代码,如果是采购单,就是供应商代码,统称往来单位代码
  3.  [DeptStaffID] varchar(50) not null,  --核算部门的部门员工代码, 默认填空串    ,关联deptstaff表
  4.  [PrjID] varchar(50) not null,             --核算项目的项目代码, 默认填空串    ,关联prj表
  5.  [StorageID] varchar(50) not null,    --核算仓库的仓库代码, 默认填空串    ,关联storage表
  6.  [poid] varchar(50) not null,             --核算订单的订单代码, 默认填空串     ,关联po表
     同样地:toGoodsid等"to"开头的字段也是这样相应的关联表