From 1c3469395c88f2fde8671a003d322f4ca9162786 Mon Sep 17 00:00:00 2001 From: silverbook Date: Thu, 26 Jun 2025 07:57:15 +0500 Subject: [PATCH] new --- .../Ссылка на объект из навигационной ссылки.md | 36 +++++++++++++++++++ .../Текущий статус согласования объекта.md | 15 ++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/content/docs/knowledge-base/Типовые/ERP/Общего назначения УХ/Ссылка на объект из навигационной ссылки.md create mode 100644 src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Текущий статус согласования объекта.md diff --git a/src/content/docs/knowledge-base/Типовые/ERP/Общего назначения УХ/Ссылка на объект из навигационной ссылки.md b/src/content/docs/knowledge-base/Типовые/ERP/Общего назначения УХ/Ссылка на объект из навигационной ссылки.md new file mode 100644 index 0000000..69f5fc7 --- /dev/null +++ b/src/content/docs/knowledge-base/Типовые/ERP/Общего назначения УХ/Ссылка на объект из навигационной ссылки.md @@ -0,0 +1,36 @@ +--- +title: Ссылка на объект из навигационной ссылки +--- +# Пример вызова +```bsl +Ссылка = ОбщегоНазначенияУХ.СсылкаНаОбъектИзНавигационнойСсылки(СокрЛП(НавигационнаяСсылка)); +``` + +# Реализация (если не УХ) +```bsl +// По тексту навигационной ссылки ТекстСсылкиВход возвращает ссылку на объект +// информационной базы. В случае неудачи преобразования возвращает Неопределено. +Функция СсылкаНаОбъектИзНавигационнойСсылки(ТекстСсылкиВход) Экспорт + РезультатФункции = Неопределено; + Если Лев(ТекстСсылкиВход, 4) = "e1c:" ИЛИ Лев(ТекстСсылкиВход, 4) = "http" Тогда + Попытка + ПозицияОтносительнойСсылки = СтрНайти(ТекстСсылкиВход, "e1cib/data/"); + ТекстСсылкиОчищенный = Прав(ТекстСсылкиВход, СтрДлина(ТекстСсылкиВход) - ПозицияОтносительнойСсылки + 1); + ПозицияПредставленияСсылки = СтрНайти(ТекстСсылкиОчищенный, "?ref="); + ТипЭлементаСтрока = Сред(ТекстСсылкиОчищенный, 12, ПозицияПредставленияСсылки - 12); + ПустаяСсылкаЭлемента = ПредопределенноеЗначение(ТипЭлементаСтрока + ".ПустаяСсылка"); + ВнутрПредставлениеЭлемента = ЗначениеВСтрокуВнутр(ПустаяСсылкаЭлемента); + ПозицияДвоеточия = СтрНайти(ВнутрПредставлениеЭлемента, ":"); + ЛеваяЧасть = Лев(ВнутрПредставлениеЭлемента, ПозицияДвоеточия); + ПраваяЧасть = Сред(ТекстСсылкиОчищенный, ПозицияПредставленияСсылки + 5); + НоваяСсылкаВнутр = ЛеваяЧасть + ПраваяЧасть + "}"; + РезультатФункции = ЗначениеИзСтрокиВнутр(НоваяСсылкаВнутр); + Исключение + РезультатФункции = Неопределено; + КонецПопытки; + Иначе + РезультатФункции = Неопределено; + КонецЕсли; + Возврат РезультатФункции; +КонецФункции +``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Текущий статус согласования объекта.md b/src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Текущий статус согласования объекта.md new file mode 100644 index 0000000..6babc81 --- /dev/null +++ b/src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Текущий статус согласования объекта.md @@ -0,0 +1,15 @@ + +# Описание + +```bsl +// Возвращает статус объекта ОбъектВход, не привязанный к согласованию. +// Когда не удалось получить статус, будет возвращено ЗначениеПоУмолчаниюВход. +Функция ВернутьСтатусОбъекта(ОбъектВход, ЗначениеПоУмолчаниюВход = Неопределено); +``` + +# Пример использования + +```bsl +ТекущийСтатусСогласования = УправлениеПроцессамиСогласованияУХ.ВернутьСтатусОбъекта(Ссылка, + Перечисления.СостоянияСогласования.Черновик); +``` \ No newline at end of file