protected function _getTypeId( $name, $domain, $type )
	{
		$key = str_replace( '/', '.', $name );
		$manager = MShop_Factory::createManager( $this->_getContext(), $name );

		$search = $manager->createSearch();
		$expr = array(
			$search->compare( '==', $key . '.domain', $domain ),
			$search->compare( '==', $key . '.code', $type ),
		);
		$search->setConditions( $search->combine( '&&', $expr ) );

		$result = $manager->searchItems( $search );

		if( ( $item = reset( $result ) ) === false ) {
			throw new Exception( sprintf( 'No type item found for "%1$s/%2$s" using "%3$s"', $domain, $type, $name ) );
		}

		return $item->getId();
	}