CollectObjectsLinks

From SunFlurry wiki
Jump to: navigation, search
  CollectObjectsLinks (Сбор информации по ссылкам)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Не список
Визуальность:Нет

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

  • OBJECT -- оригинальный объект, связь которого описана в текущей строке
  • LINK -- объект базы данных, ссылающийся на оригинальный объект
  • LINK TYPE -- полный путь к реквизиту объекта в столбце LINK, который содержит оригинальный объект. Эти значения имеют формат <Тип объекта>.<Вид объекта>{.<Наименование строчной части>}.<Наименование реквизита>.

Синтаксис

CollectObjectsLinks(<Список объектов (LIST)>):<Таблица ссылок данных объектов (TAB)>

Аргументы

  • <Список объектов (LIST)> - Список, содержащий объекты, ссылки на которые необходимо найти.

Возвращаемое значение

Возвращается таблица со списком всех ссылок на исходные объекты объектов.


Примеры

//Фрагмент получает информацию по ссылкам на объекты в списке спЭлементы и копирует ее в визуальную таблицу оСсылки
оСсылки:=Form.оСсылки.Value;
оСсылки.Clear();
Таб:=CollectObjectsLinks(спЭлементы);
Таб.CopyTo(оСсылки);
If оСсылки.SizeC()>2 Then
  //Задать наименования столбцов
  оСсылки.Column(1).Caption:="Объект";
  оСсылки.Column(2).Caption:="Ссылка";
  оСсылки.Column(3).Caption:="Тип ссылки";
EndIf;