宜点云宜点课堂
  • 首页
  • 帮助文档
  • 后端python
  • 开放平台
  • 私有云
  • 场景案例
  • 更新日志
返回控制台
返回控制台
  • 首页
  • Python教程
  • Python的改进
    • 应用后端对Python的改进部分
  • Python原生API
    • Python原生禁用API列表
    • Python原生内置API列表
  • Python功能列表
    • 全局(通用)
      • rnd
      • sleep
      • exit
      • synccorpmembers
      • getcorptype
      • gettickcount
      • getnstime
      • getrandomstr
      • getlasterror
      • geterror
    • io-日志(通用)
      • print
      • logclear
      • logclearall
      • logenable
      • logread
    • app-云应用(通用)
      • app.getappsymbol
      • app.getcurrentinfo
      • app.getapplist
    • form-表单(表单)
      • 表单错误信息
      • 表单字段类型
      • 查询条件和排序规则
      • 表单数据组合规则
      • 支持的SQL函数、关键字
      • 跨应用取数据说明
      • 表单系统字段说明
      • 表单操作
        • form.getallforminfo
        • form.getforminfo
        • form.getexternalforminfo
        • form.getallctrlinfo
        • form.getfileurl
        • form.transfileurl
      • 数据操作
        • form.select
        • form.aggregateselect
        • form.getdatabyid
        • form.insert
        • form.inserts
        • form.update
        • form.updates
        • form.delete
        • form.count
        • form.has
        • form.subinsert
        • form.subinserts
        • form.subupdate
        • form.subupdates
        • form.subdelete
      • 句柄操作
        • form.open
        • form.close
        • form.begin
        • form.commit
        • form.rollback
        • form.handleselect
        • form.handleinsert
        • form.handleinserts
        • form.handleupdate
        • form.handleupdates
        • form.handledelete
        • form.handlecount
        • form.handlehas
        • form.handlesubinsert
        • form.handlesubinserts
        • form.handlesubupdate
        • form.handlesubupdates
        • form.handlesubdelete
      • 通讯录
        • 用户ID说明
        • form.getcreatoruserid
        • form.getuserinfo
        • form.getdeptinfo
        • form.getparentdeptinfo
        • form.getdeptusers
        • form.getdeptlist
        • form.getdeptall
        • form.getroleusers
        • form.getoutsidergroupall
        • form.getoutsidergroupinfo
        • form.getoutsiderusers
        • form.moveusertodept
        • form.moveusertorole
        • form.moveoutsiderusers
      • 表单属性
        • form.getctrlattr
        • form.changectrlselect
        • form.getpublicinfo
        • form.getreportpublicinfo
      • 流程
        • form.getworkflowid
        • form.getworkflowdata
        • form.getworkflowlog
        • form.workflowstart
        • form.workflowstop
        • form.workflowcurrentinfo
      • 通知
        • app.geturl
        • form.getdataurl
        • form.sendmsg
      • 格式化
        • formataddress
        • formatlocation
      • 旧版数据操作
        • form.selectdata
        • form.selectdatas
        • form.insertdata
        • form.insertdatas
        • form.updatedata
        • form.updatedatas
        • form.deletedata
        • form.datacount
        • form.datahas
        • form.aggregateselectdata
        • form.subselectdata
        • form.subselectfield
        • form.subinsertdata
        • form.subinsertdatas
        • form.subupdatedata
        • form.subupdatedatas
        • form.subdeletedata
        • form.subdatacount
        • form.subdatahas
      • 旧版句柄操作
        • form.handleselectdata
        • form.handleselectdatas
        • form.handleinsertdata
        • form.handleinsertdatas
        • form.handleupdatedata
        • form.handleupdatedatas
        • form.handledeletedata
        • form.handledatacount
        • form.handledatahas
        • form.handlesubselectdata
        • form.handlesubselectfield
        • form.handlesubinsertdata
        • form.handlesubinsertdatas
        • form.handlesubupdatedata
        • form.handlesubupdatedatas
        • form.handlesubdeletedata
        • form.handlesubdatacount
        • form.handlesubdatahas
    • dataview-数据视图(数据分析)
      • 数据操作
        • dataview.select
        • dataview.count
        • dataview.has
      • 旧版数据操作
        • dataview.selectdata
        • dataview.selectdatas
        • dataview.datacount
        • dataview.datahas
    • os-日期时间(常用函数)
      • getmonthdays
      • getyeardays
      • timenow
      • timeadd
      • timediff
      • time2timestamp
      • timestamp2time
      • os.year
      • os.month
      • os.day
      • os.hour
      • os.minute
      • os.second
      • os.week
    • type-类型(常用函数)
      • tobool
      • toint
      • todouble
      • tostring
      • tonumber
      • isint
      • isdouble
      • isstring
      • isdict
      • islist
      • istuple
      • isjson
      • isdatetime
      • type
      • byte2string
      • float2hex
      • ip2integer
      • ip2integer
      • json.loads
      • json.dumps
    • string-字符串(常用函数)
      • string.lower
      • string.upper
      • string.title
      • string.cat
      • string.cut
      • string.equal
      • string.nequal
      • string.cmp
      • string.ncmp
      • string.left
      • string.right
      • string.len
      • string.find
      • string.rfind
      • string.findchar
      • string.rfindchar
      • string.reverse
      • string.sub
      • string.split
      • string.splitlines
      • string.getat
      • string.getchineseletter
      • string.format
      • string.appendchar
      • string.repeatself
      • string.shuffle
      • string.capitalize
      • string.center
      • string.count
      • string.encode
      • string.decode
      • string.startswith
      • string.endswith
      • string.expandtabs
      • string.index
      • string.rindex
      • string.join
      • string.ljust
      • string.rjust
      • string.strip
      • string.lstrip
      • string.rstrip
      • string.partition
      • string.rpartition
      • string.replace
      • string.swapcase
      • string.zfill
      • string.isalnum
      • string.isalpha
      • string.isdecimal
      • string.isnumeric
      • string.isdigit
      • string.islower
      • string.isupper
      • string.isspace
      • string.istitle
      • string.translation
      • str.maketrans
      • max
      • min
    • math-数学(常用函数)
      • math.sqrt
      • math.abs
      • math.sin
      • math.cos
      • math.tan
      • math.asin
      • math.acos
      • math.atan
      • math.atan2
      • math.sinh
      • math.asinh
      • math.cosh
      • math.acosh
      • math.tanh
      • math.atanh
      • math.pow
      • math.ln
      • math.ln1p
      • math.log
      • math.lg
      • math.exp
      • math.expm1
      • math.ceil
      • math.floor
      • math.radians
      • math.degrees
      • math.fmod
      • math.intdiv
      • math.hypot
      • math.pi
      • math.round
      • math.baseconvert
      • math.bin2dec
      • math.dec2bin
      • math.dec2hex
      • math.dec2oct
      • math.hex2dec
      • math.oct2dec
    • list-列表数组(常用函数)
      • list.max
      • list.min
      • list.move
      • list.append
      • list.extend
      • list.pop
      • list.removeforvalue
      • list.insert
      • list.sum
      • list.product
      • list.filterforvalue
      • list.sort
      • list.unique
      • list.index
      • list.count
      • list.reverse
    • tuple-元组数组(常用函数)
      • tuple.max
      • tuple.min
      • tuple.move
      • tuple.append
      • tuple.extend
      • tuple.remove
      • tuple.removeforvalue
      • tuple.insert
      • tuple.sum
      • tuple.product
      • tuple.filterforvalue
      • tuple.sort
      • tuple.unique
      • tuple.index
      • tuple.count
      • tuple.reverse
    • dict-字典数组(常用函数)
      • dict.clear
      • dict.max
      • dict.min
      • dict.push
      • dict.cat
      • dict.copy
      • dict.fromkeys
      • dict.get
      • dict.items
      • dict.keys
      • dict.values
      • dict.move
      • dict.remove
      • dict.removeforvalue
      • dict.pop
      • dict.popitem
      • dict.setdefault
      • dict.update
      • dict.sum
      • dict.product
      • dict.filterforkey
      • dict.filterforvalue
      • dict.sort
      • dict.unique
    • set-集合数组(常用函数)
      • set.add
      • set.update
      • set.clear
      • set.copy
      • set.isdisjoint
      • set.issubset
      • set.issuperset
      • set.discard
      • set.remove
      • set.pop
      • set.difference
      • set.difference_update
      • set.intersection
      • set.intersection_update
      • set.union
      • set.symmetric_difference
      • set.symmetric_difference_update
    • regular-正则(函数)
      • re.compile
      • re.match
      • re.match
      • re.search
      • re.finditer
      • re.split
      • re.matchemail
      • re.matchphone
      • re.matchtelephone
      • re.matchurl
      • re.matchip
      • re.matchidcard
      • re.matchqq
      • re.matchzipcode
      • re.matchnumber
      • re.matchchinese
      • re.matchtext
      • re.submatchtext
      • re.replace
      • re.subreplace
    • hash-哈希(函数)
      • md5
      • sha1
      • sha1hmac
      • sha1hmac_binary_base64
      • sha224
      • sha256
      • sha384
      • sha512
      • ripemd160
    • crypt-加密(函数)
      • base64encode
      • base64decode
      • urlencode
      • urldecode
      • gmssl
    • numpy-数值计算(函数)
      • Numpy介绍
    • curl(网络通讯)
      • curl.init
      • curl.setopt
      • curl.exec
      • curl.close
      • curl.getinfo
      • curl.escape
      • curl.unescape
      • curl.iconv
    • requests(网络通讯)
      • requests.request
      • requests.get
      • requests.post
      • requests.options
      • requests.head
      • requests.put
      • requests.patch
      • requests.delete
    • httpex(网络通讯)
      • httpex.get
      • httpex.request
      • httpex.getfileurlbase64
      • httpex.getcookies
      • httpex.updatecookies
    • websocket(网络通讯)
      • websocket.request
      • websocket.open
      • websocket.send
      • websocket.close
    • mysql(数据库)
      • mysql.open
      • mysql.close
      • mysql.exec
      • mysql.query
      • mysql.begin
      • mysql.commit
      • mysql.rollback
      • mysql.getlasteffectrecords
      • mysqlexec
      • mysqlquerybylist
      • mysqlquerybyjson
    • sqlserver(数据库)
      • sqlserver.open
      • sqlserver.close
      • sqlserver.exec
      • sqlserver.query
      • sqlserver.begin
      • sqlserver.commit
      • sqlserver.rollback
      • sqlserver.getlasteffectrecords
      • sqlserverexec
      • sqlserverquerybylist
      • sqlserverquerybyjson
    • redis(数据库)
      • redis.open
      • redis.close
      • redis.exec
      • redis.query
      • redis.set
      • redis.get
  • Python后端事件
    • _forminitial(表单初始化事件)
    • _formeditinitial(表单编辑初始化事件)
    • _flownodeinitial(流程节点初始化事件)
    • _formevent(控件触发事件)
    • _formsubmit(表单提交事件)
    • _formupdate(表单编辑事件)
    • _formdelete(表单数据删除事件)
    • _formflow(表单流程事件)
    • _datahelper(数据助手事件)
  • Python功能插件
    • 功能插件设计
    • 插件控件
      • 基础控件
      • 表单来源
        • 表单来源Config参数说明
        • 表单来源设计面板说明
      • 子表单
        • 子表单Config参数说明
        • 子表单设计面板说明
      • 字段
        • 字段Config参数说明
        • 字段设计面板说明
      • 关联字段
        • 关联字段Config参数说明
        • 关联字段面板说明
      • 过滤条件
        • 过滤条件Config参数说明
        • 过滤条件面板说明
        • 过滤条件操作符说明
    • 插件事件
      • _forminitiallib(表单初始化事件)
      • _formeditinitiallib(表单编辑初始化事件)
      • _flownodeinitiallib(流程节点初始化事件)
      • _formeventlib(表单控件触发事件)
      • _formsubmitlib(表单数据提交事件)
      • _formupdatelib(表单数据编辑事件)
      • _formdeletelib(表单数据删除事件)
      • _formflowlib(流程节点事件)
      • _formconfiglib(插件配置事件)
      • _formtasklib(计划任务事件)
      • _reporttablemenulib(报表数据表菜单按钮事件)
      • _datahelperlib(数据助手事件)
  • API限制说明
  • Lua后端停止服务通知

form.selectdatas

  • form.selectdatas
  • 功能说明
    • 描述
    • 函数原型
    • 参数
    • 返回值
    • 备注
  • 示例
    • 演示示例
    • 安装包下载
  • 相关视频

功能说明

描述

查询多个表单存放在数据库中的数据。(支持图片/附件/手写签名的文件操作)

支持部分mysql函数,请查看文档【支持的SQL函数】

函数原型

form.selectdatas(fields,wheres=None)

参数

名称 类型 描述
fields 数组:列表型 查询字段,为表单的字段的别名(不支持子表单和子表单里的字段),可以在表单设计的字段属性中获取,字段格式为:表别名.字段名(支持跨应用取数据,格式为:"appid@表别名.字段名")。具体参考示例
wheres 数组:字典型 查询条件,条件为数组格式,默认为空具体格式请点击 查询条件和排序规则
  • wheres 数据格式:
    {
      "AND":[
          {
              "name":"302@table1.单行文本",
              "valtype":"value",
              "val":"111",
              "exp":"like"
          },
          {
              "name":"302@table2.单行文本",
              "valtype":"field",
              "val":[
                  "302@table1.单行文本",
                  "302@table1.单行文本"
              ],
              "exp":"between"
          }
      ],
      "ORDER":[
          {
              "name":"302@table1.单行文本",
              "mode":"desc"
          },
          {
              "name":"302@table2.多行文本",
              "mode":"asc"
          }
      ],
      "GROUP":[
          "302@table1.单行文本"
      ],
      "LIMIT":[
          0,
          20
      ]
    }
名称 描述
AND 指定where元素的连接方式(OR的格式和AND相同,具体格式请点击
ORDER 指定结果集的排序方式
GROUP 指定结果集的过滤字段
LIMIT 指定结果集的过滤行数
name 字段别名,格式为:表别名.字段名,如果是跨表则加前缀:appid@
val 字段对应的值,可以为单个或多个值,由 valtype 指定类型
valtype 指定val的类型,"value" 表示为值类型,"field" 表示为字段类型
exp 连接字段 name 和 val 的表达式
mode 指定排序规则,"asc" 表示顺序排列,"desc" 表示倒序排列

返回值

类型 描述
数组:列表型 以数组的方式返回查询结果,获取失败则返回空数组
  • 数据格式:
    [
      {
          "302@table1.单行文本":"table1_111",
          "302@table1.多行文本":"table1_222"
          "302@table2.单行文本":"table2_111",
          "302@table2.多行文本":"table2_222",
          "302@table2.图片":{
              {
                  "size":"85559",
                  "uploadTime":"2019-03-26T17:48:28Z",
                  "_id":"58f57658a48dae2e5f68952e",
                  "name":"1.jpg",
                  "mime":"image/jpeg",
                  "uploader":"547a48c50eccde5ac8c0883b",
                  "bucket":"pub-file",
                  "qnKey":"Fko6hnrcvUS7n4b6QKszWRDKMsVC"
              }
          },
          "302@table2.附件":[
              {
                  "size":"79273",
                  "uploadTime":"2019-03-26T17:59:15Z",
                  "_id":"53b506717f9b4cd9d5e89e85",
                  "name":"1.txt",
                  "mime":"text/plain",
                  "uploader":"547a48c50eccde5ac8c0883b",
                  "bucket":"pub-file",
                  "qnKey":"FpTHlLKcZrGQuRFedYoSwnKWs6V4"
              }
          ],
          "302@table2.手写签名":[
              {
                  "_id":"5adf0f8e7f96c03842ae3f72",
                  "bucket":"pub-file",
                  "uploader":"",
                  "uploadTime":"2019-05-20T17:25:43Z",
                  "size":"98328",
                  "qnKey":"FhdH1pyNASeDYC3JwiJQB77vmJr2",
                  "name":"bbysignature_1558512038935.png",
                  "mime":"image/png"
              }
          ]
      },
      {
          "302@table1.单行文本":"table1_333",
          "302@table1.多行文本":"table1_444"
          "302@table2.单行文本":"table2_111",
          "302@table2.多行文本":"table2_222",
          "302@table2.图片":[],
          "302@table2.附件":[],
      }
    ]
  • 结果集的键名以参数fields的元素格式原样返回
名称 描述
size 文件大小,单位:字节
name 文件名称
mime 文件类型
uploader 上传人id(手写签名里为空)
uploadTime 上传时间
bucket 文件服务器的空间名称
qnKey 文件在服务器空间上的标识符

备注

可能出现的错误信息,执行 getlasterror 函数获取具体详细信息:

  • 错误编码=getlasterror()
  • 错误信息=getlasterror(1)
错误编码 错误信息
1407 api执行频率超出限制
1400 参数类型不正确
1300 参数不是数组类型
1305 参数不是关联数组
1313 参数非法
1506 连接数据库失败
1502 取表单字段失败
1594 不允许操作回收站的表单
1560 表单中没有可操作的数据,请检查参数是否正确
1302 赋值失败
1513 条件字段不为关联数组
1508 非法字段别名
1504 不存在的字段
1582 非法的表达式
1505 不支持的函数
1587 查询超出范围
1504 不存在的字段
1585 表单别名非法
支持的sql函数(只支持大写) COUNT、MAX、MIN、AVG、SUM、NOW
支持的sql比较关键字(只支持大写) AND、OR、ORDER、GROUP(group by)、LIMIT

其他:

  • 所有表单查询api的结果集行数最多返回500条数据。
  • 所有表单api调用频率限制为1000次/分钟。

示例

def test():
    # 联表查询
    fields=["table1.单行文本","table1.多行文本","table2.单行文本","table2.多行文本","table2.图片","table2.附件"] 
    _and=[{"name":"table1.单行文本","val":"111","valtype":"value","exp":"like"},{"name":"table2.单行文本","val":["table1.单行文本","table1.单行文本"],"valtype":"field","exp":"between"}]
    _order=[{"name":"table1.单行文本","mode":"desc"},{"name":"table2.多行文本","mode":"asc"}]
    _group=["table1.单行文本"]
    _limit=[0,20]
    wheres={"AND":_and,"GROUP":_group,"ORDER"=_order,"LIMIT"=_limit}
    ret=form.selectdatas(fields,wheres)
    print(ret)

    # 联表查询-跨应用表单
    fields={"302@table1.单行文本","302@table1.多行文本","302@table2.单行文本","302@table2.多行文本","302@table2.图片","302@table2.附件"} 
    _and=[{"name":"302@table1.单行文本","val":"111","valtype":"value","exp":"like"},{"name":"302@table2.单行文本","val":["302@table1.单行文本","302@table1.单行文本"],"valtype":"field","exp":"between"}]
    _order=[{"name":"302@table1.单行文本","mode":"desc"},{"name":"302@table2.多行文本","mode":"asc"}]
    _group=["302@table1.单行文本"]
    _limit=[0,20]
    wheres={"AND":_and,"GROUP":_group,"ORDER":_order,"LIMIT":_limit}
    ret=form.selectdatas(fields,wheres)
    print(ret)

演示示例

  • 暂无

安装包下载

  • 暂无

相关视频

  • 暂无
最新修改于:2021-10-13