即时库存

      现在是19点37分,吃过饭也超过半个小时了,差不多该写写代码了。想到数据库就头疼,尤其是过程,这该死的系统存储过程还那么长,我去…..

      我的网易校园招聘网页还是打不开,看来今天的网速还是像平常一样抽了,还好用windows live writer离线写,就这样写着吧,等网页打开了,看看我的简历投出去没。

   

      今天我打算完成的主要部分:1在出入库单据表(ICstockbillentry)里插入一列(FZLNo),但是这张表是老表,不能直接插入,貌似还要关联到一张系统表(ICTemplateEntry),我要在这张表里同时插入我的列信息,但是插入参数有点多,一个个看是什么意思有点不现实。我打算用SQL追踪,如果我在系统中手动在单据体增加一列,系统应该会有一个SQL语句,能捕捉到就OK了。先这样试试。

        打开K3和SQL差点卡死,系统太慢了,也不知道是神马情况。

Insert Into ICTemplateEntry(FID,FLookUpType,FCtlIndex,FCtlOrder,FHeadCaption,FHeadCaption_CHT,FHeadCaption_EN,FCtlType,
FLookUpCls,FNeedSave,FValueType,FSaveValue,FFieldName,FWidth,FEnable,FRelateOutTbl,FPrint,FMustInput,FNeedCount,FFilter,
FRelationID,FAction,FDefaultCtl,FVisForBillType, FStatCount,FFormat,FMaxValue,FMinValue,FItemClassID,FUserDefineClassID)
Values('A02',0,39,39,'制令号','新增列39','Self-defined List39',30,-1,-1,0,0,'FEntrySelfA0239',1500,48,0,-1,0,0,'','','',0,31,0,'','','',0,0)

          成功搞定

          现在可以根据这个方法给其他出入库单据加制令号了,不过是不是可以多张单子关联到一列上呢,试试。

          好吧,出现新的问题,我直接alter表增加一列,然后在ICTemplateEntry表中增加一条信息,但是还是校对的时候报错,应该是信息还是加的不够,到底怎么办。。。先给女朋友打个电话,放松一下。

          短信呼………………………………………………………………回来继续奋斗吧

插入的信息不够。。我决定再试着追踪一次。

用记事本先保存和制令号相关的信息,我快疯掉了,我把SQL语句全部拷出来执行一遍就出错,系统自己执行就不出错,这神马情况?

女朋友电话也打不通,手机好像没电了,不知道回宿舍没有,有点担心她了。

回到遇到的问题,难道要我在每一张单据上面拖一列过去?也不知道该找谁问问,这叫我情何以堪。


追踪发现,系统不止在icstockbillentry插入了列,还在icstockbillentry_1~41这些表中也插入了相同的列。是不是我无法校对跟这个有关。

成功插入,并且校对没有报错,果然如我所料。再试着关联到其他表试试。

完成,没有出错,第一步大功告成,原来老表后台插入一列的时候要插入所有的entry


接下来我就不需要修改我的代码了,现在只要完成库存查询,那就只剩下最后最难得存储过程了。

好吧,日志发布不上,网络不给力啊~~~~女朋友还是打不通电话!!!

现在时间21点14分

最后成功执行的语句:

Insert Into ICTemplateEntry(FID,FLookUpType,FCtlIndex,FCtlOrder,FHeadCaption,FHeadCaption_CHT,FHeadCaption_EN,FCtlType,FLookUpCls,
FNeedSave,FValueType,FSaveValue,FFieldName,FWidth,FEnable,FRelateOutTbl,FPrint,FMustInput,FNeedCount,FFilter,FRelationID,
FAction,FDefaultCtl,FVisForBillType, FStatCount,FFormat,FMaxValue,FMinValue,FItemClassID,FUserDefineClassID)
Values('A97',0,39,39,'制令号','制令号','制令号',30,-1,-1,0,0,'FZLNo',1500,48,0,-1,0,0,'','','',0,0,0,'','','',0,0)

if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_1'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_1  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_2'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_2  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_5'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_5  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_10'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_10  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_21'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_21  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_24'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_24  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_28'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_28  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_29'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_29  Add FZLNo VARCHAR(255) NULL
if not exists (SELECT * FROM sysobjects t1 ,syscolumns t2 where t1.id=t2.id and t1.name='ICStockBillEntry_41'  and t2.Name='FZLNo')
Alter Table ICStockBillEntry_41  Add FZLNo VARCHAR(255) NULL
posted @ 2011-11-12 01:48  Neilyo  阅读(457)  评论(0)    收藏  举报