0
БукинГена
18.01.16
✎
11:42
|
В инете нашел решение и использовал. Но при записи справочника удаленный объект за заполняется, а записывется справочник. Что там не так?
Код:
ГУИДУдОбъкта = "<Объект не найден> (236:b1c21cc1dee9477b11e2ac8d90716ace)";
ГУИДУдОбъктаСтр = СтрЗаменить(ГУИДУдОбъкта,"<Объект не найден> (","");
ГУИДУдОбъктаСтр = СтрЗаменить(ГУИДУдОбъктаСтр,")","");
ГУИДУдОбъктаСтр = СтрЗаменить(ГУИДУдОбъктаСтр,"0x","");
ГУИДУдОбъктаСтр = Сред(ГУИДУдОбъктаСтр, Найти(ГУИДУдОбъктаСтр,":")+1, СтрДлина(ГУИДУдОбъктаСтр));
// Преобразуем GUID
ГУИД_ = Сред(ГУИДУдОбъктаСтр,25,8)+"-"+Сред(ГУИДУдОбъктаСтр,21,4)+"-"+Сред(ГУИДУдОбъктаСтр,17,4)+"-"+Сред(ГУИДУдОбъктаСтр,1,4)+"-"+Сред(ГУИДУдОбъктаСтр,5,12); //и получаем ГУИД = 05dbe824-a4c6-11dd-bf56-00145e3710ab
// Ссылка будет установлена в переменную СсылкаНаОбъектГуид
УникальныйИдентификатор = Новый УникальныйИдентификатор(ГУИД_);
СсылкаНаОбъектГуид = Справочники.ФизическиеЛица.ПолучитьСсылку(УникальныйИдентификатор);
Элемент = Справочники.ФизическиеЛица.СоздатьЭлемент();
Элемент.УстановитьСсылкуНового(СсылкаНаОбъектГуид);
Элемент.Записать();
|
|
2
z80a
18.01.16
✎
11:46
|
Процедура ВосстановитьУдаленныйЭлемент(Ссылка, Код = "", Имя = "<>", ИмяПредопределенный = "") Экспорт
// Генерируем ссылку
УИД = Новый УникальныйИдентификатор(XMLСтрока(Ссылка));
НоваяСсылка = Справочники[Ссылка.Метаданные().Имя].ПолучитьСсылку(УИД);
// Создаем новый элемент
Спр = Справочники[Ссылка.Метаданные().Имя].СоздатьЭлемент();
Спр.УстановитьСсылкуНового(НоваяСсылка);
Спр.Наименование = Имя;
Спр.ИмяПредопределенныхДанных = ИмяПредопределенный;
Если ЗначениеЗаполнено(Код) Тогда
Спр.Код = Код;
КонецЕсли;
Спр.Записать();
КонецПроцедуры
|
|