This commit is contained in:
silverbook 2025-06-26 07:57:15 +05:00
parent 52364ae955
commit 1c3469395c
2 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,36 @@
---
title: Ссылка на объект из навигационной ссылки
---
# Пример вызова
```bsl
Ссылка = ОбщегоНазначенияУХ.СсылкаНаОбъектИзНавигационнойСсылки(СокрЛП(НавигационнаяСсылка));
```
# Реализация (если не УХ)
```bsl
// По тексту навигационной ссылки ТекстСсылкиВход возвращает ссылку на объект
// информационной базы. В случае неудачи преобразования возвращает Неопределено.
Функция СсылкаНаОбъектИзНавигационнойСсылки(ТекстСсылкиВход) Экспорт
РезультатФункции = Неопределено;
Если Лев(ТекстСсылкиВход, 4) = "e1c:" ИЛИ Лев(ТекстСсылкиВход, 4) = "http" Тогда
Попытка
ПозицияОтносительнойСсылки = СтрНайти(ТекстСсылкиВход, "e1cib/data/");
ТекстСсылкиОчищенный = Прав(ТекстСсылкиВход, СтрДлина(ТекстСсылкиВход) - ПозицияОтносительнойСсылки + 1);
ПозицияПредставленияСсылки = СтрНайти(ТекстСсылкиОчищенный, "?ref=");
ТипЭлементаСтрока = Сред(ТекстСсылкиОчищенный, 12, ПозицияПредставленияСсылки - 12);
ПустаяСсылкаЭлемента = ПредопределенноеЗначение(ТипЭлементаСтрока + ".ПустаяСсылка");
ВнутрПредставлениеЭлемента = ЗначениеВСтрокуВнутр(ПустаяСсылкаЭлемента);
ПозицияДвоеточия = СтрНайти(ВнутрПредставлениеЭлемента, ":");
ЛеваяЧасть = Лев(ВнутрПредставлениеЭлемента, ПозицияДвоеточия);
ПраваяЧасть = Сред(ТекстСсылкиОчищенный, ПозицияПредставленияСсылки + 5);
НоваяСсылкаВнутр = ЛеваяЧасть + ПраваяЧасть + "}";
РезультатФункции = ЗначениеИзСтрокиВнутр(НоваяСсылкаВнутр);
Исключение
РезультатФункции = Неопределено;
КонецПопытки;
Иначе
РезультатФункции = Неопределено;
КонецЕсли;
Возврат РезультатФункции;
КонецФункции
```

View File

@ -0,0 +1,15 @@
# Описание
```bsl
// Возвращает статус объекта ОбъектВход, не привязанный к согласованию.
// Когда не удалось получить статус, будет возвращено ЗначениеПоУмолчаниюВход.
Функция ВернутьСтатусОбъекта(ОбъектВход, ЗначениеПоУмолчаниюВход = Неопределено);
```
# Пример использования
```bsl
ТекущийСтатусСогласования = УправлениеПроцессамиСогласованияУХ.ВернутьСтатусОбъекта(Ссылка,
Перечисления.СостоянияСогласования.Черновик);
```