![]() |
![]() |
![]() |
|
v8: Как создать Элемент Справочника со своим ГУИДОМ( или ГУИДОМ другой базы) | ☑ | ||
---|---|---|---|---|
0
zladenuw
12.03.10
✎
10:38
|
Как создать Элемент Справочника со своим ГУИДОМ( или ГУИДОМ другой базы).... или хотя бы где можно про это почитать
|
|||
1
Нуф-Нуф
12.03.10
✎
10:39
|
Если СтрДлина(СокрЛП(GUID)) <> 32 Тогда
Предупреждение("Длина GUID ссылки должна быть равна 32 знакам"); Возврат; КонецЕсли; Если ТипБитойСсылки = Неопределено Тогда Предупреждение("Тип ссылки не задан"); Возврат; КонецЕсли; МетаОбъект = Метаданные.НайтиПоТипу(ТипБитойСсылки.Типы()[0]); ПолноеИмяОбъекта = МетаОбъект.ПолноеИмя(); ТипОбъекта = Лев(ПолноеИмяОбъекта,Найти(ПолноеИмяОбъекта,".")-1); ИмяОбъекта = МетаОбъект.Имя; UUID = Новый УникальныйИдентификатор(ПолучитьUUIDПоУникальномуИдентификатору(GUID)); Если ТипОбъекта = "Справочник" Тогда НоваяСсылка = Справочники[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = Справочники[ИмяОбъекта].СоздатьЭлемент(); Вл = ЭлементыФормы.ПолеВвода.Значение.Ссылка; ИначеЕсли ТипОбъекта = "Документ" Тогда НоваяСсылка = Документы[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = Документы[ИмяОбъекта].СоздатьДокумент(); Ос = ЭлементыФормы.ПолеВвода.Значение.Ссылка; ИначеЕсли ТипОбъекта = "ПланВидовХарактеристик" Тогда НоваяСсылка = ПланыВидовХарактеристик[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = ПланыВидовХарактеристик[ИмяОбъекта].СоздатьЭлемент(); Ос = ЭлементыФормы.ПолеВвода.Значение.Ссылка; ИначеЕсли ТипОбъекта = "ПланСчетов" Тогда НоваяСсылка = ПланыСчетов[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = ПланыСчетов[ИмяОбъекта].СоздатьСчет(); Ос = ЭлементыФормы.ПолеВвода.Значение.Ссылка; ИначеЕсли ТипОбъекта = "ПланВидовРасчета" Тогда НоваяСсылка = ПланыВидовРасчета[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = ПланыВидовРасчета[ИмяОбъекта].СоздатьВидРасчета(); Ос = ЭлементыФормы.ПолеВвода.Значение.Ссылка; ИначеЕсли ТипОбъекта = "ПланОбмена" Тогда НоваяСсылка = ПланыОбмена[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = ПланыОбмена[ИмяОбъекта].СоздатьУзел(); Ос = ЭлементыФормы.ПолеВвода.Значение.Ссылка; ИначеЕсли ТипОбъекта = "БизнесПроцесс" Тогда НоваяСсылка = БизнесПроцессы[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = БизнесПроцессы[ИмяОбъекта].СоздатьБизнесПроцесс(); Ос = ЭлементыФормы.ПолеВвода.Значение.Ссылка; ИначеЕсли ТипОбъекта = "Задача" Тогда НоваяСсылка = Задачи[ИмяОбъекта].ПолучитьСсылку(UUID); НовыйОбъект = Задачи[ИмяОбъекта].СоздатьЗадачу(); Ос = ЭлементыФормы.ПолеВвода.Значение.Ссылка; Иначе Предупреждение("Неизвестный тип объекта"); Возврат; КонецЕсли; Если НоваяСсылка.ПолучитьОбъект() <> Неопределено Тогда Предупреждение("Объект с такой ссылкой существует и не может быть создан"); Возврат; КонецЕсли; Попытка НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка); Если Не ЭлементыФормы.ПолеВвода.Значение.Пустая() Тогда Зн = ЭлементыФормы.ПолеВвода.Значение; Если ТипОбъекта = "Справочник" Тогда НовыйОбъект.Владелец = Вл; Иначе НовыйОбъект.Основание = Ос; КонецЕсли; КонецЕсли; НовыйОбъект.ЕдиницаПоКлассификатору= НовыйОбъект.Владелец.БазоваяЕдиницаИзмерения; НовыйОбъект.Наименование = НовыйОбъект.Владелец.БазоваяЕдиницаИзмерения.Наименование; НовыйОбъект.Коэффициент = 1; новыйобъект.записать(); //НовыйОбъект.ПолучитьФорму().Открыть(); Исключение Предупреждение("Ошибка создания новой ссылки"); КонецПопытки; |
|||
2
Beduin
12.03.10
✎
10:42
|
(1) Ты когда копипастишь хотя бы функции расшифровывай "ПолучитьUUIDПоУникальномуИдентификатору"
|
|||
3
Нуф-Нуф
12.03.10
✎
10:42
|
Функция ПолучитьUUIDПоУникальномуИдентификатору(Знач GUID) Экспорт
ч1 = Сред(GUID,25,8); ч2 = Сред(GUID,21,4); ч3 = Сред(GUID,17,4); ч4 = Сред(GUID,1,4); ч5 = Сред(GUID,5,12); Возврат ч1 +"-"+ ч2 +"-"+ ч3 +"-"+ ч4 +"-"+ ч5; КонецФункции |
|||
4
zladenuw
12.03.10
✎
10:45
|
СПС!!!! ))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |