internal static КонтекстОбъекта ПолучитьКонтекстОбъекта(ОбъектСсылка ссылка) { if (ссылка == null) { throw new ArgumentNullException("ссылка"); } switch (ссылка.ТипКоллекции()) { case ТипКоллекции.Справочник: return(new СправочникОбъект(ссылка as СправочникСсылка)); case ТипКоллекции.Документ: return(new ДокументОбъект(ссылка as ДокументСсылка)); case ТипКоллекции.ПланВидовХарактеристик: return(new ПланВидовХарактеристикОбъект(ссылка as ПланВидовХарактеристикСсылка)); case ТипКоллекции.ПланСчетов: return(new ПланСчетовОбъект(ссылка as ПланСчетовСсылка)); case ТипКоллекции.ПланВидовРасчета: return(new ПланВидовРасчетаОбъект(ссылка as ПланВидовРасчетаСсылка)); case ТипКоллекции.БизнесПроцесс: return(new БизнесПроцессОбъект(ссылка as БизнесПроцессСсылка)); case ТипКоллекции.Задача: return(new ЗадачаОбъект(ссылка as ЗадачаСсылка)); default: throw new ArgumentException(); } }
/// <summary> /// Устанавливает ссылку на объект базы данных 1С. /// </summary> /// <param name="ссылка"></param> public void УстановитьСсылку(ОбъектСсылка ссылка) { if (ссылка == this.reference) { return; } if (ссылка.ТипКоллекции() != this.reference.ТипКоллекции() || ссылка.ИмяКоллекции() != this.reference.ИмяКоллекции()) { throw new ArgumentException(String.Format("Тип аргумента \"ссылка\" не соответствует требуемому типу \"{0}\".", this.reference.ПолноеИмяТипа()), "ссылка"); } this.reference = ссылка; }