发帖

#楼主# 2020-12-19

跳转到指定楼层

注册氚云社区,学习低代码知识,与更多氚友互动交流

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 庞聪 于 2021-8-23 19:42 编辑

protected override void OnLoad(H3.SmartForm.LoadSmartFormResponse response)
    {
        base.OnLoad(response);
        /*以下代码实现把当前表单的相关数据写入到表单遍历库,方便供代码日后通过表单遍历直接调用。
         string BiaoDanBianLi_Schema = "D10150486e402360bfd4c5ea9455e04530fbd3a"; //有前缀,专业版表单编码调用是含前缀的。
         string BiaoDanBianLi_Schema1 = "86e402360bfd4c5ea9455e04530fbd3a";//无前缀,标准版表单编码调用是不含前缀的。
         
         //手工录入表单名称、应用模板名称.b
         string SchemaCode_Name = "表单遍历";//本表单名称
         string App_Name = "系统调度";//本表单目前的应用模板名称
         //手工录入表单名称、应用模板名称.e

         string SchemaCode_Id = this.Request.SchemaCode.ToString();//本表单编码ID
         string App_Code = this.Request.AppCode.ToString();//本表单目前的模板编码,应用编码
         string BiaoTi_BiaoDanBianLi = App_Name + "&" + SchemaCode_Name + "&appcode:" + App_Code + "&id:" + SchemaCode_Id;
         string SchemaCode_Begin=App_Code.Substring(0,7);
         string SchemaCode_End="";
         string SchemaCode_BanBen="";
         if(SchemaCode_Id.Substring(0,7)==SchemaCode_Begin) //识别创建时是否为专业版
           {
               SchemaCode_End=SchemaCode_Id.Substring(8);
               SchemaCode_BanBen="专业版";
           }
           else
           {
               SchemaCode_End=SchemaCode_Id;
               SchemaCode_BanBen="标准版";
           }
         

         //表单遍历表单数据自动填充b
         string mysql_BiaoDanBianLi = "SELECT ObjectId FROM i_" + BiaoDanBianLi_Schema + " where F0000001='" + SchemaCode_Id + "'";
         System.Data.DataTable dtAccount_BiaoDanBianLi = this.Request.Engine.Query.QueryTable(mysql_BiaoDanBianLi, null);
         if(dtAccount_BiaoDanBianLi != null && dtAccount_BiaoDanBianLi.Rows != null && dtAccount_BiaoDanBianLi.Rows.Count > 0)//没有记录就生成后再获取
         {
         }
         else
         {
             //新增为草稿0b
             H3.DataModel.BulkCommit   commit_BiaoDanBianLi = new H3.DataModel.BulkCommit();
             H3.DataModel.BizObjectSchema schema_BiaoDanBianLi = this.Request.Engine.BizObjectManager.GetPublishedSchema(BiaoDanBianLi_Schema);
             for(int i = 0;i < 1; i++)
             {
                 H3.DataModel.BizObject obj_BiaoDanBianLi = new H3.DataModel.BizObject(this.Request.Engine, schema_BiaoDanBianLi, this.Request.UserContext.UserId);
                 obj_BiaoDanBianLi["Name"] = BiaoTi_BiaoDanBianLi;
                 obj_BiaoDanBianLi["F0000001"] = SchemaCode_Id;
                 obj_BiaoDanBianLi.Create(commit_BiaoDanBianLi);
             }
             string errorMsg_BiaoDanBianLi = null;
             commit_BiaoDanBianLi.Commit(this.Request.Engine.BizObjectManager, out errorMsg_BiaoDanBianLi);
             //新增为草稿0e
         }
         //实时更新表单遍历里的数据
         string mysql_BiaoDanBianLi0 = "update i_" + BiaoDanBianLi_Schema + " set Status=1,F0000008='"+SchemaCode_BanBen+"',F0000007='"+SchemaCode_End+"',F0000006='"+SchemaCode_Begin+"',F0000005='"+BiaoTi_BiaoDanBianLi+"',F0000004='" + App_Name + "',F0000003='" + SchemaCode_Name + "',F0000002='" + App_Code + "',Name='" + BiaoTi_BiaoDanBianLi + "'  where F0000001='" + SchemaCode_Id + "'";
         System.Data.DataTable dtAccount_BiaoDanBianLi0 = this.Request.Engine.Query.QueryTable(mysql_BiaoDanBianLi0, null);
         //表单遍历表单数据自动填充e
         */
    }

/*
应用场景:目前氚云专业版在功能上还没有完善到用户可以通过代码就能任意获取到所有表单的数据,技术上还没有提供支持,每个表单编码对接,都还需人工去填写,开发或移植的时间成本太大了!但如果用户有需要,可以自建表单遍历库。通过表单遍历库来实现任何表单的对接,哪怕是模糊查询对接也不再是个问题。从而让代码具备自主能动性,提升整个氚云应用的智化水平。尤其是对第三方的数据对接,将会有更大的提升。
细节的东西,看似可有可无。
每个阶梯都有一个极限的高度。
一旦突破,又是一个新的起点。
*/





附1:氚云应用的功能需求思考(定期更新)
 

附2:氚云校园标准版使用回顾三之补充-整体规划心得
 

附3:氚云校园标准版使用回顾之三——整体规划与突破变通

附4:谈谈如何更好的让应用更智能化

附5:谈谈在氚云应用中快速实现人员部门精准定位的技巧


附6:等待氚云破局(看好VS看破)



评分

参与人数 1威望 +5 金币 +200 收起 理由
社区小站长 + 5 + 200 感谢发布原创内容,特奖励200金币!5点威望.

查看全部评分

回复

使用道具

成为第一个回答人

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|氚云社区 |粤ICP备15096637号-1
Powered by Discuz! X3.4 Licensed  © 2001-2017 Comsenz Inc.