尚层ncc项目常见问题

 ----1.使用设计器ncc元数据参照有两个常见问题-----

1.https证书未授信问题,控制台会抛出net::ERR_CERT_AUTHORITY_INVALID错误,这个问题就是把该请求单独在chrome浏览器里面访问,点击高级-继续前往;

2.参照请求错误代码401,是因为chrome浏览器80及以上版本的新特性导致的,地址栏输入:chrome://flags/

找到SameSite by default cookies和Cookies without SameSite must be secure

将上面两项设置为?Disable;


----2.界面设计器实体字段与元数据不同步-----

问题:开发环境元数据修改发布,界面设计器中选择实体字段参照内没有变化,

解决方法:1.系统管理员登陆,找到元数据管理,找到对应的元数据,

                  2.点升级把最新元数据上传进去。


----3.前端向后端发起请求报401---

在向后端发起请求时出现401状态码时,可能是前后端请求路径没有保持一致

请检查前端节点内*****HVOConfig.js内的各请求方法与后端yyconfig.modules.sccloud.scbd下对应节点的xml文件内各action内的name是否保持一致,如果不一致,可以确定问题原因,这里推荐改变前端js文件内的请求路径达到与后端xml内容保持一致,问题解决。

----4.元数据发布时报违反位于约束条件-----

解决方法:修改元数据前最好先点右键【删除发布的组件及数据库】,如果无效只能去数据库手动删除

                1.根据提示找到数据库表md_bizitfmap 

                 2.查询select* from md_bizitfmap where classid='元数据实体id'  是否有数据

                  3.手动删除查询到的数据delete md_bizitfmap where classid='元数据实体id'


----5.单据保存时报错----

1.保存时是否给集团赋值。在xxxxSaveAction类的doAction方法中给集团赋值

ClientInfo info=nccloud.framework.web.container.SessionContext.getInstance().getClientInfo();

aggMap.put("pk_group", info.getPk_group());

2.检查InsertBP中前后规则

((nc.bs.pubapp.pub.rule.CreateBillCodeRule) rule).setCbilltype("QM05");

                ((nc.bs.pubapp.pub.rule.CreateBillCodeRule) rule)

                                .setCodeItem("billno");

                ((nc.bs.pubapp.pub.rule.CreateBillCodeRule) rule)

                                .setGroupItem("pk_group");

                ((nc.bs.pubapp.pub.rule.CreateBillCodeRule) rule).setOrgItem("pk_org");

3.检查数据库bd_biiltype的所属模块

update bd_billtype set systemcode='SCQM' where pk_billtypecode='QM10' --QM10单据类型 SCQM大写组件名

       

----6.保存主子表时后台获取不了子表数据----

界面设计器编辑界面--子表编辑表格--键值设置为子表pk字段。详情界面子表不显示时,检查详情界面子表表格的键值


-----7.参照联动过滤------

根据组织过滤人员参照

 //处理人(人员参照根据组织过滤)

    "handlepeople": {

        onViewWillUpdate: function (options) {

            const baseForm = this.findUI('baseForm');

            if (baseForm && baseForm.api) {

                let orgpk = baseForm.api.getFieldValue("pk_org") == undefined ? "" : baseForm.api.getFieldValue("pk_org").id;

                options.item.condition = { "pk_org": orgpk }

            }

        },

    },

    //组织

    "pk_org": {

        onChange(value) {

            const baseForm = this.findUI('baseForm');

            baseForm.api.setFieldsValue({pk_org: value});

            this.refresh();//刷新

        }

    },

-----8.收回报空指针-----

找到当前单据的xxxConst,修改

/*   * 审批状态字段  */

        public static String CONST_BILL_STATUS = "approvestatus";// public static String CONST_BILL_STATUS = "billstatus";

-----9.修改后,数据被删除------

问题:检查是否数据库,是否dr置空了。

解决办法:在xxxVO中复制下面代码

/**

*删除标准

*/

public Integer dr;

public Integer getDr() {

return dr;

}

public void setDr(Integer dr) {

this.dr = dr;

}

------10.消息发送(业务消息,通知消息)-----

1. 注册【业务消息配置】,对应后台表pub_msgres_reg,需要数据库中新增。前台必须配置消息接收人

2.配置【消息模板-全局】

3.修改应用注册对应调整单据【详情界面】页面地址

详情界面定义:页面地址中设置detail  例如 /nccloud/resources/scqm-frontend/#/xxx/detail

3.业务逻辑中调用ISendBuziMsg接口

send(String msgtype, AbstractBill vo, String[] orgs, ScmSendBuziMsgPara param)发送消息。其中msgtype为"todo"指业务消息, "notice"指通知消息

updateMsgStatus(String id,"2")修改消息状态 根据发送消息时Pk_detail删除

例子:

public NCCMessageReceiver sendMsg(AggxxHVO aggvo) {

ScmSendBuziMsgPara param = new ScmSendBuziMsgPara();

param.setMsgrescode("QM25001");//取第一步中后台插入的pub_msgres_reg中code

param.setBillType(vo.getParentVO().getBilltype());//单据类型

param.setMsgSourceType("notice");

param.setContentType("text");

param.setPk_detail(aggvo.getParentVO().getSrcbillbid());//根据业务设置,主要修改消息状态时根据Pk_detail设置已读状态

// param.setApproverField("creator");// 消息发送人

param.setCtrantypeidField("ctrantypeid");

param.setPk_groupField("pk_group");// 集团

param.setPk_materialField("pk_material");

param.setPk_orgField("pk_org");

param.setVtrantypecodeField("billtype");

//param.putAttachment("receiver",xxxx);//接收人 【用户id】

param.putAttachment("billtype", vo.getParentVO().getBilltype());

param.putAttachment("appcode", "SCQM030005A");//第3步中详情页面的编码

param.putAttachment("url", "pagecode=SCQM030005A_CARD&id="+ vo.getParentVO().getPrimaryKey());//第3步中详情页面的页面编码及跳转单据主键

ISendBuziMsg sender = NCLocator.getInstance().lookup(ISendBuziMsg.class);

sender.updateMsgStatus(param.getPk_detail(),"2");//先修改之前的待办已读  通知消息不用

NCCMessageReceiver receiver = sender.send(BuziMsgConst.MSGTYPE, vo,

new String[] { (String) vo.getParentVO().getAttributeValue("pk_org") }, param);

return receiver;

}

4.自定义消息接收人

在发送消息的ScmSendBuziMsgPara param = new ScmSendBuziMsgPara();中

param.putAttachment("receiver",cuserid);//接收人 【用户id】

如果接收人为多人时,赋值类型是String,可以用逗号隔开用户id

-----11.前端新增默认赋值---

"resumecontent":{

        onViewWillMount: function (options) {

            options.item.value="malztest"

        }

    },

----12.增加动作脚本

select * from pub_busiclass where classname like '%N_H5F5%'

INSERT INTO pub_busiclass  VALUES ('SAVEBASE', 'N_H5F5_SAVEBASE', '0', 'N', 'H5F5', '1001Y91000000001PVMP', '1001Z9100I0000000605', '~', '~', '2020-06-04 16:55:57');


----13.提交单据报operation failed baseDao.retrieveByPK null错误

执行super.doAction()时报错

解决办法:重新发布元数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,577评论 0 7
  • HTTP基本原理 URI、URL、URN(Uninform Resource) URI(Identifier):统...
    GHope阅读 2,076评论 2 26
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,530评论 0 6
  • 2系列200 OK请求已成功,请求所希望的响应头或数据体将随此响应返回。201 Created请求已经被实现,而且...
    Y像梦一样自由阅读 3,573评论 1 5
  • 我以为我会一直是年轻的,偏激的,不明事理的,能活到三十岁依然在各种贴吧论坛QQ群和人开战,唾沫狂溅不止,张牙舞爪的...
    图书馆救生员阅读 476评论 2 2