Добрый день.
Есть кусочек кода выгрузки документы по COM-соединению:
....
УИДоснование=ОбъектОБмена.Ссылка.УникальныйИдентификатор();
УИДстр=Строка(УИДоснование); //строковое представление УИД
ДокПоступленияВН=Соединение.Документы.ПоступлениеТоваровУслуг;
УидВН=Соединение.NewObject("УникальныйИдентификатор",УИДстр);
Если ТекСообщение=ЗначН Тогда
ФлагСозданияДокумента=Истина;
Иначе
ФлагСозданияДокумента=Ложь;
КонецЕсли;
....
Помогите разобрать непонятные моменты:
1. NewObject, в синтакс-помощнике описан только 1 параметр, а на практике используется два?!?!
2. Что означает строковое представление "{""U""}"?
3. В чем смысл этого программного кода:
ТекСсылка=ДокПоступленияВН.ПолучитьСсылку(УидВН);
ТекСообщение=Соединение.ЗначениеВСтрокуВнутр(ТекСсылка);
УидВН=Соединение.NewObject("УникальныйИдентификатор",УИДстр);
Если читать для для обычной базы:
УидВН = Новый УникальныйИдентификатор(УИДстр);
т.е. вторым параметром передается строка в конструктор идентификатора.
(3)
ТекСсылка=ДокПоступленияВН.ПолучитьСсылку(УидВН);
ТекСообщение=Соединение.ЗначениеВСтрокуВнутр(ТекСсылка); //Если это значение равно "{""U""}", можно с 100% вероятностью утверждать, что в базе документа нет?
ОбъектВН=ТекСсылка.ПолучитьОбъект();
ТекСообщение=Соединение.ЗначениеВСтрокуВнутр(ОбъектВН);
(4) Нет. Этот метод только создает ссылку по типу документа и переданному Уиду.(уид типа документа + твой уид) А наличие документа по этой ссылке проверяется ПолучитьОбъект().
Уид типа документа - условное название. Дело в том что таблицы одного типа документов в разных базах могут иметь разные идентификаторы. Даже если эти базы в одном РИБ. Даже если эта база - копия твоей базы, но после реструктуризации допустим, она может поменять идентификатор таблицы типа документов. При этом уиды самого документа останутся одинаковыми. Поэтому так написан твой код. Передается уид, потом создается ссылка на этот тип документа в этой базе, а потом проверяется наличие этого документа в этой базе.
Короче я не силен в специализированных терминах. Если тут есть специалисты пусть поправят.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший