Прямую ссылку на объект из навигационной ссылки

21.11.25

Разработка - Универсальные функции

Пример программной конвертации навигационной ссылки в прямую ссылку на объект.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Получить ссылку из навигационной ссылки:
.epf 6,19Kb
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Возникла необходимость найти конкретный отчёт, однако в системе был доступен лишь элемент навигации, ведущий на вариант этого отчёта. Более простого решения для непосредственного получения самого объекта мне обнаружить не удалось, поэтому был выбран следующий метод: конвертация навигационной ссылки в прямую ссылку на объект отчёта.

Как это часто бывает в разработке, не пришлось изобретать велосипед — готовое решение было найдено в интернете и успешно адаптировано.

Стоит отметить, что данный подход универсален. Если требуется найти не отчёт, а любой другой объект метаданных, можно воспользоваться отладчиком, устанавливая точки останова (F9) и анализируя контекст выполнения.

&НаСервере
Процедура Команда1НаСервере()
    // Вставить содержимое обработчика.  
    Об =ПолучитьСсылкуИзНавигационной(НС);
    сообщить(Об.Отчет);  
    
    
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры

    &НаСервере
Функция ПолучитьСсылкуИзНавигационной(НС) Экспорт
    
    ПерваяТочка = Найти(НС, "e1cib/data/");
    ВтораяТочка = Найти(НС, "?ref=");
    
    ПредставлениеТипа   = Сред(НС, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
    ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
    ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(НС, ВтораяТочка + 5));
    Возврат ЗначениеИзСтрокиВнутр(ЗначениеСсылки);
        
КонецФункции

Примерный алгоритм применения можно увидеть в приведенном коде или приложенной обработке. Вызывается через "Файл" - "Открыть". Пример будет работоспособен на любой конфигурации на управляемых формах.

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.24.62

Вступайте в нашу телеграмм-группу Инфостарт

Навигационная ссылка

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3318    Abysswalker    7    

44

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    6169    DeerCven    15    

57

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    48208    dimanich70    83    

169

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7257    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    60141    atdonya    31    

69

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9034    ke.92@mail.ru    17    

68
Для отправки сообщения требуется регистрация/авторизация