首页 宜搭 常见问题

常见问题

本文是关于使用宜搭的各种常见问题的解答和讲解,旨在帮助你解决使用过程中遇到的常见问题。

宜搭各版本差异是什么

宜搭产品规格

表单常见问题解决指南

1. 提交表单的时候提示「未上线应用或体验模板,不支持“提交”和“暂存”」?

如果提交页面出现下面的报错:

1.1 出现该问题的原因

一是应用表单未上线,如图:

应用未上线

二是使用的是模板中心的应用,没有启用,直接体验的,如图:

体验模板

1.2 解决方法

(1)将应用上线,应用表单 >> 右上角 >> 上线 >> 确定

(2)启用模板应用,宜搭 >> 模板中心 >> 点击应用 >> 启用此应用 >> 设置应用名称 >> 确定

2. csrf校验失败

csrf 校验失败分为两种情况:

2.1 数据提交时报错

因为停留提交页面太久导致csrf校验失败报错,建议刷新页面后重新提交

2.2 数据源调用报错

请参考以下方法:

(1)在 JS 中添加一下函数,用于获取 csrfToken

function getCsrf() {
  const tokenDom = document.getElementsByName('_csrf_token');
  const csrfToken = tokenDom && tokenDom.length ? (tokenDom[0] || {}).value : '';
  return csrfToken;
}

(2)然后在请求参数中带上 csrfToken , 示例如下:

this.dataSourceMap.getData.load({
  _csrf_token: getCsrf(), // 请求带上 csrf token
  // ... other params
}).then((res) => {
  console.info(res)
});

​流程常见问题解决指南

1. 新版简易流程设计器如何创建,为什么应用中的普通流程编辑器未更新为新版简易流程设计器?

目前新版的简易流程设计器适用于新建的流程页面中,更新前建立的流程仍为旧版流程设计器。

2. 宜搭 2.0 支持新版的简易流程设计器吗?

支持,页面可以点击蓝色框位置一键升级。

升级后将不能再退回旧版流程设计器,已设置的流程会配置在新版中。

3. 提交审批人的时候报错「审批人不合法,请联系企业管理员」?

如果发起的时候出现下面的报错:

3.1 出现该问题的原因

是因为流程节点上设置的审批人不存在,因为宜搭简单流程在发起的时候会校验审批人是否符合流程设计。

3.2 解决方法

(1)一般都是设置审批人为主管的时候,会报这个错,那么去核实一下发起人在钉钉通讯录所在的部门里是否有设置对应的主管,如果没有,设置上主管就可以了

(2)还可以在流程节点上将审批人设置为「允许审批人为空」

比如二级主管可能没有,我们需要允许二级主管为空,查看以下动图进行设置:

4. 如何将审批结果通知发起人?

目前仅支持手机端审批人在审批的时候点击同意/拒绝按钮后,可以勾选底部通知发起人,电脑不支持。

勾选后进行提交,会在钉钉私聊会话框出现一条消息提醒,效果如下图:

5. 如何关闭移动端提交审批通知审批人?

移动端提交流程表单,默认会弹窗提示:该流程目前的处理人是:XX,是否通过聊天告知?(PC端不会提示)。若想要关闭此功能,可点击此处填写表单提交申请 。表单提交后,宜搭会在三个工作日内处理。

温馨提示:关闭此功能是根据组织维度关闭,请谨慎考虑。

6. 如何快速将流程表单转换成普通表单?

当前无法直接转换表单类型,可通过以下步骤实现:

打开流程表单设计页面 >> Windows 按住 Ctrl 键/MAC 按住 Command 键 >> 选择表单设计上面的所有组件/点击左侧大纲树进行选择所有组件 >> 使用键盘快速复制按钮 >> 粘贴到新建的普通表单 >> 保存

注:此方法只会将表单配置快速复制到普通表单,若有配置 JS 或页面设置等内容,需要在新建的普通表单再进行单独设置。

报表常见问题解决指南

1.常见问题

1.1 我的钉钉组织,什么时候可以体验 3.0 新版报表?

3.0 版本报表已经全量开放,针对新建应用新创建的报表生效。

1.2 如何申请开启内测或退出内测?

开启内测:点击此处填报申请单,3 个工作日内会生效

退出内测:加入钉钉群「宜搭-内测环境交流群」,群号:35345909 ,进入群里之后 @圣华进行申请退出,3 个工作日内会生效。

1.3 现有存量应用是否支持新建版本报表?

不支持。我们正在争取月底可以上线宜搭报表的“跨应用取数”。即老的应用不用动,里面的表单可以继续使用,但是在新应用里取老应用的数据,还是在新应用里做报表。

1.4 使用宜搭数据源进行 DataV 大屏搭建,钉钉账户如何与阿里云账户打通?

当前版本不支持账户打通。但可以通过应用密钥进行授权,获取宜搭表单数据,未来会考虑两个产品的打通,已在方案设计中。

1.5 视图表是什么?

视图表是对现有报表-多表关联的功能升级,能力更强,且生成的视图表会作为独立的数据集,供该应用下不同报表的重复使用,提高效率。

1.6 报表 2.0 怎么升级到 3.0

不支持直接进行升级,需要重新创建的宜搭应用才可以使用报表 3.0 的功能,也可以参考跨应用取数的方案:

在报表 2.0 中拉取一个 iframe 组件,然后跨应用复制报表 3.0 的页面预览链接(复制预览链接可以通过浏览器打开页面编辑页后点击预览再复制链接),将预览链接粘贴在 frame 组件中,并设置报表 2.0 中的样式,如图:

1.7 表单数据集超过 500 后,新增的数据集无法在报表中选择

  • 目前的确实限制超过 500 个表单后(基于稳定性考虑),新增的表单无法在报表侧识别。

  • 短期建议:能否先删除一些测试或无用的表单(谨慎操作,删除后不支持恢复)。

  • 长期方案:考虑适当扩大限制。

1.8 为什么表单有值但报表未同步数据?

是因为字段新增但版本没有更新导致,手动编辑保存数据或者接口 /v1/form/updateFormData.json 设置 useLatestVersion=y 将数据强制更新成最新版本,但目前业务关联规则更新的数据不会更新表单版本。

业务关联规则常见问题解决指南

1. EQ 条件, 被更新的表单中用于比较的组件需要放在 EQ 的第一个参数

EQ 用于做比较条件,被更新的表单中需要用于比较的组件需要放在 EQ 的第一个参数

2. EQ 条件,被更新的表单中用于比较的组件不能嵌套其他公式

注:EQ 后面需要添加比较的组件,不能直接添加公式,如有需要可以在用于比较的组件后面添加公式。

3. 逗号、括号等需要是英文4. 不能使用不支持的组件作为比较条件

能作为判断条件的组件:「单行文本」、「多行文本」、「单选」、「下拉单选」、「日期」,其他组件暂时不支持。

5. 不能赋值给不支持的组件

能进行赋值的组件:「单行文本」、「多行文本」、「数值」、「单选」、「下拉单选」、「复选」、「下拉复选」、「级联选择」、「日期」、「日期区间」、「图片上传」、「附件」、「成员」、「地址」。其他组件暂时不支持。

6. 不同类型的组件不能互相赋值

注意:只有同类型的组件才能互相赋值,比如「数值」组件不能往「图片上传组件」赋值,详情如下表所示:

来源组件/公式

可赋值的组件

单行文本

单行文本

多行文本

多行文本

数值

单行文本

多行文本

数值

单选

单选

下拉单选

下拉单选

单选

下拉单选

复选

复选

下拉复选

下拉复选

级联选择

级联选择

日期

日期

日期区间

日期区间

图片上传

图片上传

附件

附件

成员

成员

地址

地址

文本函数

单行文本

多行文本

7. 比较条件(与)的逻辑用AND, 暂不支持(或)的逻辑

8. 业务关联公式暂不支持在条件中与字符串做判断,可使用 IF 公式判断后再使用业务关联公式

9. 若配置业务关联公式使用 IF 公式先进行判断,则 IF 判断的条件应为主表条件

10. 应用配置错误,请联系管理员

配置业务关联公式后,若提交数据时报“应用配置错误,请联系管理员”错误,这是由于目标表进行比较以及填充的目标列均为未参与搜索字段,需要在目标表的数据管理页中将目标或比较字段添加到搜索字段中,

10.1 操作步骤如下:

  1. 找到目标表的数据管理页中的设置查询条件。

  1. 查看目标表字段是否参与搜索,若未参与搜索,可通过设置参与搜索字段配置。

  1. 进入设置页面后,在模糊搜索项将目标列配置为搜索字段,并点击立即执行。

11. 主条件配置错误

该问题是由于子条件位置放置错误,需要用主表的字段先进行匹配才行

12. 子条件配置错误,一次只能更新一个明细,若匹配目标表的数据为主表数据,则应放在主条件中,并用 AND 连接

13. 当匹配条件的目标列为子表数据时,那么配置公式后会报“目标列不在更新的明细下”的错误,需要将目标列修改为主表字段

14. 参数格式不匹配

配置业务关联规则公式提示:参数格式不匹配,请检查是否通过代码方式修改了组件标题进行换行,若组件标题有换行,在配置公式的时候字段就会进行换行展示且会报错。

自定义组件常见问题解决指南

1. 目前没找到删除功能

内测期间不会安排删除功能,正式上线也可能不会有删除功能。删除带来的是复杂的被依赖问题,暂时不是必须的。目前会类似 https://www.npmjs.com/

2. 怎么理解业务组件

可以参考钉钉低代码体系名词解释

3. 组件的构成

组件由视图和属性构成,在组件的消费侧可以通过改变组件的属性让组件展示出不同的视图。

视图再细分可以分为设计视图和运行时视图,一般情况下设计视图和运行时视图可以复用。

在组件的生产侧,我们要分别构建组件的视图和属性。

4. 带自定义组件的应用通过应用分发给其他组织,能正常打开吗?

应用分发之后是可以正常打开的。

带自定义组件的应用分发给其他组织后,该组织也可以正常使用该组件,但是无法更新组件。更新组件需要服务商通过远程维护的方式将分发的应用的组件重新安装新版本。如果组件抽象的好,其实可以解决一部分应用分发后无法再更新应用的诉求。

5. 页面中如何访问自定义组件的属性?

自定义组件和基础组件一样,使用 this.$('fieldId').get('propName') 获取对应组件的属性。

6. 页面中如何更新自定义组件的属性?

自定义组件和基础组件一样,使用 this.$('fieldId').set('propName', propValue) 更新对应组件的属性,或者使用绑定数据源变量的方式。

7. 组件中如何获取页面的组件,和页面内的组件做联动?

可以通过给自定义组件添加一个 function 类型的属性,即事件回调。

在页面中可以通过这个事件回调和页面其他组件做联动。

在组件中可以通过 this.props.xxx() 在合适的时机,比如组件的某个事件或组件的 DidMount 来执行这个回调。

小提示: function 类型的属性可以添加默认值并且可以设置隐藏。

8. 自定义组件怎么删除?

A: 暂时不支持删除组件,删除带来的是复杂的被依赖问题。目前会类似 https://www.npmjs.com/

9. 自定义组件怎么卸载?

A: 暂时不支持组件卸载,组件卸载后会对已有的应用造成影响。后续的迭代会考虑这个功能。

10. 自定义组件支持安装三方的 NPM 包吗?

A:暂时不支持,可以采用动态加载 CDN 的资源方式。

function loadScript(src, callback) {   if (!src) {     return;   }   const node = document.createElement('script');   node.src = src;   node.addEventListener('load', callback, false);   document.head.appendChild(node); } function loadCss(url) {   const linkElement = document.createElement('link');   linkElement.rel = 'stylesheet';   linkElement.href = url;   document.body.appendChild(linkElement); } (function loadAssets() {   loadCss('https://dev.g.alicdn.com/yida-platform/react-cropper/1.0.0/css/react-cropper.css');   loadScript('https://dev.g.alicdn.com/yida-platform/react-cropper/1.0.0/js/react-cropper.js', () => {     // your code    }); })();

11. 组件安装后,在面板里看不到?

A: 检查下安装范围

12. 自定义组件如何在表单中提交数据?

A: 目前宜搭的自定义组件还未开放表单组件,若想要提交数据可以采用填充到已有的表单组件的方式。例如:声明一个唯一标识的属性,在使用时传入已有的表单唯一表单,在组件侧通过事件将需要的数据回填到已存在的表单上。

13. 组件版本说明

组件版本分开发版和正式版。

宜搭的自定义组件版本在语义化版本的基础上做了额外的约定。

1. 0.1.0 默认为开发版本,开发版可和组件设计器保持实时同步,用来调试组件。

2. 1.x.x 为发布后的正式版本,会固定当前版本的功能,保证线上使用该组件的稳定性。所以线上的正式应用请务必安装 1.x.x 发布后的正式版本。

14. 我定义了一个属性,改变这个属性,组件内如何根据这个属性来产生变化?

在组件设计器内,找到需要发生变化的组件,找到相关的属性,给该属性绑定一个变量或者自定义处理函数,通过 this.props.xxx 来判断做不同的处理。例如:

15. 组件中能动态设置样式吗

可以使用容器组件,通过给容器组件添加 「自定义样式类」,绑定变量控制。

集成&自动化常见问题解决指南

1. 可以跨表单复制触发事件吗?

A: 只支持同一个表单内复制触发事件,不支持跨表单复制

2. 请假后可以撤销吗?

目前还未链接到钉钉撤销假期的接口,所以暂时不支持撤销请假,可以在讨论区提交需求

3. 使用连接器创建1.0待办任务,为什么钉钉待办能正常创建任务,但不显示红点

优先检查钉钉待办是否已设置成无红点,若设置成无红点那钉钉待办不显示红点就是正常情况,修改钉钉待办红点设置如下图所示:

PC端设置

移动端设置

4. 简易流程在流程节点设置连接器,操作升级高级流程后连接器失效,且复制此表单会报错:应用下包含多个连接器的审批流个数超出限制最多一个

目前高级流程中无连接器组件,故暂不支持连接器功能;

复制该流程表单后报错连接器数量超出限制,此情况目前已知,需要等后续产品迭代这块能力,当前可以先取消简易流程的连接器再升级高级流程。

5. 一个节点有多条业务关联规则怎么排序执行?

业务关联规则目前支持多条规则写入,但由于产品限制,规则之间无法选择执行顺序。

为解决排序执行的问题,可以使用集成自动化的新增、更新、删除等【数据节点】代替,这些节点支持编排顺序,也支持在【运行日志】中查看执行记录。

具体设置可以参考以下截图:

阿里云首页 宜搭 相关技术圈