Фильтр расположения

Подскажите пожалуйста.
Я сделал новое поле в КЕ по аналогии с расположением.

У нас в организации много филиалов и соответственно много разных помещений.
Вопрос.
Как мне настроить так что бы при выборе Moscow отображались только те помещения которые в Москве.
В данный момент какой бы регион я не выбрал, отображается полный список комнат.
Код КЕ.

 <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
  <constants>
  </constants>
  <classes>
<class id="room" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable,structure</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>room</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
         <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="location_id"/>
            <attribute id="location_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="location_id" xsi:type="AttributeExternalKey">
          <sql>location_id</sql>
          <target_class>Location</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="location_name" xsi:type="AttributeExternalField">
          <extkey_attcode>location_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="address" xsi:type="AttributeText">
          <sql>address</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="city" xsi:type="AttributeString">
          <sql>city</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
                        </item>
            <item id="location_id">
              <rank>30</rank>
            </item>
            <item id="address">
              <rank>40</rank>
               </item>
            <item id="city">
              <rank>60</rank>
                  </item>
              </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
             <item id="location_id">
              <rank>30</rank>
            </item>
            <item id="address">
              <rank>40</rank>
                 </item>
            <item id="city">
              <rank>60</rank>
            </item>
            </items>
        </search>
        <list>
          <items>
             <item id="location_id">
              <rank>20</rank>
            </item>
            <item id="city">
              <rank>30</rank>
              </item>
          </items>
        </list>
      </presentation>
    </class>
  </classes>
  <menus>
  </menus>
  <user_rights>
    <groups>
    </groups>
           <profiles>
            </profiles>
          </user_rights>
      </itop_design>

Кусок кода от КЕ Персональный компьютер 
<class id="PC">
  <fields>
    <field id="hdd_list" xsi:type="AttributeLinkedSet" _delta="define">
        <linked_class>Hdd</linked_class>
        <ext_key_to_me>PC</ext_key_to_me>
        </field>
<field id="physicaldevice_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
           <linked_class>lnkPhysicalDeviceToPhysicalDevice</linked_class>
          <ext_key_to_me>device_1_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>device_2_id</ext_key_to_remote>
          <duplicates/>
        </field>
    <field id="OS_Licensiya" xsi:type="AttributeLinkedSet" _delta="define">
        <linked_class>Windows_License</linked_class>
        <ext_key_to_me>PC</ext_key_to_me>
        </field>
      <field id="room_id" xsi:type="AttributeExternalKey" _delta="define">
                        <dependencies>
            <attribute id="location_id"/>
    <filter><![CDATA[SELECT l FROM Location AS child JOIN Location AS root ON child.parent_id BELOW root.id JOIN room AS l ON l.location_id=root.id WHERE child.id=:this->location_id]]></filter>
          </dependencies>
          <sql>room_id</sql>
          <target_class>room</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="room_name" xsi:type="AttributeExternalField" _delta="define">
          <extkey_attcode>room_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
  </fields>

отвечаю сам себе.
нужно добавить фильтр location_id]]>

А мы расположение идентифицируем номером комнаты, т.е. название расположения это и есть комната.

ну у нас не много сложнее.)

Просто у нас много филиалов и разные юр лица

теперь другой возник вопрос
как добавить кнопку в меню

Между тэгами <menus>...</menus>
Добавляете код

<menu id="Room" xsi:type="OQLMenuNode" _delta="define">
      <rank>3</rank>
      <parent>ConfigManagement</parent>
      <oql>SELECT Room</oql>
      <do_search>1</do_search>
    </menu>

в своем модуле конечно же

щас попробую, спасибо

Супер, работает, спасибо.
А подскажите еще, как можно удалить не нужные кнопки в меню (Например кнопку Группа ке)

  <menu id="Group" xsi:type="OQLMenuNode" _delta="delete"/>