U8 系统篇

 

1.系统管理

1、问题描述:U8服务有时无法启动。

    解决办法:U8服务是伴随SQL服务启动而启动的。在无法正常启动的时候,是否SQL服务也启动了呢?另外还要排除服务器感染病毒的可能。

 

2、问题描述:对于用友软件进行SQL跟踪器时,应注意什么问题?能写个步骤吗?

    解决办法:简单步骤:打开profiler,点击绿色三角,选择一个跟踪文件,如sample1,确定后,进入软件,进行各项操作,出现错误提示,要求确定时,先去暂停跟踪,然后再退出错误提示。出现错误时,通常会回写ufsystem中的表,写入异常错误信息,一般情况下,可以略过不看,而是查看use ufsystem前面的几句sql语句。

 

3、问题描述:服务器系统平台为Windows2000 Advanced Server,数据库环境为SQL2000。在用户正常退出系统后,sqlservr.exe所占用的内存无法释放(在WIN2000的任务管理器进程中可以发现)。

    解决办法:上述现象是正常现象。每个SQL用户都会出现这个现象。关于使用过软件内存无法完全释放问题是微软操作系统的通病。可以尝试使用一些内存管理工具来释放软件使用的内存。

 

4、问题描述:U8产品能否将SQL数据库与U8产品在两台服务器上安装,即像NC产品实现数据服务器与应用服务器分开?

    解决办法:u8这个产品必须和数据库安装在同一个计算机上。

 

5、问题描述:在库存管理和固定子模块及其他存货管理模块,经常出现“超时已过期”变得操作系统无法工作,另外我的库存管理中出库辅料时,经常取不出数据而变的“超时已过期”死机。机器名没有非正常“汉字”为名和其他“-”的字符。我试过还是出现“超时已过期”的提示警告。重装SQL的数据库也不行,而且U8.21也重装过也是不行,还是出现类似的情况。请问该如何解决?

    解决办法:修改sql服务器属性中的查询超时设置,默认应为600秒。酌情改大。

 

6、问题描述:如果数据库中有锁定记录,该怎样修复压缩数据库?这样会不会影响其他的帐目?

    解决办法:到系统管理中清除异常任务。或到数据库中表lockvouch中清除记录(在没有站点登录时)。这样不会影响其他的帐目。

 

7、问题描述:1)当上次SQL没有卸载好,再装SQL时总出错,怎样也装不上不知如何才能卸载干净?

    解决办法:1SQL卸载前必须停止所有与SQL有关的服务。

 

8、问题描述:在SQL SERVER 2000中发现在用的数据库置疑,不能找到该数据库,在系统管理中,选择该帐套的主管身份登录,提示该数据库找不到,如何解决?

    解决办法:使用存储过程 sp_detach_db 'pubs' 'true' ,其中'pubs'为数据库名称,断开数据库和SQL的连接(或者打开sql的企业管理器,在该置疑的数据库上点击右键,在所有任务中选择分离数据库,断开连接)。然后查找数据库文件是否存在,如果存在,使用另一个存储过程连接看是否成功 sp_attach_db @dbname = N'pubs', @filename1 = N'c:/mssql7/data/pubs.mdf', @filename2 = N'c:/mssql7/data/pubs.ldf' (或者打开sql的企业管理器,在数据库上点击右键,在所有任务中选择附加数据库,建立连接),c:/mssql7/data/为数据库所在路径,如果找不到文件或连接不成功,则没有其他办法没,只能一切从头来过。下面是一个存储过程删除用友中没有数据库连接的帐套 use ufsystem DELETE FROM UA_Period WHERE cacc_id = '010' DELETE FROM UA_holdauth WHERE cacc_id = '010' DELETE FROM UA_log WHERE cacc_id = '010' DELETE FROM UA_account_sub WHERE cacc_id = '010' DELETE FROM UA_account WHERE cacc_id = '010' ,其中‘010’为帐套号。上面的语句需要在sql的查询分析器中执行。

 

9、问题描述:服务器硬盘损坏,不得以拷贝所有帐套下的ufdata.mdf和ufdata.1df文件,除此之外无任何用友数据备份。该用户从2002年1月起启用友软件。已有四个月的帐目数据,请问服务器换了硬盘后,重新安装SQL和用友U8后怎么恢复数据?

     解决办法:先建立一个帐套信息和原来的帐套,然后再查询分析器中使用存储过程断开这个帐套的数据库连接,将备份的.mdf和.ldf文件拷贝进来,然后再使用存储过程连接。具体的断开和连接数据库的方法请参照上一问题的答案。

 

10、问题描述:U8系统管理的admin口令忘记后,又没有解码器,怎样才能解决这个问题?

    解决办法:可以从一些软件下载的网站上下载一些密码查看器软件,然后打开SQL的企业管理器,用这个软件查看SA的密码。如果没设sa密码,则打开数据库ufsystem将ua_user中的口令置为null值即可。

 

11、问题描述:SQL是安装桌面版后,在安装过程中有什么与安装服务器版不一样的地方?

     解决办法:Sql桌面板只提供SQL运行环境和客户端管理配置工具,不提供例如分布式服务,对CPU数量和内存的支持和使用有限制,并且对于连接用户数也同样存在限制。在98环境下安装比较简单。无需过多选择。只是因为它安装时没有提示,所以最好等20分钟左右,然后再重启。

 

12、问题描述:请问试用期三个月是如何确定的,是记完三个月的账,还是只允许做三个月的凭证?其他的模块试用期又是如何确定的。

     解决办法:指的是只允许做三个月的凭证,其他模块相同,就是做了三个月的业务。

 

13、问题描述:安装后提示gav.dll,servernt.exe等几个文件正在使用,“忽略”后。安装完成后,帐务系统使用正常。但购销存在录入密码进入时总有各种错误提示。库存,采购提示“类不支持自动化或不支持将要打开的窗口”但可以进入。存货提示“类不支持自动化,443错误”。重装多次都是如此。

     解决办法:这些文件是不可以忽略的,安装时其他的软件要关闭。或者安装后将这些文件从安装光盘上拷贝到出现错误的机器上,对于.dll还需要重新注册。

 

14、问题描述:如何建立一个新帐套,建帐后又如何把目前使用的帐套的数据全部引入?

     解决办法:将正在目前使用的帐套输出后,替换后缀名为.lst的文件中记录的所有原帐套号为新帐套号,帐套的路径也要修改。也可以用sql提供的强制恢复进行处理。

 

15、问题描述:登录U8系统控制台及总帐等都提示"错误:部中'UFEDIT.OCX'或其附件之一不能正确注册:一个文件丢失或无效",但在系统中却能查到这个文件,导致无法使用U8软件,而且系统管理也登录不进去,该如何排除这个问题?

     解决办法:从运行正常的机器上拷贝'UFEDIT.OCX'文件到出现错误的机器上,并重新注册。

 

16、问题描述:安装后进入软件提示:需要sa的口令。

     解决办法:U8软件提示SA口令问题:㈠:对于SQL2000可能是安装时安全性选项中没有选择WindowsSQL Server集成验证方式。 解决方案:(1)从企业管理器中属性的安全性页中选择Windows和SQL Server集成验证方式(2)在查询分析器中运行 xp_instance_regwrite N'HKEY_LOCAL_MACHINE',N'SOFTWARE/Microsoft/MSSQLServer/MSSQLServer', 'LoginMode',N'REG_DWORD',2(3)修改注册表运行regedit命令修改HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer下LoginMode项目为 2 重新启动MSSQLServer服务和用友U8服务,最好用第一种方法解决。

  ㈡:系统MSADO15.DLL出错。 重新注册MSADO15.DLL(可拷贝新的msado15.dll 例: regsvr32/u "c:/Program Files/Common Files/System/ado/msado15.dll" regsvr32 "c:/Program Files/Common Files/System/ado/msado15.dll"

 

17、问题描述:在客户的服务器上安装了MSDE2000及U8后,运行系统管理建立系统数据库及演示数据,前台一切正常。但在事件查看器中的应用程序日志中有如下错误提示:18272 在备份或还原重新启动检查点文件“c:/msde2000mssql/backup/ufdata_999_2002.ckp”时发生I/O错误,操作系统错误3(系统找不到指定的路径),该语句将继续执行,但将无法重新启动。请问该如何解决?

  解决办法:这是999账套的引入错误信息,998、997及引入自已的账套也有这样的提示,每一次引入都出现此提示。安装MSDE时选择的路径不对、MSDE只能安装在c:/mssql下。SQL每次启动时会自行检查注册数据库是否完好并在正确的路径下。建议将软件和MSDE删除重新安装一下。

 

18、问题描述:在xp操作系统下测不到加密狗,装了通卡驱动(win_nt下的x86驱动),没有用,试过五种并口模式也没有用。

     解决办法:支持Xp只有U821版本。而且不需安装通卡驱动。检测不到加密合,可能原因是加密程序失效。请卸载软件,然后在xp目录下查找sgv.dll,删除。再重新安装。并并查看事件查看器是否有并口冲突错误。

 

19、问题描述:8.10(A)升级到8.21(SQL),数据升级时提示“8.12SQL和8.11A含以前版本,请在SQL SERVER7.0升级“,如何解决?

     解决办法:8.10(A)升级到8.21(SQL) SQL数据库必须使用7.0版本,不能用sql 2000

   版本,可以先将810升级到812或改换数据库为70版本

 

2.Web功能

1、问题描述:无论做分销还是U8WEB,登陆的速度都很慢。请问应如何解决?

  解决办法:清除文件夹userdata(这是一个系统自动产生的临时文件夹)里的内容,再删除IE里的临时文件,这样速度就会快点。

 

2、问题描述:1)用户使用WIN2000SERVER系统,使用ADSL宽带网大约2M带宽,用U8业务WEB功能,但数据比较多,存货有四五千条。在填销售发货单时,货物名称前面自动有空格,可否自动消除?可否输入存货名称的任意字符,选出符合条件的存货排列?而不必一页页查找,有四五十页找起来特麻烦。2)在数据参照中刷新数据经常程序无响应,应如何处理,如何增大本地缓存容量,USERDATA在哪个路径下?

    解决办法:1)货物名称前面的空格,不能自动消除,如有空格,就要手动删除,在填销售发货单时,鼠标点一下能减少空格的出现。可以输入存货名称的任意字符进行参照。2)至于速度慢的问题,跟数据量和传输线路有关系。提高WEB服务器的配置能增大本地缓存容量。USERDATA放在"ZT帐套号"这个文件夹下,搜索就能找见它。

 

3、问题描述:在使用WEB功能远程输入凭证时,发现当退出后,服务器的系统管理上显示的运行任务仍在正常运行,无法去除。请问是什么原因?

    解决办法:正常情况下,退出应使用web网页菜单上的退出项,而不要使用IE本身的关闭(即点右上角的叉),否则会出现上述情况。如果确实无法正常清除的话,也只能自行手工清除ua_task、ua_tasklog表,而且为避免此情况,还可以在服务器端的IIS服务中修改默认web站点的属性——主目录——应用程序选项——会话超时设置。

 

3.环境问题

1、问题描述:用户为8站点网络版,SQL2000SERVER版数据库。在使用过程中,工作站很容易死机,例如:打印过程中;查询退出时;凭证保存(有时)。只有重新启动,且启动后,不会马上发生死机现象。死机前错误提示为:XX.dll文件出错,XX地址发生错误等等

   解决办法:从描述判断是机器环境的问题,将出现错误提示XX.dll记下后,从安装光盘上拷贝此文件或者运行正常的机器上拷贝此文件导出现错误的机器上,并重新注册。或者将操作系统和软件彻底卸载后再重新安装。

 

2、问题描述:在WindowsXP系统下,可以运行U8软件吗?

    解决办法:可以。

 

3、问题描述:8.12sql升级U8提示类不支持自动化,工资分摊数据错误。

    解决办法:环境问题,将帐套换一个机器引入升级即可。

 

四.U8 8.20

1、问题描述:U8 8.20版总帐,在使用总帐系统的帐簿中“明细帐打印”功能(正式帐簿)进入预览界面退出时死机。不同的环境不同的帐套为什么均出现预览死机的现象,如果不预览直接打印又可以。请问为什么?

   解决办法:请检查那几台机器的操作系统,如是win98请安装第二版,或升级操作系统。由于打印控件和预览控件不一样,就会出现预览退出死机,换个操作系统试试看。另外请进演示帐套看是否死机,如也是这样,请更换打印机的驱动,或重装用友软件,换个环境测试。如演示帐套没有这现象,判断环境没有问题,可替换数据库的打印表gl_mybooktype,gl_myoutput,如数据量比较大,出现溢出错误,可以使用补丁

 

2、问题描述:U8 8.20版总帐,工作报告说由于本月工资未结帐,导致总帐也不能够结帐。我的工资模块没有买,是在订货时试用了一下,目前正式到货仅仅安装了zw 和ufo模块,请问怎么办?

   解决办法:在数据库中将该帐套的数据库(ufdata_帐套号_年度)的表accinformation中的工资的启用日期清除,以及ufsystem数据库中的表ua_account_sub中的该帐套的csub_id=WA的两条记录删除。

 

3、问题描述:U8 8.20版应收帐款,在发票列表中查询发票,发现有发票号及发票内容一模一样的发票,打开表salbillvouch,却没有重复记录。(使用模块:总帐、应收。)发票为普通发票。为什么?

   解决办法:该套数据的Ap_SalBill视图中有重复记录,造成的原因是gl_accvouch表中的凭证线索号(与其它向总账传递凭证的关联字段)不对,即一张期初的凭证的线索号与该发票所生成的凭证的线索号一致。所以针对该数据,执行如下语句,修改错误的凭证线索号: UPDATE GL_accvouch SET coutno_id = NULL WHERE (iperiod = 0) OR (iperiod = 21)。

 

4、问题描述:U8 8.20版应付帐款,想在应收应付中实现远程录入结算单,不知应采用哪种方式实现?

   解决办法:根据需求,可以使用C/S结构,用客户端去访问服务器,可以用点对点的方式(这种方式费用最省),也可以用专线接入,跟服务器连接上后,就可以像局域网里一样去运行用友软件。

 

5、问题描述:U8 8.20版固定资产,从2001年9月从8.11升级到U8.20后,固定资产从2001年9月开始,固定资产的累计折旧都等于当月,十月份累计折旧又等于两个月的折旧额,以后直到今年所月累计折旧都是这样,单月累计折旧等于一个月的折旧,双月等于两个月的本月折旧,不进行累加,另建一套帐,把卡片,折旧表,汇总表,资产类别表导入后,提折旧,依然累计折旧等于本月折旧。什么原因?

   解决办法:由于升级过程造成数据库中折旧表的已计提月份和累计折旧额数据丢失,导致每月计提折旧后累计折旧额不正确。重新添加丢失的数据即可。

 

6、问题描述:U8 8.20版固定资产,在查询卡片样式和固定资产卡片时,系统提示错误:1)由于win2000 server身份认证问题,导致无法读取样式文件;2)样式文件损失或不存在。经查样式文件应该不坏,且磁带中还原能使用前文件(3月8日备份带,且当时能使用样式文件)。

    解决办法:请检查帐套所在文件夹的共享设置,要求是everyone的完全共享。或升级到821版本。

 

7、问题描述:U8 8.20版存货核算,存货档案已使用:有的居然可以删除,导致存货收发记录和账簿中有的存货而存货档案中没有。为什么?

   解决办法:数据表的许多关系及主索引被破坏,修复数据关系及索引即可。

 

8、问题描述:U8 8.20版存货核算,查询收发存汇总表时,其中有一存货期初是10个,但在存货核算系统收发存汇总表查询时期初数为1个,在库存管理收发存存汇总表又是正确的,不知何原因?

   解决办法:将结存数量大于0、小于0和等于0,以及查看未发生业务 几个选项都打上对勾。例:期初为2,发出为3,结存为-1,如小于0未打对勾,则该条在存货的收发存表不显示。

 

9、问题描述:U8 8.20版存货核算,材料出库单上只录数量,在存货核算中对此材料出库单进行记帐后,在收发存汇总表中查此材料只有数量而没有金额.恢复记帐再记还是没金额。请问什么原因?

    解决办法:全月平均计价方式的仓库需进行期末处理后,才有金额。

 

10、问题描述:U8 8.20版库存管理,数据问题:U8调拨单保存时提示“保存单据失败”。为什么?

    解决办法:经查transvouchs中的autoid有非法字符,重建新表,在设计中将表和索引的属性、字段的属性多加上,然后将原来除autoid的数据导入新建表中即可。

 

11、问题描述:U8 8.20版销售管理,销售发票列表打开后,无法查询货物名称,数量金额等重要数据,但联查发票则没有问题,无法进行货物、数量、金额的查询的筛选,发票列表中的项目设置也无此项目,而表体中该表体已经设置。

    解决办法:到设置/选项/高级选项下有一开关“单据列表只显示表头项目”,设为显示表体项目即可。

 

12、问题描述:U8 8.20版销售管理,作单据时,U8怎么实现一条纪录的仓库信息自动复制到下一条纪录?

    解决办法:U8可通过点击“增行”会自动带出上一行仓库名称。

 

13、问题描述:U8 8.20版销售管理,现存量与实际结存不相等。

     解决办法:1)现存量计算涉及的表有:st_totalaccount、rdrecords、dispatchlists、endispatchs、salebillvouchs等,请查看以上各表,重点查看st_totalaccount表。2)可能是ufsystem数据库中的ua_account_sub中缺少库存的启用日期记录。请根据数据具体情况查找原因。

 

14、问题描述:U8 8.20版销售管理,客户档案中有批发价,在发货单中如何选择录入其批发价?

     解决办法:先在选择菜单中选择价格管理,在客户档案中选择批发价,在业务菜单下的价格管理-存货价格/客户价格中录入。

 

15、问题描述:U8 8.20版销售管理,同时按客户名,部门,产品名称,业务员的分类汇总应该用什么方法能实现?

     解决办法:U8.20已经解决此问题。 可以从[分组条件]中选择要汇总的字段名称,在其后的分组栏中双击打勾,表明按该分类进行汇总. 用鼠标点击字段名称(即按住鼠标左键),将其拖动至您想放置的位置,然后松开鼠标。或者在分组条件中调整分组的顺序(即[]中的数字)。请注意“客户[1]+部门[2]”与“部门[1]+客户[2]”是不同的。“客户+部门”表示各个客户的业务是由哪些部门做的;“部门+客户”表示各个部门做了哪些客户的业务。再选择要进行小计的字段名称,在其后的[小计]栏中,双击打勾。如果您所要汇总的字段名称不在列表中,可以进入报表界面,点击[格式]按纽。在[格式]按扭中,可以定义数值型的字段是‘汇总’或是‘不汇总’,‘显示’或是‘不显示’只有定义为‘汇总’的数值型字段,按[小计]和[合计]按扭才汇总,否则并不汇总;一般而言,应将数值型的字段设置为“显示”,不设置为“分组”;非数值型的字段设置为“显示”后,还应设置为“分组”,否则显示的内容只取该记录的第一条。

 

16、问题描述:U8 8.20版销售管理,1)无论是套打还是直接打印发票,都不能打出大写金额,有没有解决办法?2)请问发票上的“记帐人”是如何使用的?

     解决办法:1)在单据设计中添加表头项目‘价税合计(大写)’。2)存货核算选项/销售成本核算方式为‘销售发票’时,存货核算记帐后填写销售发票的记帐人标志。

 

17、问题描述:U8 8.20版系统管理,网点系统是win98se(第二版),MS SQL SERVER7.0(服务器是windows2000,ms SQL server7.0),如何关闭网点老是弹岀“请输入SA口令”窗口,或如何关闭正在运行的server95程序?1)我的网点系统正在运行Sqlserver和Sqlmangr两个程序,有必要吗?如何关闭?

     解决办法:弹岀“请输入SA口令”窗口是因为系统MSADO15.DLL出错,点了取消还会出来,要重新注册,在《专题文章》里有篇章专门解决这个问题。server95是用友服务文件,不用用友软件时可以用结束任务来关闭它。2)Sqlserver和Sqlmangr两个程序是有用的,当你退出SQL,他们就会自动消失。

 

五.8.13

1、问题描述:8.13 SQL版总帐,在总帐辅助帐薄的客户科目明细表中,有些客户的期初余额与本期发生额分离显示。请问该如何解决?

解决办法:客户编码为03c41中c为全角状态下输入的字母,改正为英文输入下的大字字母。 1.将customer、gl_accass、gl_accvouch的客户编码关系删除 2. 执行以下语句: update customer set ccuscode='03C41' where ccuscode='03C41' update gl_accass set ccus_id='03C41' where ccus_id='03C41' update gl_accvouch set ccus_id='03C41' where ccus_id='03C41' 3.重新增加已删除的关系。

 

2、问题描述:8.13 SQL版固定资产,固定资产卡片减少,明细帐查询不到,为什么?

解决办法:输入已减少的资产编号,这样可以查到(月份选1-12).否则的话,软件不允许查看已减少资产的数据。或者在卡片管理中查询。

 

3、问题描述:8.13 SQL版固定资产,当执行打印操作时提示,打印错误:(-101),预览也没法。8.13网络版/winnt 4.0。请问是什么原因造成的?

原因分析:在8.x版本的固定资产管理软件的使用过程中,我们会发现帐套目录下多出几个比较另类的文件。而如果没有的使用固定资产软件的用户则不会出现这几个文件。这些文件只有当固定资产正常初始化后才会出现,现在作一下详细说明。这类文件可以分成二类。一类是*.vts文件,这是卡片样式模板文件;一类是*.rep文件,这是报表模板文件。对于第一类*.vts文件,刚启用固定资产系统后,会默认出现一个标准通用样式模板文件1.vts。如果用户在有自定义卡片样式,则还会存在其他*.vts文件,例如9.vts等(肯定是“数字.vts”)。对于第二类*.rep文件,无论任何时候都只存在二个文件,分别是Fatail.rep和Fatitle.rep。不会出现其他文件。以上文件标准大小为14K。因此,当使用固定资产软件时,至少必须存在3个模板文件,即1.vts,Fatail.rep和Fatitle.rep。 *.vts既然是卡片样式模板文件,则如果丢失了需要的文件会出现什么结果呢?您可以正常的打开卡片管理,但是要双击某张卡片却提示“卡片样式文件不存在”。同时如果在卡片管理下点“文件”菜单下的打印并选择打印卡片,则也不能正常打印,会同样也会提示“卡片样式文件不存在”,不能进行正常打印。可是如果用户发来的数据仅仅是UFDATA.MDB,而它又存在自定义卡片样式,这时候怎么办呢?很简单,我们可以修改数据库不让他的自定义样式起作用,首先我们打开这套ufdata.mdb,打开Fa_AssetTypes表(资产类别),找到sModelID字段,使用一个SQL查询语句,将该字段全部更新为1。当然,原来这个字段的数据可能不是1。因为我们知道,卡片样式是定义在资产类别上的。这样改过之后我们就可以使用标准通用样式,来查看卡片了。最后给用户发回数据时不要忘了将该字段改回原来的样子。同时如果该文件丢失,在月末结帐时回给出提示“找到下列错误:此集合找不到此项目”,并指出月末结帐前状态备份失败可能无法恢复月末结帐。此时一定不要继续下去,一定要找到他需要的卡片模板文件放到帐套目录下,否则以后不能恢复月末结帐就得不偿失了。另外,如果月末结帐正常,则在相应帐套的年度目录下,会出现*.vt1、.vt2、.vt3…….vt12等文件。其中1、2、3、4……12表明是哪个月份备份的。这些文件是压缩文件,除非您在一年内对同一个样式作过改动,否则所有这些文件解压缩后都是一样的。 Fa*.rep文件相对而言简单一些。他们永远只有2个,丢失或者损坏这二个文件,可能造成报表无法预览和打印,打印报“打印错误-101”,但不影响报表显示。除此之外,丢失或损坏该文件不会有其他方面的影响。

 

4、问题描述:8.13 SQL版应收应付,在以应收票据抵应收款这一会计实务中,不能完成凭证的制证,如何在应收系统中操作这一实务?(因为这二个科目都是客户受控科目)

解决办法:票据填完后会自动生成一张收款单,该收款单核销即可形成上述凭证。

 

5、问题描述:8.13 SQL版应收应付,在使用应付系统时希望把其他货币资金作供应商核算,但是在作一笔借 预付 贷其他货币资金时在应付系统由核销单生成凭证时提示其他货币资金为受控科目,请问如何处理?

解决办法:这样的凭证目前只能通过应付系统的转帐处理中的功能来实现。

 

6、问题描述:8.13 SQL版系统管理,8.11A的产品如果升级到8.13要不要更换加密盒?

解决办法:需要更换加密盒。

 

7、问题描述:8.13 SQL版销售管理,在单据设计里头的打印格式和单据录入格式为什么不能设成是不同的格式,发货单的打印格式和发货单的录入格式不同。请问应如何实现此功能?

解决办法:如果用套打的话,能够实现,可以设置套打格式,打印用套打即可,设置的非套打时的格式,即可用于单据录入

 

8、问题描述:8.13 SQL版存货核算,库房间互相调拨,适用科目不一样,正常记账和特殊单据记账均没问题,生成凭证正确,但保存凭证时,系统提示“受控科目不能增删改分录”,请问该怎么办?

解决办法:将数据库code表中的cother字段中带有ia值的,将ia值删除即可。

 

9、问题描述:8.13 SQL版存货核算,此数据启用的模块是总账、存货、销售,在存货中设置了存货科目和对方科目后,生成凭证时死机,不设置对方科目生成凭证可以,请问该如何处理?

解决办法:这套数据中accinformation表中存货分类的编码级次的设置与gradedef(编码级次表)设置的不符。将accinformation中的csysid='aa',cid='01'的记录的cvalue字段改为 11211 即可

 

10、问题描述:8.13 SQL版库存管理,进入收发存汇总表时提示:"Column names in each table must be unique,Column name'其它入库_入库数量' in 'Tblresult_plj_Temp' is specifified more than once."为什么?

    解决办法:收发类别设置中名称为其他入库的有重复,修改其中一个名称避免重复即可。

 

11、问题描述:8.13 SQL版库存管理,当填采购入库单时就会提示“下标越界”或“无效的过程调用或参数”,并不能填入各类项目,怎么解决?

    解决办法:先建一新帐套,删除原帐套的invoiceitema,从新建帐套中导入此表,注意表的关系也带过来,即可,有关查询zpurkdhend,zpurkdtail也导。

 

12、问题描述:8.13 SQL版库存管理,存货档案有部份产品已停用了,为何停用的产品还在库存管理的收发存汇总表显示?

    解决办法:存货档案停用表示以后不再使用,即在做各种业务时不能使用,但因以前发生的记录数据还是存在的,所以帐表查询中可以显示,否则将造成统计数据不正确。

 

13、问题描述:8.13 SQL版库存管理,在进行远程引入时,提示是,正在引入数据,本次应导入50张,实际导入50张,是否保存本次操作,点了是以后.然后就又出现一个提示.本次已引入O张,实际应引入50张,然后系统就自动生成一个记事本的文件在KCGL下,到KCGL的文件下去看,上面就有单据号是多少,在库存管理下查找该单据号,而实际上根本没有。请问为什么?

    解决办法:库存管理远程应用导入时,检查导出的数据与将要导入数据的单据号、rdrecord的id号、rdrecords的autoid号是否有重复,如果有将不允许导入。从上述描述看,应该是导出的数据与要导入数据库有以上任意一种情况的重复。请注意,使用远程应用时,双方的远程标识号应不同。

 

六.8.12

1.8.12 SQL版

1、问题描述:8.12 SQL版总帐,用户在使用往来帐总账核算时,帐龄分析后,应付帐款可以看到帐龄,而预付款不能显示。不能显示的原因预收、预付科目设成供应商、客户往来在总账中核算,查询帐零分析,对于供应商往来只分析贷方余额,客户往来只分析借方余额。

解决办法:1)将预付科目借方发生额用贷方红字表示;2)改成在应收应付系统中核算往来业务。

 

2、问题描述:8.12 SQL版总帐,带辅助核算科目明细帐显示不正确,怎么办?

解决办法:8.12Sql总帐带辅助核算,期初有余额,本期无发生,明细帐显示平的修改语句。update gl_accass set me=mb where md=0 and mc=0。

 

3、问题描述:8.12 SQL版UFO报表,报表审核错误,请问怎么解决?

解决办法:需将报表文件夹放在ufo目录下才可。

 

2.8.12Access版

1、问题描述:8.12access版总帐 ,凭证不能审核及记账,请问该如何解决?

解决办法:凭证及明细账表gl_accvouch已经损坏,重建凭证及明细账表。

 

2、问题描述:8.12 Access版总帐,进入Execl里面打印一些文档之后,再进入总帐系统打印时,它就会弹出一个三角形里面有一个感叹号的符号,然后要你确定之后就不能打印了;如果真的要打印必须重新启动电脑进入总帐才可以,不知道是什么问题呢?

解决办法:系统的资源不够(可能是硬盘空间不足),WINDOWS的虚拟内存不能正常使用,建议清除不用的文件,把硬盘空间加大。也可以查一下病毒。

 

3、问题描述:8.12 Access版总帐,进入填制凭证时提示“实时错误19,下标越界”,凭证有些有借无贷,有贷无借,无摘要等奇怪,制凭证时提示,ACTIVEX 部件不能创建对象转到7月份首页时发现“实时错误19,下标越界”,不知为何进入控制台时提示:AA -IXCHGRATESTL    AA-ICTLSTLPROVID?

解决办法:数据库损坏较严重,关系丢失,ACCINFORMATION表错乱.无法修复。最好恢复以前的备份。如无法恢复,可以新建个空的数据库,用以前正常的UFDATA.mdb中的ACCINFORMATION的表导入,并把原来的UFDATA.mdb中的其他表导入,把正常的库中的查询导入,并修复数据库。经测试,用新建的帐套中的ACCINFORMANTION表导入,再导入原库的其他表,最后进行修复后,问题不再存在。

 

4、问题描述:8.12 Access版总帐,从一月份开始“客户业务员余额表”合计数,不等于,“科目余额表”合计数。怎么处理?

解决办法:有的凭证上没有填写业务员,所以造成客户业务余额表的余额和总帐的余额不一致,即只统计填写了业务员的凭证的金额。

 

5、问题描述:8.12 Access版总帐,凭证打印时,一张凭证要打印出10条分录。应如何实现此功能?

解决办法:用UFO简版,具体方法如下: 1.首先,必须在您的系统中安装用友公司的UFO电子表,建立调整工具的运行环境。有了运行环境后,可用调整工具——UFO简版。这是一个可执行文件。运行此执行文件,屏幕将显示UFO的执行界面,用该工具打开凭证打印模板文件,就可以进行调整了。 2.凭证打印模板存文件放在Windows的system目录下,一共有四个文件,分别是: glpzje.rep(金额式凭证非套打打印模板)、glpzwb.rep(外币数量式凭证非套打打印模板)6.0套打纸调整glpzjetd.rep、7.0连续套打纸调整ufpzjetd.rep(金额式凭证套打打印模板)、ufpzwbtd.rep(外币数量式凭证套打打印模板) 3.使用UFO简版工具对打印模板可进行如下调整: 1] 选择要打印的内容:即可以取消或加入一些要打印的内容,如:经办人等。 2] 改变现有打印内容的位置:如将“附单据数”移到凭证右边打印等。 3] 调整凭证各部分的打印字体:如将金额的字号加大,将标题的字形改为楷体等。 4] 调整行高、列宽。注意,此工具的使用方法与UFO的基本使用方法一致,因此,最好由会使用UFO的人进行操作。 4.模板文件符号说明: 1]非套打模板: > 直接在模板文件中显示的文字,如:“摘要”、“会计科目”、“借方金额”、“贷方金额”等文字将在打印时直接打印出来。 > “@1”、“@2”等为打印内容,数字编号与实际打印内容有对应关系,如:“@4”为凭证标题,“@21”为附单据数,“@25”为制单人。 > “*”表示此处打印大写金额。 > “/1”、“/2”表示第一行的数据、第二行的数据。 > “#15”、“#16”表示合计金额 2]套打模板: > 直接在模板文件中显示的文字,如:“摘要”、“会计科目”、“借方金额”、“贷方金额” 等文字为套打纸的套打表样,由套打纸印制,打印时不被打印出来。 > “@s”后加一段文字,如“@s核算单位”表示这段文字不是套打纸的套打表样,需要打印出来,即在打印时,这样的文字将被直接打印出来。 > “@1”、“@2”等为打印内容,数字编号与实际打印内容有对应关系,如:“@4”为凭证标题,“@21”为附单据数,“@25”为制单人。 > “*”为大写金额。 > “/1”、“/2”表示第一行的数据、第二行的数据。 > “#15”、“#16”表示合计金额。

 

6、问题描述:8.12 Access版总帐,在凭证套打时,用针式LQ1600K2的打印机,有一个帐套打印时有记帐凭证这四个字,可就是没有年/月/日这个日期显示,他们其它帐套都好的,而且设置也都是一样的?请问这是什么原因呢?

解决办法:察看设置套打时选择的纸型是否相同,所描述的情况是6.0和7.0套打纸的区别。

 

7、问题描述:8.12 Access版总帐,在建帐套时,启用时间为6月份,为什么在录入期初余额时没有借方和贷方累计数啊?只有一个期初余额,与一月份启用是一样的啊?

解决办法:将控制面板中区域设置-短日期格式改成yyyy--mm—dd。

 

8、问题描述:8.12 Access版总帐,由于我公司是五月份刚刚成立,故在录入期初余额时,四月份余额均为零,进行试算平衡及记帐后,录入五月份凭证若干,经审核后记帐时,因屏幕显示2001年1月份未结帐,不能对以后月份记帐而无法继续进行。是否必须录入期初余额数后才能录入凭证。也就是说我公司应录入五月份的余额数后,从六月份才能开始录入凭证?

解决办法:在建帐套时的启用月份选择有误,应为2001年5月,再记帐即可。由于没有期初余额,所以建议重新建一套帐,将基础设置及已录入若干张五月份的凭证通过“总帐工具”功能引入即可。

 

9、问题描述:8.12 Access版总帐,1)把一月份账结完了,在明细账查询时发现:有些科目,如资产类会计科目的借方数据有些正数,有些为负数,而联查凭证时明明在贷方。(即凭证贷方有发生,账中贷方却无发生,而记在借方以负数表示)现在已经把“借贷控制方向”取消了,但账中还是原来的样子。2)现金流量表取数的问题,公式按一级总账科目+项目目录编码(参照999账套)设置,例子:LET C5=FS("101",月,"借",,,"010101",,)+FS("102",月,"借",,,"010101",,)+FS("109",月,"借",,,"010101",,)但取出的数字为一级科目的所有项目的借方合计。(项目统计表中各项目的合计数,而非010101项目的合计数。)上述问题应如何解决?

解决办法:1)原因分析:此现象为客户在会计科目设置中进行了“借贷方向控制”修改方法如下:备份数据;反结账(CTRL+SHIFT+F6)或改结账状态gl-mend表;恢复记账前(月初)状态或者用以下A、B、C、D步骤:A、修改GL_accsum表中所有记录金额(每一科目对应12条记录)B、修改GL_accass表中所有记录金额(每一辅助核算科目+项目对应12条记录)C、清空GL_accvouch表1月份cbook(记账人)的值,ibook的值由1改为0(未记账)D、修改GL_mpostcond记录;改CODE表中cclassany_engl的值清空(即不进行借贷方向控制);在GL_accvouch表中过滤出coutsysver的值为false的值,改金额、数量借贷方数据为正确方向。而后清空true(科目的控制方)或false(为科目的控制方的反向);再记账、结账即可。2)方案一:全部采用末级科目取数;方案二:恢复记账前(月初)状态,将进行项目核算的科目的所有父项科目打上项目核算标记,而后记账。

 

10、问题描述:8.12 Access版固定资产,初始化时出现错误,其提示如下:“由于您和其他用户试图同时改变同一数据,导致Microsft Jet数据库引擎停止进程,不能打开记录集fa-q-yxkp-by,是否重试”。多次重试不能操作。请问什么原因?

解决办法:删除fa-q开头的所有查询,从模板中重新导入即可。

 

11、问题描述:8.12 Access版固定资产中,双倍余额递减法在演示账套中的定义是:月折旧率=2/使用年限,月折旧额=月折旧率*期初帐面余额。那么请问一个固定资产是采用双倍余额递减法计提折旧的,它的残值是如何处理?它最后两年的计提折旧也是按照以上的公式去计算吗?

解决办法:在剩余计提年限为12的倍数时判断: A=月折旧率*该折旧年限期初账面净值 B=[该折旧年限期初账面净值-该折旧年限期初净残值]/剩余计提月份若A=B时由双倍余额递减法转为平均年限法计提折旧。每月折旧=B 。

 

12、问题描述:8.12 Access版固定资产,打印固定资产明细帐时,前几张打印正常,忽然提示打印错误“67”,检查打印出错卡片明细账为已减少资产。请问该如何解决?

解决办法:把打印机删除重新安装即可。

 

13、问题描述:8.12 Access版工资,工资年度结转后,想增加工资类别,出现提示“3421,类型不匹配”。

    解决办法:检查wa_account表是否有问题。这个表是工资类别表。

 

14、问题描述:8.12 Access版工资,由于误操作,多结了两个月的帐,能否反结帐?

    解决办法:修改wa_account表倒数的第二字段为上月。

 

15、问题描述:8.12 Access版工资,计提分摊时不能制单。

    解决办法:删除wa_gzftiyear2001的记录。

 

16、问题描述:8.12 Access版工资,某客户使用工资模块有已两个会计年度,在第二个会计年度将帐套名称进行修改,但修改帐套名称之前忘了备份,修改帐套名称之后,无法进入第二个会计年度的帐,请问如何解决?

    解决办法:修改ufsystem数据库中的ua_period表。

 

17、问题描述:8.12 Access版应付:供应商明细账翻倍。请问应如何解决?

解决办法:ap_detail中的线索号重复,修改即可。

 

18、问题描述:8.12 Access版应收应付,应收账款:在应收账款模块中,凭证摘要已输入增值税发票号码,但单位往来科目明细账中的摘要不能显示其增值税发票号码。请问该怎么办?

解决办法:812在应收系统明细帐的摘要为:科目名称+发票号,生成凭证时修改的内容只在总帐中的明细帐中可以显示:调整后的摘要+客户名称+业务员。 U8.21的应收系统的科目明细帐,可以按录入凭证时的摘要查询,总帐的明细帐中的摘要为原来的修改过的摘要+客户名称+业务员。

 

19、问题描述:8.12 Access版应收应付,应收系统查询业务帐提示:‘实时错误94’,应收的某些业务帐与科目帐对不上。什么原因?

解决办法:在ap_detail表中存在的某个客户档案在customer表中找不到,在customer表中添加该档案即可。应收的某些客户的业务帐与科目帐对不上,是由于在ap_detail表中的相关记录的isignsel字段与ccode字段为空,将其添入正确数值即可。

 

20、问题描述:8.12 Access版UFO报表,在往来款项情况表中一张表所列的项目不够列,需再增加一张表列出,这样后审核公式应怎么设?一张表的公式是这样设的如:

    b4=ptotal(b5:b26)+ptotal(d4:d26)+ptotal(f4:f26)

二张表应怎么设审核公式使当前表的B4的值等于两张表中所有项的子细目的合计?

解决办法:可以用表名单元的方法。如用PTOTAL(),则可以用变量在批命令中取合计值,再用IF 语句判断,可以用DISPLAY 显示信息。

 

21、问题描述:8.12 Access版UFO报表,资产负债表中公式:c6=qc("101",全年,,,年,001), d6=qm("101",月,,,年,,001),有时如果可以取数就没有问题,如果不能就再也取不出数,为什么?

解决办法:公式应为 QM("101",全年,,"001",年,,,),其中001为帐套号。

 

22、问题描述:8.12 Access版UFO报表,有个客户建了一套帐,每个科目都按部门核算,部门有20个,当出报表时,客户想按每个部门做一张报表,请问有没有简单的解决方案?如何设置取数公式?或如何使用二次开发?

解决办法:可以考虑用二次开发的批命令,如:LET &A=GETSTR("请输入部门编号:"),let d2=qm("1301",月,"借","001",2001,&A,,),即部门编码处写上&A的变量。

 

23、问题描述:8.12 Access版UFO报表,请问有什么办法能将公式列表中的公式导出吗?

解决办法:在公式列表中用保存按钮,可以输出公式到指定的文件。

 

24、问题描述:8.12 Access版UFO报表,8.11升级8.12后,在资产负债表中,用"SELECT..."他表取数公式时,提示该公式指定区域无效。怎么办?

解决办法:他表取数应用RELA,如:C5="A"->B5 RELA 月 with "A"->月,SELECT为本表他页取数。

 

25、问题描述:8.12 Access版UFO报表中把报表设了文件口令后,取消时却变成了灰白的不能取消,有什么办法解除吗?

解决办法:先在口令中输入你原来的口令即可取消文件口令。

 

26、问题描述:8.12 Access版合并报表,新做的现金流量表,在定义各栏目属性时,现金流量表的各项目该定义为哪种属性?属性的设置对编制抵消分录时有无影响?抵消分录该怎样做?请以抵消实收资本、长期投资的分录为例,已经设置投资比例。

     解决办法:设置成抵消项目的项目会自动合并和抵消。如想合并单元,要把该单元设置到抵消项目的期末单元,期初单元不能合并。

 

27、问题描述:8.12 Access版现金流量表,在自动计算现金流量表时,出现“查询过于复杂”。为什么?

解决办法:一般情况下,现金流量表的现金对应企业会计账户中的现金、银行存款、其他货币资金等科目。而用户的现金科目设了所有的科目.用户数据有问题。导致不能正常计算出现金流量表。请在初始化中的基本科目设置中把现金科目减少,并在项目来源设置处进行设置。

 

28、问题描述:8.12 Access版现金流量表,在现金流量表编制时,执行“自动计算”时出现 “Query is too complex.?

解决办法:可以简化一下项目的来源。

 

29、问题描述:8.12 Access版采购管理,采购入库单的表单设计增加“单价”、“金额”,但采购入库单不能相应增加——提示保存成功(显示和套打格式都是),为什么?

解决办法:在系统管理中增加“业务参数”的权限,这样在业务处理时即可显示成本。

 

30、问题描述:8.12 Access版采购计划,在生成任一期间的采购计划都提示网上有人正在生成,请问该如何处理?

    解决办法:删除临时表tecgh tecg即可。

 

31、问题描述:8.12 Access版销售管理,实时错误3052错误,请问怎么解决?

解决办法:在注册表里将hkey_local_machine/software /miscrosoft/jet /3.5 /engines /jet3.5的maxlocksperfile的键值放大。

 

32、问题描述:8.12 Access版销售管理,从3月份起,有很多零售日报审核生成的发货单只有表头,而表体却没有数据。发货单。零售日报审核无法弃核。导至销售分析表中的“未开票金额栏”数据错误、销售发货明细表错误。几乎涉及有关发货的表都是错误的。为什么?

解决办法:将最大单号表maxvouch中的dispatch(s)的最大单号改变,弃审错误的单据,然后将dispatchlist中有记录dispatchlists中无记录的删除,最后重新审核。

 

33、问题描述:数据问题:8.12 Access版销售管理,该账套为2001.07.01同时启用销售、库存、存货、应收、总账,其中销售启用了委托代销,账以做到8月,发现7月的委托代销结算后在库存或存货中看不到该发货单,但做8月的审核及结算就可以看到,请问什么原因?

解决办法:经检查用户7月建立帐套后,先启用的销售模块(当时并没有启用库存和存货系统)做了委托代销发货单并且做了委托代销结算单,由于没有启用库存和存货系统,因此无法产生相应的销售出库单。

 

34、问题描述:8.12 Access版销售管理,由发货单生成发票后,修改发票号但不回写发货单上的原发票号,请问该如何解决?

解决办法:在ufdata.mdb数据库中新建一个查询,运行该语句即可解决(请作好数据备份) update dispatchlist inner join salebillvouch on dispatchlist.sbvid= salebillvouch.sbvid set dispatchlist.csbvcode=salebillvouch.csbvcode。

 

35、问题描述:8.12 Access版库存管理,1)二月份的盘点单中的账面金额和盘点金额丢失(原来有)。2)三月份的与收发存汇总表的金额对不上。3)四月收发存汇总表的结存单价数量不等于金额。

     解决办法:1)经查看数据,2月份checksvouchs的字段icost为空,根据ia_summary,imonth=2的结存单价填写icost即可。2)盘点单金额=单价×数量,单价取自存货核算盘点时的结存单价。而存货核算的单价=结存金额/数量,由于四舍五入的原因,两个金额不一致。3)收发存汇总表的单价=金额/数量,单价取两位,四舍五入后,再用数量×单价,就会不等于金额。

 

36、问题描述:8.12 Access版库存管理,1)003仓库(备品配件库)无法盘点,出现13号错误,提示类型不匹配.如果按类别盘点,实际单价和金额又没数据。2)在运行各模块时,总是先弹出一个对话框。

     解决办法:1)该问题是由于003仓库中‘01030105213’存货存在特定情况,在存货系统中查询该存货总帐或在数据库中查ia_summary表即可看出该存货2月份先发出了1个,发出金额¥6,043.59,结存数量为-1,结存金额为¥-6,043.59,系统会自动计算单价为6043.59,4月份收入数量为31个,收入金额为¥6,043.61,结存数量为30个,但结存金额却为¥0.02,因此系统无法根据结存金额除以结存数量自动计算单价所造成的。(结存数量为30个,但结存金额却为¥0.02,这种情况在实际业务中是十分罕见的,因此系统无法判断。) 可在数据库的ia_summary表中将4月份及以后月份记录的结存金额做调整(或调整结存数量),使结存金额除以结存数量不致过小即可,如整除。另:该问题升级到8.2后自动解决。2)在accinformation表中缺少一条总帐系统启用日期的记录,(虽然该用户没有使用总帐系统,但在accinformation表中必须有该条记录),从999演示数据中将该记录复制并粘贴过来,然后将总帐系统启用日期设置值清空即可。

 

37、问题描述:8.12 Access版库存管理,库存存货出库单列表中查询单据明细时首张、上张、下张、末张按键屏蔽为灰色,不能激活,无法翻查。

     解决办法:把单据定义表VOUCHERS字段CARDNUMBER值为0412CCARDNAME字段改为‘材料出库单’即可。

 

38、问题描述:8.12 Access版库存管理,存货不能分类,35601未发现元素。

     解决办法:在编码规则表(gradedef)中,把纪录“存货分类编码”中最后一个字段的值2改为2223,就可以进行存货分类操作了。另外单据不能记账,上到U8.21就可以了。单据不能记账的原因:在存货目录表(Inventory)里最后两个字段顺序倒了,与演示帐套对比修改,在帐套参数表(AccInformation)里修改纪录'存货分类编码级次'的设置值2改为2223,就可以记账了。

 

39、问题描述:8.12Access版存货核算,在进行存货核算模块中,利用红字暂估回冲单生成凭证时,红字回冲单显示材料数量及金额均为红字,但在生成的凭证中只有材料金额为红字,辅助项材料数量为蓝字。辅助项中数量不能修改,请问该问题如何解决?

     解决办法:请在生成凭证时直接修改辅助项中数量即可,既鼠标移动到凭证下方的数量处,此时鼠标箭头变为笔头样时双击弹出辅助项对话框,将光标移到数量的最前方按下负号确认即可。

 

40、问题描述:8.12 Access版系统管理,8.12:无法将2001年进销存的数据结转过来,提示是无法结转销售系统,为什么?

    解决办法:打开该帐套的2001年的数据库ufdata.mdb,在设计状态下将表EnDispatchs中的字段‘字段1’、‘字段2’删除即可。

 

41、问题描述:8.12 Access版系统管理,请问系统管理的上机日志上的操作员asuser上机记录(主要是公用目录设置)是哪里的?我单位的所有帐套中没有asuser这一操作员,是不是上网的原因造成的?如何解决?

    解决办法:asuser是一个系统操作员安装完软件后这个操作员就会自动产生,它类似于admin 这个用户在系统数据库(ufsystem)里的表ua_user中。

 

42、问题描述:8.12 Access版系统管理,在建立年度帐的时候提示:字段太小而不能接受所需添加的数据的数量,试着插入或粘贴较少的数据。提示框的标题是:拷贝基本设置。请问该如何解决?

    解决办法:用数据库检测工具检查您的数据库和模版数据库之间数据结构有什么差异。应该是有些数据字段位长和标准库不一致造成的。

 

43、问题描述:8.12 Access版系统管理,会计结帐日在2001年为每月25日,转到2002年初系统为每月30日,欲修改为每月25日,但系统不接受,请问,怎么修改?

    解决办法:修改ufsystem数据库中UA_period表,过滤帐套号,过滤2002年度,然后修盖个会计期间的开始和结束日期。

 

44、问题描述:8.12 Access版系统管理,从1999年到2001年,在备份时有四张软盘,但在最后操作时,忘了放入第一张软盘,现在系统已经重装了,还能不能恢复过来?应怎么办?

   解决办法:分2种情况 1)单年度帐。将4个盘上的ufdata.md1……ufdata.md4拷贝到一个目录下,用copy +命令合并 2)多年度帐。第一张的md1和第2张的md2是一年,第2张上的md1和第3张上的.uf2文件是一年,如果第3张上除了uf2无其他容量大的文件,则再加上第4张盘即可。

 

45、问题描述:8.12 Access版系统管理,将8.11单机升级为8.12三站点时,服务器为WIN2000,客户机为WIN98,服务器运行用友正常,客户机远程配置正确,但进入帐务时,提示“系统无法登陆,请稍后”。网上邻居看的到,一台机器双击总是弹出拨号网络。网络邻居是否看得到服务器,并可以正常访问呢?

    解决办法:请重新安装dcom98二版后再安装软件.看这样是否可以。 如果点击程序首先出现拨号连接的话,请先删除拨号,然后卸载软件后再安装拨号,再安装软件。

 

七.财务通

1.财务通8.20

1、问题描述:财务通8.20版系统管理,财务通在win me环境中运行是否有冲突。在win xp 环境中运行?

    解决办法:win me环境不支持,财务通在win xp 环境中没有发现问题。

 

2.财务通8.21

1、问题描述:总账,在日常操作中进入时提示“实时错误‘404’:automation错误“确认后提示”运行时错误‘-2147220991(80040201)’:invalid object name 'tempdb..temp-accvouch70554a123';确认后,进入填制凭证提示“运行时错误‘429’autirex部件不能创建对象“确认后退出总帐,再进去又可以操作。为什么?

     解决办法:出现此问题的主要原因由于软件安装不正确引起一些控件安装不正确。请彻底卸载软件之后重新安装。可以使用安装盘上的卸载工具,把以前版本的用友软件卸载。注意不要同时安装不同版本软件。

 

2、问题描述:应收应付,在应付模块月末结帐时,“截止到本月单据全部记帐”系统提示是“否”。请问“截止到本月单据全部记帐”的含义是什么?即1)单据记帐指的是什么?2)截止到本月指的是从年初到本月还是只指本月?

   解决办法:应付模块单据记帐指的是单据审核,截止到本月指的是从年初到本月。

 

3、问题描述:固定资产,如果折旧方法中包含减值准备,在计算月折旧额时,减值准备金额不参与计算。录入原始卡片,如果原始固定资产已经计提了减值准备,该项减值准备不参与当前月的折旧计算,从第二个月才开始计算。为什么?

    解决办法:本月做了减值准备,下月才开始有效。

 

4、问题描述:固定资产,一月份处理正常,在做2月份固定资产处理是出现问题,做折旧处理正常,显示完折旧分配表之后出现两个错误提示,1)已经生成的凭证不能直接删除,2)不能删除临时凭证分录。请问应如何解决?

    解决办法:检查数据库中gl_accvouch,删除掉iperiod字段为021的,且coutsyname=FA的记录。

 

5、问题描述:UFO报表,1)财务通V8.21中QM()取数不正确。2)U8的销售管理中,发货单列表中没有数量和金额栏。3)财务通在P4机器上死机。请问上述问题应如何解决?

    解决办法:1QM()函数是正确的,但是利用其取出的数在总帐系统中看不到. 在UFO系统中,若科目是带辅助核算的,QM()函数中有借贷方向时取数是从辅助帐中取数的,您可以到数据库中直接去看。2)设置选项;系统参数去掉:单据列表只显示表头项目。3)方法(1):禁用所有网卡(包括虚拟网卡)。方法(2):设置一个任意的固定ip地址。方法(3):将操作系统由98升级到2000。方法(4):将设备中的网卡(或modem)只保留一个,其余的均从设备管理中删除。(注,不能同时保留一个网卡和modem)。

 

6、问题描述:UFO报表,我公司使用的六站网络版(8.12A),其中有两台机器以前都正常,最近进UFO时总提示“MFC42.DLL中导致无效页错误"就关闭退出.我将用友软件全部卸载并从注册表中删除后,重新安装用友后还是不能进入.从使用正常的机器上将MFC42.DLL拷过来注册后仍然不能进入。到底该怎么处理呢?

    解决办法:删除UFOW.INI文件即可。

 

7、问题描述:财务分析,预算类别为粗放预算,粗放项目预算中设置好科目、项目、及科目方向及预算金额后,在填制凭证时,项目预算总金额超过预算设置金额时,保存凭证没有任何提示,另外在财务分析……预算管理……项目预算……粗放项目预算分析表中也统计不出实际完成数。

    解决办法:在追加一栏里,添加上数据,在填置凭证的时候,超过预算金额就会报警了。

 

8、问题描述:系统管理,使用财务通安装,在NT40及WIN2000PRO/SER上接连装了十余架电脑,都出现OLEAUT32.DLL文件出错.出错之后,在NT40机器上导致机器启动不了,检测完硬件后,提示OLEAUT32.DLL有问题,电脑蓝屏死机。而在WIN2000上,有上述提示后电脑要求重新启动,之后再安装,还是这样的提示,一直要求重新启动。请问,如何解决?

    解决办法:从安装正常的机器上拷贝OLEAUT32.DLL文件,并重新注册即可。

 

9、问题描述:系统管理,新购的用友财务通8.21,检测不到加密盒。

    解决办法:对于加密盒检测不到的用户,常用方法有: 1. COMS中把并口打开,设置CMOS的并口地址(parrall port)为:278或378。 2. 方式(parrall port mode)为:NORMAL或STANDARD.或其他的兼容方式。 3 .把MSMGV.DLL删除或改名,再重新安装用友软件。或把正常测到加密盒的机器上的 MSMGV.DLL 拷贝到此机器上。 换其他机型的机器试一下,如果其他机器都测不到,说明加密盒坏了,请寄回公司更换。对于上述方法仍不能解决,可参考以下方法: 1. 如为dos版软件,或windows版的工作站,发生连通打印机检测不到加密盒的现象,可以写明现象和加密盒号寄往公司更换。更换方法:dos版更换为特卡,工作站上的加密盒如主站类型连上打印机的可以正常检测的话,更换为主站win卡,否则更换为特卡。 2. 如为品牌机,且不能调整coms的方式,检测不到,并口正常的话,可更换特卡。 3. NT下如在8.0上提示:ufkey 与keypro 的驱动发生了冲突,不能进入,可已在设备管理中把keypro的使用关闭。

 

10、问题描述:存货核算,存货核算中产成品入库中对入库单修改时,出现“此单据正在被其他用户锁定,不能删除,请稍侯再试!”,而我购买的是单用户版本,无其他人使用,不知如何处理?

     解决办法:进入系统管理,清除异常任务和单据锁定。

 

11、问题描述:存货核算,1)用友财务通的存货核算中暂估功能是隐含的,应如何在存货核算中处理采购入库中有入库,无发票的情况?2)另外,在销售出库中有出库,没开票的,应如何不计算其销售成本?

     解决办法:1)因为暂估处理功能必须使用采购系统才能进行,而财务通只有存货核算系统,所以无法执行。2)无法处理,因为没有销售系统,所以没有开票业务。

 

12、问题描述:现金流量表,财务通如何做现金流量表?

   解决办法:可以通过总帐和UFOxjll( )函数在报表中完成现金流量表。

 

13、问题描述:现金流量表,同借同贷的凭证,既:借:财务费用 -2000,借:银行存款 2000,借:财务费用 -2000,借:银行存款 2000。不允许合并请问如何拆分。(我在关闭时提示有剩余分录,组合时提示不可组合多正多负的凭证。)

    解决办法:用下移分录,并组合子凭证的方法手工拆分即可。

八.专题文章

1.U8 8.21

采购计划

1、文章标题:821采购计划当产品结构大于12级时采购需求就无法生成相关需求的解决办法。

   解决办法:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PP_SCJH_LC]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[PP_SCJH_LC]

GO

 

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

 

CREATE PROCEDURE [PP_SCJH_LC] @MPID varchar(20),@nDay int=1,@nWhich int=1,@InvCode varchar(20)='',@Date varchar(10)='',@DepCode varchar(20)='' AS

--           @nWhich 1流程2相关需求      

 Create table #AAA (cInvCode varchar(20),nLevel varchar(2000),nBoots int,nStep int,iMQTY float,

   iInvAdvance float,dStartDate datetime,dPlanFinishDate datetime,cDepName varchar(30),bPurchase bit) --建立临时表#AAA

 

SET NOCOUNT ON

       -----开始------

 IF @InvCode<>''  --@InvCode<>''选择数据

  if @nDay=0 --开工日期为需求日期

      begin 

   Insert #AAA (cInvCode,nLevel,nBoots,nStep,iMQTY,iInvAdvance,dStartDate,dPlanFinishDate,cDepName,bPurchase)

   SELECT PP_MPSdetails.cInvCode,cProjectCode+PP_MPSdetails.cInvCode as nLevel,1 as nBoots,1 as nStep,

    PP_MPSdetails.iMQTY,isnull(Inventory.iInvAdvance,0),PP_MPSdetails.dStartDate,

    PP_MPSdetails.dPlanFinishDate,'' as cDepName,Inventory.bPurchase

   FROM Inventory,PP_MPSdetails

   Where Inventory.cInvCode = PP_MPSdetails.cInvCode and cMPID=@MPID and  PP_MPSdetails.cInvCode=@InvCode

      end

  else  ----按提前期计算需求日期    计算提前期:dateadd(day,-iInvAdvance,PP_MPSdetails.dPlanFinishDate)

   begin 

    Insert #AAA (cInvCode,nLevel,nBoots,nStep,iMQTY,iInvAdvance,dStartDate,dPlanFinishDate,cDepName,bPurchase)

     SELECT PP_MPSdetails.cInvCode,cProjectCode+PP_MPSdetails.cInvCode as nLevel,1 as nBoots,1 as nStep,

     PP_MPSdetails.iMQTY,isnull(Inventory.iInvAdvance,0),PP_MPSdetails.dStartDate,

     dateadd(day,-isnull(iInvAdvance,0),PP_MPSdetails.dPlanFinishDate) as dPlanFinishDate,

     '' as cDepName,Inventory.bPurchase

    FROM Inventory,PP_MPSdetails

    Where Inventory.cInvCode = PP_MPSdetails.cInvCode and cMPID=@MPID and  PP_MPSdetails.cInvCode=@InvCode

   end

 Else   --@InvCode=''全部数据

  if @nDay=0  --开工日期为需求日期

   begin

    Insert #AAA (cInvCode,nLevel,nBoots,nStep,iMQTY,iInvAdvance,dStartDate,dPlanFinishDate,cDepName,bPurchase)

     SELECT PP_MPSdetails.cInvCode,cProjectCode+PP_MPSdetails.cInvCode as nLevel,1 as nBoots,1 as nStep,

     PP_MPSdetails.iMQTY,isnull(Inventory.iInvAdvance,0),PP_MPSdetails.dStartDate,

     PP_MPSdetails.dPlanFinishDate,'' as cDepName,Inventory.bPurchase

    FROM Inventory,PP_MPSdetails

    Where Inventory.cInvCode = PP_MPSdetails.cInvCode and cMPID=@MPID

   end

  else

   begin

    Insert #AAA (cInvCode,nLevel,nBoots,nStep,iMQTY,iInvAdvance,dStartDate,dPlanFinishDate,cDepName,bPurchase)

     SELECT PP_MPSdetails.cInvCode,cProjectCode+PP_MPSdetails.cInvCode as nLevel,1 as nBoots,1 as nStep,

      PP_MPSdetails.iMQTY,isnull(Inventory.iInvAdvance,0),PP_MPSdetails.dStartDate,

      dateadd(day,-isnull(iInvAdvance,0),PP_MPSdetails.dPlanFinishDate) as dPlanFinishDate,

      '' as cDepName,Inventory.bPurchase

     FROM Inventory,PP_MPSdetails

     Where Inventory.cInvCode = PP_MPSdetails.cInvCode and cMPID=@MPID

   end

 

       --声明变量--

 

 Declare BBB scroll Cursor for Select * from #AAA Order by nLevel   --建立一个Cursor

 Declare @S1 varchar(20),@S2 varchar(2000),@S3 int,@S4 int,@S5 float(10),

  @S6 float(10),@S7 datetime,@S8 datetime,@S9 varchar(30),@S10 bit,

  @istate as int,@Dep varchar(20),@Day varchar(10),

  @cCheckPerson as varchar(20),@dCheckDate varchar (10)

       ------------ 

 OPEN BBB          --打开Cursor BBB

 

 FETCH NEXT FROM BBB INTO @S1, @S2,@S3,@S4,@S5, @S6,@S7,@S8,@S9,@S10   --到第一条

 

 WHILE @@FETCH_STATUS = 0        --循环

     BEGIN

      if @S10=0

  IF @S3=1      --@S3= nBoots=0,9为已经判断产品

      BEGIN

   IF (SELECT Count(*) From ProductStructures Where cPSPCode=@S1) >0 --如果有子产品,取出到#AAA

       BEGIN

    if @nDay=0

        begin

     Insert #AAA (cInvCode,nLevel,nBoots,nStep,iMQTY,iInvAdvance,dStartDate,dPlanFinishDate,cDepName,bPurchase)

      SELECT ProductStructures.cPSCode as cInvCode,@S2 + cPSCode as nLevel,

       1 as nBoots,@S4 +1 as nStep,ProductStructures.iPSQuantity * @S5 as iMQTY,

       Inventory.iInvAdvance,@S7 as dStartDate,@S8 as dPlanFinishDate,

       Department.cDepName,Inventory.bPurchase

                           FROM (Inventory INNER JOIN ProductStructures ON

                            Inventory.cInvCode = ProductStructures.cPSCode)

                            LEFT JOIN Department ON ProductStructures.cDepCode = Department.cDepCode

      Where cPSPCode=@S1

        end

    else

        begin

     Insert #AAA (cInvCode,nLevel,nBoots,nStep,iMQTY,iInvAdvance,dStartDate,dPlanFinishDate,cDepName,bPurchase)

      SELECT ProductStructures.cPSCode as cInvCode,@S2 + cPSCode as nLevel,

       1 as nBoots,@S4 +1 as nStep,

                            ProductStructures.iPSQuantity * @S5 as iMQTY,Inventory.iInvAdvance,

       @S7 as dStartDate,dateadd(day,-isnull(iInvAdvance,0),@S8) as dPlanFinishDate,

       Department.cDepName,Inventory.bPurchase

                          FROM (Inventory INNER JOIN ProductStructures ON

                          Inventory.cInvCode = ProductStructures.cPSCode)

                          LEFT JOIN Department ON ProductStructures.cDepCode = Department.cDepCode

     Where cPSPCode=@S1

        end

    Update #AAA Set nBoots=9 Where nLevel=@S2   --把此级的nBoots=9有下级不再检查

    CLOSE BBB      

    OPEN BBB       --关上重新打开

    FETCH  NEXT FROM BBB  INTO @S1, @S2,@S3,@S4,@S5, @S6,@S7,@S8,@S9,@S10   --到下一条

       END

   ELSE

       BEGIN

    Update #AAA set nBoots=0 Where nLevel=@S2   --没下级,把此级的nBoots=0不再检查

    FETCH  NEXT FROM BBB  INTO @S1, @S2,@S3,@S4,@S5, @S6,@S7,@S8,@S9,@S10  --到下一条

           END

      END

  ELSE       FETCH  NEXT FROM BBB  INTO @S1, @S2,@S3,@S4,@S5, @S6,@S7,@S8,@S9,@S10   --检查过,到下一条

      else

  begin

    Update #AAA set nBoots=0 Where nLevel=@S2   --没下级,把此级的nBoots=0不再检查

    FETCH  NEXT FROM BBB  INTO @S1, @S2,@S3,@S4,@S5, @S6,@S7,@S8,@S9,@S10  --到下一条

  end  

     END

 

 CLOSE BBB        

 DEALLOCATE BBB          --关上BBB

 

SET NOCOUNT OFF

 If @nWhich=1

  begin

   SELECT #AAA.*,Inventory.cInvName,Inventory.cInvStd,Inventory.cInvM_Unit as cUnit,Inventory.iInvSPrice as Price

   FROM #AAA,Inventory WHERE Inventory.cInvCode=#AAA.cInvCode order by nlevel

  end

 if @nWhich=2

  begin

   BEGIN TRANSACTION

   if (select count(*) from PP_RMRPmain where cMPID=@MPID) >0

    begin

     set @istate=(select istate from PP_RMRPmain where cMPID=@MPID)

     set @Dep=(select cDepCode from PP_RMRPmain where cMPID=@MPID)

     set @day=(select convert(varchar,dCreatDate,120) from PP_RMRPmain where cMPID=@MPID)

     set @cCheckPerson=(select cCheckPerson from PP_RMRPmain where cMPID=@MPID)

     set @dCheckDate =(select convert(varchar,dCheckDate,120) from PP_RMRPmain where cMPID=@MPID)

    end

   else 

    begin

     set @istate=1

     set @Dep=@DepCode

     set @day=@date

     set @cCheckPerson=''

     set @dCheckDate=''

    end

          delete from PP_RMRPdetails where cMPID=@MPID

    IF @@ERROR <> 0

     begin

      Rollback transaction

      Return

     end

   delete from PP_RMRPmain where cMPID=@MPID

    IF @@ERROR <> 0

     begin

      Rollback transaction

      Return

     end

          Insert into PP_RMRPmain (cMPID,dCreatDate,cDepCode,cCheckPerson,dCheckDate,iState)

   Values (@MPID,@Date,@DepCode,@cCheckPerson,@dCheckDate,@istate)

    IF @@ERROR <> 0

     begin

      Rollback transaction

      Return

     end

   insert PP_RMRPdetails (cMPID,cInvCode,cProjectCode,cUnit,iMQTY,dRequireDate)

   SELECT @MPID as cMPID,#AAA.cInvCode,''as cProjectCode,Inventory.cInvM_Unit as cUnit,sum(iMQTY) as iMQTY,

    #AAA.dPlanfinishDate

   FROM #AAA,Inventory WHERE Inventory.cInvCode=#AAA.cInvCode and nBoots=0

   group by #AAA.cInvCode,Inventory.cInvM_Unit,#AAA.dPlanfinishDate       

   -------修改相关计划状态---------------

          Update PP_MPSmain set iState=3 Where cMPID=@MPID

    IF @@ERROR <> 0

     begin

      Rollback transaction

      Return

     end

          COMMIT TRANSACTION

  end

 if @nWhich=3

  begin

   SELECT #AAA.cInvCode,Inventory.cInvName,Inventory.cInvStd,Inventory.cInvM_Unit as cUnit,sum(iMQTY) as iMQTY,

    #AAA.dPlanfinishDate

   FROM #AAA,Inventory WHERE Inventory.cInvCode=#AAA.cInvCode and nBoots=0

   group by #AAA.cInvCode,Inventory.cInvName,Inventory.cInvStd,Inventory.cInvM_Unit,#AAA.dPlanfinishDate       

  end

 DROP TABLE #AAA

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

 

2、文章标题:U8网络版产品《采购计划》中独立需求只能由一个人做,不可多个人同时做的问题。

   解决办法:

将ufsystem中表ua_control中cAuth_Id='PP020300' and cRepellent='PP020300' 的记录删掉即可。

 

销售管理

1、文章标题:一个选项的不同U8销售模块的发货单列表就大不一样了。

用过用友财务软件的朋友们都知道在销售模块中有一个发货单列表是一个很实用的工具。可是你们知道吗?用友的U8版本销信模块中有一个新的选项:是否只显示发货单列表的首条记录。别小看这个选项哦,选与不选它可有很大的区别:

(1)若你选择了这个选项,查找发货情况时就会显得很简洁了,前提是你不需要按照货物查找。若你需要按货物查找时请不要选择这个选项,因为你若选中它,你会发现在发货单列表的条件生成器中缺少了几个常用的选项:货物名称、货物编号、含税单价及价税合计等。(2) 还有这个选项的选中与否还会在销售统计表中有所不同,当你选中这个选项时,销售统计表中只会显示已经审核的销售出库单所列的发货情况,相反你若不选中这个选项,在销售统计表中就会显示所有的发货单所发货的情况只是此时未审核的发货单上所列示的发货情况没有数据但有记录。

 

库存管理

1、文章标题:U821现存量错误的几种调整方法:

   解决办法:1)使用整理现存量功能。2)整理现存量后,现存量依然不对,可到ufsystem数据库的ua_account_sub表中查看该帐套库存的启用日期是否正确。以999帐套为例,可执行语句select * from ua_account_sub where cacc_id=999 and csub_id='st' and iyear=9999,如果没有此条记录,应手工添加。或者该记录上的dsubsysused(启用日期)不正确应改为正确。然后重新整理现存量即可。3)现存量错误不属于以上两种情况时,应重点查看st_totalaccount 本年期初数量,因为整理现存量时是根据st_totoalaccount的本年度期初加减rdrecord/s累计收入发出计算的。rdrecord/s属于原始单据的记录,一般不会有错,所以应重点检查st_totalaccount本年度期初数量是否正确。4)如果只启用存货核算没有整理现存量功能,无法整理现存量。但是,我们可以利用系统管理的升级sqlserver数据功能,将帐套重新升级一遍,升级程序会进行现存量整理。

 

2、文章标题:8.21材料出库单最大单号。

   8.21中的材料出库单等的自动编号有的不再取最大单号表中的单号,而是在程序中直接用下面的语句取最大单号

  出库语句:

select top 1 ('00' + right('000000000'+ccode,8)) as ccode from rdrecord where

 

left(ccode,1)<>'-' and brdflag=1 and left(right('000000000'+ccode,10),2)='00'

 

order by ccode desc

入库语句:

select top 1 ('00' + right('000000000'+ccode,8)) as ccode from rdrecord where

 

 left(ccode,1)<>'-' and brdflag=1 and

 

left(right('000000000'+ccode,10),2)='00'  order by ccode  desc

 

如果启用远程,远程标志号为01,则

出库语句:

select top 1 ('01' + right('000000000'+ccode,8)) as ccode from rdrecord where

 

left(ccode,1)<>'-' and brdflag=1 and left(right('000000000'+ccode,10),2)='01'

 

order by ccode desc

入库语句:

select top 1 ('01' + right('000000000'+ccode,8)) as ccode from rdrecord where

 

 left(ccode,1)<>'-' and brdflag=1 and

 

left(right('000000000'+ccode,10),2)='01'  order by ccode  desc

 

3、文章标题:整理现存量脚本。

   整理现存量:

Delete From CurrentStock

if exists(select * from sysobjects where name='tempcurrentstock')

drop table TempCurrentStock

SELECT cWhCode,cInvCode,(CASE WHEN cFree1=''THEN NULL ELSE cFree1 END) AS cFree1 ,(CASE WHEN cFree2=''THEN NULL ELSE cFree2 END) AS cFree2 ,iainquantity  AS iQuantity, CAST(0 AS FLOAT) AS fOutQuantity,CAST(0 AS FLOAT) AS fInQuantity

INTO TempCurrentStock

From ia_subsidiary

Where cvoutype='34'

group by ia_subsidiary.cWhCode,ia_subsidiary.cInvCode,ia_subsidiary.cFree1,ia_subsidiary.cFree2,ia_subsidiary.iainquantity

 

INSERT INTO TempCurrentStock(cWhCode,cInvCode,cFree1,cFree2,iQuantity)   SELECT  cWhCode, cInvCode,(CASE WHEN cFree1=''THEN NULL ELSE cFree1 END) AS cFree1 ,(CASE WHEN cFree2=''THEN NULL ELSE cFree2 END) AS cFree2 , (CASE WHEN bRdFlag<>0 THEN iQuantity ELSE -iQuantity END) AS iQuantity

FROM RdRecord INNER JOIN RdRecords ON RdRecord.ID = RdRecords.ID  

WHERE  cVouchType<>'33'AND cVouchType<>'34'  AND RdRecord.dDate>='2001-1-01' (该日期为模块启用日期)

 

INSERT INTO TempCurrentStock(cWhCode,cInvCode,cFree1,cFree2,fOutQuantity)  

SELECT  EnDispatchs.cWhCode, EnDispatchs.cInvCode,(CASE WHEN EnDispatchs.cFree1='' THEN NULL ELSE EnDispatchs.cFree1 END) AS cFree1 ,(CASE WHEN EnDispatchs.cFree2='' THEN NULL ELSE EnDispatchs.cFree2 END) AS cFree2 , (ISNULL(iQuantity,0)-ISNULL(fOutQuantity,0)) AS fOutQuantity

FROM EnDispatch INNER JOIN  EnDispatchs ON EnDispatch.EDID = EnDispatchs.EDID  WHERE  ISNULL(EnDispatchs.cWhCode,'')<>''  AND ISNULL(EnDispatch.cSTCode,'')<>'' AND EnDispatchs.iQuantity>0 AND bReturnFlag=0

 

INSERT INTO TempCurrentStock(cWhCode,cInvCode,cFree1,cFree2,fOutQuantity)  

SELECT  DispatchLists.cWhCode as cWhCode, DispatchLists.cInvCode as cInvCode,(CASE WHEN DispatchLists.cFree1='' THEN NULL ELSE DispatchLists.cFree1 END) AS cFree1 , (CASE WHEN DispatchLists.cFree2='' THEN NULL ELSE DispatchLists.cFree2 END) AS cFree2 , (ISNULL(iQuantity,0)-ISNULL(fOutQuantity,0)) AS fOutQuantity

FROM DispatchLists INNER JOIN  DispatchList ON DispatchLists.DLID = DispatchList.DLID     

WHERE  DispatchList.cVouchType='05' AND ISNULL(DispatchLists.cWhCode,'')<>'' AND ISNULL(DispatchList.cSTCode,'')<>''  AND  (DispatchList.iSale=0 or DispatchList.iSale IS NULL)  AND DispatchLists.iQuantity>0

 

INSERT INTO TempCurrentStock(cWhCode,cInvCode,cFree1,cFree2,fOutQuantity)   

SELECT  cWhCode, cInvCode,(CASE WHEN cFree1=''THEN NULL ELSE cFree1 END) AS cFree1 , (CASE WHEN cFree2=''THEN NULL ELSE cFree2 END) AS cFree2 , (ISNULL(iQuantity,0)-ISNULL(fOutQuantity,0)) AS fOutQuantity

FROM SaleBillVouchs INNER JOIN SaleBillVouch ON SaleBillVouch.SBVID=SaleBillVouchs.SBVID 

WHERE ISNULL(SaleBillVouchs.cWhCode,'')<>'' AND (SaleBillVouch.iDisp=0 OR SaleBillVouch.iDisp IS NULL)    AND ISNULL(cBusType,'')<>'委托'   AND ISNULL(cSTCode,'')<>'' AND ISNULL(cInvalider,'')='' AND  SaleBillVouchs.iQuantity>0

 

INSERT INTO CurrentStock(cWhCode,cInvCode,cFree1,cFree2,iQuantity,fOutQuantity,fInQuantity)  

SELECT  cWhCode, cInvCode,cFree1,cFree2 , sum(iQuantity) AS iQuantity,sum(ISNULL(fOutQuantity,0)) AS fOutQuantity, sum(ISNULL(fInQuantity,0)) AS fInQuantity

FROM TempCurrentStock

GROUP BY cWhCode,cInvCode,cFree1,cFree2

 

Delete From CurrentStock

where iquantity is null  and foutquantity=0 and finquantity=0

 

4、文章标题:盘点应注意的事项

  盘点中需注意的几点事项:1)盘点单价是怎样产生的,盘点的单价是在盘点中点击盘库后自动产生的,移动平均法是按盘点时结存单价产生,全月平均法是取上月价,所以如果移动平均法,盘点是一定要存货系统所有单据记帐后才可进行,否则单价不准,另外如果盘出一个以前月份从未发生过,期初有数量,但是单价为0,则盘点单价为0,这样就要在存货系统的的其他出入库单中修改单价,否则会造成以后价格的偏离(可能是十分严重),当然,这种现象也是因为期初数据的原因。2)盘点单所取帐面数是是当时的现存量,如果需要盘点,则下月业务不能开展,否则会造成虚假的盘盈和盘亏,有零出库的单位,帐面数会为负数,但是实盘数是不能为负数的,这种情况下实盘数自动为零,这样就会造成盘盈,所以在这种情况下,应在盘点单未审核时,删除这条记录。3)另外,盘点审核后,单据是不能修改的,审核所产生的单据也是不能删除的,盘点所产生的其他出入库单在库存系统中不能修改,在存货系统中可能修改单价。

 

存货核算

1、文章标题:存货核算使用注意事项。

  存货核算使用注意事项:

1)出入库调整只对本月出入库单的进行调整,即被调整单据号只能是本月单据。

  采购系统的采购入库单没有进行结算并暂估处理,不能生成入库调整单

  出入库调整单保存即记账,已保存的单据不能修改删除。只有通过恢复单据记账时删除

  不可对指定出库单据进行调整金额

2)移动平均、先进先出、后进先出、计划价(包括价格调整单时)不能按单据类型恢复单据记账

  全月平均、个别计价、计划价(无价格调整单时): 恢复采购入库单时,同时应恢复对应的入库调整单,否则不允许恢复记帐。

3)月初回冲、单到回冲方式下,采购入库单记录部分结算,应不能进行暂估处理

4)单到补差方式下,采购入库单记录部分结算,结算多少就可以暂估处理多少,同受托代销入库单

5)全月平均法,调拨出库(特殊单据记帐)按上次全月平均单价取单价,如果是没有上月或期初的结存单价,取选项的零成本出库选择的选项成本。(很多用户对存货记帐之后的莫名其妙成本,其实取的是选项成本)

全月平均法,调拨出库(正常单据记帐)不按上月全月平均单价取单价

全月平均法,零出库时按期末处理的单价计算出库成本

计划法,调拨出库(特殊单据记帐)按上月差异率算差异额,如果是没有上月或期初的结存差异率,取选项的零成本出库选择的选项成本。

计划法,调拨出库(正常单据记帐)不按上月差异率算差异额

售价法,调拨出库(特殊单据记帐)按上月差异率算差异额,如果是没有上月或期初的结存差异率,取选项的零成本出库选择的选项成本。

售价法,调拨出库(正常单据记帐)不按上月差异率算差异额

6)个别计价法,每笔出库都有对应的入库

个别计价法,结存数量、金额不能为负

期末处理后,计算出的全月平均法的出库成本记入明细账中

期末处理后,计算出的计划法的出库成本差异记入明细账中

 

总帐

1、文章标题:解决总帐查询明细帐、总帐提示实时错误91,null无效。

   在U8总帐中,有时会发生查询明细帐、总帐提示“实时错误91,null无效”,检查用户数据,1、发现用户辅助总帐、总帐表单中金额、数量、外币字段属性被设置为容许为空,(导致数据行中有许多null值)2、默认绑定不存在。针对问题,我们创建以下脚本解决如下:在查询分析器执行更新总帐错误记录(把null值替换为0),建立绑定默认值,修改总帐、辅助总帐表单结构(取消容许为空设置)脚本。

脚本如下:--更新总帐、辅助总帐NULL值记录

UPDATE GL_accsum

SET mb = 0, md = 0, mc = 0, me = 0, mb_f = 0, md_f = 0, mc_f = 0,me_f = 0, nb_s = 0, nd_s = 0,

      nc_s = 0, ne_s = 0

WHERE (mb IS NULL) OR

      (md IS NULL) OR

      (mc IS NULL) OR

      (me IS NULL) OR

      (mb_f IS NULL) OR

      (md_f IS NULL) OR

      (mc_f IS NULL) OR

      (me_f IS NULL) OR

      (nb_s IS NULL) OR

      (nd_s IS NULL) OR

      (nc_s IS NULL) OR

      (ne_s IS NULL)

UPDATE GL_accass

SET mb = 0, md = 0, mc = 0, me = 0, mb_f = 0, md_f = 0, mc_f = 0,me_f = 0, nb_s = 0, nd_s = 0,

      nc_s = 0, ne_s = 0

WHERE (mb IS NULL) OR

      (md IS NULL) OR

      (mc IS NULL) OR

      (me IS NULL) OR

      (mb_f IS NULL) OR

      (md_f IS NULL) OR

      (mc_f IS NULL) OR

      (me_f IS NULL) OR

      (nb_s IS NULL) OR

      (nd_s IS NULL) OR

      (nc_s IS NULL) OR

      (ne_s IS NULL)

--删除、建立、绑定默认值

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_mb_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_mb_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_mc_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_mc_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_mc_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_mc_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_md_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_md_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_md_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_md_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_me_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_me_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_me_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_me_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_nb_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_nb_s_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_nc_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_nc_s_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_nd_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_nd_s_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_ne_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_ne_s_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accass_mb_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accass_mb_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_mb_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_mb_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_mb_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_mb_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_mc_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_mc_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_mc_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_mc_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_md_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_md_D]

GO

 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_md_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_md_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_me_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_me_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_me_f_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_me_f_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_nb_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_nb_s_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_nc_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_nc_s_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_nd_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_nd_s_D]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GL_accsum_ne_s_D]') and OBJECTPROPERTY(id, N'IsDefault') = 1)

drop default [dbo].[GL_accsum_ne_s_D]

GO

CREATE DEFAULT dbo.GL_accass_mb_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_mc_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_mc_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_md_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_md_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_me_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_me_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_nb_s_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_nc_s_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_nd_s_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_ne_s_D AS 0

GO

CREATE DEFAULT dbo.GL_accass_mb_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_mb_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_mb_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_mc_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_mc_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_md_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_md_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_me_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_me_f_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_nb_s_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_nc_s_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_nd_s_D AS 0

GO

CREATE DEFAULT dbo.GL_accsum_ne_s_D AS 0

GO

EXEC sp_bindefault N'[dbo].[GL_accass_mb_D]', N'[GL_accass].[mb]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_mb_f_D]', N'[GL_accass].[mb_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_mc_D]', N'[GL_accass].[mc]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_mc_f_D]', N'[GL_accass].[mc_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_md_D]', N'[GL_accass].[md]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_md_f_D]', N'[GL_accass].[md_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_me_D]', N'[GL_accass].[me]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_me_f_D]', N'[GL_accass].[me_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_nb_s_D]', N'[GL_accass].[nb_s]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_nc_s_D]', N'[GL_accass].[nc_s]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_nd_s_D]', N'[GL_accass].[nd_s]'

GO

EXEC sp_bindefault N'[dbo].[GL_accass_ne_s_D]', N'[GL_accass].[ne_s]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_mb_D]', N'[GL_accsum].[mb]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_mb_f_D]', N'[GL_accsum].[mb_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_mc_D]', N'[GL_accsum].[mc]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_mc_f_D]', N'[GL_accsum].[mc_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_md_D]', N'[GL_accsum].[md]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_md_f_D]', N'[GL_accsum].[md_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_me_D]', N'[GL_accsum].[me]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_me_f_D]', N'[GL_accsum].[me_f]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_nb_s_D]', N'[GL_accsum].[nb_s]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_nc_s_D]', N'[GL_accsum].[nc_s]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_nd_s_D]', N'[GL_accsum].[nd_s]'

GO

EXEC sp_bindefault N'[dbo].[GL_accsum_ne_s_D]', N'[GL_accsum].[ne_s]'

GO

--更新总帐、辅助总帐表单结构

ALTER TABLE GL_accsum ALTER COLUMN  cbegind_c varchar(2) not NULL

ALTER TABLE GL_accsum ALTER COLUMN  cbegind_c_engl varchar(2) not NULL

ALTER TABLE GL_accsum ALTER COLUMN  mb money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  md money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  mc money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  cendd_c varchar(2) not NULL

ALTER TABLE GL_accsum ALTER COLUMN  cendd_c_engl varchar(2) not NULL

ALTER TABLE GL_accsum ALTER COLUMN  me money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  mb_f money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  md_f money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  mc_f money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  me_f money not NULL

ALTER TABLE GL_accsum ALTER COLUMN  nb_s float not NULL

ALTER TABLE GL_accsum ALTER COLUMN  nd_s float not NULL

ALTER TABLE GL_accsum ALTER COLUMN  nc_s float not NULL

ALTER TABLE GL_accsum ALTER COLUMN  ne_s float not NULL

--更新辅助总帐结构

ALTER TABLE GL_accass ALTER COLUMN  cbegind_c varchar(2) not NULL

ALTER TABLE GL_accass ALTER COLUMN  cbegind_c_engl varchar(2) not NULL

ALTER TABLE GL_accass ALTER COLUMN  mb money not NULL

ALTER TABLE GL_accass ALTER COLUMN  md money not NULL

ALTER TABLE GL_accass ALTER COLUMN  mc money not NULL

ALTER TABLE GL_accass ALTER COLUMN  cendd_c varchar(2) not NULL

ALTER TABLE GL_accass ALTER COLUMN  cendd_c_engl varchar(2) not NULL

ALTER TABLE GL_accass ALTER COLUMN  me money not NULL

ALTER TABLE GL_accass ALTER COLUMN  mb_f money not NULL

ALTER TABLE GL_accass ALTER COLUMN  md_f money not NULL

ALTER TABLE GL_accass ALTER COLUMN  mc_f money not NULL

ALTER TABLE GL_accass ALTER COLUMN  me_f money not NULL

ALTER TABLE GL_accass ALTER COLUMN  nb_s float not NULL

ALTER TABLE GL_accass ALTER COLUMN  nd_s float not NULL

ALTER TABLE GL_accass ALTER COLUMN  nc_s float not NULL

ALTER TABLE GL_accass ALTER COLUMN  ne_s float not NULL

 

2、文章标题:关于8.21银行对帐不平的处理办法

  有用户发现8.21数据的银行对帐的余额调节表不平,并且取消本年的银行对帐后重新对帐还是不平.碰到此情况,用户以为是软件问题.数据发到集团后,经查,发现此银行的数据在期初就不平.所以无论如何调整,本年的银行对帐余额表是不平的.此类问题的解决办法:

取消本年度的银行对帐,

重新结转上年数据,在新数据库中表gl_accvouch和RP_bankrecp找到此银行的年初数据,在原数据库中删除表gl_accvouch和RP_bankrecp中此银行的年初数据,把新的数据拷贝到原数据库中的对应表中,可以解决此问题.

同时,本年启用的银行对帐也有发生对帐不平的情况,可能是更改过银行对帐启用日期的原因造成的,银行对帐启用后就不能更改启用日期.

 

3、文章标题:修复辅助总帐有重复记录的方法。

   修复辅助总帐有重复记录的过程:

   调数据主要是先恢复记帐到年初,并用DELETE语句把出现问题的科目记录从GL_ACCASS中删去,并用以上的SQL工具生成过程,再用EXEC进行过程的调用。注意资产类的用类似11901的方法,负债类的用类似203的方法,每次可以替换一下。从GL_accvouch中重算GL_ACCASS,并在GL_ACCASS中删除期初为零且记录重复的记录。重新记帐,可以解决。

脚本一:

if Exists (Select Name From sysobjects

           where name='myproc1' and type='P')

           begin 

                DROP PROCEDURE MYPROC1

           end

go

CREATE PROCEDURE myproc1 AS

set nocount on

 

--检查临时表是否存在

if Exists (Select Name From tempdb..sysobjects

           where name='tmp1' and type='U')

           begin 

                DROP table tempdb..tmp1

           end

 

--筛选出有丢失记录的数据,并存入临时表tmp1

SELECT ccode,sum(md)-sum(mc) as mb, 

cdept_id,cperson_id,ccus_id,csup_id,citem_class,citem_id

into tempdb..tmp1 FROM GL_accvouch

where gl_accvouch.ccode='11901' and gl_accvouch.iperiod=0

GROUP BY GL_accvouch.ccode,GL_accvouch.cdept_id, gl_accvouch.ccus_id,GL_accvouch.csup_id,GL_accvouch.citem_class,GL_accvouch.citem_id,

GL_accvouch.cperson_id

 

Declare sCursor Cursor FOR

Select ccode,cdept_id,ccus_id,csup_id,citem_class,citem_id,mb,cperson_id

From tempdb..tmp1

 

OPEN sCursor

declare @ccode varchar(15),@cdept_id varchar(12),@ccus_id varchar(12),

@csup_id varchar (12),@citem_class varchar(2),@citem_id varchar(20),@v_mb money,

@iperiod tinyint,@cperson_id varchar(8),@fx1 varchar(2),@fx2 varchar(2)

FETCH NEXT FROM sCursor

      Into @ccode,@cdept_id,@ccus_id,@csup_id,@citem_class,@citem_id,@v_mb,@cperson_id         

 

      While @@FETCH_STATUS=0   

       begin                     

 

        if @v_mb>0

         begin

          set @fx1=''

          set @fx2='Dr'

          set @v_mb=@v_mb

         end

        else

          begin  

          set @fx1=''

          set @fx2='Cr'

          set @v_mb=-@v_mb

          end

      insert gl_accass (ccode,cexch_name,cdept_id,ccus_id,csup_id,citem_class,citem_id,cperson_id,iperiod,

      cbegind_c,cbegind_c_engl,mb,md,mc,me,cendd_c,cendd_c_engl,mb_f,md_f,mc_f,me_f,nb_s,nd_s,nc_s,ne_s)

      VALUES('11901',null,@cdept_id,@ccus_id,@csup_id,@citem_class,@citem_id,@cperson_id,1,

      @fx1,@fx2,@v_mb,0,0,@v_mb,@fx1,@fx2,0,0,0,0,0,0,0,0)

   

                  

             

      FETCH NEXT FROM sCursor Into @ccode,@cdept_id,@ccus_id,@csup_id,@citem_class,@citem_id,@v_mb,@cperson_id           

--关闭并释放游标     

       end

       CLOSE sCursor

       DEALLOCATE sCursor

--SELECT COUNT(*) FROM GL_ACCASS

--EXEC MYPROC1

--delete from gl_accass where ccode='11901'

 

 

脚本二:

if Exists (Select Name From sysobjects

           where name='myproc1' and type='P')

           begin 

                DROP PROCEDURE MYPROC1

           end

go

CREATE PROCEDURE myproc1 AS

set nocount on

 

--检查临时表是否存在

if Exists (Select Name From tempdb..sysobjects

           where name='tmp1' and type='U')

           begin 

                DROP table tempdb..tmp1

           end

 

--筛选出有丢失记录的数据,并存入临时表tmp1

SELECT ccode,sum(mc)-sum(md) as mb, 

cdept_id,cperson_id,ccus_id,csup_id,citem_class,citem_id

into tempdb..tmp1 FROM GL_accvouch

where gl_accvouch.ccode='20901' and gl_accvouch.iperiod=0

GROUP BY GL_accvouch.ccode,GL_accvouch.cdept_id, gl_accvouch.ccus_id,GL_accvouch.csup_id,GL_accvouch.citem_class,GL_accvouch.citem_id,

GL_accvouch.cperson_id

 

Declare sCursor Cursor FOR

Select ccode,cdept_id,ccus_id,csup_id,citem_class,citem_id,mb,cperson_id

From tempdb..tmp1

 

OPEN sCursor

declare @ccode varchar(15),@cdept_id varchar(12),@ccus_id varchar(12),

@csup_id varchar (12),@citem_class varchar(2),@citem_id varchar(20),@v_mb money,

@iperiod tinyint,@cperson_id varchar(8),@fx1 varchar(2),@fx2 varchar(2)

FETCH NEXT FROM sCursor

      Into @ccode,@cdept_id,@ccus_id,@csup_id,@citem_class,@citem_id,@v_mb,@cperson_id         

 

      While @@FETCH_STATUS=0   

       begin                    

        if @v_mb<0

         begin

          set @fx1=''

          set @fx2='Dr'

          set @v_mb=-@v_mb

         end

        else

          begin  

          set @fx1=''

          set @fx2='Cr'

          set @v_mb=@v_mb

          end

      insert gl_accass (ccode,cexch_name,cdept_id,ccus_id,csup_id,citem_class,citem_id,cperson_id,iperiod,

      cbegind_c,cbegind_c_engl,mb,md,mc,me,cendd_c,cendd_c_engl,mb_f,md_f,mc_f,me_f,nb_s,nd_s,nc_s,ne_s)

      VALUES('20901',null,@cdept_id,@ccus_id,@csup_id,@citem_class,@citem_id,@cperson_id,1,

      @fx1,@fx2,@v_mb,0,0,@v_mb,@fx1,@fx2,0,0,0,0,0,0,0,0)

   

                  

             

      FETCH NEXT FROM sCursor Into @ccode,@cdept_id,@ccus_id,@csup_id,@citem_class,@citem_id,@v_mb,@cperson_id           

--关闭并释放游标     

       end

       CLOSE sCursor

       DEALLOCATE sCursor

--SELECT COUNT(*) FROM GL_ACCASS

--EXEC MYPROC1

--delete from gl_accass where ccode='20901'

 

4、文章标题:解决单据列表打开出错或无数据。

在打开单据列表,或增加单据时,有时出现运行时错误,或明明有数据,但是单据列表中一片空白,没有记录,这一般可以查看数据库表vouchers,它的itemtblname字段记载了各个系统的各个单据所在的表的名称。通过它找到相应的单据格式表,用没有出错的帐套的同名表替换即可。至于单据列表,则可以替换vouchlist表。

 

固定资产

1、文章标题:在做过批量资产减少后,以前年度减少的卡片(满足该批量减少条件)又再次做了减少。造成卡片管理查询该卡片的注销日期和卡片上的减少信息不一致

数据库中fa_cards表出现多余减少记录。

处理方式:如果已经做了二次减少。请恢复到减少月,撤销这些卡片的减少。

查询卡片的语句:

SELECT sCardNum

FROM fa_Cards

WHERE dDisposeDate<#减少日期# and 其他条件

ORDER BY scardnum

然后做如下语句,恢复卡片上的减少信息中日期

update fa_Cards INNER JOIN fa_CardsSheets ON fa_Cards.sCardNum =

 

fa_CardsSheets.sCardNum

set fa_CardsSheets.dTransDate = fa_Cards.dDisposeDate

where fa_CardsSheets.lSheetNum =7 and sCardID in

(SELECT CStr(Max(Val([sCardID]))) AS sID

FROM fa_Cards GROUP BY fa_Cards.sCardNum)

and fa_Cards.sCardNum in ( SELECT sCardNum

               FROM fa_Cards

               WHERE dDisposeDate<#减少日期# and sDeptNum='21'

               ORDER BY scardnum)

 

成本管理

1、文章标题:解决8.12升级到8.21后成本对象不能在原始单据中显示出来的脚本。

create procedure UpdateFitem99

as

declare @c_ItemCode varchar(20)

declare @c_Name varchar(50)

declare  MyCursor scroll Cursor  for

select   distinct fitemss99.citemcode,fitemss99.citemname

from     fitemss99, RdRecords

where    fitemss99.citemcode=RdRecords.citemcode   and 

         RdRecords.cname is null

order by fitemss99.citemcode

 

open MyCursor

 

fetch first from MyCursor into  @c_ItemCode,@c_Name

while @@fetch_status=0

begin

  

 update RdRecords

          set citem_class='99',citemcname='成本对象',cname=@c_Name

        where citemcode=@c_ItemCode

 fetch next from MyCursor into @c_ItemCode,@c_Name

 

end

 

close MyCursor

deallocate MyCursor

说明:   在查询分析器中,Ufdata库中执行如上语句创建存储过程,然后再执行如下语句

exec UpdateFitem99

 

应收系统

1、文章标题:应收系统如果核销后生成的凭证借贷方不平的可能原因。

8.21版应收系统如果核销后生成的凭证借贷方不平,而且差别很大,有可能是此次核销的发票余额不对。此数据的问题在于客户“shxg”的4张发票在salebillvouchs表的imoneysum,iexchsum字段和Ap_Detail表的icamount不一致,造成在应收系统中查寻发票时显示的发票余额错误。以下是修改此数据的脚本,仅供参考。

SELECT ibvid,icamount into a

FROM Ap_Detail

WHERE (cCoVouchID = '0000000222')

      AND (cDwCode = 'shxg')

      AND (cVouchType = '48')

ORDER BY iBVid

 

SELECT AutoID,imoneysum,iexchsum into b

FROM SaleBillVouchs

WHERE (SBVID = '222')

ORDER BY AutoID

 

 update salebillvouchs

  set  imoneysum=0,       iexchsum=0

where salebillvouchs.autoid in  (  

select b.AutoID

from  b  left join a on  b.autoid=a.ibvid

where a.ibvid is null   )

 

update  salebillvouchs

  set imoneysum=2220.6200,iexchsum=2220.6200

where salebillvouchs.autoid='2518'  and  (SBVID = '222')

 

update  salebillvouchs

  set imoneysum=31510.6200,iexchsum=31510.6200

where salebillvouchs.autoid='2558'  and  (SBVID = '222')

 

update  salebillvouchs

  set imoneysum=12734.0600,iexchsum=12734.0600

where salebillvouchs.autoid='2571'  and  (SBVID = '222')

 

update  Ap_Detail

  set iCAmount =35106.75

where ibvid='2527'   AND (cVouchType = '48')

 

 update  Ap_Detail set iCAmount_f=iCAmount

WHERE (cVouchID = '0000000420') AND (cDwCode = 'shxg') AND

      (cCoVouchID = '0000000222') and ibvid=2527

 

 UPDATE salebillvouchs

SET imoneysum = 0, iexchsum = 0

FROM salebillvouchs AS a

WHERE a.sbvid = '305' or a.sbvid = '295'

 

drop table a

drop table b

 

2、文章标题:提高U8应收付运行效率。

使用方法:将Sql语句(兰色)拷贝到查询分析器中,然后选择相应帐套,并执行即可。 

--提高审核速度

Create Index cCoVouchID On Ap_CloseBill (cFlag,cCoVouchType,cCoVouchID)

 --提高远程接收速度

create index cVouchID On Ap_Closebill (cVouchType,cVouchID,cFlag)

 --提高收款速度

create index HX_cDwCode On Ap_Detail (cFlag,cDwCode,cexch_name,cCoVouchType)

 

系统管理

1、文章标题:Uferpact.lst文件的一些另类用法。

Uferpact.lst文件为u8的帐套输出文件,里面到底记载了一些什么样的信息呢?让我们来对它分析一下:首先我们用记事本打开Uferpact.lst文件,会看见里面有以下的内容:(注意:以下括号中的内容为我的注释而非原文件中所有!!)

[BackRetInfo]

Type=Account

cAcc_Id=005(帐套号)

iSysId=36774.9463310185(帐套在数据库中的唯一标识)

cacc_path=C:/WF821/ZT005/(帐套存放的原来路径)

Version=1.00(版本)

VersionEx=V8.21(u8的版本号)

Date=2002-08-05 16:22

YCount=3

YYear=00,01,02

Backup=Success

Disks=0

Bytes=157830144

[FileInfo]

Count=4(输出的数据有四个文件,以下分别为其原来的路径)

File1=C:/WF821/ZT005/UFDATA.BAK

File2=C:/WF821/ZT005/1.vts

File3=C:/WF821/ZT005/7.vts

File4=C:/WF821/ZT005/144.vts

[Files]

(以下为对应路径同上)

File1=1,,UFDATA.BA_,UFDATA.BAK,C:/WF821/ZT005/,,,2002-08-05 16:24,157788672

File2=1,,1.vt_,1.vts,C:/WF821/ZT005/,,,2002-07-26 15:41,13824

File3=1,,7.vt_,7.vts,C:/WF821/ZT005/,,,2002-07-26 15:41,13824

File4=1,,144.vt_,144.vts,C:/WF821/ZT005/,,,2002-07-26 15:41,13824

知道这些我们可以干吗呢?假如我们在引入客户发来的一个数据时出现问题,我们可而已尝试在这里解决,比如我们看看他原来的路径在我们的系统里是否存在,比如客户原来的信息是存放在e:盘,但是我们的系统里没有e:盘,我们就可以在这个文件里修改相关的部分来完成工作了!当然处理完后要把路径再改回去,否则客户那边也许就会出问题了!

其次我们可以检查一下客户发过来的数据是否文件齐全,不是有文件个数和文件名字吗?检查一下就可以发现了!

我们的机器上通常有比较多的帐套,如果和客户的信息冲突了怎么办?我们可以有两中办法,一是把我们自己的对应帐套删除,二呢就是改变Uferpyer.lst文件里的帐套信息,当然推荐使用第一个方法,如果使用第二个呢最后要记得把原来的帐套信息改正,否则发给客户的数据可能就有问题了!

Uferpyer.lst还有一个比较另类的用法,就是我们可以利用她来达到迁移数据库物理存放路径的目的。其实非常简单,我们先把帐套输出并选中删除当前输出帐套的选项,这样帐套输出后原帐套就被删除了,然后我们把Uferpyer.lst文件里的几个路径都改为您想要迁移到的地方的路径,再引入帐套就可以达到欺骗u8而把数据库存放到我们希望存放的位置了!

当然做这些之前记得要做好备份工作。同样的,Uferpyer.lst为年度帐备份文件,里面的信息也是一样的,这里就不再多说了!

 

2、文章标题:Access版本产品到SQL SerVer版本产品升级技巧。

一般来说,Access数据库对数据的要求没有SQL SerVer数据库严格,同样的值在Access数据库中是合法的,而在SQL SerVer数据库中就是不合法的,因此在Access版本产品到SQL SerVer版本产品的升级过程中会出错。例如:1)问题:8.12Access-->U8.20升级,在进行“工资变动”时报错。原因:在8.12Access版本中,有一个工资项目名称是“提高10%”,“%”在SQL SerVer数据库中是特殊字符,不能出现在数据库表字段取值中。解决:工资项目名称尽量使用汉字、英文字母、数字,不要使用%、"、,、(、)等符号,它们在SQL SerVer数据库中属于特殊字符,用作字段取值,会出现语法错误,导致升级失败。

2)问题:8.12Access-->U8.21升级,在升级到固定资产时,系统提示错误,无法升级。   原因:在8.12Access版本中,固定资产卡片表(fa_cards)中有个别卡片的开始使用日期是“1198-02-03”,在SQL SerVer数据库不能识别“1198”这个年份,所以出错,导致升级失败。解决:在8.12Access版本中这几个固定资产卡片的开始使用日期改为“1900”年以后的日期,重新升级。

 

3、文章标题:P4机器停顿(死机)现象整体解决方案汇总。

方法(1):禁用所有网卡,包括虚拟网卡(无网卡请装虚拟网卡)

方法(2):设置一个任意的固定ip地址

方法(3):将操作系统由98升级到2000

方法(4):将设备中的网卡(或modem)只保留一个,其余的均从设备管理中删除。(注,不能同时保留一个网卡和modem)

 

4、文章标题:U8软件提示SA口令问题。

㈠:对于SQL2000可能是安装时安全性选项中没有选择Windows和SQL Server集成验证方式。

 解决方案:

 (1)从企业管理器中属性的安全性页中选择WindowsSQL Server集成验证方式

 (2)在查询分析器中运行

 xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE/Microsoft/MSSQLServer/MSSQLServer', 'LoginMode',  N'REG_DWORD', 2

(3)修改注册表

 运行regedit命令

 修改HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServerLoginMode项目为 2

重新启动MSSQLServer服务和用友U8服务

㈡:系统MSADO15.DLL出错。

 重新注册MSADO15.DLL(可拷贝新的msado15.dllado2.0】)

 例:

 regsvr32/u  "c:/Program Files/Common Files/System/ado/msado15.dll"

 regsvr32  "c:/Program Files/Common Files/System/ado/msado15.dll"

 

5、文章标题:U8管理软件在远程连接中的使用。

(一)在远程运用(特别是拨号连接)中,应注意以下几点:1)如使用拨号服务器,拨号服务器网络配置要和应用服务器的网络配置必须一致.如使用调制解调器,拨入的对方计算机要有拨入接收功能。(也就是它是一个拨号服务器);2)客户端和服务器都要设置固定的IP地址,并且他们要在同一个网段里,子网掩码要一样。3)客户端要进行服务器的IP地址的绑定.具体操作是,在客户端的hosts文件和lmhosts中添加对应服务器的ip地址和计算机名即可。注意:要修改的hosts和lmhosts这两个文件没有后缀名。4)在局域网中,远程配置时,经常看不到服务器的计算机名,这是因为客户端没有以域用户登陆,客户端和服务器的网络设置要一致,并且客户端要是服务器中域的一个用户。

(二)在远程运用(特别是局域网连接)中,应注意以下几点:软件的标准使用要求,1)       U8管理软件在局域网里连接服务器使用(C/S结构),服务器要安装成一个域用户服务器,客户端只要满足我们软件要求的环境就可以了。2)网络配置,服务器和客户端在同一个网段,子网掩码一致。3)客户端登陆网络时以域用户的身份登陆,这样在客户端远程配置时进行就会很顺利。4)服务器和客户端安装软件的版本必须一致,同时建议在客户端和服务器端安装同一版本的数据库。

在下列情况下也可变通的使用软件:1)客户端和服务器不在同一个网段,但他们之间是用交换机连接的,也可以进行远程配置,但使用路由器就不行了。2)在远程配置时,在网络资源里找不到服务器的计算机名,也可以敲入服务器的IP地址来进行远程配置,这种方法客户端要进行服务器的IP地址的绑定。

(三)WEB服务器的配置:1)服务器端操作系统必须是Windows NT 或 Windows 2000 Server ,安装了IIS,是一个WEB服务器,有WEB的发布和接收功能。2)在服务器端安装U8管理软件的WEB模块,并进行配置。(一般安装完软件后就自动配置好了)3)客户端操作系统可以是Windows NT 、 Windows 2000 Server、Windows 2000 Professional、Windows 98 等。安装IE5.5以上的浏览器。配带连网的工具(网卡,调制解调器)4)客户端与服务器端必须安装中文版IE浏览器,版本号6.0(或5.5以上),安装TCP/IP协议。5)在服务器端的网络配置中,IP地址输入你们的固定、真实的IP地址就可以了。6)运行时,在连接地址栏里键入如下地址即可:http://servername/u8web。无论财务还是业务WEB,均从上述地址登录。

(以上只是一些在使用中的经验总结,供使用者参考)

 

2.其他

1、文章标题:SQL Server 备份及恢复的几种方法

   随着SQL Server 版软件越来越多,与此相关的数据备份与恢复的问题也越来越多,我们在解决问题的过程中总结了一些经验如下:

    一、备份各种形式

①从系统管理里作备份,包括帐套的备份和年度帐的备份,这种份的优点是简单,易操作,压缩性好,占用硬盘空间小,但速度慢,并且如果是软件出现故障的情况下,可能无法进入系统管理.

②从Enterprise Manager里做数据库的备份.每个数据库都有一个单独的备份.这种备份的优点是备份速度快,如果对SQL Server有一定了解的话,也是很简单的.

③如果SQL Server无法启动的话,上述两种方法都是无效的,只能采用复制物理文件的方法,把用户帐套的ufdata.mdf ufdata.ldf 和ufsystem.mdf 和ufsystem.ldf

    二、恢复数据的方法

①如果有帐套的备份的话,直接使用系统管理里的帐套引入功能就可以了。在这种情况下,一些操作员的权限信息可以丢失,可以重新赋予权限,也可心恢复原来的ufsystem系统控制库

②如果是年度帐的备份,并且软件中还有这个帐套和年度的话,可以用帐套主管注册,然后从年度帐菜单下引入;如果是没有这个帐套存在,就要在系统管理中新建一套帐,建帐时只要注意启用日期、行业性质、帐套主管即可,其他均可忽略,然后把备份中的ufdata.ba_ 用APP目录下的ufuncomp.exe 将它解压缩为ufdata.bak 再将此文件在enterprise manager 里restore 即可

③通过Enterprise Manager 做的单个数据库的备份的和年度帐的备份可以通过 restore database 功能来操作,具体过程为右键该数据库—所有任务—还原数据库—从设备—选择设备—磁盘—添加—浏览该文件—确定, 在选项标签里把‘强制还原’选上,移至的物理文件名为该帐套的目录和文件名。然后就可以正常恢复了。

④如果是从其他数据库的备份信息里恢复的话,就可以选择还原自数据库,然后在参数处查找该数据库和数据库的备份信息。在选项标签里把‘强制还原’选上,移至的物理文件名为该帐套的目录和文件名。然后就可以正常恢复了。

⑤如果是帐套的备份,而该帐套又包含很多个年度,可以先将该文件解压缩,然后通过方法③所述找到该备份文件(备份设备),查看该设备的内容,选择要恢复数据库对应的备份号(每个年度一个号),在选项标签里选强制恢复,配置正确的物理文件位置

⑥如果只有ufdata.mdf(数据库文件),ufdata.ldf(日志文件)可以运用系统数据库(master)里的系统存储过程 sp_attach_db 来恢复,具体操作过程:在Query Analyzer 或者 Dos 里的osql 命令来实现,exec sp_attach_db '数据库名','参数1(第一个物理文件的目录及文件名)','参数1(第二个物理文件的目录及文件名)' 如 exec sp_attach_db 'ufsystem','D:/wf821/admin/ufsystem.ldf','D:/wf821/admin/ufsystem.mdf'

注:如果是该数据库为灰色,则需要先断开该物理文件与数据库的连接, 使用sp_detach_db 语法: exec sp_detach_db '数据库名'

⑦如果是只有mdf 文件(数据库文件),则需要另外一个系统存储过程sp_attach_single_file_db

具体语法为 exec ap_attach_single_file_db 'ufsystem','D:/wf821/admin/ufsystem.mdf'

⑧stop SQL Server service ,replace physname by new files and start SQL server service. 其实这一种方法也可以应用于当数据库出现损坏的情况,利用SQL Server 在启动时主动检测数据库是否完好的功能。

 

2、文章标题:查找重复项,及应收冲应收解决方案

1)查找重复项的脚本

SELECT ccuscode, cCusabbName

FROM Customer

WHERE ccusabbname  in (select Ccusabbname from customer

group by ccusabbname having count(*)>1)

ORDER BY ccusabbname;

2)自动删除应收冲应收产生的过渡科目

应收冲应收生成的凭证必须使用一个过渡科目如:

借:应收账款-A                     2000000.00

    其他货币资金-银行承兑汇票      2000000.00

    贷:应收账款-B                 2000000.00

        其他货币资金-银行承兑汇票  2000000.00

要求将过渡科目“其他货币资金-银行承兑汇票”自动删除。

在Gl_accvouch中增加触发器的脚本:

CREATE TRIGGER [DelteCode] ON [GL_accvouch]

for update 

AS

delete from GL_accvouch where ccode='100901'

 

3、文章标题:成本加强效率脚本。

针对部分用户在使用sql版软件时出现诸如报表打开十分缓慢申死机的现象,特给出这个sql脚本。

ALTER TABLE [dbo].[CA_AmoCt] WITH NOCHECK ADD

 CONSTRAINT [PK_CA_AmoCt] PRIMARY KEY  CLUSTERED

 (

  [cPPID],

  [cBatch],

  [cAmoID],

  [cAmotype],

  [iPeriod]

 )  ON [PRIMARY]

GO

 CREATE  INDEX [IX_CA_AmoCt] ON [dbo].[CA_AmoCt]([cPPID], [cBatch], [iPeriod]) ON [PRIMARY]

GO

delete from ca_amoct where iqua=0 and itotalamo=0 and ionptotalamo=0

GO

适用于任何一个SQL版成本管理

 

4、文章标题:对付"尼姆达"病毒给OFFICE带来的问题...

由于尼姆达病毒用自身覆盖了system目录下的riched20.dll文件,所以WORD等字处理软件运行不正常。用户杀毒后,可以从安装盘里找到相应的文件重新拷贝回来。

    Win98:在压缩包Win98_35.CAB中,解开找到riched20.dll拷贝到system目录。

    Win98se:在压缩包Win98_41.CAB中。

    Win2000:在system32/dllcache目录有备份,将它拷贝到system32目录。等等

    或者也可以从其它未感染过病毒的机器拷贝这些文件

 

5、文章标题:实时错误3043磁盘或网络错误。

一般情况下在出现网络或磁盘错误、实时错误3043时,都会想到是网络环境问题提起大家注意系统环境问题如客户在服务器端打开或修复7。0产品数据库时就提示该错误。但在客户端工作正常故障原因为服务器C:盘根目录下无TEMP目录导致。

 

6、文章标题:连接不上服务器故障分析。

用友财务软件8.x版本的网络功能是该软件的重要特色之一。但是由于选用数据库(特别是SqlServer7.0)对网络连接的要求较为严格和复杂,所以,当出现“连接不到服务器”或“连接服务器失败”等错误提示时,用户往往会手足无措,不知如何处理和解决。

在对“连接不到服务器”错误原因分析之前,首先要明确一些概念:1)单机版和网络版的区别。严格来讲,用友软件U8系列不分单机或网络版本。我们所说的单机版其实是一个站点的版本。网络版是多于1个站点的版本。但是虽然一个站点,但是我们也可以在网络上使用。只要有一个服务器和几个工作站,其中只要一个工作站使用软件,其他工作站即使安装了也没关系,只要保证同时只有一个工作站即可使用。所以基于上述的概念,用友软件只要加密站点数的区别,而无单机、网络之分。2)工作站和服务器的区别。对于用友软件来说,它不支持没有服务器的对等网。软件要求如果在网络上进行应用,要求承担数据服务的机器必须为Windows NT Server4.0或Windows2000Server(Adv Server)。而工作站可以选择Win98、Windows NT、Windows2000各个版本,但是不支持WindowsME。至于最新的WindowsXP,以后更新的U8软件肯定会支持的。3)基本网络设置的要求。用友软件U8系列支持TCP/IP协议,另外由于SqlServer7.0也只支持TCP/IP协议,所以最好的网络设置里应该只有4项内容:Microsoft网络客户、网络适配器(非拨号适配器)、TCP/IP协议以及Micorsoft网络上的文件与打印机共享。而其他网络协议、网络适配器、网络服务均不用安装。至于TCP/IP协议设置,必须设置的固定IP地址以及子网掩码、网关。如果要设置DNS或WINS服务器地址,那么必须设置正确,且承担DNS和WINS服务器是正常的。至于“域”的问题,其实软件与“域”无关。所谓“域”只是逻辑上管理用户、计算机的集合,它不是物理上的概念。服务器是不是“域服务器”与软件没什么关系。只要用户使用用友软件的用户在承担用友软件的服务器上有User组的权限即可正常使用。4)“连接不上服务器”的故障现象。不同版本的U8软件反映出来的现象以及不同原因产生的故障现象也是不尽相同的。在U8 ACCESS版本中比较常见的是著名的7条错误。对于SQL版本比较常见的是“不能登陆服务器XXX”或者“要求输入Sql超级管理员SA的口令”。新版“8.13Sql版”还有“本版本是演示/教学版”的提示。

“连接不上服务器”从根本原因上讲,主要可能有以下几大方面原因:

(一)检测不到加密盒。如果没有检测到加密盒大多数版本软件会直接提示“没有检测到机密盒”,且不能进入软件。8.13则会提示演示/教学版,可以正常进入软件操作(若使用的帐套启用时间与当前系统登录时间相差3个月以上,则会提示“演示版过期”)。

对于这类错误提示,可以做如下判断:在服务器上启动软件,看是否存在类似提示,如果仍出现类似提示,则将该加密盒放置在一可以做单机使用的工作站上(最好是WIN98),如果仍不能使用,则可以判断加密盒损坏。若可以正常启用,则说明服务器没有正常辨认识别出加密盒,可能原因如下:1)并口损坏或模式不正确。在CMOS设置中将Parallel Port中模式修改一下。一般设置成EPP/ECP混合模式即可。2)并口冲突。可以在“管理工具/事件查看器”中检查表示为红叉的记录是否有并口和其他设备同时使用同一个IRQ的情况。如果存在冲突,则需要删除该设备或修改冲突设备的中断。3)加密站点数减少。一般出现在Sql8.12或8.13中。现象是本来购买的8站点的加密盒,但是在使用一段时间后,只有5个工作站可以同时登录。第六个站点登录时提示检测不到加密盒或超过加密站点数。出现这种情况可以从技术支持网站下载对应版本的补丁(login.dll),并重新启动服务器。

(二)网络设置不当或网络硬件故障。这类问题最不好判断。本着先软后硬,先简后繁的原则。属于这类问题的前提应该是服务器可以正常使用,而个别或部分工作站不能连接服务器。1)工作站登录网络的用户是否具有服务器的USER组以上权限。是否可以正常访问服务器上共享的文件夹与打印机。2)如果是个别工作站出现问题(大多数工作站正常)则重点检查出问题的工作站上的网络设置或网络硬件。可以先将网络协议、适配器、网络服务全部删除,并重新安装配置。并且需要注意的是,最好不要安装除了TCP/IP协议以外的其他网络协议,例如IPX/SPX、NetBEUI等。如果没有必要,拨号网络适配器也不要安装。安装完毕后,先使用“ping”命令测试服务器域名和IP地址是否通畅。再使用“TRACERT”命令再测试一遍。需要解释的是,“Ping”通不代表网络通畅。因为,“PING”命令只使用32Bytes作为数据包测试。而实际上我们使用的软件需要一次传输的数据量远远大于32Bytes,通常达到几十KBytes。这就相当于测试时是骑车去的,而实际使用中是开着10吨卡车上路,这肯定不能相提并论。而且,如果道路严重坑凹不平,对于自行车没什么影响,但对于大卡车来讲,却可能是致命的。除了使用“Ping”命令外,还应该测试大容量文件和细小文件的传输。测试首先需要选用一个600M左右的文件(例如VCD上的.dat文件),如果网络采用10M共享方式,那么理论的600M文件传输时间应该为600M/((10M/8)/2)=16分钟(网络上没有其他机器开机或进行网络操作)。如果所用时间远远大于16分钟(20分钟以上),或传送一定时间后,提示不能拷贝,或者反复拷贝几次后也能成功,则说明网络硬件存在接触不良或虚接的情况。另外再准备几百M的小文件(例如有些光盘内的网站镜像或图库),再实验网络传输是否正常。网络硬件可以采用替换法,即先将正常使用的机器连上出问题机器的网线,看是否通,然后再将好机器上的网卡拔下来替换出问题的机器的网卡。通过这种判断方法,一般可判断是哪个网络硬件有问题。对于所有工作站均不能登录服务器的问题,首先也要排除服务器的网络硬件,但大多数服务器均是IBM、HP等高档专用服务器,网络硬件一般不会有问题。因此重点检查服务器里的一些设置是否有误,可以检查“事件查看器中打红叉的错误。尽量解决红叉错误,即使有保留的不能解决红叉,这些错误也不要是影响用友软件的错误。3)是否存在路由、DNS等设备与服务。目前很多路由器会屏蔽TCP/IP数据包,所以采用路由器的网络一般是在网上邻居中看不到服务器的,但是通过“PING”或者查找IP地址可以找到。这种情况也应该是避免的。将数据服务器和操作工作站放置于一个网段内是比较合理的。DNS的作用是对域名进行解析成IP地址的操作。如果DNS服务器有问题,无法正确将计算机名解析成IP地址的话,那么我们可以自行建立一个DNS列表。在WIN98的目录下查找Hosts文件(如果没有用记事本新建一个),第一列写计算机名称,空二个格后写IP地址。只要计算机名称和IP地址对应正确,则不需要DNS服务器即可进行域名解析。

(三)SQL SERVER服务与用友软件服务。承担数据服务的服务器安装SQL SERVER或MSDE后,必须重新启动服务器以便使数据库正常启动。必须检查服务器状态栏托盘内“SQL MANAGER”是否处于运行状态(即全部处于绿色Play状态)。如果不能启动,检查“事件查看器”查看不能启动的原因。如果SQL SERVER启动正常,则检查用友服务是否正常启动(随服务器启动正常启动)。如果不能启动也要检查“事件查看器”。另外,需要注意的是,安装完SQL版软件后,必须重新启动服务器,并必须在SQL启动之后,先启动系统管理,以便用友软件系统管理自行建立系统数据库、演示数据库。否则,在不存在系统数据库的情况下,怎么可能启动软件呢?

综上所述,解决“连接不上服务器”的故障解决需要本着先软后硬、先简后繁的原则,采用替代法,并认真检查、处理服务器“事件查看器”内的错误日志,并要有充足的信心、耐心、恒心。

 

7、文章标题:Access数据库损坏后的修复方法。

技术支持部在日常工作中经常会碰到因非正常退出、网络不稳定或病毒等原因造成的Access数据库损坏。损坏了的Access数据库会造成软件运行不稳定,出现各种运行错误,为解决这类问题就必须对Access数据库进行修复。

修复Access数据库,我们一般使用微软Office 97中带的Access 97对数据库进行修复和整理。Access数据库被损坏分以下几种情况:1、严重损坏;2、轻度损坏;3、有些表被损坏或有些表的部分记录被损坏。下面就分情况介绍解决办法。

使用Access97打不开数据库、系统提示"不可识别的数据库格式"或"不是该表的索引"等信息,这样的数据库都是损坏比较严重的。损害严重的数据库一般来说都是无法修复的,只有恢复备份了,好在这种情况比较少见。

如果数据库损坏的不严重,只需要使用Access 97菜单上的“修复数据库”和“压缩数据库”就可以把数据库修复好。因为数据库轻微损坏的时候,一般也不会导致软件出什么问题,所以也不会引起人的注意,只有当数据库的某一个或几个表损坏了的时候,才会使软件变得不稳定,所以这种情况才是我们最常遇到的。

如何确定数据库中哪几个表有问题呢,我们首先利用Access 97建立一个空数据库,利用系统提供的“引入数据库”功能,选择目标数据库所有的表进行引入,Access 97当引入到有问题的表时系统会提示一些错误信息,把这个表的名字记下来以备以后修复时使用。

接下来利用Access97打开有问题的数据库,准备修复表。修复损坏的表的方法依照表损坏程度不同而不同,下面分情况介绍处理的办法:一、表损坏的非常严重,表现为无法打开表,系统提示“Microsoft jet 找不到对象”、“没有读写权限”或“不可识别”等信息。处理方法:这种表的已经损坏得非常严重了,一般无法修复。如果这个表不很重要或通常情况下表的内容为空的话,例如“常用凭证表”、“科目共享锁定表”或“凭证共享锁定表”,我们可以通过引入的方法把其他数据库的表引入,然后把有问题的表删除即可。二、表中有几行内容非常混乱或字段内标有“#已删除”字样,但当要删除这些记录时就会出现错误信息不许删除。处理办法:既然不让删除这些记录,我们可以通过使用SQL语句把没有问题的记录复制到一个新的表中,然后把老表删除把新表的名字改过来即可。例如“凭证及明细账表GL_ACCVOUCH”中有错误记录有无法删除,我们可以使用如下SQL语句把好的记录复制到GL_ACCTEMP中:

SELECT GL_ACCVOUCH.* INTO GL_ACCTEMP

FROM GL_ACCVOUCH WHERE {筛选的条件}

然后删除表GL_ACCVOUCH,再把表GL_ACCTEMP的名字改为GL_ACCVOUCH即可解决问题。

修复ACCESS数据库的注意事项,首先,我们在修复数据库前一定要做好备份,以防数据丢失或损坏;有一些数据库中有RELATION(关系)来维护数据的一致性,但当数据库异常后相关表的RELATION也就丢失了,在修复好数据库后一定要把RELATION再联好,有些软件可以自动修复RELATION,比如用友公司的ERP8.XX系列产品的数据库可以通过把表accinformation中的[cSysid]='AA' and [项目号]='99'的记录,把[设置值]和[缺省值]改为'8.0A0',重新进入系统时,系统会自动升级并重建索引。

 

8、文章标题:报表常见问题汇总。

一.UFO的常见问题:

1.一个表可以取多个帐套的数据吗?答:可以,只要在公式中加入帐套号和年度的参数即可以。 2.DOS版的UFO的公式可以转成811A的公式吗?答:在转换时选中:把公式转为同名的批命令即可。但公式变为批命令后,要按新的公式格式进行调整。 3.UFO的从帐务取数QM()的注意事项。答:UFO的QM函数一般取的是总帐中的帐簿下的余额表的科目余额的数据。但如果科目有往来核算,取出的数据为客户(供应商)科目余额表的数据.在函数中加入方向即为在查询余额时按指定方向查询的结果。注意:写方向和不写方向的区别:写方向为取客户余额在借(贷)方的余额合计.不写方向取的为余额表的借贷差额. 4.非法操作的处理方法。如详细信息为:位于MFC42.DLL产生的非法操作,应删去UFOW.INI就可以解决;但如果信息为:位于MSVCRT.DLL产生的非法操作,则应检查是否安装了其他与产品冲突的软件或驱动程序,卸载其他无关软件,或改变安装顺序可以解决. 5.如何调用自定义菜单?答:在命令窗用SETMENU"菜单文件"命令.不加文件名为回到系统菜单。 6.他表取数注意的问题答:如果报表不在UFOW.EXE所在的目录下,要在报表名前加上完全路径。如在网络上,应用映射盘符,不能用//机器名的方法.也可以把可执行文件拷贝到存放报表的目录下,然后在桌面上创建快捷方式。 7.TFS()函数的特殊用法。答:可以按摘要来取数,如想取结转数,可以在公式的摘要处填入:"结转"。因有些科目结转后净额为零,可以借助此功能取出:结转前的科目的净发生额。 8.UFO取数时,明明公式正确,却取不出数据的原因。答:可以检查单元属性是否与要求的类型一致,是数字型或字符型。 9.indb的用法和注意事项。答:可以从数据库中按条件取数,注意:在批命令中用循环语句取表中所有记录的数据,因INDB()在取数据库的大于最后一条记录处会返回错误,所以在循环语句中要写明循环的最大记录数,否则无法成功地把所有的记录取出。二.财务分析注意事项 1.报表分析中的资产负债表的累计折旧和坏帐准备金额为负,造成固定资产净额和应收帐款净额不对。答:备抵科目的科目属性的期初余额方向应设为贷方,如设错,可以恢复记帐前状态到年初,改变期初方向后,再重新记帐。 2.如何改变报表的表项名称?答:在UFSOFT80/ZT帐套号/下可以找到:报表初始的文件CWFX.MDB,在这可以找到报表预置的表,再修改表中项目名称及累计单元的公式。 3.产品毛利率的科目设置时,无法用参照的方法增加科目。答:应在系统初始中的基本项目中科目设置处把产品收入和成本处填入有下级科目的一级科目,在增加科目时才能参照出它的下级科目,进行增加。 4.现金收支表取的数据与现金流量表不一致,应以哪个为标准?答:因现金流量表是拆分凭证后得到的,所以应以现金流量表为标准。而财务分析的现金收支表的数据只起参考作用。 5.财务分析的报表中如何取往来单位的余额合计?答:在报表初始处选中表项,双击后出现科目来源定义的窗口,在应收或应付处打勾后,可以选中科目双击后,在科目后出现[往来]的字样,即可以取出往来单位的余额合计。三.合并报表的问题 1.合并报表与行业报表的区别。答:合并报表适用于有抵消关系的单位抵消后,生成合并报表数据;行业报表适合无抵消关系的多单位的数据汇总和查询检索分析。 2.合并时报错(批命令或抵消数据不平)的原因分析。答:如批命令出错,原因一般为样表的格式变动过,但表中的项目属性(在菜单中可以看到)没有对应改变,造成报表的项目属性和单元属性对不上,批命令生成不正常导致报错;抵消数据不平是指在报表定义中的项目属性定义中的已设为"是抵消项目,下发"的项目,在抵消双方的单位录入抵消数据时,应录入一致的数据,如不一致,在合并前要在调整抵消数据处将其调成一致在合并。 3.合并报表后可以修改吗?答:可以,在查询合并结果处可以修改。 四.行业报表的问题 1.E-mail收发不行的原因。答:8.11A的光盘上的行业报表有问题,换成8.12应可以解决。 2.E-mail下发时注意的问题。答:应用表集下发,最好用磁盘下发,存入硬盘再通过E-mail的附件发送,如直接用E-mail发送,接收方要关闭OutLook或其他接收工具,用行业报表接收。否则会接收不到。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值