企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 开发过程中常见的问题 开发过程中的验证问题在问题描述中都有说明,根据这个说明可以进行修改处理 ### **传值处理前后不一致 Inconsistent Flow**: :-: ![](https://img.kancloud.cn/46/da/46da97506e2e50b0c6d54f53344a5df5_745x532.PNG) * **问题描述**:来源对象是单数/复数而传入的对象是复数/单数(The source is repetitive while the flow tartget is non-repetitive) * **处理方式**: * 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示 * 必须按实际业务逻辑对应查看,确认是源文件错用为复数或单数还是传入对象错用了,比如查询数据库记录不论怎么传,都应是复数;而且一个复数对象传入一个灰色三解形输出元件,则输出元件一定也应是复数 * 将错用的对象选中,英文输入法下快捷键“r”可以修改元件的单复数状态 ### **传值处理前后不一致 Invalid Flow**: :-: ![](https://img.kancloud.cn/f5/45/f54535149c1c83640c58c23e86679c9a_746x565.PNG) * **问题描述**:来源对象和传入的对象数据类型不一致(The source and target datatypes are not compatible) * **处理方式**: * 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示 * 开发中传值是合乎实际逻辑的,比如不可以将一个数字传给一个图片,让显示图片的元件来显示数字,这样操作就是不合逻辑;计算机无法处理混乱的逻辑;此时应查看前一元件的数据类型,一般对象都是可视化的,所以不会出错,但是输出元件都是灰色三角形,其类型可以是一个数据库表,也可以是一个数字类型,还有可能是空值如“<Done>”名称的输出元件就是空值类型的空值输出,这个类型是否是空值还是数字或其他对象,可以用打开重命名窗口(快捷键F2)查看类型或对象的名称来确认 * 重新传值,或使用正确的来源或传入对象,由逻辑来定义 * 以下为一个学员开发的报错示例:将数据库查询的记录会部传给一个空值输出,由空值再向下传值为记录对象时,空值和库表记录类型冲突;但是如是只是传入空值输出,不再使用记录,逻辑是正确的,因为空值输出说明查询完成且有记录产生,是有意义的逻辑 :-: ![](https://img.kancloud.cn/f1/bb/f1bba7f9e10bdd1d4aff1e4b9b2af653_1025x615.PNG) ### **缺少元件 Missing Element**: :-: ![](https://img.kancloud.cn/89/de/89de16f19317c2df3cfffce5725505a7_746x540.PNG) * **问题描述**:没有元件或对象(No Instance of “Date and Time” which appears in the prototype with multiplicity) * **处理方式**: * 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示 * 组合类的元件是由其他更多元件组合设计而成的,默认模型中有各类元件,但是我们可以删除不需要元件,可以添加需要的元件;报错只是因为和默认的模型不一样,这类问题可以忽略 * 单击选中验证区中问题行,直接点击验证区右上角的![](https://img.kancloud.cn/93/a7/93a74f2f43f57b9418fe977297656e27_21x21.PNG)“Ignore selected warnings”忽略报错处理 ### **不能放此标签的元件 Invalid Tag**: :-: ![](https://img.kancloud.cn/c6/9e/c69e027b95e6eee875e460fdcee0cfef_747x556.PNG) * **问题描述**:某个标签的元件下只能有规定的标签元件,新加的元件的HTML标签默认定义不正确(<tr> cannot contain <span>) * **处理方式**: * 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示 * 如果是一个表格,设定最外层元件的HTML标签属性就一定是table,而其中只能放thead和tbody标签的元件为表头和表体,表头和表体中只能先中tr,其中再是td单元格对象,这个是浏览器显示信息的HTML语言规范定义的,如果不符合浏览器规范,就报错;这个问题只在复杂表格中会出现 * 单击选中标签类型不对的元件修改html.tag属性为“td”就可以 ## 运行时操作使用的报错 如果开发中验证没有问题,使用过程中的报错大部分是数据库相关的 ### **查询语句设计有问题 ...SQL...**: :-: ![](https://img.kancloud.cn/55/66/5566ebda5181fb5ee0db10ecf00127fc_707x361.PNG) * **问题描述**:多样,上图中是未知的字段“riqia”,输入时手误写错名称 * **处理方式**: * 这个弹窗中的信息很重要如果有“...SQL...”字符,那么就得查弹窗中所提示的逻辑所在位置的SQL条件等是否正确输入,需仔细检查,常见的有查询条件中字段名称不对、条件中日期、数字、字符常量输入方式不下确等原因,注意一般日期直接传入查询元件,条件语句正常都是一个字符串,所以传入日期进入查询条件那么日期就成为字符串值,出现报错,数字可以直接写入条件中,字符需用单引号括入 * 单击选中标签类型不对的元件修改html.tag属性为“td”就可以 ### **用户输入有问题 ...SQL...**: :-: ![](https://img.kancloud.cn/0e/02/0e0226fdbbce25ba249b8f12b9589427_400x286.PNG) * **问题描述**:...Duplicate Key * **处理方式**: * 这个弹窗中的信息说的比较明确,是因为用户输入的信息中,对应主键的内容在数据库中已有,所以不能插入同样主键值的记录而报错 * 这类问题一般在设计开始就需要预料到,在设计时,为插入元件添加一个“\<Duplicate>”名称的子元件的输出元件,为其添加一个信息弹窗,说明已有此名称的记录(如名称字段为主键)不再进一步处理、或是提前说明如果有重复记录,则更新已有记录(添加一个更新记录元件,将“\<Duplicate>”元件连线传值至更新记录元件的输入元件即可) :-: ![](https://img.kancloud.cn/80/c2/80c2c273a17b0711d627a46b9d88d292_741x392.PNG)