《CRM企业配置管理员操作手册1430.docx》由会员分享,可在线阅读,更多相关《CRM企业配置管理员操作手册1430.docx(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CRM系统配置手手册2013-06目 录第一章:CCRM配置置管理简述述71、数据管管理82、查询管管理8第二章:数数据管理101、数据对对象注册101.1、对对象标识101.2、关关键字标识识101.3、数数据类型101.4、字字段空间101.5、名名称101.6、企企业默认111.7、操操作日志111.8、查查询页默认认参数初始始化JSOON模板111.9、编编辑页JSS脚本模板板111.10、查查询页的操操作列模板板121.11、日日志选项卡卡设置131.12、高高级选项卡卡设置142、数据对对象列表142.1、字字段152.2、字字段分组182.3、触触发器182.4、角角色182.5
2、、常常见字段设设置模版相相关182.6、常常见触发器器模版相关关233、数据对对象建表方方式243.1、按按月建表243.2、配配置缓存表表25第三章:查查询管理271、查询器器注册271.1、标标识271.2、关关键字271.3、数数据源271.4、名名称271.5、FFrom271.6、WWheree281.7、GGroupp281.8、OOrderr281.9、操操作列模版版281.10、参参数初始化化模版301.11、分分组关键字字311.12、计计数字段311.13、其其它选项卡卡312、查询器器列表332.1、字字段332.2、条条件332.3、分分组条件332.4、角角色332.
3、5、常常见查询器器字段设置置模版332.6、常常见查询条条件字段设设置模版383、数据源源管理44第四章:配配置管理461、编码信信息管理462、配置表表管理47第五章:模模版管理49第六章:定定时任务501、定时任任务501.1、定定时任务添添加501.2、定定时任务列列表512、脚本命命令管理512.1、脚脚本命令注注册51第七章:LLED大屏屏521、页面注注册522、页面列列表522.1、块块列表522.2、数数据项54附录:指令令集551、Vellocitty方法55方法:#ccinBeean()55方法:#ccinBeeanSeet()55方法:#ccinCoomparre()55
4、方法:#ccinDaateFmmt()55方法:#ccinDaateOffWeekk()56方法:#ccinErrror()56方法:#ccinNvvl()56方法:#ccinFuuncAuuth()56方法:#ccinIddFmt()57方法:#ccinIffEmptty()57方法:#ccinIffNotEEmptyy()57方法:#ccinKeey2Naame()57方法:#ccinLoog()58方法:#ccinMoonthTTbl()58方法:#ccinObbj2Jsson()58方法:#ccinRaandomm()58方法:#ccinRooleAuuth()59方法:#ccinTe
5、elEnccryptt()59方法:#ccinTiimeFmmt()59方法:#ccinBeeanShhell()59方法:#ccinFttpCmdd()60方法:#ccinFttpDowwn()60方法:#ccinFttpOpeen()60方法:#ccinFttpUp()60方法:#ccinHtttpSeenderr()61方法:#ccinSooap()61方法:#ccinFiileAwwk()61方法:#ccinFiileCmmd()61方法:#ccinFiileSaave()61方法:#ccinChhn2Pyy()62方法:#ccinCoommaSStr2AArr()62方法:#ccin
6、Jsson2OObj()62方法:#ccinXmml2Obbj()62方法:#ccinBllockTTpl()63方法:#ccinBuuildTTpl()63方法:#ccinUrrlTpll()63方法:#ccinXmmlForrEachh()63方法:#ccinXmmlParrse()63方法:#ccinXmmlSell()64方法:#ccinSppringgBeann()64方法:#ccinSppringgMethhod()64方法:#ccinDss()65方法:#ccinSqqlFettch()65方法:#ccinSqqlLoaad()65方法:#ccinSqqlRunn()662、$方
7、法法取值66第一章:CCRM配置置管理简述述配置管理员员登录信息息:登录页面:httpp:/sserveerip:80800/cc-crm/conff.do企业标识:企业的标标识用户名:cconf密码:默认认cintteam1123,新新版crmm建立的企企业默认ccincoonf1223企业配置管管理员登陆陆后首页:CRM系统统管理角色色共分三个个:运营级级管理员、企企业配置管管理员、企企业管理员员,crmm平台的设设计模式是是基于呼叫叫中心的架架构,多企企业独立运运行的模式式,整个平平台只有一一个运营级级管理员,由由运营级管管理员来建建立若干个个企业,每每个企业分分别有其配配置管理员员和企
8、业管管理员2个个管理角色色;企业配置管管理员级主主要配置和和管理下面面2块的工工作:1、数据管管理注册和管理理当前企业业的数据对对象,一条条数据对象象对应生成成crm数数据库中的的一张表,数据对象类型包括:工单数据、基础数据、客户数据、质检数据、操作日志;无论做呼入入还是呼出出业务,一一般一个企企业至少需需要配置一一个工单数数据对象和和一个客户户资料数据据对象,供供坐席界面面在弹屏界界面时调用用;质检数据对对象是指在在企业需要要质检功能能时配置,配配置后,质质检员可以以对坐席保保存的工单单进行质检检评分;操作日志类类型的数据据对象是用用于配合工工单使用的的,即工单单页面可以以调用操作作日志的数
9、数据对象;基础数据类类型的数据据对象一般般是存放一一些基本数数据,配合合业务需求求使用的情情况下配置置。具体的配置置请参见第第二章内容容:数据管管理部分介介绍。2、查询管管理注册和管理理当前企业业所有的查查询器,查查询器即是是对数据库库中的信息息进行查询询展现到页页面,可以以对话单、工工单等相关关数据进行行查询和统统计;一般分2块块,一是导导入一些做做好的标准准查询器模模版,例如如:呼叫历历史、坐席席统计等;二是具体体业务需求求定制的,如如工单明细细、相关统统计等;具体的配置置请参见第第三章内容容:查询管管理部分介介绍。第二章:数数据管理数据对象:一条数据据对象对应应生成crrm数据库库中的一
10、张张表,常用用数据对象象类型包括括客户资料料和工单22种,一般般一个企业业至少要创创建客户资资料和工单单数据对象象,供弹屏屏页面调用用。1、数据对对象注册-基本信信息- 选项卡:1.1、对对象标识数据对象的的唯一标识识,4位数数字;1.2、关关键字标识识数据对象的的key,唯唯一标识;1.3、数数据类型目前类型有有:工单数数据、基础础数据、客客户数据、质质检数据、操操作日志;工单数据对对应数据库库中的表名名:crmm_agtt_rptt_企业标标识_数据对象象key基础数据对对应数据库库中的表名名:crmm_datta_企业标识识_数据对象象key客户数据对对应数据库库中的表名名:crmm_数
11、据对对象keyy_企业标识识质检数据对对应数据库库中的表名名:crmm_cheeckerr_企业标识识_数据对象象key操作日志对对应数据库库中的表名名:crmm_optt_logg_企业标识识_数据对象象key1.4、字字段空间表示生成的的表默认带带的预留字字段的数量量;数字串含义义:例如:2005003300指 20个数数字类型字字段 + 50个字字符型字段段 + 33个文本类类型 + 00预留留没用到;1.5、名名称数据对象的的名称,可可以用中文文;1.6、企企业默认是和否两种种值,在没没有关联数数据对象的的情况下,会会默认使用用设置为 是 的数数据对象;1.7、操操作日志关联操作日日志
12、后,在在弹屏和编编辑页面可可以显示编编辑操作日日志数据对对象的字段段,一同保保存;1.8、查查询页默认认参数初始始化JSOON模板是keyvaluue赋值形形式;rpttTimeeFromm:#cinDDateFFmt(yyyyyMMddd)00000000,rrptTiimeToo:#cinDDateFFmt(yyyyyMMddd)23359599效果:rptTiime:对对应查询条条件字段的的字段名;1.9、编编辑页JSS脚本模板板在此添加JJS脚本,可可控制数据据对象的编编辑页面中中所有的控控件元素;模版1:弹弹屏工单部部分字段内内容 从 客户资料料 中 根根据弹屏页页面坐席点点击的客户
13、户资料自动动获取;#if($paggeKeyy = caallPaage)/ 客户户资料属性性,工单属属性_globbalCuustommerNootifyyCtrCCtx.aaddCttr(ddata221, $ddataOObjInnfo.oobjIdd, datta25);_globbalCuustommerNootifyyCtrCCtx.aaddCttr(llinkTTel1, $dattaObjjInfoo.objjId, ddata331);#end说明:前面面的参数ddata221为客户资料料中的字段段名,后面面的参数为为工单中对应应的字段名名;模版2:控控制页面22个编码类类型
14、字段的的逻辑关系系;_baseeCodeeCtrMManagger.rregCoodeCttrTwiin($dattaObjjInfoo.objjId_dataa29, $dataaObjIInfo.objIId_ddata330, -全全部-);模版3:弹弹屏工单部部分字段内内容 是否否可编辑及及显示隐藏藏;var oorderrsCtrrIdArrr = new Arraay ( commmandd0.daata355, commmandd0.daata366);/需要是控控件的naameMyHtmmlCtrr.dissableeCtrAArr(oorderrsCtrrIdArrr); /
15、不可可编辑MyHtmmlCtrr.enaableCCtrArrr(orrderssCtrIIdArrr); /可编辑辑MyHtmmlCtrr.hiddeCtrrArr(ordeersCttrIdAArr); /隐藏不显显示MyHtmmlCtrr.shoowCtrrArr(new Arraay(tth_$dataaObjIInfo.objIId_ddata338,); /显示MyHtmmlCtrr.connfCtrrValuue($dattaObjjInfoo.objjId_dataa38, nowwDtSttr); /给给字段赋值值var ddata337Vallue = MyHHtmlCCt
16、r.lloadCCtrVaalue($ddataOObjInnfo.oobjIdd_daata377); /取当当前页面的的值赋给变变量模版4:弹弹屏工单必必填项未填填工单保存存时弹出窗窗口提示;$($dataaObjIInfo.objIIdFoorm).settAttrributte(aaltInnValiidMsgg, truee);模版5:控控制弹屏工工单保存后后是否自动动示闲和关关闭窗口;#if($paggeKeyy = caallPaage)if(_rrptSaaveHaandleerActtionKKeyArrr) _rptSSaveHHandllerAcctionnKeyAArr
17、$daataObbjInffo.obbjId = auutoCoonf2IIdle:truee, clloseCCominngCalllPagge:trrue;#end(注意:自自动示闲和和关闭窗口口一般二选选一,因为为可能刚示示闲就有电电话进来而而没有关闭闭窗口,所所以这种情情况下会发发生错误)模版6:弹弹屏时客户户资料存在在则触发此此方法,可可以再其中中增加处理理逻辑;functtion CorppOnCuustommerSeelFunnc(cuustommerDaataRoow) 1.10、查查询页的操操作列模板板数据对象对对应的查询询页面中操操作列的链链接,更多多模版参见见查询器中中操
18、作列的的模版;外外拨说明:$row.linkkTel11:取的的是当前页页面电话的的字段名为为linkkTel11的值;其它常用操操作列项,参参见查询器器操作列模模版。1.11、日日志选项卡卡设置(一一般配置了了也很难看看出操作的的记录)坐席保存工工单模式:设置坐席席弹屏工单单页面是否否可以多次次保存工单单;记录模式:文件、DDB动作、DDB轨迹三三种;记录模版:数据对象象更新时记记录字段修修改的值,记记录模式 选择DBB轨迹 时时下面的代代码会往 业务日志志 表中记记录修改的的值,可以以通过日志志管理 中中 业务日日志 查询询记录;#if($actiion = UUpdatte)#cinDD
19、iffDDataRRow($dataaRow, $olldDattaRoww, $ddataOObjInnfo)#end1.12、高高级选项卡卡设置编辑页列数数:数据页页面页面每每行显示的的字段列数数,最多支支持一行33个字段;按月建表:详见第33节所述;列表页JSS脚本模版版:示例_baseeCodeeCtrMManagger.rregCoodeCttrTwiin(ddata223, datta24, -全部-);/控制制数据对象象查询页条条件中编码码下拉框类类型字段的的逻辑关系系;2、数据对对象列表添加对应数数据对象的的如下设置置:2.1、字字段表示数据对对象包含的的数据字段段,一般没没种
20、类型有有其固定的的字段,其其他的字段段都是在注注册数据对对象的时候候选择预料料的字段;-基本信信息-数据类型:对应数据据对象注册册时的字段段空间中所所指的类型型,常用有有3个:字字符串、数数字、文本本(指大文文本);数据类型:当前字段段的控件类类型,常用用有:文本本框、键值值下拉框、日日期&时间间范围;自定义属性性集:onchaange=onCChanggeSelllRessult11(thiis.vaalue);/键值下拉拉框改变调调用js中中的方法locallOptLLabells=-请选择择- locaalOpttValuues= /键值下下拉框-显示信信息-注意:如果果弹屏列表表页条件
21、选选 是,查查询条件也也必须选 是;-编辑信信息-数据来源:页面输入入、客户资资料、来电电信息;客户资料:可以通过过数据来源源来设置该该字段值从从其它表中中某个字段段获取,弹弹屏页面中中工单中客客户资料字字段常用此此设置来自自动同步客客户资料的的内容,如如果同步的的字段为日日期类型,则则来源字段段名后加FFmt,例例如:原始始字段名为为creaatedTTime,则则来源字段段名:crreateedTimmeFmtt;注意:来源源字段名是是字段的字字段名,不不是DB字字段名;来电信息:数据来源源可以获取取来电信息息的内容,包包括:dattaObjjId:,enaableMMultiiDataa
22、Obj:,ageentIdd:$agenntId,ageentNaame:$aggentNName,deppartmmentIId:$deppartmmentIId,deppartmmentNName:$eemptyy deppartmmentNName ? deeparttmenttId: depaartmeentNaame,calllId:,calllSidd:,calllSeqq:0,calllTyppe:,calllTyppeTittle:,useerDn:,ageentDnn:,areeaCodde:,calllinggNumbber:,traansfeerAgeentIdd:,pr
23、oojecttId:,proojecttNamee:,serrviceeId:,shoortSeervicceId:,isHummanCaallInn:fallse,serrviceeNamee:,areeaCodde:,areeaNamme:,calllDatta:,traansPaara:,/随路路数据cusstomeerStrreamNNum:,worrdsKeey:,isTTaskCCall:falsse,areeaId:,areeaProovincce:,/电话话所属省份份areeaProoCodee:,areeaCitty:,/电话话所属城市市enccrypttTel:,/电话话加
24、密显示示reccordFFileNName:, / 呼叫结束束后录音文文件信息rinngReccordFFile:, / 振振铃时上报报的录音文文件路径acccessGGwId:languuageTType:例如:页面效果:常用字段模模版:见22.5节内内容;2.2、字字段分组可以将部分分字段设置置成一组,在在逻辑上进进行划分,在在弹屏工单单页面会按按组分开显显示;2.3、触触发器表示操作数数据对象时时,触发执执行的语句句;触发器模版版:见2.6节内容容;2.4、角角色设置可以查查看此数据据对象权限限的角色,系系统中内置置的角色,添添加即可,在在首页中会会显示有权权限的列表表;2.5、常常见字
25、段设设置模版相相关2.5.11、字段调调用 配置置管理 中中 编码信信息列表 的值rootCCode:K2000;coddeLevvel:22;(前面面一个是根根编码,后后面是子编编码)说明:roootCoode 表表示调用根根编码的编编码标识;codeeLeveel表示所所属根编码码下级的对对应级别;2.5.22、生成序序列号S#cinnDateeFmt(yyMMMddHHHmmsssSSSS)2.5.33、动态下下拉选形式式加载指定定URL地地址的数据据-项目编编号-:数据加载UURL地址址:/ccc-crmm/outtCalllProjjectIInfo.do?mmethood=geet
26、JsoonOpttion-任务编编号-:数据加载UURL地址址:/ccc-crmm/outtCalllTaskkInfoo.do?methhod=ggetGssonOpptionnoutCaallTaaskInnfo.ddo?meethodd=gettGsonnOptiion&nneedEEmptyy=1-人工服服务-:数据加载UURL地址址:/cc-ccrm/cctiSeervicceInffo.doo?metthod=getGGsonOOptioon&neeedEmmpty=1&coommannd.coorpVcccId=9588888-IVRR服务-:数据加载UURL地址址:/cc-cc
27、rm/iivrSeervInnfo.ddo?meethodd=gettGsonnOptiion&nneedEEmptyy=1&ccommaand.ccorpVVccIdd=95888882.5.44、根据角角色来控制制字段是否否具备修改改权限cols=60 rowws=33#if($useerCtxx.rolleId != ROLLE_CCC_CHEECKERR) readoonly #end/判断角角色是否为为质检员,不不是则增加加 只读 的属性cols=60 rowws=33:表示示控件页面面显示的行行列大小;2.5.55、来电弹弹屏电话匹匹配多个电电话模糊查查询/注意:数据量大大的情况下
28、下要改成值值等,效率率要高一些些。#cinIIfNottEmptty($pparammeterrMap, $ffielddInfoo.fieeldNaame, fiieldVValuee) and (linnk_teel1 llike %$ffielddValuue% or llink_tel22 likke %$fieeldVaalue%) #end#cinIIfNottEmptty($pparammeterrMap, $ffielddInfoo.fieeldNaame, fiieldVValuee) and (linnk_teel1 = $ffielddValuue oor liink_t
29、tel2 = $fielldVallue) #end注意:数据据对象中类类似用坐席席工号这种种字段作为为条件时,因因为默认使使用的是模模糊查询,所所以有可能能一些特定定的工号查查询时结果果就不准确确了,这时时需要将此此字段的查查询条件模模版中加入入自定义查查询,示例例如下:#cinIIfNottEmptty($pparammeterrMap, $ffielddInfoo.fieeldNaame, fiieldVValuee) and (ageent_iid = 000001011000002$fiieldVValuee) #end2.5.66、弹屏单单选 字段段弹屏单选控控件是指点点击后弹出出
30、窗口(调调用某个查查询器),在在窗口中选选择对应记记录,返回回对应的值值(选中的的列即是返返回值的列列);数据加载UURL地址址:queeryMaanageer.doo?metthod=pageeSearrch&ccommaand.iisFirrstQuuery=1&quueryKKey=ccorpPPage注意:coorpPaage为调调调用的查查询器的关关键字;查询器对应应的选择列列 设置:页面显示模模版:注意:seelId为为要调用的的字段名;2.5.77、日期字字段默认为为当前日期期设置日期字字段的默认认值模版为为:#cinDDateFFmt(yyyyyMMddd)2.6、常常见触发器
31、器模版相关关2.6.11、新建日日志表将页页面中的字字段内容更更新到工单单表对应字字段#set($rpttTabeelNamme=ccrm_aagt_rrpt_$useerCtxx.corrpId_worrkordder_#cinDDateFFmt(yyyyyMMdddHHmmmss, $ddataRRow.rrptCrreateedTimme, yyyyyMM)/设置要要操作的数数据表的名名称赋值给给变量$rrptTaabelNName,根根据页面时时间的字段段获取到表表名中的时时间#cinSSqlRuun(uupdatte $rptTTabellNamee seet daata_446 =
32、 $ddataRRow.ddata22 wwheree strream_numbber = $dataaRow.rptIId)/执行括括号中的ssql语句句2.6.22、根据页页面字段的的值来判断断执行sqql语句#if($dattaRoww.datta3 = 2)#set($cnttSql=sellect counnt(rppt_idd) ass opttCnt fromm crmm_optt_logg_$uuserCCtx.ccorpIId_wwologg_#ciinDatteFmtt(yyyyyMMM) wwheree rptt_id=$ddataRRow.rrptIdd)#cinSSq
33、lLooad($cnntSqll, 1, sqqlRtnnMapOObj)$sqllRtnMMapObbj.opptCntt#if($sqllRtnMMapObbj.opptCntt != 4) #cinSSqlRuun(iinserrt innto ccrm_aappoiint_iinfo (strream_numbber,ccorp_id,ccall_id,ccall_sid,agennt_idd,calllingg_nummber,taskk_id,appooint_tel,appooint_timee,lasst_caall_ttime,remaark,sstatuus,crreate
34、ed_tiime,uupdatte_tiime,rrpt_sstreaam_nuumberr,rptt_objj_id ) vaaluess ( #cinnRanddom(), $usserCttx.coorpIdd,$daataRoow.caallIdd,$daataRoow.caallSiid, $userrCtx.userrId, $dattaRoww.calllinggNumbber,$dataaRow.servviceIId, $dataaRow.calllingNNumbeer,$ddataRRow.ddata330, , , 00, #cinnDateeFmt(yyyyyMMdd
35、dHHmmmss), #ciinDatteFmtt(yyyyyMMMddHHHmmsss), $dataaRow.rptIId, $userrCtx.defaaultAAgtRpptObjjId)#end#end2.6.33、判断当当前班组是是不是指定定的班组执执行相应的的sql#if($useerCtxx.agttGrpIId != 110003300011001 & $usserCttx.aggtGrppId != 100003000011011) #cinSSqlRuun(uupdatte crrm_aggt_rppt_$userrCtx.corppId_workkordeer seet
36、 daata_339=daate_fformaat(noow(),%Y%m%d%H%i%s),dataa_43=timeedifff(datta_399,datta_388) whhere (strream_numbber=$daataRoow.sttreammNumbber or (calll_siid = $ddataRRow.ccallSSid andd calll_idd = $daataRoow.caallIdd);)#elsee#cinSSqlRuun(uupdatte crrm_aggt_rppt_$userrCtx.corppId_workkordeer seet daata_
37、338=daate_fformaat(noow(),%Y%m%d%H%i%s) wherre (sstreaam_nuumberr=$dataaRow.streeamNuumberr oor (ccall_sid = $dattaRoww.calllSidd aand ccall_id = $dataaRow.calllId) aand (dataa_38 is nnull or ddata_38=) aand (dataa_37 is nnot nnull and dataa_370);)#end2.6.44、根据执执行查询返返回的值判判断执行语句#set($cnttSql=sellect
38、dataa_6 aas opptCntt froom crrm_aggt_rppt_$userrCtx.corppId_workkordeer whhere streeam_nnumbeer=$dattaRoww.strreamNNumbeer)#cinSSqlLooad($cnntSqll, 1, sqqlRtnnMapOObj)$sqllRtnMMapObbj.opptCntt#if($sqllRtnMMapObbj.opptCntt = 0).#end3、数据对对象建表方方式3.1、按按月建表配置按月建建表主要是是数据量大大后,按月月分开数据据可提高查查询速度,但但查询器按按时间查询询时
39、不能跨跨月查询;3.1.11、非当前前月 模式式当前月的表表名为原始始表名,其其它月份为为 表名_22012008的形式;3.1.22、所有月月 模式都已 表表名_20012088 的形式式生成每个个月份的表表;注意:设置置完成后,都需要建立一个 数据表维护的 定时任务,并运行一下才会生成,如果当前数据对象已有数据,先将原表备份一下,生成的方式为:例如当前是8月份,会将原来带数据的表改名为 表名_201207 ,同时生成空数据的3张表(原始表名一个、表名_201209、表名_201210),需要做的工作有 将7月表中的8月数据导入到原始表名中,如果存在7月以前的数据,需要手动建立各个月份的表,
40、并将相应月份的数据导入到表中。配置管理级级中添加 数据表维维护 的定定时任务:查询器中ffrom中中的表名对对应修改的的方式:crm_aagt_rrpt_$useerCtxx.corrpId_worrkordder_#cinDDateFFmt(yyyyyMMddd, $parrametterMaap.caall_ddateFFrom, yyyyyMMM)说明:适用用于数据对对象 按月月建表模式式为 所有有月,caall_ddate为为条件中的的日期字段段;#cinMMonthhTbl(ctii_calllstaat, $parrametterMaap, rptTTimeFFrom, yyyyy
41、MMMddHHHmmsss)说明:适用用于数据对对象 按月月建表模式式为 非当当前月,rrptTiime为条条件中的日日期字段;3.2、配配置缓存表表可以对数据据对象按11-7天的的周期建立立对应的缓缓存表,也也需要添加加 数据表表维护的定定时任务,查查询器中ffrom中中的表名更更改成缓存存表的表名名即可;第三章:查查询管理查询器:就就相当于一一条sellect语语句,实现现对已存在在的数据进进行查询、统统计,支持持标准的mmysqll语法;1、查询器器注册-基本信信息-选选项卡:1.1、标标识 查询器的唯唯一标识,一一般是数字字,可以加加字符;1.2、关关键字查询器对应应的唯一kkey,标标识查询器器;1.3、数数据源对应数据库库: 话单单库(smmp)、工工单库(ccrm);1.4、名名称查询器显示示的名称;1.5、FFrom组成查询语语句的frrom