Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types Details{th}{tr}{tr}{td}{span:class=sWordList}[ALIGNMENT]{span}{span:class=sWordList}[ANCHOR]{span}{span:class=sWordList}[CURSOR]{span}{span:class=sWordList}[DEFAULTS]{span}{span:class=sWordList}[JSButton]{span}{span:class=sWordList}[JSComponent]{span}{span:class=sWordList}[JSField]{span}{span:class=sWordList}[JSForm]{span}{span:class=sWordList}[JSLabel]{span}{span:class=sWordList}[JSMedia]{span}{span:class=sWordList}[JSMethod]{span}{span:class=sWordList}[JSPart]{span}{span:class=sWordList}[JSPortal]{span}{span:class=sWordList}[JSRelation]{span}{span:class=sWordList}[JSRelationItem]{span}{span:class=sWordList}[JSStyle]{span}{span:class=sWordList}[JSTab]{span}{span:class=sWordList}[JSTabPanel]{span}{span:class=sWordList}[JSValueList]{span}{span:class=sWordList}[JSVariable]{span}{span:class=sWordList}[MEDIAOPTION]{span}{span:class=sWordList}[PRINTSLIDING]{span}{span:class=sWordList}[SCROLLBAR]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummery}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method SummarySummery{th}{tr}{tbody}{tr}{td}[JSComponent]{td}{td}[#cloneComponent]\(newName, component)
{td}{tr}{tbody}{tbody}{tr}{td}[JSComponent]{td}{td}[#cloneComponent]\(newName, component, \[newParentForm])
Makes an exact copy of the given component (JSComponent/JSField/JSLabel), gives it a new name and optionally moves it to a new parent form.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#cloneForm]\(newName, jsForm)
Makes an exact copy of the given form and gives it the new name.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#getForm]\(name)
Gets the specified form object and returns information about the form (see JSForm node).{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]\[]{td}{td}[#getForms]\()
{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]\[]{td}{td}[#getForms]\(datasource)
{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]\[]{td}{td}[#getForms]\(\[server], \[tablename])
Get an array of forms, that are all based on datasource/servername or tablename.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#getGlobalMethod]\(name)
Gets an existing global method by the specified name.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]\[]{td}{td}[#getGlobalMethods]\()
The list of all global methods.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]{td}{td}[#getGlobalVariable]\(name)
Gets an existing global variable by the specified name.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]\[]{td}{td}[#getGlobalVariables]\()
Gets an array of all global variables.{td}{tr}{tbody}{tbody}{tr}{td}[JSMedia]{td}{td}[#getMedia]\(name)
Gets the specified media object; can be assigned to a button/label.{td}{tr}{tbody}{tbody}{tr}{td}[JSMedia]\[]{td}{td}[#getMediaList]\()
Gets the list of all media objects.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelation]{td}{td}[#getRelation]\(name)
Gets an existing relation by the specified name and returns a JSRelation Object.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelation]\[]{td}{td}[#getRelations]\(\[primary_server_name/primary_data_source], \[primary_table_name])
Gets an array of all relations; or an array of all global relations if the specified table is NULL.{td}{tr}{tbody}{tbody}{tr}{td}[JSStyle]{td}{td}[#getStyle]\(name)
Gets the style specified by the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]{td}{td}[#getValueList]\(name)
Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]\[]{td}{td}[#getValueLists]\()
Gets an array of all valuelists for the currently active solution.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#newForm]\(name, server_name|data_source, \[table_name], style, show_in_menu, width, height)
Creates a new JSForm Object.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#newGlobalMethod]\(code)
Creates a new global method with the specified code.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]{td}{td}[#newGlobalVariable]\(name, type)
Creates a new global variable with the specified name and number type.{td}{tr}{tbody}{tbody}{tr}{td}[JSMedia]{td}{td}[#newMedia]\(name, bytes)
Creates a new media object that can be assigned to a label or a button.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelation]{td}{td}[#newRelation]\(name, primary_server_name|primary_data_source, \[primary_table_name], foreign_server_name|foreign_data_source, \[foreign_table_name], join_type)
Creates a new JSRelation Object with a specified name; includes the primary datasource, optional table name, foreign datasource, optional foreign table name, and the type of join for the new relation.{td}{tr}{tbody}{tbody}{tr}{td}[JSStyle]{td}{td}[#newStyle]\(name, content)
Creates a new style with the given css content string under the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]{td}{td}[#newValueList]\(name, type)
Creates a new valuelist with the specified name and number type.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeForm]\(name)
Removes the specified form during the persistent connected client session.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#revertForm]\(name)
Reverts the specified form to the original (blueprint) version of the form; will result in an exception error if the form is not an original form.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent|class=node}{tr:id=name}{td}h6.cloneComponent{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSComponent]{span}{span:id=iets|style=float: left; font-weight: bold;}cloneComponent{span}{span:id=iets|style=float: left;}\(newName, component, \[newParentForm]){span}{td}{tr}{tr:id=des}{td}{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_des|text=|trigger=button}{sub-section}{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_des|trigger=none|class=sIndent}Makes an exact copy of the given component (JSComponent/JSField/JSLabel), gives it a new name and optionally moves it to a new parent form.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411_prscloneComponent_snc|text=|trigger=button}{sub-section}{div:sub-section:cloneComponent_snc|trigger=none|class=sIndent} Replace with version info{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:cloneComponent_prs|text=|trigger=button}{sub-section}{sub-section:cloneComponent_prs|trigger=none|class=sIndent}\{[String]} newName -- the new name of the cloned component
\{[JSComponent]} component -- the component to clone
\{[JSForm]} \[newParentForm\] -- the new parent form
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_ret|text=|trigger=button}{sub-section}{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_ret|trigger=none|class=sIndent}[JSComponent] -- the exact copy of the given component{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411_seecloneComponent_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A5A228D7-9777-4D8C-8F30-53560D9E8411cloneComponent_sam|class=sIndent|trigger=none}{code:language=javascript}
// get an existing field to clone.
var field = solutionModel.getForm("formWithField").getField("fieldName");
// get the target form for the copied/cloned field
var form = solutionModel.getForm("targetForm");
// make a clone/copy of the field and re parent it to the target form.
var clone = solutionModel.cloneComponent("clonedField",field,form);
// show it
forms["targetForm"].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm|class=node}{tr:id=name}{td}h6.cloneForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}cloneForm{span}{span:id=iets|style=float: left;}\(newName, jsForm){span}{td}{tr}{tr:id=des}{td}{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_des|text=|trigger=button}{sub-section}{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_des|trigger=none|class=sIndent}Makes an exact copy of the given form and gives it the new name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95_prscloneForm_snc|text=|trigger=button}{sub-section}{div:sub-section:cloneForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:cloneForm_prs|text=|trigger=button}{sub-section}{sub-section:cloneForm_prs|trigger=none|class=sIndent}\{[String]} newName -- the new name for the form clone
\{[JSForm]} jsForm -- the form to be cloned
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_ret|text=|trigger=button}{sub-section}{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_ret|trigger=none|class=sIndent}[JSForm] -- a JSForm{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95_seecloneForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:BE2118B0-586E-4368-B9E1-8DADBF1C8E95cloneForm_sam|class=sIndent|trigger=none}{code:language=javascript}
// get an existing form
var form = solutionModel.getForm("existingForm")
// make a clone/copy from it
var clone = solutionModel.cloneForm("clonedForm", form)
// add a new label to the clone
clone.newLabel("added label",50,50,80,20);
// show it
forms["clonedForm"].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=7421FE35-4A70-49F8-A18D-BCADF09206B7getForm|class=node}{tr:id=name}{td}h6.getForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}getForm{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_des|text=|trigger=button}{sub-section}{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_des|trigger=none|class=sIndent}Gets the specified form object and returns information about the form (see JSForm node).{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7_prsgetForm_snc|text=|trigger=button}{sub-section}{div:sub-section:getForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getForm_prs|text=|trigger=button}{sub-section}{sub-section:getForm_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_ret|text=|trigger=button}{sub-section}{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_ret|trigger=none|class=sIndent}[JSForm] -- a JSForm{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7_seegetForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7421FE35-4A70-49F8-A18D-BCADF09206B7getForm_sam|class=sIndent|trigger=none}{code:language=javascript}
var myForm = solutionModel.getForm('existingFormName');
//get the style of the form (for all other properties see JSForm node)
var styleName = myForm.styleName;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms|class=node}{tr:id=name}{td}h6.getForms{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getForms{span}{span:id=iets|style=float: left;}\(\[server], \[tablename]){span}{td}{tr}{tr:id=des}{td}{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_des|text=|trigger=button}{sub-section}{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_des|trigger=none|class=sIndent}Get an array of forms, that are all based on datasource/servername or tablename.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6_prsgetForms_snc|text=|trigger=button}{sub-section}{div:sub-section:getForms_snc|trigger=none|class=sIndent} Replace with version info{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getForms_prs|text=|trigger=button}{sub-section}{sub-section:getForms_prs|trigger=none|class=sIndent}\{[String]} \[server\] -- the datasource or servername
\{[String]} \[tablename\] -- the tablename
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_ret|text=|trigger=button}{sub-section}{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_ret|trigger=none|class=sIndent}[JSForm]\[] -- an array of JSForm type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6_seegetForms_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2ACC3801-2773-48F3-BB88-E92BDB36F5A6getForms_sam|class=sIndent|trigger=none}{code:language=javascript}
var forms = solutionModel.getForms(datasource)
for (var i in forms)
		application.output(forms[i].name)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod|class=node}{tr:id=name}{td}h6.getGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMethod]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalMethod{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_des|text=|trigger=button}{sub-section}{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_des|trigger=none|class=sIndent}Gets an existing global method by the specified name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988_prsgetGlobalMethod_snc|text=|trigger=button}{sub-section}{div:sub-section:getGlobalMethod_snc|trigger=none|class=sIndent} Replace with version info{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalMethod_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalMethod_prs|trigger=none|class=sIndent}\{[String]} name -- the name of the specified global method
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_ret|text=|trigger=button}{sub-section}{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_ret|trigger=none|class=sIndent}[JSMethod] -- a JSMethod{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988_seegetGlobalMethod_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DFB98033-DED1-4D04-A735-BA4D04A38988getGlobalMethod_sam|class=sIndent|trigger=none}{code:language=javascript}
var method = solutionModel.getGlobalMethod("nameOfGlobalMethod"); 
	if (method != null) application.output(method.code);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods|class=node}{tr:id=name}{td}h6.getGlobalMethods{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMethod]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalMethods{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_des|text=|trigger=button}{sub-section}{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_des|trigger=none|class=sIndent}The list of all global methods.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1_prsgetGlobalMethods_snc|text=|trigger=button}{sub-section}{div:sub-section:getGlobalMethods_snc|trigger=none|class=sIndent} Replace with version info{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalMethods_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalMethods_prs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_ret|text=|trigger=button}{sub-section}{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_ret|trigger=none|class=sIndent}[JSMethod]\[] -- an array of JSMethod type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1_seegetGlobalMethods_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2BDF3965-CB76-4E05-B7C2-FE9294C2C8D1getGlobalMethods_sam|class=sIndent|trigger=none}{code:language=javascript}
var methods = solutionModel.getGlobalMethods(); 
	if (methods != null)
		for (var x in methods) 
			application.output(methods[x].getName());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable|class=node}{tr:id=name}{td}h6.getGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSVariable]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalVariable{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_des|text=|trigger=button}{sub-section}{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_des|trigger=none|class=sIndent}Gets an existing global variable by the specified name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315_prsgetGlobalVariable_snc|text=|trigger=button}{sub-section}{div:sub-section:getGlobalVariable_snc|trigger=none|class=sIndent} Replace with version info{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalVariable_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalVariable_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the global variable
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_ret|text=|trigger=button}{sub-section}{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_ret|trigger=none|class=sIndent}[JSVariable] -- a JSVariable{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315_seegetGlobalVariable_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:615DDD2E-A0E6-40B9-8406-805EE6E45315getGlobalVariable_sam|class=sIndent|trigger=none}{code:language=javascript}
var globalVariable = solutionModel.getGlobalVariable('globalVariableName');
	application.output(globalVariable.name + " has the default value of " + globalVariable.defaultValue);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables|class=node}{tr:id=name}{td}h6.getGlobalVariables{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSVariable]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalVariables{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_des|text=|trigger=button}{sub-section}{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_des|trigger=none|class=sIndent}Gets an array of all global variables.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52_prsgetGlobalVariables_snc|text=|trigger=button}{sub-section}{div:sub-section:getGlobalVariables_snc|trigger=none|class=sIndent} Replace with version info{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalVariables_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalVariables_prs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_ret|text=|trigger=button}{sub-section}{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_ret|trigger=none|class=sIndent}[JSVariable]\[] -- an array of JSVariable type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52_seegetGlobalVariables_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:282E6192-DB6D-4361-96DF-86A966F23B52getGlobalVariables_sam|class=sIndent|trigger=none}{code:language=javascript}
var globalVariables = solutionModel.getGlobalVariables();
	for (var i in globalVariables)
		application.output(globalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia|class=node}{tr:id=name}{td}h6.getMedia{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMedia]{span}{span:id=iets|style=float: left; font-weight: bold;}getMedia{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_des|text=|trigger=button}{sub-section}{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_des|trigger=none|class=sIndent}Gets the specified media object; can be assigned to a button/label.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2_prsgetMedia_snc|text=|trigger=button}{sub-section}{div:sub-section:getMedia_snc|trigger=none|class=sIndent} Replace with version info{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getMedia_prs|text=|trigger=button}{sub-section}{sub-section:getMedia_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the media object
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_ret|text=|trigger=button}{sub-section}{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_ret|trigger=none|class=sIndent}[JSMedia] -- a JSMedia element{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2_seegetMedia_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:28A9A26A-B92C-4488-B28E-05BFD71365C2getMedia_sam|class=sIndent|trigger=none}{code:language=javascript}
var myMedia = solutionModel.getMedia('button01.gif')
//now set the imageMedia property of your label or button
//myButton.imageMedia = myMedia
// OR
//myLabel.imageMedia = myMedia
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList|class=node}{tr:id=name}{td}h6.getMediaList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMedia]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getMediaList{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_des|text=|trigger=button}{sub-section}{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_des|trigger=none|class=sIndent}Gets the list of all media objects.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57B_prsgetMediaList_snc|text=|trigger=button}{sub-section}{div:sub-section:getMediaList_snc|trigger=none|class=sIndent} Replace with version info{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57B}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getMediaList_prs|text=|trigger=button}{sub-section}{sub-section:getMediaList_prs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_ret|text=|trigger=button}{sub-section}{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_ret|trigger=none|class=sIndent}[JSMedia]\[] -- a list with all the media objects.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57B_seegetMediaList_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:1FF8F109-4FC3-426E-AA2B-ED7413E1B57BgetMediaList_sam|class=sIndent|trigger=none}{code:language=javascript}
var mediaList = solutionModel.getMediaList();
	if (mediaList.length != 0 && mediaList != null) {
		for (var x in mediaList) {
			application.output(mediaList[x]);
		}
	}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation|class=node}{tr:id=name}{td}h6.getRelation{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSRelation]{span}{span:id=iets|style=float: left; font-weight: bold;}getRelation{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_des|text=|trigger=button}{sub-section}{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_des|trigger=none|class=sIndent}Gets an existing relation by the specified name and returns a JSRelation Object.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08_prsgetRelation_snc|text=|trigger=button}{sub-section}{div:sub-section:getRelation_snc|trigger=none|class=sIndent} Replace with version info{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getRelation_prs|text=|trigger=button}{sub-section}{sub-section:getRelation_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the relation
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_ret|text=|trigger=button}{sub-section}{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_ret|trigger=none|class=sIndent}[JSRelation] -- a JSRelation{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08_seegetRelation_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:1A5D3B4A-F82B-4AF1-A4A6-8A7ED6599E08getRelation_sam|class=sIndent|trigger=none}{code:language=javascript}
var relation = solutionModel.getRelation('name');
	application.output("The primary server name is " + relation.primaryServerName);
	application.output("The primary table name is " + relation.primaryTableName); 
	application.output("The foreign table name is " + relation.foreignTableName); 
	application.output("The relation items are " + relation.getRelationItems());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations|class=node}{tr:id=name}{td}h6.getRelations{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSRelation]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getRelations{span}{span:id=iets|style=float: left;}\(\[primary_server_name/primary_data_source], \[primary_table_name]){span}{td}{tr}{tr:id=des}{td}{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_des|text=|trigger=button}{sub-section}{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_des|trigger=none|class=sIndent}Gets an array of all relations; or an array of all global relations if the specified table is NULL.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462_prsgetRelations_snc|text=|trigger=button}{sub-section}{div:sub-section:getRelations_snc|trigger=none|class=sIndent} Replace with version info{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getRelations_prs|text=|trigger=button}{sub-section}{sub-section:getRelations_prs|trigger=none|class=sIndent}\[primary\_server\_name/primary\_data\_source\] -- the specified name of the server or datasource for the specified table
\[primary\_table\_name\] -- the specified name of the table
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_ret|text=|trigger=button}{sub-section}{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_ret|trigger=none|class=sIndent}[JSRelation]\[] -- an array of all relations (all elements in the array are of type JSRelation){sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462_seegetRelations_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:4839A02E-B95F-43B0-A9B7-03C9A07C1462getRelations_sam|class=sIndent|trigger=none}{code:language=javascript}
var relations = solutionModel.getRelations('server_name','table_name');
	if (relations.length != 0)
		for (var i in relations)
			application.output(relations[i].name);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle|class=node}{tr:id=name}{td}h6.getStyle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSStyle]{span}{span:id=iets|style=float: left; font-weight: bold;}getStyle{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_des|text=|trigger=button}{sub-section}{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_des|trigger=none|class=sIndent}Gets the style specified by the given name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75E_prsgetStyle_snc|text=|trigger=button}{sub-section}{div:sub-section:getStyle_snc|trigger=none|class=sIndent} Replace with version info{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75E}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getStyle_prs|text=|trigger=button}{sub-section}{sub-section:getStyle_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the style
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_ret|text=|trigger=button}{sub-section}{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_ret|trigger=none|class=sIndent}[JSStyle] -- a JSStyle{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75E_seegetStyle_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:C0118881-EDE1-481D-AE62-52C6A7BEE75EgetStyle_sam|class=sIndent|trigger=none}{code:language=javascript}
var style = solutionModel.getStyle('my_existing_style')
	style.content = 'combobox { color: #0000ff;font: italic 10pt "Verdana";}'
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList|class=node}{tr:id=name}{td}h6.getValueList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSValueList]{span}{span:id=iets|style=float: left; font-weight: bold;}getValueList{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_des|text=|trigger=button}{sub-section}{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_des|trigger=none|class=sIndent}Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546_prsgetValueList_snc|text=|trigger=button}{sub-section}{div:sub-section:getValueList_snc|trigger=none|class=sIndent} Replace with version info{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getValueList_prs|text=|trigger=button}{sub-section}{sub-section:getValueList_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the valuelist
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_ret|text=|trigger=button}{sub-section}{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_ret|trigger=none|class=sIndent}[JSValueList] -- a JSValueList object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546_seegetValueList_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:E0A1E00D-5F41-4151-9F29-837F97FC6546getValueList_sam|class=sIndent|trigger=none}{code:language=javascript}
var myValueList = solutionModel.getValueList('myValueListHere')
//now set the valueList property of your field
//myField.valuelist = myValueList
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=F7FECC8A-8688-4338-97DA-B51161199569getValueLists|class=node}{tr:id=name}{td}h6.getValueLists{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSValueList]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getValueLists{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_des|text=|trigger=button}{sub-section}{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_des|trigger=none|class=sIndent}Gets an array of all valuelists for the currently active solution.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:F7FECC8A-8688-4338-97DA-B51161199569_prsgetValueLists_snc|text=|trigger=button}{sub-section}{div:sub-section:getValueLists_snc|trigger=none|class=sIndent} Replace with version info{sub-section:F7FECC8A-8688-4338-97DA-B51161199569}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getValueLists_prs|text=|trigger=button}{sub-section}{sub-section:getValueLists_prs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_ret|text=|trigger=button}{sub-section}{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_ret|trigger=none|class=sIndent}[JSValueList]\[] -- an array of JSValueList objects{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:F7FECC8A-8688-4338-97DA-B51161199569_seegetValueLists_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:F7FECC8A-8688-4338-97DA-B51161199569getValueLists_sam|class=sIndent|trigger=none}{code:language=javascript}
var valueLists = solutionModel.getValueLists();
	if (valueLists != null && valueLists.length != 0)
		for (var i in valueLists)
			application.output(valueLists[i].name);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm|class=node}{tr:id=name}{td}h6.newForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}newForm{span}{span:id=iets|style=float: left;}\(name, server_name|data_source, \[table_name], style, show_in_menu, width, height){span}{td}{tr}{tr:id=des}{td}{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_des|text=|trigger=button}{sub-section}{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_des|trigger=none|class=sIndent}Creates a new JSForm Object.

NOTE: See the JSForm node for more information about form objects that can be added to the new form.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7_prsnewForm_snc|text=|trigger=button}{sub-section}{div:sub-section:newForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newForm_prs|text=|trigger=button}{sub-section}{sub-section:newForm_prs|trigger=none|class=sIndent}name -- the specified name of the form
server_name|data_source -- the specified name of the server or datasource for the specified table
\[table\_name\] -- the specified name of the table
style -- the specified style
show_in_menu -- if true show the name of the new form in the menu; or false for not showing
width -- the width of the form in pixels
height -- the height of the form in pixels
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_ret|text=|trigger=button}{sub-section}{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_ret|trigger=none|class=sIndent}[JSForm] -- a new JSForm object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7_seenewForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:E14FADF5-DA60-48EC-BDF8-4F38D48174B7newForm_sam|class=sIndent|trigger=none}{code:language=javascript}
var myForm = solutionModel.newForm('newForm', 'myServer', 'myTable', 'myStyleName', false, 800, 600)
//now you can add stuff to the form (under JSForm node)
//add a label
myForm.newLabel('Name', 20, 20, 120, 30)
//add a "normal" text entry field
myForm.newTextField('dataProviderNameHere', 140, 20, 140,20)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod|class=node}{tr:id=name}{td}h6.newGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMethod]{span}{span:id=iets|style=float: left; font-weight: bold;}newGlobalMethod{span}{span:id=iets|style=float: left;}\(code){span}{td}{tr}{tr:id=des}{td}{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_des|text=|trigger=button}{sub-section}{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_des|trigger=none|class=sIndent}Creates a new global method with the specified code.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9_prsnewGlobalMethod_snc|text=|trigger=button}{sub-section}{div:sub-section:newGlobalMethod_snc|trigger=none|class=sIndent} Replace with version info{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newGlobalMethod_prs|text=|trigger=button}{sub-section}{sub-section:newGlobalMethod_prs|trigger=none|class=sIndent}\{[String]} code -- the specified code for the global method
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_ret|text=|trigger=button}{sub-section}{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_ret|trigger=none|class=sIndent}[JSMethod] -- a JSMethod object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9_seenewGlobalMethod_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:5EECB8DC-C000-4CAA-86B6-20FA72C683D9newGlobalMethod_sam|class=sIndent|trigger=none}{code:language=javascript}
var method = solutionModel.newGlobalMethod('function myglobalmethod(){currentcontroller.newRecord()}')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable|class=node}{tr:id=name}{td}h6.newGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSVariable]{span}{span:id=iets|style=float: left; font-weight: bold;}newGlobalVariable{span}{span:id=iets|style=float: left;}\(name, type){span}{td}{tr}{tr:id=des}{td}{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_des|text=|trigger=button}{sub-section}{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_des|trigger=none|class=sIndent}Creates a new global variable with the specified name and number type.

NOTE: The global variable number type is based on the value assigned from the SolutionModel\-JSVariable node; for example: JSVariable.INTEGER.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66_prsnewGlobalVariable_snc|text=|trigger=button}{sub-section}{div:sub-section:newGlobalVariable_snc|trigger=none|class=sIndent} Replace with version info{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newGlobalVariable_prs|text=|trigger=button}{sub-section}{sub-section:newGlobalVariable_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name for the global variable
\{[Number]} type -- the specified number type for the global variable
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_ret|text=|trigger=button}{sub-section}{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_ret|trigger=none|class=sIndent}[JSVariable] -- a JSVariable object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66_seenewGlobalVariable_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:54D09301-F511-4C58-BFD0-6792BC501C66newGlobalVariable_sam|class=sIndent|trigger=none}{code:language=javascript}
var myGlobalVariable = solutionModel.newGlobalVariable('newGlobalVariable',JSVariable.INTEGER); 
	myGlobalVariable.defaultValue = 12;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia|class=node}{tr:id=name}{td}h6.newMedia{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMedia]{span}{span:id=iets|style=float: left; font-weight: bold;}newMedia{span}{span:id=iets|style=float: left;}\(name, bytes){span}{td}{tr}{tr:id=des}{td}{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_des|text=|trigger=button}{sub-section}{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_des|trigger=none|class=sIndent}Creates a new media object that can be assigned to a label or a button.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01_prsnewMedia_snc|text=|trigger=button}{sub-section}{div:sub-section:newMedia_snc|trigger=none|class=sIndent} Replace with version info{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newMedia_prs|text=|trigger=button}{sub-section}{sub-section:newMedia_prs|trigger=none|class=sIndent}\{[String]} name -- The name of the new media
\{byte[]} bytes -- The content
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_ret|text=|trigger=button}{sub-section}{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_ret|trigger=none|class=sIndent}[JSMedia] -- a JSMedia object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01_seenewMedia_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:6DFD49DD-9398-460B-B7FE-C17A1331BF01newMedia_sam|class=sIndent|trigger=none}{code:language=javascript}
var myMedia = solutionModel.newMedia('button01.gif',bytes)
//now set the imageMedia property of your label or button
//myButton.imageMedia = myMedia
// OR
//myLabel.imageMedia = myMedia
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation|class=node}{tr:id=name}{td}h6.newRelation{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSRelation]{span}{span:id=iets|style=float: left; font-weight: bold;}newRelation{span}{span:id=iets|style=float: left;}\(name, primary_server_name|primary_data_source, \[primary_table_name], foreign_server_name|foreign_data_source, \[foreign_table_name], join_type){span}{td}{tr}{tr:id=des}{td}{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_des|text=|trigger=button}{sub-section}{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_des|trigger=none|class=sIndent}Creates a new JSRelation Object with a specified name; includes the primary datasource, optional table name, foreign datasource, optional foreign table name, and the type of join for the new relation.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3_prsnewRelation_snc|text=|trigger=button}{sub-section}{div:sub-section:newRelation_snc|trigger=none|class=sIndent} Replace with version info{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newRelation_prs|text=|trigger=button}{sub-section}{sub-section:newRelation_prs|trigger=none|class=sIndent}name -- the specified name of the new relation
primary_server_name|primary_data_source -- the specified name of the primary server or datasource
\[primary\_table\_name\] -- the specified name of the primary table
foreign_server_name|foreign_data_source -- the specified name of the foreign server or datasource
\[foreign\_table\_name\] -- the specified name of the foreign table
join_type -- the type of join for the new relation; JSRelation.INNER\_JOIN, JSRelation.LEFT\_OUTER\_JOIN
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_ret|text=|trigger=button}{sub-section}{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_ret|trigger=none|class=sIndent}[JSRelation] -- a JSRelation object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3_seenewRelation_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A3B835C9-1EF5-4B81-9355-97DCE5CAC4F3newRelation_sam|class=sIndent|trigger=none}{code:language=javascript}
var rel = solutionModel.newRelation('myRelation','myPrimaryServerName','myPrimaryTableName','myForeignServerName','myForeignTableName',JSRelation.INNER_JOIN);
application.output(rel.getRelationItems());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle|class=node}{tr:id=name}{td}h6.newStyle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSStyle]{span}{span:id=iets|style=float: left; font-weight: bold;}newStyle{span}{span:id=iets|style=float: left;}\(name, content){span}{td}{tr}{tr:id=des}{td}{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_des|text=|trigger=button}{sub-section}{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_des|trigger=none|class=sIndent}Creates a new style with the given css content string under the given name.

NOTE: Will throw an exception if a style with that name already exists.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AA_prsnewStyle_snc|text=|trigger=button}{sub-section}{div:sub-section:newStyle_snc|trigger=none|class=sIndent} Replace with version info{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AA}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newStyle_prs|text=|trigger=button}{sub-section}{sub-section:newStyle_prs|trigger=none|class=sIndent}\{[String]} name -- the name of the new style
\{[String]} content -- the css content of the new style
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_ret|text=|trigger=button}{sub-section}{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_ret|trigger=none|class=sIndent}[JSStyle] -- a JSStyle object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AA_seenewStyle_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:5D57203A-4322-46F3-B723-0DB697C9F6AAnewStyle_sam|class=sIndent|trigger=none}{code:language=javascript}
var form = solutionModel.newForm('myForm','myServer','myTable',null,true,1000,800);
	if (form.transparent == false)
	{
		var style = solutionModel.newStyle('myStyle','form { background-color: yellow; }');
		style.text = style.text + 'field { background-color: blue; }';
		form.styleName = 'myStyle';
	}
	var field = form.newField('columnTextDataProvider',JSField.TEXT_FIELD,100,100,100,50);
	forms['myForm'].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=22CA4649-0238-4224-9885-09931D41DA52newValueList|class=node}{tr:id=name}{td}h6.newValueList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSValueList]{span}{span:id=iets|style=float: left; font-weight: bold;}newValueList{span}{span:id=iets|style=float: left;}\(name, type){span}{td}{tr}{tr:id=des}{td}{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_des|text=|trigger=button}{sub-section}{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_des|trigger=none|class=sIndent}Creates a new valuelist with the specified name and number type.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:22CA4649-0238-4224-9885-09931D41DA52_prsnewValueList_snc|text=|trigger=button}{sub-section}{div:sub-section:newValueList_snc|trigger=none|class=sIndent} Replace with version info{sub-section:22CA4649-0238-4224-9885-09931D41DA52}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newValueList_prs|text=|trigger=button}{sub-section}{sub-section:newValueList_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name for the valuelist
\{[Number]} type -- the specified number type for the valuelist; may be JSValueList.CUSTOM\_VALUES, JSValueList.DATABASE\_VALUES, JSValueList.EMPTY\_VALUE\_ALWAYS, JSValueList.EMPTY\_VALUE\_NEVER
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_ret|text=|trigger=button}{sub-section}{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_ret|trigger=none|class=sIndent}[JSValueList] -- a JSValueList object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:22CA4649-0238-4224-9885-09931D41DA52_seenewValueList_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:22CA4649-0238-4224-9885-09931D41DA52newValueList_sam|class=sIndent|trigger=none}{code:language=javascript}
var vl1 = solutionModel.newValueList("customText",JSValueList.CUSTOM_VALUES);
vl1.customValues = "customvalue1\ncustomvalue2";
var vl2 = solutionModel.newValueList("customid",JSValueList.CUSTOM_VALUES);
vl2.customValues = "customvalue1|1\ncustomvalue2|2";
var form = solutionModel.newForm("customValueListForm",controller.getDataSource(),null,true,300,300);
var combo1 = form.newComboBox("globals.text",10,10,120,20);
combo1.valuelist = vl1;
var combo2 = form.newComboBox("globals.id",10,60,120,20);
combo2.valuelist = vl2;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm|class=node}{tr:id=name}{td}h6.removeForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeForm{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_des|text=|trigger=button}{sub-section}{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_des|trigger=none|class=sIndent}Removes the specified form during the persistent connected client session.

NOTE: Make sure you call history.remove first in your Servoy method (script).{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273_prsremoveForm_snc|text=|trigger=button}{sub-section}{div:sub-section:removeForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeForm_prs|text=|trigger=button}{sub-section}{sub-section:removeForm_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form to remove
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_ret|text=|trigger=button}{sub-section}{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_ret|trigger=none|class=sIndent}[Boolean] -- true is form has been removed, false if form could not be removed{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273_seeremoveForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A1175AA1-D79D-4AE8-86B8-61D2E1232273removeForm_sam|class=sIndent|trigger=none}{code:language=javascript}
//first remove it from the current history, to destroy any active form instance
var success = history.removeForm('myForm')
//removes the named form from this session, please make sure you called history.remove() first
if(success)
{
	solutionModel.removeForm('myForm')
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm|class=node}{tr:id=name}{td}h6.revertForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}revertForm{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_des|text=|trigger=button}{sub-section}{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_des|trigger=none|class=sIndent}Reverts the specified form to the original (blueprint) version of the form; will result in an exception error if the form is not an original form.

NOTE: Make sure you call history.remove first in your Servoy method (script) or call form.controller.recreateUI() before the script ends.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CB_prsrevertForm_snc|text=|trigger=button}{sub-section}{div:sub-section:revertForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CB}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:revertForm_prs|text=|trigger=button}{sub-section}{sub-section:revertForm_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form to revert
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_ret|text=|trigger=button}{sub-section}{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_ret|trigger=none|class=sIndent}[JSForm] -- a JSForm object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CB_seerevertForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:AEDA0125-47C5-47F5-9FD0-B48A082660CBrevertForm_sam|class=sIndent|trigger=none}{code:language=javascript}
//first removerevert itthe fromform to the currentoriginal historysolution form, removing any changes done to destroyit anythrough activethe formsolution instancemodel.
 var successrevertedForm = historysolutionModel.removeFormrevertForm('myForm')
if(success) {
 //reverts theadd nameda formlabel toon thea originalrandom solutionplace.
design form, will throw an exception if the form is not an original, please make sure you called history.remove() first
 var revertedForm = solutionModel.revertForm('myForm')
}
 revertedForm.newLabel("MyLabel",Math.random()*100,Math.random()*100,80,20);
 // make sure that the ui is up to date.
 forms.myForm.controller.recreateUI();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}