OpenCustomExtender

Syntax

OpenCustomExtenderResult OpenCustomExtender(MbId tMb, OpenCustomExtenderArg tArg)

Parameters

tMb. Repository connection moniker.

tArg. Operation execution parameters.

Description

The OpenCustomExtender operation opens custom class container.

Comments

To execute the operation, in the tMb field specify moniker of opened repository connection, and in the tArg field specify opening parameters. The moniker can be obtained on executing the OpenMetabase operation.

The operation results in the moniker of opened custom class container instance and metadata if the tArg.metaGet field was defined.

Example

Below is the example of opening the custom class container instance. The request contains repository connection moniker and the pattern indicating whether it is necessary to get a list of custom classes. The response contains moniker of opened custom class container instance and the obtained list of classes.

SOAP request:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<OpenCustomExtender xmlns="http://www.fsight.ru/PP.SOM.Som">
<tMb xmlns="">
  <id>JFHDCPAHAHHCGOAEINHJAHNJDKAOLMFEPJOPHAHKLDFBMCCP!M</id>
  </tMb>
<tArg xmlns="">
  <openForEdit>true</openForEdit>
<metaGet>
  <obInst>true</obInst>
  <parsOwnDefVals>true</parsOwnDefVals>
  <classes>Get</classes>
  </metaGet>
  </tArg>
  </OpenCustomExtender>
  </s:Body>
  </s:Envelope>

SOAP response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<OpenCustomExtenderResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id xmlns="">
  <id>JFHDCPAHAHHCGOAEINHJAHNJDKAOLMFEPJOPHAHKLDFBMCCP!M!S!EEMPBGPAHAHHCGOAEDPGADAFLDKKBEEAEKKOADCJKHIMOAOGI</id>
  </id>
<meta xmlns="">
<obInst>
<obDesc ds="" isShortcut="0" isLink="0" ver="13" hf="0">
  <i>OBJ52</i>
  <n>System class additions</n>
  <k>52</k>
  <c>5889</c>
  <p>0</p>
  <h>0</h>
  <hasPrv>0</hasPrv>
  <ic>0</ic>
  <trackElementDependents>0</trackElementDependents>
  <isPermanent>1</isPermanent>
  <isTemp>0</isTemp>
  </obDesc>
  </obInst>
  <dirty>0</dirty>
<classes>
<its>
<it ic="1">
  <k>19</k>
  <id>COMPONENT</id>
  <n>Component</n>
  <vis>1</vis>
  <implURL />
  <c>1251073</c>
  <h>0</h>
  <implAssembly>MOD_COMPONENT_CLASS_HANDLER</implAssembly>
  <implClass>ComponentClassHandler</implClass>
  <description />
  </it>
<it ic="1">
  <k>16</k>
  <id>BUSINESS_APPLICATION</id>
  <n>Business application</n>
  <vis>1</vis>
  <implURL />
  <c>1054465</c>
  <h>0</h>
  <implAssembly>P10002_BUSINESS_APPLICATION_MOD</implAssembly>
  <implClass>BusinessApplication</implClass>
  <description>Designer of business application</description>
  </it>
<it ic="1">
  <k>32</k>
  <id>DATA_ENTRY_FORM_CLASS</id>
  <n>Data entry/output form</n>
  <vis>1</vis>
  <implURL>http://localhost/FP_App_v10.x/script/operation.js</implURL>
  <c>2103041</c>
  <h>0</h>
  <implAssembly>ASM_INPUT_FORM_V3_PRESENTERS</implAssembly>
  <implClass>CustomClassOperationsHandler</implClass>
  <description />
  </it>
  </its>
  </classes>
  </meta>
  </OpenCustomExtenderResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON request:

{
"OpenCustomExtender" :
{
"tMb" :
{
"id" : "JFHDCPAHAHHCGOAEINHJAHNJDKAOLMFEPJOPHAHKLDFBMCCP!M"
},
"tArg" :
{
"openForEdit" : "true",
"metaGet" :
{
"obInst" : "true",
"parsOwnDefVals" : "true",
"classes" : "Get"
}
}
}
}

JSON response:

{
"OpenCustomExtenderResult" :
{
"id" :
{
"id" : "JFHDCPAHAHHCGOAEINHJAHNJDKAOLMFEPJOPHAHKLDFBMCCP!M!S!EEMPBGPAHAHHCGOAEDPGADAFLDKKBEEAEKKOADCJKHIMOAOGI"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "13",
"@hf" : "0",
"i" : "OBJ52",
"n" : "System class additions",
"k" : "52",
"c" : "5889",
"p" : "0",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "0",
"classes" :
{
"its" :
{
"it" :
[
{
"@ic" : "1",
"k" : "19",
"id" : "COMPONENT",
"n" : "Component",
"vis" : "1",
"implURL" : "",
"c" : "1251073",
"h" : "0",
"implAssembly" : "MOD_COMPONENT_CLASS_HANDLER",
"implClass" : "ComponentClassHandler",
"description" : ""
},
{
"@ic" : "1",
"k" : "16",
"id" : "BUSINESS_APPLICATION",
"n" : "Business application",
"vis" : "1",
"implURL" : "",
"c" : "1054465",
"h" : "0",
"implAssembly" : "P10002_BUSINESS_APPLICATION_MOD",
"implClass" : "BusinessApplication",
"description" : "Designer of business application"
},
{
"@ic" : "1",
"k" : "32",
"id" : "DATA_ENTRY_FORM_CLASS",
"n" : "Data entry\/output form",
"vis" : "1",
"implURL" : "http:\/\/localhost\/FP_App_v10.x\/script\/operation.js",
"c" : "2103041",
"h" : "0",
"implAssembly" : "ASM_INPUT_FORM_V3_PRESENTERS",
"implClass" : "CustomClassOperationsHandler",
"description" : ""
}
]
}
}
}
}
}
public static OpenCustomExtenderResult OpenCustomExtender(string mb)
{
var somClient = new SomPortTypeClient(); // Proxy object for operation execution
// Operation execution parameters
var tOpen = new OpenCustomExtender()
{
tArg = new OpenCustomExtenderArg()
{
openForEdit = true,
metaGet = new CustomExtenderMdPattern()
{
classes = ListOperation.Get
}
},
tMb = new MbId() { id = mb }
};
// Open custom class container
var tResult = somClient.OpenCustomExtender(tOpen);
return tResult;
}

See also:

Working with a Repository