起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 150|回复: 9

多岗位取默认单位的问题**

[复制链接]
发表于 2009-7-1 17:50:07 | 显示全部楼层 |阅读模式
多岗位时,在信息集中用到了取当前操作者单位编号:
&[Biz:SYSTEMORGPARAMS.PARAMGROUPOrganID.Param]
但系统不知道应该默认成哪一个单位,所以提示了下面的错误,请问这个应该怎么解决?

多岗位报表查看出错.jpg

18.47 KB, 下载次数: 101

回复

使用道具 举报

发表于 2009-7-1 17:55:55 | 显示全部楼层
楼主还是详细描述下你怎么做的吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-1 18:00:05 | 显示全部楼层
SELECT HRSBQKB.XM, HRSBQKB.DW, HRSBQKB.CBBH, HRSBQKB.CBNY, HRSBQKB.CBLX, HRSBQKB.YLJFJS, HRSBQKB.ZT, HRSBQKB.CBXZ, HRSBQKB.HKXZ, HRSBQKB.CBD, HRSBQKB.TBNY, HRSBQKB.TSCB, HRSBQKB.TJSJ, HRSBQKB.SBQKBH
  FROM HRSBQKB
  WHERE HRSBQKB.DW = &[Biz:\SYSTEM\ORGPARAMS.PARAMGROUP\OrganID.Param]
  ORDER BY HRSBQKB.XM

比如这个是社保情况标准信息集中的语句,点开社保情况功能窗体时就提示上面截图的错误
回复 支持 反对

使用道具 举报

发表于 2009-7-1 18:04:23 | 显示全部楼层
OrganID不会返回多个机构id的

3楼语句不会导致1楼错误出现。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-1 18:16:59 | 显示全部楼层
同样是社保情况功能窗体,其他只分配了一个岗位的用户点开不会出现任何错误提示,
多岗位的用户一进去就出现上面截图的错误,语句是很简单的,将&[Biz:\SYSTEM\ORGPARAMS.PARAMGROUP\OrganID.Param]
换成实际的单位编号,拿到sql里执行没有什么问题,数据可以正常取出来。
请问这个应该怎么解释?应该怎么处理?
回复 支持 反对

使用道具 举报

发表于 2009-7-1 19:11:58 | 显示全部楼层
SELECT HRSBQKB.XM, HRSBQKB.DW, HRSBQKB.CBBH, HRSBQKB.CBNY, HRSBQKB.CBLX, HRSBQKB.YLJFJS, HRSBQKB.ZT, HRSBQKB.CBXZ, HRSBQKB.HKXZ, HRSBQKB.CBD, HRSBQKB.TBNY, HRSBQKB.TSCB, HRSBQKB.TJSJ, HRSBQKB.SBQKBH
  FROM HRSBQKB
  WHERE HRSBQKB.DW = &[Biz:\SYSTEM\ORGPARAMS.PARAMGROUP\OrganID.Param]
  ORDER BY HRSBQKB.XM
这只是个简单的查询,如果没有作为其他查询的条件结果集,是不会引起1楼错误的

楼主,你把完整的代码贴来看看吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-2 08:07:07 | 显示全部楼层
关键是基本没写什么代码,社保情况信息集和功能窗体中没有自己添加任何代码,社保情况表单文档中添加了一个DataGridCustomDrawCell事件代码,如下:

procedure TSBQKBD.DataGridCustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TTreeListNode; AColumn: TTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: string; var AColor: Integer; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
begin
   if ANode.HasChildren and not ANode.Selected then
        begin
                AColor := $0F0E0F0;
                //AFont.Size := AFont.Size+2;
                AFont.Style :=  AFont.Style + [TFontStyle.fsBold];    //粗体
        end;
end;


其他还有几个窗体也一样,同样是出现这样的问题,只有多岗位才出现这样的问题,只分配一个岗位的用户打开这些窗体是正常的。
回复 支持 反对

使用道具 举报

发表于 2009-7-2 08:53:14 | 显示全部楼层
你有没有使用类似这样的sql语句:
select * from tab1 where id = (select id from tab2)
这样的sql语句会引起1楼的错误。
单独执行3楼的sql不会
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-2 16:17:02 | 显示全部楼层
怎么可能写这样的语句呢 ,现在是其他用户都可以,唯独多岗位的用户不行,就上面的语句,报表也非常简单
回复 支持 反对

使用道具 举报

发表于 2009-7-2 16:22:53 | 显示全部楼层
要不你调试运行一下吧,这样可以找到出错的位置
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 05:57 , Processed in 0.044755 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表