Поиск ссылок на объект

Как найти существующие ссылки на объекты?

Для 8.х НайтиПоСсылкам (FindDataByRef)
Синтаксис:
НайтиПоСсылкам (< Список ссылок> )
Параметры:
<Список ссылок> Обязательный
Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти.
Возвращаемое значение:
Тип: ТаблицаЗначений. Таблица значений, состоящая из ко­лонок с индексами: 0 — Искомая ссылка; 1 — Ссылка на объект, который содержит искомую ссылку.
Описание:
Осуществляет поиск ссылок на объекты.
Код 1C v 8.х //Примеры:
Ссылки = НайтиПомеченныеНаУдаление();
ТабСсылок = НайтиПоСсылкам (Ссылки);
Для Каждого Ссылка из ТабСсылок Цикл
Сообщить (» » + Сокр(Ссылка) + » » + Сокр(Ссылка));
КонецЦикла;
//или
Массив = Новый Массив;
Массив.Добавить(СвылкаНаИскомыйОбъект);
СсылкиНаОбъект = НайтиПоСсылкам(Массив);
Для каждого элем из СсылкиНаОбъект цикл
Сообщить(элем);
ОбработкаПрерыванияПользователя();
КонецЦикла;
Функция НайтиПоСсылке имеет особенность: для корректной её работы необходимо, чтоб все объекты были доступны на чтение. Если у вас есть роли, имеющие ограничение на чтение, то вызов функции НайтиПоСсылке можно выполнять только в привилегированном модуле, иначе может возникать ошибка такого рода:
НайтиПоСсылкам(Ссылки) {(1)}: Ошибка при вызове метода контекста (НайтиПоСсылкам): У пользователя недостаточно прав на исполнение операции над базой данных.
Для 7-рки — НайтиСсылки
Находит ссылки на объекты, переданные в списке значений.
Синтаксис:
НайтиСсылки(<Объекты>,<Ссылки>)
Англоязычныйсиноним:
FindReferences
Параметры:
<Объекты> Конкретное значение объекта илиобъект типа СписокЗначений, в котором данной процедуре передаются объекты, по которым надо найти ссылки.
<Ссылки> Идентификатор объекта типа ТаблицаЗначений, в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. Объект — объект, на который ссылаются; 2. Ссылка — объект, который содержит ссылку; 3. Комментарий — комментарий кссылке.
Описание:
Процедура НайтиСсылки находит ссылки на переданные в списке объекты, и помещает их в таблицу значений.
Код 1C v 7.x СсылкиТЗ=СоздатьОбъект(«ТаблицаЗначений»);
НайтиСсылки(СсылкаНаТовар,СсылкиТЗ);
//В результате мы получаем ТЗ с ссылками на данный элемент

Программа позволяет получить ссылку на любой объект информационной базы — документ, справочник, отчет, обработку, раздел и др. Полученную ссылку можно сохранить и использовать в дальнейшей работе (для перехода к объектам информационной базы, для отправки другим пользователям по электронной почте и пр.). В ссылках системы 1С:Предприятие для их отличия от других ссылок («http», «file» и др.) используется идентификатор «e1cib».

  1. Откройте объект, на который нужно получить ссылку (документ, справочник, отчет и др.).
  2. Команда «Главное меню» — «Сервис» – «Получить ссылку» (рис. 1).
  3. В открывшейся форме «Получение ссылки» по кнопке «Копировать в буфер» (или комбинация клавиш «Ctrl» и «С») текст ссылки поместите в буфер обмена (рис. 2). Скопированную ссылку можно отправить другим пользователям по электронной почте, сохранить в файле для дальнейшего использования, добавить в раздел «Избранное» (для вставки скопированной ссылки в файл или текст письма используйте комбинацию клавиш «Ctrl» и «V»).
  4. Чтобы в информационной базе перейти по ссылке, полученной по электронной почте или сохраненной в файле, выделите ее и скопируйте в буфер обмена (комбинация клавиш «Ctrl» и «С»), выполните в информационной базе команду «Главное меню» — «Сервис» — «Перейти по ссылке» (рис. 3), в открывшейся форме «Переход по ссылке» вставьте сохраненную ссылку (кнопка «Вставить из буфера» или комбинация клавиш «Ctrl» и «V») и нажмите кнопку «Перейти». Откроется объект информационной базы, которому принадлежит данная ссылка.
  5. Чтобы поместить ссылку на объект информационной базы в раздел «Избранное», получите ссылку на него (см. пункты 1- 3) и в форме «Получение ссылки» нажмите кнопку «Добавить в избранное». Звездочка слева от названия объекта окрасится в желтый цвет. Второй способ добавления объекта в раздел «Избранное» — выполнить команду «Главное меню» — «Сервис» — «Добавить в Избранное» (рис. 4). Для перехода к объекту по ссылке из раздела «Избранное» щелкните по пиктограмме «Звездочка» на панели инструментов (в левом верхнем углу экрана программы) и перейдите по ссылке на нужный объект (рис. 5).
  6. Для использования в веб-клиенте ссылку на объект сохраните по кнопке «Внешняя» в форме «Получение ссылки» (рис. 6). Для отличия внешних ссылок от перечисленных выше используется идентификатор «e1c».

Рис. 1

Рис. 2

Рис. 3

Рис. 4

Рис. 5

Рис. 6

Получить форму объекта имея ссылку (УП)

Изначально было всего 2 строчки:

ДокументОбъект = Получить объект по ссылке ФормаДокумента = ДокументОбъект.ПоулчитьФОрму(«ФормаДокумента»);

И эту ересь в УП теперь на кучу строк нужно переписать.

В общих модулях имеется 2 функции, выполняемые — одна на сервере, другая на клиенте.

В функцию выполняющуюся на клиенте приходит ссылка документа (ссылка может быть всегда разной, т.к. разные документы используют функцию). Обращаюсь у серверу для получения по ссылке объекта. Далее — возвращаю структуру с свойствами обратно в функцию. Ссылка на объект имеется так же в структуре, т.к. есть необходимость потом изменить объект. По ссылке нужно так же получить форму на клиенте. Код:

&НаКлиенте … ДокументСтруктура = ВспомФункцииУФСервер.УстановитьСнятьОбработкаЗавершенаПолучитьОбъект(ДокументСсылка); ПараметрыФормы = Новый Структура(«Ключ», ДокументСтруктура.Ссылка); ФормаДокумента = ПолучитьФорму(«ФормаДокумента», ПараметрыФормы); … &НаСервере Функция УстановитьСнятьОбработкаЗавершенаПолучитьОбъект(ДокументСсылка) Экспорт ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); Структура = Новый Структура; Структура.Вставить(«Ссылка», ДокументОбъект.Ссылка); Структура.Вставить(«ОбработкаЗавершена», ДокументОбъект.ОбработкаЗавершена); Возврат Структура; КонецФункции

Не могу разобраться в получении формы по ссылке.

Как программно определить есть ли ссылки на элемент справочника в базе данных?

Глобальный контекст (Global context)
НайтиПоСсылкам (FindByRef)
Синтаксис:
НайтиПоСсылкам(<СписокСсылок>)
Параметры:
<СписокСсылок> (обязательный)
Тип: Массив.
Массив со списком ссылок на объекты, ссылки на которые нужно найти.
Возвращаемое значение:
Тип: ТаблицаЗначений.
Возвращает ссылки на найденные объекты в виде ТаблицаЗначений.
Первая колонка — исходная ссылка.
Вторая колонка — ссылка на объект, если найденная ссылка соответствует объектной таблице или значение, олицетворяющее запись необъектной таблицы.
Третья колонка — объект метаданных, которому соответствуют данные в которых найдена ссылка.
Описание:
Осуществляет поиск ссылок на объекты, переданные в параметре <СписокСсылок>.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Поиск осуществляется только в тех данных, которые доступны в рамках текущего сеанса с учетом разделения (условное разделение учитывается).
Пример:
Ссылки = НайтиПомеченныеНаУдаление();
ТабСсылок = НайтиПоСсылкам(Ссылки);
Для Каждого Ссылка из ТабСсылок Цикл
Сообщить («» + СокрЛП(Ссылка) + » » + СокрЛП(Ссылка));
КонецЦикла;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *