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

  • Автор темы Автор темы lira89
  • Дата начала Дата начала
L

lira89

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

Читать "Практичское пособие","Простые примеры", Синтаксис- помощник)
 
Спрл = Справочники.МойСправочник.НайтиПоРеквизиту("ФиО",Фио);
Если ЗначениеЗаполнено(Спрл) Тогда
Об = Спрл.ПолучитьОбъект();
Об.Возраст=Возраст;
Об.Записать();
КонецЕсли

В "НайтиПоРеквизиту" используйте третий параметр "Истина" т.е.
Код:
Спрл = Справочники.МойСправочник.НайтиПоРеквизиту("ФиО",Фио, Истина);

Будет искать полное соответствие реквизита и "ФИО"
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab