/// <summary>
        /// Создает ссылку на объект.
        /// </summary>
        /// <param name="полноеИмяТипа">Полное имя типа объекта, например "Справочник.Номенклатура".</param>
        /// <param name="указатель">Уникальный идентификатор ссылки.</param>
        /// <returns>Возвращает ссылку на объект.</returns>
        public ОбъектСсылка ПолучитьОбъектСсылку(string полноеИмяТипа, Guid указатель)
        {
            УзелМетаданных узелМетаданных;

            if (!this.Клиент.Метаданные.ПопыткаПолучить(полноеИмяТипа, out узелМетаданных))
            {
                throw new ArgumentException(String.Format("Ошибка при получении ссылки на объект. Не удалось обнаружить объект метаданных \"{0}\".", полноеИмяТипа), "полноеИмяТипа");
            }

            Guid   идСсылки = КонтекстДанных.ПолучитьОбобщенныйИдентификаторСсылки(полноеИмяТипа, указатель.ToString());
            Ссылка ссылка   = null;

            WeakReference <Ссылка> слабСсылка = null;

            if (this.references.TryGetValue(идСсылки, out слабСсылка) && слабСсылка.TryGetTarget(out ссылка))
            {
                return((ОбъектСсылка)ссылка);
            }

            switch (((МетаданныеОбъект)узелМетаданных).ТипКоллекции())
            {
            case ТипКоллекции.Справочник:
                ссылка = new СправочникСсылка(this.bromClient, узелМетаданных.Имя(), указатель);
                break;

            case ТипКоллекции.Документ:
                ссылка = new ДокументСсылка(this.bromClient, узелМетаданных.Имя(), указатель);
                break;

            case ТипКоллекции.ПланВидовХарактеристик:
                ссылка = new ПланВидовХарактеристикСсылка(this.bromClient, узелМетаданных.Имя(), указатель);
                break;

            case ТипКоллекции.ПланСчетов:
                ссылка = new ПланСчетовСсылка(this.bromClient, узелМетаданных.Имя(), указатель);
                break;

            case ТипКоллекции.ПланВидовРасчета:
                ссылка = new ПланВидовРасчетаСсылка(this.bromClient, узелМетаданных.Имя(), указатель);
                break;

            case ТипКоллекции.Задача:
                ссылка = new ЗадачаСсылка(this.bromClient, узелМетаданных.Имя(), указатель);
                break;

            case ТипКоллекции.БизнесПроцесс:
                ссылка = new БизнесПроцессСсылка(this.bromClient, узелМетаданных.Имя(), указатель);
                break;

            default:
                throw new Exception("Указан неверный тип коллекции.");
            }

            this.references[идСсылки] = new WeakReference <Ссылка>(ссылка);
            return((ОбъектСсылка)ссылка);
        }
 internal СправочникОбъект(СправочникСсылка ссылка) : base(ссылка)
 {
 }