Изменение реквизита Справочника через Документ

lira89

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

vbs

Well-known member
18.02.2007
1 708
1
#2
Похоже, надо так :
Если Спрл.НайтиПоРеквизиту("ФИО",ФИО) = 1 Тогда
Спрл.Возраст=Возраст;
Спрл.Записать();
КонецЕсли
 
S

strenuus

#3
А если то же самое, только в версии 8.1. Просто синтаксис другой и я не знаком с предыдущими версиями.
 
S

strenuus

#5
Просто нигде не написано как обращаться к определенной записи в справочнике из документа. Запись типа:
Спрл.Возраст=Возраст; вообще не поддерживается. Или может я где-то торможу.
А книг я перешерстил много. Очень много и просто так вопрос не задавал бы. Или дайте хоть название книги, где это можно прочесть.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#6
Эх... могу наврать по памяти:
Спрл = Справочники.МойСправочник.НайтиПоРеквизиту("ФиО",Фио);
Если ЗначениеЗаполнено(Спрл) Тогда
Об = Спрл.ПолучитьОбъект();
Об.Возраст=Возраст;
Об.Записать();
КонецЕсли

Читать "Практичское пособие","Простые примеры", Синтаксис- помощник)
 

Darlock

Well-known member
04.01.2008
560
1
#7
Спрл = Справочники.МойСправочник.НайтиПоРеквизиту("ФиО",Фио);
Если ЗначениеЗаполнено(Спрл) Тогда
Об = Спрл.ПолучитьОбъект();
Об.Возраст=Возраст;
Об.Записать();
КонецЕсли
В "НайтиПоРеквизиту" используйте третий параметр "Истина" т.е.
Код:
Спрл = Справочники.МойСправочник.НайтиПоРеквизиту("ФиО",Фио, Истина);
Будет искать полное соответствие реквизита и "ФИО"