Вход | Регистрация

1С:Предприятие ::

Метки:справочники

как быстро найти договор в двухуровневом подчиненном спр.?

Я
   Kat
18.05.04 - 14:18
Функция ПолучитьДоговор(ТекКонтр,ТекКодДог) 
    Если ПустоеЗначение(ТекКодДог) =1 Тогда
        Возврат 0;    
    КонецЕсли;
    Спр = СоздатьОбъект("Справочник.Договора"); 
    Спр.ИспользоватьВладельца(ТекКонтр);
    спр.выбратьЭлементы(0);
    пока спр.получитьЭлемент() = 1 цикл 
           если (спр.код = Строка(текКодДог)) и (спр.владелец = текКонтр) тогда
            Возврат Спр.ТекущийЭлемент();
        конецЕсли;
    конецЦикла;    
    Сообщить("Не найден договор с кодом <"+СОКРЛП(ТекКодДог)+"> для контрагента <"+СОКРЛП(ТекКонтр)+">");
    Возврат 0;
КонецФункции  

перебором получается очень долго. А если искать просто по коду
   Спр.ИспользоватьВладельца(ТекКонтр);
   спр.НайтиПоКоду(ТекКодДог,0)- тогда поиск идет во всем справочнике, не учитывая владельца.
может надо искать по полному коду?
 
 
   SnarkHunter
 
1 - 18.05.04 - 14:30
Как насчет 
Спр.ИспользоватьВладельца(ТекКонтр); 
спр.НайтиПоКоду(ТекКодДог,1);
   lexa
 
2 - 18.05.04 - 14:50
НайтиПоКоду
Найти элемент справочника по коду.

Синтаксис:

НайтиПоКоду(<Код>, <ФлагПоиска>)

Англоязычный синоним:

FindByCode

Параметры:

<Код>
Выражение со значением искомого кода.

<ФлагПоиска>
Необязательный параметр. Числовое выражение — флаг поиска: 0 — поиск во всем справочнике вне зависимости от родителя; 1 — поиск внутри установленного подчинения (родителя); 2 — поиск по полному коду.

Значение по умолчанию: 0 — для справочников, у которых код уникален во всем справочнике; 2 — для справочников, у которых код уникален в группе.

Спр.ИспользоватьВладельца(ТекКонтр); 
спр.НайтиПоКоду(ТекКодДог,1)


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