CREATETABLE [invoiceitem] (
[id] integer identity(1,1) notnullCONSTRAINT [invoiceitem_pkid] PRIMARYKEY, --流水号,自动增加
[iid] intnotNULL, --主表(invoice)的id字段关联
[iit] intnotnull, --步骤号, 步骤1填1,步骤2填2。(注意:步骤1里面如果需要写两次则分别为填1和2,类推步骤2就填3和4,4个步骤的一般发生在调拨单中)
[idx] intnotNULL, --行号、行序号
[ca] intnotnull, --往来类型
[GoodsID] varchar(50) notnull,--货品代码
[CompanyID] varchar(50) notnull,--核算往来单位代码
[DeptStaffID] varchar(50) notnull,---核算部门员工代码
[PrjID] varchar(50) notnull, --核算项目代码
[StorageID] varchar(50) notnull, --核算仓库代码
[poid] varchar(50) notnull, --核算订单代码
[HGoodsID] varchar(50) notnull,--核算成品的货品代码
[Amounti] money NOTNULL, --"收入"货款
[Amountbi] money NOTNULL, --"收入"货款(本币),一般和Amounti填一样的值
[Amounto] money NOTNULL, --"发出货款"
[Amountbo] money NOTNULL, --"发出货款"(本币),一般和Amounto填一样的值
[Qtyi] floatnotNULL, --"收入"数量
[Qtyo] floatnotNULL, --"发出"数量
[Qtyvi] floatnotNULL, ---"收入"数量(虚拟的)
[Qtyvo] floatnotNULL, ---"发出"数量(虚拟的)
[FCur] varchar(30) NOTnull, --外币币别
[ExRate] floatnotnull, --汇率,默认填1
[priceStd] floatnotNULL, --标准价格(参考价格)
[priceTax] floatnotNULL, --含税价
[priceDst] floatnotNULL, --折扣价
[discount] floatNOTNULL, --折扣
[totali] money NOTNULL, --"收入"价税合计
[totalbi] money NOTNULL, --"收入"价税合计(本币),一般和totali填一样的值
[totalo] money NOTNULL, --"发出"价税合计
[totalbo] money NOTNULL, --"发出"价税合计(本币),一般和totalo填一样的值
[costi] money NOTNULLdefault 0, --收入成本,不用填
[costo] money NOTNULLdefault 0, --发出成本,不用填
[iscost] intnotnulldefault 1, --是否要影响库存成本,默认填1
[isfeecost] intnotnulldefault 1, --费用是否影响成本
[iimemo] varchar(200) NULL, --行备注
[batchno] varchar(50) notNULL, --批号,默认填空串
[gPrd] datetime null, --保质期
[taxrate] floatNOTNULL, --税率
[tax] money NOTNULL, --税金
[taxb] money NOTNULL, --税金(本币),一般和tax填一样的值
[Qtyd] floatnotNULL, --退货数量,填0
[rno] varchar(20) null, --引用单号,不填
[PriceTransfer] floatnull, --调拨价
[PriceTransferTax] floatnull, --调拨含税价
[TransferTaxRate] floatnull, --调拨税率
[TransferTax] money NULL, --调拨税款
[TransferTaxb] money NULL, --调拨税款(本币)
[PriceFee] floatnull, --费用单价
[FeeTaxRate] floatnull, --费用税率
[FeeTax] money NULL, --费用税金
[FeeTaxb] money NULL, --费用税金(本币)
[Fee] money NOTNULL, --费用金额
[Feeb] money NOTNULL, --费用金额(本币)
[MGoodsID] varchar(50) null, --材料的货品代码,(一般用于物料转性)
[MUnit] varchar(20) null, --物料的单位
[MQty] floatnull, --物料数量
[MPrice] floatnull, --物料单价
[MAmount] floatnull, --物料金额
[MPricec] floatnull, --材料成本价
[KFeeTaxRate] floatnull, --可抵扣费用税率
[KFeeTax] money NULL,[KFeeTaxb] money NULL, --可抵扣费用税金
[KFee] money NULL,[KFeeb] money NULL, --可抵扣费用
[BarCode] varchar(30) null, --条形码
[Unit] varchar(20) null, --单位,一般是相对于标准单位需要换算,如: 箱(一箱=10包)
[UnitB] varchar(20) null, --标准单位,如:包 (10包=一箱),对应于货品资料里面的单位
[UnitRate] floatnull, --单位之间的转换率
[relaapp] varchar(20) null, --关联模块
[relaid] varchar(20) null, --关联ID
[ACID_fee] varchar(50) NOTNULL, --费用科目代码
[ACID_kfee] varchar(50) NOTNULL, --可抵扣费用科目代码
[lo] intnull, --成本计算顺序,不要填
[qtyc] floatnulldefault 0, ---保留,用于先进先出法成本计算
[s1] varchar(50) null, ---程序员不应该使用S1至6,留给客户自定义使用-
[s2] varchar(50) null, ---程序员不应该使用S1至6,留给客户自定义使用-
[s3] varchar(50) null, ---程序员不应该使用S1至6,留给客户自定义使用-
[s4] varchar(20) null, ---程序员不应该使用S1至6,留给客户自定义使用-
[s5] varchar(100) null, ---程序员不应该使用S1至6,留给客户自定义使用-
[s6] varchar(200) null, ---程序员不应该使用S1至6,留给客户自定义使用-
[d1] datetime NULL, ---已使用,(该字段为生产日期)
[d2] datetime NULL,
[L1] intnull,
[L2] intnull,
[L3] intnull,
[i1] intnull, ---保留,用于先进先出法成本计算
[i2] intnull, ---保留, 用于记录当前单据是进还是出(按实际数量), 成本核算业务排序需要
[i3] intnull, ---保留,用于标识是否需要成本归集
[c1] money NULL, --非固定比例辅助计量单位的转换率
[c2] money NULL, --异价调拨的金额(货款)注意:仅限用于打印单据时取数使用,因为打印时数据库无法四舍五入
[c3] money NULL
);
说明:
1.iid、iit、idx 构成一个唯一的“键”,必须注意唯一性,否则不能插入多行记录
2.“收入"和"发出"开头的字段只能按你的单据类型填一种,要么“收入”要么“发出”,不能两种都填,一种填了,另一种就必须填0,例如销售单就填“发出”开头的字段,“收入”开头字段填0
3.要特别注意 Unit 和 UnitB 这两个字段,标准单位的数量必须通过 qty 相关字段 乘以 UnitRate字段获得,做报表的时候要特别小心注意
4.c1 字段和UnitRate类似,要取得非固定比例的辅助计量单位的数量,就必须通过 qty 相关字段 乘以 c1字段获得
单据里面存储的数量是按用户输入的数量和单位进行储存的,要获得各种数量必须依照以下 公式通过字段计算而得:
基本单位收入数量 = Qtyi * UnitRate
基本单位发出数量 = Qtyo * UnitRate
中计量单位收入数量 = 基本单位收入数量 / Goods.UnitMr = (Qtyi * UnitRate) / Goods.UnitMr
中计量单位发出数量 = 基本单位发出数量 / Goods.UnitMr = (Qtyo * UnitRate) / Goods.UnitMr
大计量单位收入数量 = 基本单位收入数量 / Goods.UnitBr = (Qtyi * UnitRate) / Goods.UnitBr
大计量单位发出数量 = 基本单位发出数量 / Goods.UnitBr = (Qtyo * UnitRate) / Goods.UnitBr
辅助单位收入数量 = Qtyi * c1
辅助单位发出数量 = Qtyo * c1