проблема с поиском в справочнике 1с77

lira89

Well-known member
12.03.2010
154
0
#1
Здравствуйте. вот столкнулась с такой проблемой. В таблице значений есть поле Студент (тип строка). Надо найти студента с таким именем в справочнике. Использую следующий код:
Код:
СпрОбуч = СоздатьОбъект("Справочник.Обучение");
Если (СпрОбуч.НайтиПоРеквизиту("ФизЛицо",ТЗ1.Студент,1)=1) Тогда
Эл = СпрОбуч.ТекущийЭлемент();
Если Эл.ЭтоГруппа()=0 Тогда
Если СокрЛП(Эл.НазначениеНаОплату)=СокрЛП(ТЗ1.ИмяЛиста) Тогда
Если (Эл.Зачислен = Перечисление.Зачислен.ПоКонтракту) Тогда
Студент = Эл;
КонецЕсли;
Иначе
Сообщить(".....!","!!");
КонецЕсли;
КонецЕсли;
Иначе
Студент = "";
КонецЕсли;
В результате ни одного человека не находит, причем не срабатывает поиск по реквизиту. Признак сортировки стоит.
Вроде бы пользовалась таким методом всегда и не было проблем, но теперь прохожу через отладчик и вижу следующие значения:
СпрОбуч.НайтиПоРеквизиту("ФизЛицо",ТЗ1.Студент,1) = 1
СпрОбуч.ТекущийЭлемент() = -0У(б)1
СокрЛП(ТЗ1.Студент) = "БАЛБАСОВА АЛИНА АНАТОЛЬЕВНА"
Эл = -0У(б)1

Не могу понять, оно же находит значение и должно позиционироваться на нем, а почему то текущий элемент имеет такой страшный) вид 0У(б)1 (такое название имеет папка второго уровня в данном справочнике). Подскажите, в чем проблема (очень срочно нужно), почему позиционируется на данной папке, а не на элементе?
 

vbs

Well-known member
18.02.2007
1 708
1
#2
Предположу, что реквизит "ФизЛицо" имеет тип НЕ строка. Если он-таки имеет тип справочник ("ФизЛица" ?),
значит, вначале придется найти (по наименованию ?) этот элемент там, а затем уже по найденному элементу
вести поиск по реквизиту в справочнике "Обучение"
 

lira89

Well-known member
12.03.2010
154
0
#3
Вы правы, реквизит ФизЛицо имеет тип Справочник.ФизическиеЛица, а поиск сам осуществляется в справочнике Обучение. А я даже и не думала про такой поиск :)
Спасибо большое за ответ :) , все получилось как надо и самое главное что вовремя!!!!!