Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Поиск справочника по коду

Поиск справочника по коду
Я
   grasshoper
 
02.03.20 - 15:52
День добрый. Пробую реализовать такую конструкцию:
Справочники.Договоры.НайтиПоКоду(Код, ИСТИНА, ?(Табл.Свойство("Родитель"), Родитель, Неопределено), ?(Табл.Свойство("Владелец"), Владелец, Неопределено));

Задача: как сделать так, чтобы при наличии у таблицы свойства "Родитель" договор искался в пределах родителя, а при наличии владельца и родителя искался соответственно в подчинении родителя и владельца.

Для подчиненных справочников отрабатывает, а вот для справочника без родителей и владельцев такой метод просто по коду уже не ищет. Что передавать в параметры функции НайтиПоКоду(), чтобы при поиске родитель и владелец игнорировался? Хочу сделать универсально, чтобы не проверять если ли у справочника родитель, то искать в пределах подчинения родителю, а если нет родителя, то в общем списке.
   grasshoper
 
1 - 02.03.20 - 15:57
"Пока работает так"
Если Табл.Свойство("Родитель") И Табл.Свойство("Владелец") Тогда 
    Объект = Справочники.Договоры.НайтиПоКоду(КодДоговора, ИСТИНА, Табл["Родитель"], Табл["Владелец"]);
ИначеЕсли Табл.Свойство("Родитель") Тогда
    Объект = Справочники.Договоры.НайтиПоКоду(КодДоговора, ИСТИНА, Табл["Родитель"]);
ИначеЕсли Табл.Свойство("Владелец") Тогда
    Объект = Справочники.Договоры.НайтиПоКоду(КодДоговора, ИСТИНА, , Табл["Владелец"]);
Иначе
    Объект = Справочники.Договоры.НайтиПоКоду(КодДоговора, ИСТИНА);
КонецЕсли;

"Но не охота лепить такие костыли
   Ёпрст
 
2 - 02.03.20 - 16:01
(0) запрос же
   drcrasher
 
3 - 02.03.20 - 16:01
но зачем?
   grasshoper
 
4 - 02.03.20 - 16:04
(2) нужно именно таким методом. что в пустые параметры ставить? Пустую ссылку на справочник, NULL или Неопределено?
   shuhard
 
5 - 02.03.20 - 16:05
(1) это не костыль, это навыки ООП =)
   ДенисЧ
 
6 - 02.03.20 - 16:08
(5) Если это ООП, то я тибетский ёж.
   shuhard
 
7 - 02.03.20 - 16:09
(6) вот ты какой, горный ёж =)

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