Changes

Pandora - Sample - Updating Level 2 Items

3,145 bytes added, 21:41, 20 July 2010
no edit summary
= Sample Code - Updating a UTA Level 2 item from a Company and/or Personal Transaction =
The following code sample will be of interest to developers wishing to update a UTA Level 2 item with values stored in company and/or personal transaction.
The particular use for this code is in the Medical Assessment Market where you wish to update a service (Level 2 item) with the billing amount for that service.
 
== Payer Behaviour ==
* The billing amount is derived from a company transaction associated with the payer company.
* The payer company is associated with the Case (level 1).
* The level 2 service name is matched to the Transaction name.
* If no matching transaction can be located in the payer company then a generic payer company is used to get the billing amount.
 
== Provider Behaviour ==
 
* A cost amount for the service is derived from the provider for the service.
* The provider must have been assiocated with the service (single provider only in this code)
* The level 2 service name is matched to the Transaction name.
* If no matching transaction can be located in the provider then a generic provider is used to get the cost amount.
 
* The code should be located in a Script field on the Level 2 entity.
* The code is associated with the Save function on the level 2 page.
Code <PRE> function savefunc(frm) { fillFee(frm); return true;} function fillFee(frm){ /* Following variables must be set for each instance */ ss_developer_key="237753-xU7Kd1o2FAH/cuHfLZcTO8SdXzE3g7wmiWFPdoez/9Q="; var COMPANYTRANSACTIONTYPEID=64;//company transaction type id var GENERICTRANSACTIONCOMPANYID=479981;//company id being used for generic company transactions var PAYERFEECUSTOMFIELDID=569340;//level2 payer fee custom field id for company transaction fee found var PEOPLETRANSACTIONTYPEID=65;//people transaction type id var GENERICTRANSACTIONUSERID=0;//user id being used for generic people transactions var ASSESSORFEECUSTOMFIELDID=569377;//level 2 assessor custom field id for people transaction fee found //------------------------------END--------------------- var companyid="@parent.client.companyid@";//get level 1 client companyid var servicename=frm.eventtype.options[frm.eventtype.selectedIndex].text;//get level 2 service name and split into an array since it is a multiple level combo box custom field var criteria="trstranstype="+COMPANYTRANSACTIONTYPEID+" and trsobjectid in('"+companyid+"',"+GENERICTRANSACTIONCOMPANYID+") and $Assessment$='"+servicename+"'";//search for level 1 client company transaction var rs=trans_find(false ,"","$Schedule fee$,$Assessment$",criteria,"","","",0,1); var valuestr="0"; if(rs!=null&&rs.recordcount>0)valuestr=rs.getfieldbyname(1,"$Schedule fee$"); document.getElementById("cf_"+PAYERFEECUSTOMFIELDID).value=valuestr;//fill level 2 custom field "Payer Fee" with transaction schedule fee found var userid=frm.contact.value.replace(/^,|,$/,"");//find level 2 contact userid if (userid=="")return;//if there is no contact associated with level 2, do nothing criteria="trstranstype="+PEOPLETRANSACTIONTYPEID+" and trsobjectid in('"+userid+"',"+GENERICTRANSACTIONUSERID+")";//search for level 2 contact user transaction criteria+="and $Service Name$='"+servicename+"'";//transaction service type match level 2 service name rs=trans_find(false ,"","$Service Name$,$Fee$",criteria,"","","",0,1);//find trasaction fee according to be addedabove criteria valuestr="0"; if(rs!=null&&rs.recordcount>0)valuestr=rs.getfieldbyname(1,"$Fee$"); document.getElementById("cf_"+ASSESSORFEECUSTOMFIELDID).value=valuestr;//fill transaction fee to level 2 custom field "Assessor Flat Fee"}</script><SCRIPT type="text/javascript" language=JavaScript src="/Ajax/uta/uta.js"> </PRE>   [[Category: Pandora]]
Smartstaff
311
edits