供销存系统结账

Sofia2 2009-08-04 09:59:09
我在对我的财务供销存系统进行结账的时候,都会弹出一下提示语句,最后结账失败

SQL语句执行失败:
Insert into stockMonth(YearMonth, matid,model1,LocateID,Beginqty,BeginTotal) select’A200906,matid,isnull(modell,’’),locateID ,Sum(IsNULL(EndQty,0),Round(Sum(IsNULL(EndTotal,0)),2) from stockmonth where yearmonth=’200905’group by stockMonth MatID,StockMonth,model1,StockMonth.LocateID

我大致明白是因为系统期初没有结账,我自09年1月份开始启用帐套,我对一月份进行结账的时候,系统会提示08年12月份未结账,请问我是否能通过在系统插入一个SQL语句完成对初始化数据进行结账?如何操作 ?
...全文
76 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
soft_wsx 2009-08-04
最好的办法,问软件服务人员,而且不用出钱
回复
Sofia2 2009-08-04
我也知道和系统逻辑判断有关,但是我通过使用财务软件是没办法更改逻辑判断的,只能在数据库里去修改了,而我不懂得修改
回复
Sofia2 2009-08-04
[Quote=引用 13 楼 sdhdy 的回复:]
引用 11 楼 sofia2 的回复:
引用 1 楼 feixianxxx 的回复:
SQL codedeclare@snvarchar(4000)set@s='Insert into stockMonth(YearMonth, matid,model1,LocateID,Beginqty,BeginTotal)
select A200906,matid,isnull(modell,''),locateID ,Sum(IsNULL(EndQty,0),Round(Sum(IsNULL(EndTotal,0)),2)
from stockmonth
where yearmonth=''200905''
group by stockMonth MatID,StockMonth,model1,StockMonth.LocateID'exec(@s)
try


我在SQL查询分析器里执行这个语句,提示命令成功完成,但再去结账时候仍然和前面的提示一样

再说一遍和你的这个语句无关,和系统逻辑判断和有关。
楼主从来没接触过ERP?
[/Quote]


有接触过ERP,但我仅仅是使用程序而已,我做财务的,已经按照你的提示进入事件探查器了,里面的东西我看不懂
回复
sdhdy 2009-08-04
[Quote=引用 11 楼 sofia2 的回复:]
引用 1 楼 feixianxxx 的回复:
SQL codedeclare@snvarchar(4000)set@s='Insert into stockMonth(YearMonth, matid,model1,LocateID,Beginqty,BeginTotal)
select A200906,matid,isnull(modell,''),locateID ,Sum(IsNULL(EndQty,0),Round(Sum(IsNULL(EndTotal,0)),2)
from stockmonth
where yearmonth=''200905''
group by stockMonth MatID,StockMonth,model1,StockMonth.LocateID'exec(@s)
try


我在SQL查询分析器里执行这个语句,提示命令成功完成,但再去结账时候仍然和前面的提示一样
[/Quote]
再说一遍和你的这个语句无关,和系统逻辑判断和有关。
楼主从来没接触过ERP?
回复
Sofia2 2009-08-04
[Quote=引用 10 楼 sdhdy 的回复:]
SQL SERVER->事件探查器—>文件—>新建—>跟踪,输入用户名、密码 —> 出现跟踪属性窗体—> 常规选项页 ,(你可以设定事件或进行筛选,这样开起来好看些,或不用。)—> 运行 你就可以比如:打开你的客户端程序,执行对数据库的操作 ,在事件探查器会有一行一行的记录,你就可以看到对数据库操作的语句了。
[/Quote]

多谢,我试试
回复
Sofia2 2009-08-04
[Quote=引用 1 楼 feixianxxx 的回复:]
SQL codedeclare@snvarchar(4000)set@s='Insert into stockMonth(YearMonth, matid,model1,LocateID,Beginqty,BeginTotal)
select A200906,matid,isnull(modell,''),locateID ,Sum(IsNULL(EndQty,0),Round(Sum(IsNULL(EndTotal,0)),2)
from stockmonth
where yearmonth=''200905''
group by stockMonth MatID,StockMonth,model1,StockMonth.LocateID'exec(@s)
try
[/Quote]

我在SQL查询分析器里执行这个语句,提示命令成功完成,但再去结账时候仍然和前面的提示一样
回复
sdhdy 2009-08-04
SQL SERVER->事件探查器—>文件—>新建—>跟踪,输入用户名、密码 —> 出现跟踪属性窗体—> 常规选项页 ,(你可以设定事件或进行筛选,这样开起来好看些,或不用。)—> 运行 你就可以比如:打开你的客户端程序,执行对数据库的操作 ,在事件探查器会有一行一行的记录,你就可以看到对数据库操作的语句了。
回复
Sofia2 2009-08-04
[Quote=引用 7 楼 wufeng4552 的回复:]
引用 6 楼 sdhdy 的回复:
和系统一些参数设置有关,和你的语句无关,建议你用事件探查器跟踪一下,看看问题出在哪里?

UP
業務邏輯方面~~
[/Quote]

事件探查器如何跟踪
回复
--小F-- 2009-08-04
看看
回复
水族杰纶 2009-08-04
[Quote=引用 6 楼 sdhdy 的回复:]
和系统一些参数设置有关,和你的语句无关,建议你用事件探查器跟踪一下,看看问题出在哪里?
[/Quote]
UP
業務邏輯方面~~
回复
sdhdy 2009-08-04
和系统一些参数设置有关,和你的语句无关,建议你用事件探查器跟踪一下,看看问题出在哪里?
回复
Sofia2 2009-08-04
[Quote=引用 1 楼 feixianxxx 的回复:]
SQL codedeclare@snvarchar(4000)set@s='Insert into stockMonth(YearMonth, matid,model1,LocateID,Beginqty,BeginTotal)
select A200906,matid,isnull(modell,''),locateID ,Sum(IsNULL(EndQty,0),Round(Sum(IsNULL(EndTotal,0)),2)
from stockmonth
where yearmonth=''200905''
group by stockMonth MatID,StockMonth,model1,StockMonth.LocateID'exec(@s)
try
[/Quote]

谢谢,请问在哪里插入这个语句?
回复
Sofia2 2009-08-04
请问一楼,这个语句我要在哪里去操作?
回复
Sofia2 2009-08-04
多谢关注,是结账做的,但是通过操作系统无法结账,只能先关账,系统无法做到,我觉得用SQL直接操作可行
回复
sdhdy 2009-08-04

可以,关键问题是你的初始化要完成什么工作,这个工作应该是结账做的。
回复
feixianxxx 2009-08-04
declare @s nvarchar(4000)
set @s='Insert into stockMonth(YearMonth, matid,model1,LocateID,Beginqty,BeginTotal)
select A200906,matid,isnull(modell,''),locateID ,Sum(IsNULL(EndQty,0),Round(Sum(IsNULL(EndTotal,0)),2)
from stockmonth
where yearmonth=''200905''
group by stockMonth MatID,StockMonth,model1,StockMonth.LocateID '
exec(@s)

try
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2009-08-04 09:59
社区公告
暂无公告