Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Найти по наименованию. Помогите разобраться  (Прочитано 7169 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Алина
Интересующийся

by
Offline Offline
Пол: Женский

« : 12-07-2018 05:54 » 

Суть в том что я по фамилии нахожу должность сотрудника и хочу по этой должности из другого справочника найти оклад. В справочнике должности должность вносится в Наименование. Вопрос вот в чем: могу ли я в НайтиПоНаименованию внести не строку а например переменную внутри которой строка... или еще как-то. И если нет то как вывести по другому?

Код:
Процедура Сформировать()
Сотр=СоздатьОбъект("Справочник.Сотрудники");   
Дол=СоздатьОбъект("Справочник.Должности");

Сотр.НайтиПоРеквизиту("ФИО","Иванов",1);
Если Сотр.Выбран()=1

Тогда
Предупреждение ("Должность:"+Сотр.Должность);
Дол.НайтиПоНаименованию(Сотр.Должность); 
Если Дол.Выбран()=1
                        Тогда
Предупреждение ("Оклад:"+Дол.Оклад);
Иначе
Предупреждение("Оклад не найден"+"!!!");
КонецЕсли;
Иначе
Предупреждение("Иванов не найден"+"!!!");

КонецЕсли;

//отсоединяем объект
Сотр=0;
КонецПроцедуры

Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #1 : 13-07-2018 03:57 » 

Доброе утро.
Я не знаком с 1С, но думаю проблем быть не должно
Судя по хелпу
Код:
НайтиПоНаименованию(<Наименование>, <ТочноеСоответствие>, <Родитель>, <Владелец>) 
<Наименование> (обязательный). Тип: Строка. Описание: строка, содержащая искомое наименование.
Значит в Наименование можно подставить всё что угодно, от значения справочника, до строки и/или  переменной
Думаю, что-то подобное должно отработать

Код:
Процедура Сформировать()
Сотр=СоздатьОбъект("Справочник.Сотрудники");   
Дол=СоздатьОбъект("Справочник.Должности");

Сотр.НайтиПоРеквизиту("ФИО","Иванов",1);
Если Сотр.Выбран()=1

Тогда
Предупреждение ("Должность:"+Сотр.Должность);
                Должность = Сотр.Должность;
Дол.НайтиПоНаименованию(Должность); 
Если Дол.Выбран()=1
                        Тогда
Предупреждение ("Оклад:"+Дол.Оклад);
Иначе
Предупреждение("Оклад не найден"+"!!!");
КонецЕсли;
Иначе
Предупреждение("Иванов не найден"+"!!!");

КонецЕсли;

//отсоединяем объект
Сотр=0;
КонецПроцедуры

Записан

I Have Nine Lives You Have One Only
THINK!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines