Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Поиск по реквизиту в многоуровневом справочнике

v7: Поиск по реквизиту в многоуровневом справочнике
Я
   Grifon91
 
07.01.13 - 18:16
Здравствуте товарищи форумчане, помогите пожалуйста застрял на простейшем.
СпрАвто = СоздатьОбъект("Справочник.Авто");
    СпрАвто.ВыбратьЭлементы();     
пока СпрАвто.ПолучитьЭлемент()=1  цикл  
    Если СпрАвто.НайтиПоРеквизиту("Год",поиск,1)=1 Тогда 
    Сообщить (СпрАвто.ТекущийЭлемент());            
    КонецЕсли;
конеццикла 

Выводит одно значение если есть, а дальше ошибка не выбран элемент. Пол дня бьюсь, понимаю что просто, а не могу найти в чем ошибка.
 
 
   Aleksey
 
1 - 07.01.13 - 18:21
(0) Только запросом
   Aleksey
 
2 - 07.01.13 - 18:22
либо

ВыбратьЭлементыПоРеквизиту(<?>,,,)
Синтаксис:
ВыбратьЭлементыПоРеквизиту(<ИмяРеквизита>,<Значение>,<РежимИерархии>,<РежимГрупп>)
Назначение:
Открыть выборку элементов справочника по значению реквизита.
Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент;
0 - если действие не выполнено или в выборке нет ни одного элемента.
Параметры:
<ИмяРеквизита> - строка с именем реквизита, по которому выполняется выборка;
<Значение> - значение реквизита для выборки;
<РежимИерархии> - как выбирать:
1 - выбирать элементы с учетом иерархии,
0 - выбирать элементы без учета иерархии (необязателен, по умолчанию - 1);
<РежимГрупп> - что выбирать:
1 - выбирать среди групп справочника,
0 - выбирать только среди элементов справочника.
Замечание:
Метод можно использовать только для реквизитов с установленным признаком ''Сортировка''.
Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.
   Torquader
 
3 - 07.01.13 - 18:26
Если СпрАвто.НайтиПоРеквизиту("Год",поиск,1)=1
Это сбивает перебор, так как устанавливается на первом элементе с заданным реквизитом.

Если у реквизита в конфигураторе стоит галочка "Отбор", то можно сделать так:
Если СпрАвто.ВыбратьЭлементыПоРеквизиту("Год",поиск,1,1)=1 Тогда
 Пока СпрАвто.ПолучитьЭлемент(1)=1 Цикл
 // здесь мы можем обработать то, что получили
 
 КонецЦикла;
КонецЕсли;

Список тем форума
Рекламное место пустует  Рекламное место пустует
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует