Как найти все ссылки на справочник 1с

При работе с 1С бывает нужно найти список всех объектов, где встречается номенклатура, контрагент или другие элементы. Вручную конечно же это сделать нереально. Есть специальная обработка, которая позволяет выполнять в информационной базе поиск ссылок на нужный объект, – Поиск ссылок на объекты. Рассмотрим, как пользоваться на примере программы 1С:Бухгалтерия предприятия. В других типовых конфигурациях 1С эта обработка также есть.

Для запуска обработки зайдите в меню Сервис и настройки – Все функции.

Отметим, что начиная с версии платформы 8.3.17 команда Все функции переименована в Функции технического специалиста.

В открывшемся окне введите слово Поиск, выделите пункт Поиск ссылок на объекты и нажмите Открыть.

Другой способ открытия обработки – через ветку Стандартные.

В поле Объект нажмите на значок с тремя точками.

Выделите в списке объект, на который нужно найти ссылки, и нажмите ОК.

Затем выберите конкретный элемент.

Запустите поиск по кнопке Найти ссылки.

Отобразится список документов, справочников и регистров сведений, в которых встречается этот объект. Снизу показывается общее количество ссылок.

При нажатии на любую ссылку откроется окно справочника или документа.

Кнопка Вывести список отобразит найденные ссылки в табличном или текстовом документе.

Далее вы можете сохранить список в удобном формате. Для этого нажмите на три точки и выберите меню Файл – Сохранить.

Мы рассмотрели, как быстро найти ссылки на объекты.

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

См. также:

  • Поиск и удаление дублей 1С 8.3
  • Поиск и замена значений 1С 8.3
  • Как удалить помеченные на удаление документы в 1С 8.3
  • Групповое перепроведение документов в 1С 8.3 Бухгалтерия 3.0
  • Групповая обработка справочников и документов в 1С 8.3
  • Сбилась нумерация документов в 1С 8.3: как исправить

Если Вы еще не подписаны:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы Бухэксперт8, записи поддерживающих эфиров и вы сможете задавать любые вопросы по программе 1С.

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Оцените публикацию

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд

(1 оценок, среднее: 5,00 из 5)

Загрузка…

 +7 

   

Распечатать

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

Для 8.х НайтиПоСсылкам (FindDataByRef)
Синтаксис:
НайтиПоСсылкам (< Список ссылок> )
Параметры:
<Список ссылок> Обязательный
Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти.
Возвращаемое значение:
Тип: ТаблицаЗначений. Таблица значений, состоящая из ко­лонок с индексами: 0 — Искомая ссылка; 1 — Ссылка на объект, который содержит искомую ссылку.
Описание:
Осуществляет поиск ссылок на объекты.

Код 1C v 8.х

 //Примеры:
Ссылки = НайтиПомеченныеНаУдаление();
ТабСсылок = НайтиПоСсылкам (Ссылки);
Для Каждого Ссылка из ТабСсылок Цикл
Сообщить (" " + Сокр(Ссылка[0]) + " " + Сокр(Ссылка[1]));
КонецЦикла;
//или
Массив = Новый Массив;
Массив.Добавить(СвылкаНаИскомыйОбъект);
СсылкиНаОбъект = НайтиПоСсылкам(Массив);
Для каждого элем из СсылкиНаОбъект цикл
Сообщить(элем);
ОбработкаПрерыванияПользователя();
КонецЦикла;

Функция НайтиПоСсылке имеет особенность: для корректной её работы необходимо, чтоб все объекты были доступны на чтение. Если у вас есть роли, имеющие ограничение на чтение, то вызов функции НайтиПоСсылке можно выполнять только в привилегированном модуле, иначе может возникать ошибка такого рода:
НайтиПоСсылкам(Ссылки) {(1)}: Ошибка при вызове метода контекста (НайтиПоСсылкам): У пользователя недостаточно прав на исполнение операции над базой данных.

Для 7-рки — НайтиСсылки
Находит ссылки на объекты, переданные в списке значений.
Синтаксис:
НайтиСсылки(<Объекты>,<Ссылки>)
Англоязычныйсиноним:
FindReferences
Параметры:
<Объекты> Конкретное значение объекта илиобъект типа СписокЗначений, в котором данной процедуре передаются объекты, по которым надо найти ссылки.
<Ссылки> Идентификатор объекта типа ТаблицаЗначений, в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. Объект — объект, на который ссылаются; 2. Ссылка — объект, который содержит ссылку; 3. Комментарий — комментарий кссылке.
Описание:
Процедура НайтиСсылки находит ссылки на переданные в списке объекты, и помещает их в таблицу значений.

Код 1C v 7.x

 СсылкиТЗ=СоздатьОбъект("ТаблицаЗначений");
НайтиСсылки(СсылкаНаТовар,СсылкиТЗ);
//В результате мы получаем ТЗ с ссылками на данный элемент

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

Обработка в программе 1С Поиск ссылок на объект позволяет найти в базе данных все места, где использован указанный объект. Функцию используют:

  • для проверки ссылки перед удалением, чтобы не повредить целостность базы;
  • быстрого поиска всех объектов, где использовался элемент, например, для его замены;
  • просмотра истории использования элемента в других объектах.

Механизм поиска ссылок встроен во все типовые конфигурации. Примеры рассмотрены на 1С 8.3 Бухгалтерия.

Содержание

  • 1 Запуск и использование обработки в режиме 1С:Предприятия
  • 2 Поиск ссылок на объект в конфигураторе
  • 3 Программный поиск ссылок на объекты
    • 3.1 Вам будет интересно

Запуск и использование обработки в режиме 1С:Предприятия

Чтобы начать поиск ссылок на объекты в 1С 8.3:

Программа 1С хоть и позволяет выделить в окне выбора несколько элементов, но в конечное поле Объект поместить только один, выделенный последним. Т. е. задать поиск сразу по нескольким ссылкам невозможно.

Поиск ссылок на объект в конфигураторе

В работу конфигуратора тоже встроен механизм поиска ссылок на объект. Только ссылки он ищет не в информационной базе среди данных, введенных пользователем, а в структуре конфигурации на использование выбранного объекта метаданных в других элементах конфигурации.

Для запуска нажатием правой кнопкой мыши по объекту вызовите контекстное меню и выберите команду Поиск ссылок на объект.

image022

В окне Поиск ссылок отметьте места, которые требуется проанализировать на наличие искомого объекта:

image024

В результат поиска не включаются макеты, на которых расположены одноименные с искомым объектом параметры. Для подобного анализа лучше воспользуйтесь Глобальным поиском.

image032

Исключения возникают, только если свойство ПараметрРасшифровки ячейки макета совпадает с наименованием источника поиска.

image034

Список мест в окне Поиск ссылок является фиксированным, его нельзя дополнить или изменить.

Результат поиска отображается в виде служебного сообщения.

image040

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

Программный поиск ссылок на объекты

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

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

Функция НайтиПоСсылкам() выполняется на сервере, встроена в платформу начиная с версии 8.3.5. Используется в коде стандартных обработках конфигураций — таких, как Удаление помеченных объектов, Скрытие конфиденциальной информации и др.

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

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

См. также:

  • Использование кнопки «Все функции» в 1С 8.3
  • Поиск и замена значений в 1С Бухгалтерия 8.3
  • Обнаружено неправомерное использование 1C — как убрать
  • Интерфейс 1С 8.3 Бухгалтерия 3.0
  • Как посмотреть, какая версия 1С 8.3 установлена
  • Как в 1С посмотреть историю изменения документа
  • Пропало главное меню в 1С 8.3
  • Как в 1С выделить несколько объектов
  • Как подключиться к 1С через тонкий клиент

Поставьте вашу оценку этой статье:

Загрузка…

Дата публикации: Дек 9, 2020

Поставьте вашу оценку этой статье:

Загрузка…

Работая в конфигурациях 1С, иногда приходится сталкиваться с ситуациями, когда нужно понять, в каких документах, регистрах, либо справочниках применяется определенный объект (к примеру, контрагент, ОС, банковский счет, кредитное учреждение и прочее). Эти сведения требуются для того, чтобы проверить ведение учетных данных в базе. Также они пригодятся при появлении определенных неточностей или несоответствии информации. Для этого в программе 1С 8.3 предусмотрена особая обработка – «Поиск ссылок на объект». Разберем особенности ее использования на примере конфигурации 1С: Бухгалтерия, редакция 3.0.

Поиск ссылок на объект в 1С: Бухгалтерия

Открыть обработку через меню «Функции для технического специалиста» (до редакции решения 8.3.17 – Все функции).

Рис. Настройки налогов и отчетов. Функции для технического специалиста в 1С

В перечне найти «Стандартные» – «Поиск ссылок на объекты»:

Рис. Функции для технических специалистов. Стандартные. Поиск ссылок на объекты в 1С

В появившемся окне в поле «Объект» через 3 точки выбрать объект, требующий анализа.

Рис. Поиск ссылок на объект. Выбор типа данных в 1С

Например, необходима проверка того, какие документы корректировались определенным пользователем. Для этих целей в поле «Объект» выбрать «Пользователь»:

Рис. Поиск ссылок на объект. Пользователь в 1С

Появляется дополнительное окно с указанием всех пользователей этой конфигурации.

Рис. Ссылки на объекты в программе 1С. Выбор пользователя

По нажатию кнопки «Найти ссылки» конфигурация выдаст все справочники, документы, регистры, где записан интересующий нас пользователь.

Рис. Поиск ссылок на объект. Найти ссылки в 1С

Кроме того, в доступных ссылках можно отыскать определенный документ, например, «Начисление заработной платы», нажав на кнопку «Найти».

Рис. Поиск ссылки на объект. Начисление зарплаты в 1С

В итоге получится следующее:

Рис. Поиск ссылок на объект. Перечень в 1С

То есть в рассматриваемом примере под необходимым пользователем создавался лишь один документ начисления заработной платы. Эти данные помогут руководителю контролировать работников.

Кроме того, эта обработка пригодится и в иных ситуациях. К примеру, при задвоении номенклатурных позиций (для того, чтобы удалить лишний элемент), либо при поиске мест применения отмеченных для удаления элементов справочника (для того, чтобы исправить учетную информацию в базе).

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

Я
   Юрий Михалыч

11.11.08 — 11:44

Можно както посмотреть стандартную процедуру Поиска ссылок на объект?

   Юрий Михалыч

1 — 11.11.08 — 11:44

для 8ки

   ДенисЧ

2 — 11.11.08 — 11:45

Что значит «посмотреть» ?

   nop

3 — 11.11.08 — 11:45

Можно, вот

НайтиСсылки(<?>,);
Синтаксис:
НайтиСсылки(<Объекты>,<Ссылки>)
Назначение:
Находит ссылки на объекты, переданные в списке значений.
Параметры:
<Объекты> — конкретное значение искомого объекта или значение типа »СписокЗначений», в котором данной процедуре передаются объекты, по которым надо найти ссылки.
<Ссылки> — идентификатор объекта типа »ТаблицаЗначений», в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. объект на который ссылаются; 2. объект, который содержит ссылку; 3. комментарий к ссылке.

   Юрий Михалыч

4 — 11.11.08 — 11:46

(3) Шпасиба

   Юрий Михалыч

5 — 11.11.08 — 11:47

(3) ой, мне для 8ки

   Sadovnikov

6 — 11.11.08 — 11:48

Глобальный контекст

НайтиПоСсылкам (FindByRef)

Синтаксис:

НайтиПоСсылкам(<Список ссылок>)

Параметры:

<Список ссылок> (обязательный)

Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти.

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

Тип: ТаблицаЗначений. Возвращает ссылки на найденные объекты в виде ТаблицаЗначений, состоящей из колонок с индексами: 0 — искомая ссылка; 1 — ссылка на объект, если найдена ссылка в объектной таблице; ключ записи, если ссылка найдена в независимом регистре сведений; ссылка на документ-регистратор для всех остальных необъектных таблиц; 2 — объект метаданных, которому соответствуют данные из колонки 1.

Описание:

Осуществляет поиск ссылок на объекты, переданные в параметре <Список ссылок>.

Пример:

Ссылки = НайтиПомеченныеНаУдаление();

ТабСсылок = НайтиПоСсылкам(Ссылки);

Для Каждого Ссылка из ТабСсылок Цикл

   Сообщить («» + СокрЛП(Ссылка[0]) + » » + СокрЛП(Ссылка[1]));

КонецЦикла;

   ДенисЧ

7 — 11.11.08 — 11:49

Мда… Массовое воровство СП набирает обороты… Кризис… Жрать нечего, пытаются жрать СП, хотя его курить надо…

   Юрий Михалыч

8 — 11.11.08 — 11:50

(2) Посмотреть — значит найти. Это процедура в контекстном меню выбирается для объектов конфигурации.

   Юрий Михалыч

9 — 11.11.08 — 11:54

Нипанятно…

А если мне надо найти все ссылки на объект метаданных например справочника  как мне надо написать?

сцылка = Справочники.Контрагенты.ПолучитьСсылку();

Ссылки= Новый Массив;

Ссылки.Добавить(сцылка) ;

СсылкиСС = НайтиПоСсылкам(Ссылки);

Вот так?

   MRAK

10 — 11.11.08 — 11:57

на ИТС есть обработка удаления помеченных…

   Юрий Михалыч

11 — 11.11.08 — 12:00

да на кой х мне помеченные?

   dimoff

12 — 11.11.08 — 12:02

(9) Нет, все элементы справочника собрать в массив

   Immortal

13 — 11.11.08 — 12:02

алгоритм посмотреть и не задавать глупых вопросов

   Mitriy

14 — 11.11.08 — 12:04

(11) а на кой х справшивать?

   Юрий Михалыч

15 — 11.11.08 — 12:13

(10) за какой месяц ИТС?

   Mitriy

16 — 11.11.08 — 12:19

(15) любой, поиском УдалениеПомеченныхОбъектов.epf, а еще тоже интересная в этом смысле ПоискИЗаменаЗначений.epf (там же)

   афаф

17 — 11.11.08 — 12:19

// Как то так, я думаю…

   Массив = Новый Массив;

   Массив.Добавить(МояСсылка);

   Сообщить(«Старт в «+ТекущаяДата());

   ТабСсылок = НайтиПоСсылкам(Массив);    

   Для Каждого Ссылка1 из ТабСсылок Цикл

         Сообщить (»  » + СокрЛП(Ссылка1[0]) + » » + СокрЛП(Ссылка1[1]));

   КонецЦикла;

   Сообщить(«Конец в «+ТекущаяДата());

   Юрий Михалыч

18 — 11.11.08 — 12:36

Нет, мне нужно получить ссылки на объект метаданных как в конфигураторе — правой кнопкой по справочнику — поиск ссылок на объект

   Mitriy

19 — 11.11.08 — 12:40

упс…

   MRAK

20 — 11.11.08 — 12:42

ужос мля… вопросы учимся правильно задавать…

   Юрий Михалыч

21 — 11.11.08 — 12:44

(20) смотри (8)

   NcSteel

22 — 11.11.08 — 12:46

(21) Цикл по методанным.

   Юрий Михалыч

23 — 11.11.08 — 13:00

Массив = Новый Массив;

Массив.Добавить(«Справочники.Конрагенты»);

Массив.Добавить(«Документы»);

Для Каждого ТекЭлемент Из Массив Цикл

   Для Каждого ТекМета Из Метаданные[ТекЭлемент] Цикл

       Сообщить(ТекМета.Имя);

   КонецЦикла;

КонецЦикла;

не выходит каменный цветок

  

Юрий Михалыч

24 — 11.11.08 — 14:03

ап

Я в одной книжке по программированию как то прочитал: «Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.»

Понравилась статья? Поделить с друзьями:
  • Как найти угол наклона кривой проведя касательную
  • Как найти все мои подписки в яндекс
  • Как найти скорость удаления пешеходов
  • Как найти передачу которую пропустил
  • Ошибка е16 на принтере canon mp250 как исправить