[K3Cloud] QueryService使用注意事项

本文介绍了QueryServlice查询服务的使用方法,包括实体关键字段、普通字段及基础资料属性等标识生成规则,并解释了实体表别名生成规则,帮助解决查询过程中因使用不当产生的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QueryServlice是目前查询数据非常好用的服务,但目前在使用过程中由于使用不当产生不少问题,下面将一一解答:

1、在查询一些实体关键字段如实体主键、分录序号时,条件中的别名怎么会变来变去?
     QueryServlice设计中,为了和物理数据库结果解耦以及写的过滤条件中字段表名别名与动态SQL算法解耦,
所有字段并非真实的物理字段,而是使用字段的标识,所有在调用QueryServlice使用 表别名.字段名的做法都是错误的做法。
     a) 实体关键字段(主键、FFormId、FMasterId、序号)的标识生成规则
          业务对象主键标识=业务对象主键字段名
          业务对象类型字段(FFormId)标识=业务对象类型字段名
          基础资料的唯一键字段标识=基础资料唯一键字段名
          分录、子单据头、子单据体主键、序号标识=实体Key_字段名  需要在Select中返回时,返回字段名实体Key_字段名,但如果实体Key_字段名 长度超过30个字符时需要指定字段别名,否则将报标识超长错误。
          注:返回的字段名默认等于标识,标识无超长问题,但返回的字段名必须少于30个字符,所以标识超过30个字符时必须指定别名 
      b)实体上普通字段的标识生成规则
              字段的标识=元数据中字段的标识
      c)非实体上定义的基础资料属性的标识生成规则 
             标识 =基础资料字段标识.属性字段标识   ,返回的字段名默认等于 基础资料字段标识_属性字段标识,超过30个字符
需指定别名,否则报标识错误 
     d)基础资料字段关联的基础资料类型属性的内码的标识生成规则
           标识 =基础资料字段标识.属性字段标识.Id
           如单据上物料(FItemId)的基本计量单位(FBaseUnitId)的内码
           标识 =FItemId.FBaseUnitId.Id
2、实体的表别名生成规则是怎么样的?
       实体表的别名生成规则为  t+实体序号,由于元数据定义过程中序号有可能变化所以 别名是不确定的 
       实体表关联的基础资料表别名 生成规则实体表的别名+随机序号 ,所以别名也是不确定的 
      所以在排序、过滤条件中不能直接使用别名+字段,应该使用字段标识,查询服务会自动进行翻译转换

转载于:https://www.cnblogs.com/fyq891014/p/3308519.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值