Имя: Пароль:
1C
1С v8
Поиск элементов справочника в документах
0 FuriKuri
 
05.04.13
17:52
Как можно проверить, используется ли элемент справочника "номенклатура" например в документе "Заказ покупателя"?
1 FuriKuri
 
05.04.13
17:56
Вернее в каком либо из документов этого типа
2 Михаил Козлов
 
05.04.13
18:26
Запросом или ГрупповаяОбработкаСправочниковИДокументов.
3 Конфигуратор1с
 
05.04.13
18:28
(0) ПоискСсылокНаобъекты
4 Конфигуратор1с
 
05.04.13
18:28
Глобальный контекст (Global context)
НайтиПоСсылкам (FindByRef)
Синтаксис:

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

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

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

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

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

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Поиск осуществляется только в тех данных, которые доступны в рамках текущего сеанса с учетом разделения (условное разделение учитывается).
Пример:

Ссылки = НайтиПомеченныеНаУдаление();
ТабСсылок = НайтиПоСсылкам(Ссылки);
Для Каждого Ссылка из ТабСсылок Цикл
   Сообщить ("" + СокрЛП(Ссылка[0]) + "  " + СокрЛП(Ссылка[1]));
КонецЦикла;
5 FuriKuri
 
05.04.13
18:36
Спасибо, сделал так:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
              |    Номенклатура.Ссылка
              |ИЗ
              |    Справочник.Номенклатура КАК Номенклатура
              |ГДЕ
              |    Номенклатура.Ссылка В ИЕРАРХИИ(&Папка)
              |    И Номенклатура.ЭтоГруппа = ЛОЖЬ";

Запрос.УстановитьПараметр("Папка",ПапкаПоиска);
   
РезультатЗапроса = Запрос.Выполнить();
   
Выборка = РезультатЗапроса.выгрузить();
Для каждого Элемент из выборка цикл
   Предупреждение(Элемент.Ссылка);
   
    спрс=Элемент.ссылка;
   массивСсылок=новый Массив();
   массивСсылок.Добавить(спрс);
   ТабСсылок = НайтиПоСсылкам(массивСсылок);
6 FuriKuri
 
05.04.13
18:36
Все работает
7 del123
 
05.04.13
18:42
а почему построчно добавляешь в массив и сразу ищешь? что сразу не заполнишь массив, а потом уже будет все ссылки сразу искать?
8 Конфигуратор1с
 
05.04.13
18:49
(7) +100500
так будет в выборка.Количество() раз быстрее)