Selecting Group of Elements

Below is the example of using the ChangeDimSelection operation to select a group of dictionary elements. The request contains moniker of opened dictionary instance and the element group identifier. The response contains summary information about the selected elements and the moniker of the new instance of the dictionary.

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">
<ChangeDimSelection xmlns="http://www.fsight.ru/PP.SOM.Som">
<tDim xmlns="">
  <id>S1!M!S!S1</id>
  </tDim>
<tArg xmlns="">
  <newInstance>true</newInstance>
<setGroup>
  <id>GROUP1</id>
  </setGroup>
  <elSelectOp>Unknown</elSelectOp>
  <elRelative>Unknown</elRelative>
  </tArg>
  </ChangeDimSelection>
  </s:Body>
  </s:Envelope>

SOAP response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ChangeDimSelectionResult 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="">S1!M!S!S5</id>
<selectionInfo xmlns="">
<firstSelected>
  <n>Item 2</n>
<a>
  <it>Second element</it>
  <it>2</it>
  <it>2</it>
  <it>1</it>
  <it>A000124</it>
  </a>
<ea>
  <it v="Second element" />
  <it v="2" />
  <it v="2" />
  <it v="1" />
  <it v="A000124" />
  </ea>
  <k>2</k>
  <h>0</h>
  <o>1</o>
  </firstSelected>
<lastSelected>
  <n>Item 3</n>
<a>
  <it>Third element</it>
  <it>3</it>
  <it>3</it>
  <it>2</it>
  <it>A000125</it>
  </a>
<ea>
  <it v="Third element" />
  <it v="3" />
  <it v="3" />
  <it v="2" />
  <it v="A000125" />
  </ea>
  <k>3</k>
  <h>0</h>
  <o>2</o>
  </lastSelected>
  <selectedCount>2</selectedCount>
<schema>
  <k>4294967295</k>
  <vis>1</vis>
  <applyOnlyOnce>0</applyOnlyOnce>
  <onceApplied>0</onceApplied>
  <applyOnRebuild>0</applyOnRebuild>
  </schema>
<group>
  <k>157</k>
  <id>GROUP1</id>
  <n>Group of elements (according to list)</n>
  <vis>1</vis>
  </group>
  </selectionInfo>
  </ChangeDimSelectionResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON request:

{
"ChangeDimSelection" :
{
"tDim" :
{
"id" : "S1!M!S!S1"
},
"tArg" :
{
"newInstance" : "true",
"setGroup" :
{
"id" : "GROUP1"
},
"elSelectOp" : "Unknown",
"elRelative" : "Unknown"
}
}
}

JSON response:

{
"ChangeDimSelectionResult" :
{
"id" : "S1!M!S!S5",
"selectionInfo" :
{
"firstSelected" :
{
"n" : "Second element",
"a" :
{
"it" :
[
"Second element",
"2",
"2",
"1",
"A000124"
]
},
"ea" :
{
"it" :
[
{
"@v" : "Second element"
},
{
"@v" : "2"
},
{
"@v" : "2"
},
{
"@v" : "1"
},
{
"@v" : "A000124"
}
]
},
"k" : "2",
"h" : "0",
"o" : "1"
},
"lastSelected" :
{
"n" : "Third element",
"a" :
{
"it" :
[
"Third element",
"3",
"3",
"2",
"A000125"
]
},
"ea" :
{
"it" :
[
{
"@v" : "Third element"
},
{
"@v" : "3"
},
{
"@v" : "3"
},
{
"@v" : "2"
},
{
"@v" : "A000125"
}
]
},
"k" : "3",
"h" : "0",
"o" : "2"
},
"selectedCount" : "2",
"schema" :
{
"k" : "4294967295",
"vis" : "1",
"applyOnlyOnce" : "0",
"onceApplied" : "0",
"applyOnRebuild" : "0"
},
"group" :
{
"k" : "157",
"id" : "GROUP1",
"n" : "Group of elements (according to list)",
"vis" : "1"
}
}
}
}
public static ChangeDimSelectionResult ApplyGroup(DmId moniker, string groupId)
{
var somClient = new SomPortTypeClient(); //Proxy object for operation execution
//Operation execution parameters
var tSel = new ChangeDimSelection()
{
tArg = new ChangeDimSelectionArg()
{
newInstance = true,
setGroup = new DmSelectGroupArg() { id = groupId }
},
tDim = moniker
};
//Select group of elements
var result = somClient.ChangeDimSelection(tSel);
return result;
}

See also:

ChangeDimSelection: Operation