Имя: Пароль:
1C
1С v8
как оптимальнее (быстрее) найти элемент справочника по наименованию?
0 vostdnn
 
16.05.16
21:18
Добрый день!
вопрос к знатокам: по ощущениям

    "ВЫБРАТЬ ПЕРВЫЕ 1
        |    Номенклатура.Ссылка,
        |    ВЫРАЗИТЬ(Номенклатура.Наименование КАК СТРОКА) КАК Наимен
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    Номенклатура.ЭтоГруппа = &Истина
        |    И Номенклатура.Наименование ПОДОБНО &Наимен";
    
    Запрос.УстановитьПараметр("Истина", Истина);
    Запрос.УстановитьПараметр("Наимен", СокрЛП(стр.ГруппаТовар));

работает не быстрее, чем
поиск по наименованию.
1 Serg_1960
 
16.05.16
21:39
"По ощущениям" Вы не в курсе про замер производительности :)
2 Pistol
 
16.05.16
22:17
(0) >  Запрос.УстановитьПараметр("Истина", Истина);

Боюсь представить себе, что тут может быть еще написано.
3 Злопчинский
 
16.05.16
22:22
Запрос.УстановитьПараметр("Истина", Ложь);
- счастливой отладки!
4 Матиус III
 
16.05.16
22:49
Третий за 2 дня! В желтом доме желтые книжки раздали?
5 AneJIbcuH
 
17.05.16
04:41
"Запрос.УстановитьПараметр("Истина", Истина);"
6 AneJIbcuH
 
17.05.16
04:41
Такого я ещё не видел :))))
7 rphosts
 
17.05.16
04:53
да лана, чел только недавно... сами от рождения умнее Келдыша и Капицы старшего вместе взятых?

тру ленивые и жадные не пишут:

        |    Номенклатура.ЭтоГруппа = &Истина

они пишут

        |    Номенклатура.ЭтоГруппа

и этого достаточно, а кроме того лень писать лишнее!!!

ПОДОБНО вообще ищет не быстро, по полю Наименование у справочника всегда есть индекс, поиск по самому полю вида  =  будет как минимум не медленнее чем ПОДОБНО.

А зачем вам быстро искать группу? Вы делаете это много раз или в чем проблема?
8 Мыш
 
17.05.16
09:40
(0) ВЫРАЗИТЬ(Номенклатура.Наименование КАК СТРОКА) КАК Наимен
Это убрать.
9 Ёпрст
 
гуру
17.05.16
09:46
(0)

А в стр.ГруппаТовар ссылка поди на сам элемент еще, да ?
А вы его представление в запрос пихаете ?
10 lodger
 
17.05.16
09:54
(7) вангую что это делается циклично. переменная "стр." намекает на элемент коллекции.
11 lodger
 
17.05.16
09:55
(0) перепишите вышестоящую выборку на один запрос.
12 Jonny_Khomich
 
17.05.16
10:01
Запрос.УстановитьПараметр("ПустаяСтрока",    "");
13 Jonny_Khomich
 
17.05.16
10:03
Кстати, может он хочет параметру Истина передавать значение из какой-нибудь переменной. А Истина написал, чтобы затроллить нас?
14 Serg_1960
 
17.05.16
10:23
Если уж делать замечание, то: поиск по наименованию работает на соответствии по левому значению наименования. Поэтому сравнение производительности да и само использование ПОДОБНО и такого шаблона - принципиально не верно!
15 Карупян
 
17.05.16
10:30
(7) чтоб в конструкторе такое написать нужно лишние телодвижения совершать
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.