CRM常用功能代码

2023-11-01


前言

学习情况总结


学习任务

一、常用框架

BS入口

function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
	if(MethodName == "GetActivity")
	{
		//同步产品评估到资产
		GetActivity(Inputs,Outputs);
		return (CancelOperation);  //InvokeMethod没有这句,客制化方法返回CancelOperation,标准方法返回ContinueOperation
	}
	
	return (ContinueOperation);//InvokeMethod没有这句
}

方法体

/*
 * Function: 同步评估数据
 * @Para : 
 * @Return: 
 * Author:DINGWJ
 * Created: 11/1/2022
 * Last Updated By:
 * Last Updated: 
 * Version: 1.0
 */
function SyncAssess(Inputs,Outputs)
{
	try
	{
		var boAsset = TheApplication().GetBusObject("Asset Management");//资产bo
		var bcAsset = boAsset.GetBusComp("Asset Mgmt - Asset");//资产子bc
		var sAssetId = Inputs.GetProperty("sAssetId");//资产id
		var ProId = "" ;//产品id Product Id
		//写入活动
		with(bcCheckItem)
		{	
			InvokeMethod("SetAdminMode", "TRUE");//开始管理员模式
			ActivateField("Activity Id");//激活父ID
			ActivateField("NGC Case Type");
			ActivateField("NGC Check Requirement");
			ActivateField("NGC Check Result");
			//写数据
			NewRecord(NewAfter);
			var bcPickList = GetPicklistBusComp("NGC Check Requirement");
			with (bcPickList)
			{	ActivateField("Value");
				SetViewMode (AllView);
				ClearToQuery();
				SetSearchExpr("[X Jcyq] = '" +sJcyq+ "' AND [X Anjlx] = '"+sAjlx+ "'");
				ExecuteQuery(ForwardOnly);
				if (FirstRecord())
				{
					Pick();
				}
			}
			SetFieldValue("Activity Id",actId);
			SetFieldValue("NGC Check Result",sCheckAns);
			WriteRecord();					
			
			InvokeMethod("SetAdminMode", "FALSE");//结束管理员模式
		}
}
		
	}
	catch(e)
	{
		throw e.message;
	}
	finally
	{
		bcPickList=null;
		boAsset = null;
	
	}
}
		var psIn = TheApplication().NewPropertySet();
		var psOut = TheApplication().NewPropertySet();
		var bsAttach = TheApplication().GetService("NGC FD Attachment Service");
		var bsPublicJBS = TheApplication().GetService("NGC Public JBS");
		psIn.SetProperty("FileId",FileId);
		bsAttach.InvokeMethod("GetAttachPath",psIn,psOut);

二、常用功能

1.动态Pick

代码如下(示例):

					//写数据
var bcPickList = GetPicklistBusComp("NGC Check Requirement");//字段名称
with (bcPickList)
{	ActivateField("Value");
	SetViewMode (AllView);
	ClearToQuery();
	SetSearchExpr("[X Jcyq] = '" +sJcyq+ "' AND [X Anjlx] = '"+sAjlx+ "'");
	ExecuteQuery(ForwardOnly);
	if (FirstRecord())
	{
		Pick();
	}
}
SetFieldValue("Activity Id",actId);
SetFieldValue("NGC Check Result",sCheckAns);
WriteRecord();	//写数据最后一定要记得保存

2.简单查询

代码如下(示例):

//获取活动ID,以找到对应的活动记录
with(bcAct)
{
	ActivateField("Parent Activity Id");//激活父ID
	ActivateField("Id");//激活ID
	SetViewMode(AllView);
	ClearToQuery();
	SetSearchExpr("[Parent Activity Id] = '" + sId + "'");
	ExecuteQuery(ForwardOnly);
	var sRecord = FirstRecord();
	while(sRecord)
	{
		var actId = GetFieldValue("Id");
		SetFieldValue("Instruction Type",sInsType);
		WriteRecord();
		sRecord = NextRecord();
	}
}
		

3.通过值列表Code获取值;获取系统参数、模板;内置参数

参数解释:LookupValue固定值,STATE_ABBREV是LOV_TYPE值列表名,Code是传入的Code

sProvince = TheApplication().InvokeMethod("LookupValue","STATE_ABBREV",Code);
var sTemplate = TheApplication().GetService("NGC System Service").GettxtTmpl("NGCFDTSTNKJTM"); //取文件模板
var sSystem=TheApplication().GetService("NGC System Service").GetParameters("OPERATING_SYSTEM");//取系统参数 	
var sLogin = TheApplication().GetProfileAttr("Login Name");					//用户编号
var sLastName = TheApplication().GetProfileAttr("Last Name");				//用户名称
			

4.开关管理员模式

InvokeMethod("SetAdminMode", "TRUE");//开始管理员模式
InvokeMethod("SetAdminMode", "FALSE");//结束管理员模式

该处使用的url网络请求的数据。

遇到问题及其解决方案

  1. 一个出站接口添加字段示例
    先在代码中找调用的服务,然后去BS中搜服务,看arg参数,找到入参/出参的IO名称,在IO中搜此参数,添加或者修改IO中的变量
  2. 本地调试MDM接口示例

心得总结

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CRM常用功能代码 的相关文章

  • 正则表达式中的“g”标志是什么意思?

    的含义是什么g正则表达式中的标志 之间有什么区别 g and g用于全局搜索 这意味着它将匹配所有出现的情况 通常你还会看到i这意味着忽略大小写 参考 全局 JavaScript MDN https developer mozilla or
  • 使用 获取用于 javascript 的 RSA 密钥?

    我的 Web 项目需要一个 RSA 密钥对 虽然有一些库 但我认为依靠浏览器 为了安全性和速度 为我生成密钥是个好主意 是否可以使用注册机或其他浏览器 API 来执行此操作 我不知道如何从注册机获取密钥 它们似乎是在提交时生成的 但我不想将
  • 在 Javascript 中本地化字符串

    我目前正在使用 resx文件来管理我的 NET 服务器端资源 我正在处理的应用程序还允许开发人员将 JavaScript 插入各种事件处理程序中以进行客户端验证等 对我来说本地化 JavaScript 消息和字符串的最佳方法是什么 理想情况
  • 有没有办法监控页面上运行的 JavaScript 函数?

    有没有办法查看页面上正在执行哪些功能 如果我在页面上加载外部脚本 是否可以动态更改函数的功能或阻止其运行 HTML5 http www w3 org TR html5 scripting 1 html establish script bl
  • 缓存 firestore 中 get 的第一个实现

    我希望 firestore 每次都先从缓存中获取数据 根据 Firestore 文档 传递 缓存 或 服务器 选项必须启用相同的功能 下面的例子 db collection cities where capital true get cac
  • 动态表中每个按钮的 Jquery-Ui 对话框表单

    我正在生成一个 HTML 表 每行都有一个按钮 必须打开 Jquery ui 对话框表单 The table table class table table reporting table condensed table striped t
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 离子旋转器未显示

    我用 http 请求填充 Ionic 集合重复列表 但我不想将所有内容直接加载到 DOM 中 因此 我只显示其中一些项目 并在您向下滚动时添加其余项目 为此我实现了无限滚动功能 当我到达页面底部时 它应该显示一个旋转器 但它没有 这些物品至
  • 更新 Google 地图流量层而无需重新加载页面

    我的页面中嵌入了 Google 地图 我使用 initMap js 函数来初始化地图 function initMap var map new google maps Map document getElementById t map zo
  • 更改时触发跨度文本/html

    jQuery 或 JavaScript 中是否有任何事件在以下情况下触发span标签 text html 已更改 Code span class user location span user location change functio
  • 在 HTML5 中将两个图像合并到一个画布上

    我正在使用 HTML5 canvas 元素 假设我有 2 个 ImageData 对象 我想将它们组合起来放在一张画布上 假设我不关心这些图像如何组合 两个 ImageData 对象具有完全相同的像素数和形状 组合两个图像的最佳方式是什么
  • 删除 Laravel Mix 中的临时文件

    我想在 laravel mix 构建期间或之后删除临时构建文件 这是我目前拥有的一些代码 但是del不工作 const mix require laravel mix const del require del compile sass i
  • JavaScript:预期的赋值或函数调用,却看到了一个表达式

    我正在使用 JSHint 来确保我的 JavaScript 是 严格的 但我收到以下错误 预期是赋值或函数调用 但看到的是表达式 关于以下代码 var str A B C D var data var strArr str split fo
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • HTML 和 JavaScript - 将滚动操作从一个元素传递到另一个元素

    假设我有两个 div div div div A scrollable list div 我想让它当光标停在里面时 control并且鼠标滚轮滚动 view将会滚动 无论如何要实现这一目标 好的 快速修复对我有用 即使固定 div 不可滚动
  • (0, eval) () 的作用是什么? [复制]

    这个问题在这里已经有答案了 以下内容来自这个问题 https stackoverflow com questions 14119988 return this 0 evalthis 14120023 14120023 function q
  • 仅在首页加载时使用 cookie 加载 colorbox

    我尝试了来自网络的参考代码 仅在页面加载时加载特定元素一次 这是示例代码
  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • Javascript:更改输入值时设置光标位置

    当您输入公式时 我试图在我的应用程序中重现类似于 Microsoft Excel Google Sheets 的用户体验 并且您可以使用不同的公式和变量来自动完成下拉菜单 为此 在验证自动完成功能后 我希望能够控制光标的位置 例如 如果我输

随机推荐

  • Qt程序启动画面播放(gif与swf两种动画格式) - 路上的脚印

    学习Qt有一段时间了 发现一个小问题 网上关于Qt的资料或者总结性的学习及应用文章有点少 比如 Qt完整的API 程序运行之前的启动画面如何按理想效果播放等 每次想在项目中添加一些应用的时候 总是找不到好的书籍或文章可以马上学习 上手 今天
  • 淘宝、1688、京东、拼多多,抖音五个平台的区别分析

    淘宝 淘宝是中国最大的C2C电子商务平台 也是消费者购物的首选平台 淘宝上的商品种类繁多 价格实惠 同时还有很多优惠活动和促销活动 让消费者可以以较低的价格购买到高质量的商品 1688 1688是中国最大的批发市场之一 有数百万的商家在上面
  • Qt为release中可执行程序添加库进行打包并结合inno setup打包生成exe安装文件

    Qt为release中可执行程序添加库进行打包并结合inno setup打包生成exe安装文件 文章目录 Qt为release中可执行程序添加库进行打包并结合inno setup打包生成exe安装文件 一 Qt为release中可执行程序添
  • fedora11下gmlive0.22beta源代码安装

    1 解决依赖问题 否则会出现问题 No package gtkmm 2 4 found No package libglademm 2 4 found 安装依赖包 yum install gtkmm24 dev yum insttall l
  • C# 海康人脸识别设备初开发(二)话不多说以下完整例子

    demo截图 demo下载地址 https download csdn net download qq 16632449 11002228 以下完善了计划权限 可以参考下 其他的没了 如果提示错误23 基本是设备不支持 那你就要去问下海康的
  • Spring boot定时任务@Scheduled

    文章目录 1 前言 2 pom包配置 3 启动类启用定时 4 创建定时任务实现类 5 补充 cron表达式 6 遇到的坑 1 前言 Scheduled 参数可以接受两种定时的设置 一种是我们常用的cron 6 一种是 fixedRate 6
  • C++11:委派构造函数

    委派构造函数
  • TM1650数码管(类IIC驱动)

    目录 一 TM1650简介 1 特性描述 2 功能特点 二 IIC Inter Integrated Circuit BUS 结构解析 1 IIC协议介绍 2 多主机IIC总线结构 3 信号概念 三 TM1650数码管的工作 四 编写代码
  • [Spring3.x源码]Ageci(二)授权器

    上一篇中配置的FilterSecurityInterceptor即是授权器 FilterSecurityInterceptor doFilter ServletRequest request ServletResponse response
  • Qt实现打开网页

    Qt实现打开网页 新建一个mainwindow 在UI界面添加一个Text Browser 首先在myHTTP pro中添加QT network 在mainwindow h中新建两个类 QNetworkReply和QNetworkAcces
  • 35. 实战:Python实现视频去水印(文末源码)

    目录 前言 目的 思路 代码实现 1 请求URL 查看源代码 2 源代码中没有就去抓包工具 3 拿到视频源链接 继续检索来源 4 拿到数据和链接 二进制写入到本地 完整源码 运行效果 总结 前言 我们在刷某短视频平台时 有些视频我们想保存到
  • 系统安装部署系列教程(六):封装系统

    终于到了本系列的最核心一篇教程了 在这篇教程里我们来看看如何按需来封装系统 封装系统有很多作用 硬件厂商需要将自己的特性软件和驱动程序预装到系统中 企业用户需要集成KMS激活服务器 装机人员需要预装用户的常用软件 所有这些功能 都可以通过封
  • yearning

    Yearning 开发模式 手动部署 如有侵权 请联系我删除 环境准备 MySQL https www cnblogs com xinjing jingxin p 8025805 html Yearning git clone https
  • 【Matlab基础】一些常用函数收集

    stem函数 1 用法 stem Y 将数据序列Y从x轴到数据值按照茎状形式画出 以圆圈终止 如果Y是一个矩阵 则将其每一列按照分隔方式画出 stem X Y 在X的指定点处画出数据序列Y stem filled 以实心的方式画出茎秆 st
  • yolov6 win10环境配置详细过程

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 yolov6 下载 二 环境配置 三 测试环境 四 报错集合 前言 提示 这里可以添加本文要记录的大概内容 最近美团开源了yolov6 源码 准备体验下y
  • 韩国KT/LG/SK机房服务器比较

    众所周知 韩国就KT LG SK机房比较出名 那么三者之间有和区别呢 小编带大家分析一下 如有不对的地方还请多多指教 一 KT机房 KT机房采用中韩CN2专线与联通移动BGP线路 线路稳定不掉包 三网用户访问速度快而且速度和国内服务器没什么
  • 关于VAE中KL散度项的推导

    关于VAE中KL散度项的推导 最近在看 Variational AutoEncoder 其中论文 Auto Encoding Variational Bayes 中的Eq 10 怎么也推不出来 看了一下Appendix B 只给出了KL散度
  • 开发自己的脚手架(Rollup+Typescript)-(02)-(中间件模式)

    对于A gt b gt c这一类的流程事件 可以采用分解这些事件 当需要用到这些事件操作时 我们将操作插入到核心事件完成所需要的不同步骤中 实现一个流程处理函数 src core ware ts 中间件方法类型 export type Mi
  • ES6 let 与 const 命令 以及箭头函数初步学习

    ES6 let 与 const 命令 以及箭头函数初步学习 ES6 let 与 const 命令 以及箭头函数初步学习 let 与 const let 块级作用于 const 本质 ES6 声明变量的六种方法 ES6箭头函数 箭头函数与普通
  • CRM常用功能代码

    文章目录 前言 学习任务 一 常用框架 BS入口 方法体 二 常用功能 1 动态Pick 2 简单查询 3 通过值列表Code获取值 获取系统参数 模板 内置参数 4 开关管理员模式 遇到问题及其解决方案 心得总结 前言 学习情况总结 学习