Имя: Пароль:
1C
1С v8
Почему в этом участке поиск зависает?
0 мистер игрек
 
29.03.18
11:58
ОчиститьОтборыКлиент(Истина);
    
    ПоискССозданиемСписков = Истина;
    ВидПоискаКраткий = СтрЗаменить(ВидПоиска, "_ПолноеСоответствие", "");
    
    ПоискПоПолномуСоответствию = Найти(ВидПоиска, "_ПолноеСоответствие") > 0;
    
    Если НЕ ПустаяСтрока(ПолеПоиска) Тогда
        
        Если ВидПоискаКраткий = "Везде" Тогда
            ВыполнитьПоискВезде();
        ИначеЕсли ВидПоискаКраткий = "Штрихкод" Тогда
            ВыполнитьПоискПоШтрихкоду();
        ИначеЕсли ВидПоискаКраткий = "SKU" Тогда
            
            Попытка
                
                ПолеПоискаЧисло = Число(ПолеПоиска);
                ВыполнитьПоискПоSKU(ПолеПоискаЧисло);
                
            Исключение
                
                ПоискССозданиемСписков = Ложь;
                
            КонецПопытки;
            
        Иначе
            
            ЭлементОтбора = Товары.КомпоновщикНастроек.Настройки.Отбор.ПолучитьОбъектПоИдентификатору(СтруктураВидовПоискаИЭлементовОтбора[ВидПоиска]);
            //вот здесь и зависает
            Если ЭлементОтбора <> Неопределено Тогда                
                ЭлементОтбора.Использование  = Истина;
                ЭлементОтбора.ПравоеЗначение = ПолеПоиска;
                ПоискССозданиемСписков = Ложь;                      
            КонецЕсли;
            
        КонецЕсли;
        
    КонецЕсли;


"Товары" это реквизит управляемой формы с динамическим списком
1 lodger
 
29.03.18
12:01
значит ДС криво отдает ПолучитьОбъектПоИдентификатору()
или в СтруктураВидовПоискаИЭлементовОтбора[ВидПоиска] бурда какая-то.
разделите на две строки и посмотрите в отладчике.
2 мистер игрек
 
29.03.18
12:04
нет, зависание идет после этого кода
3 мистер игрек
 
29.03.18
12:26
Если еще детализировать тогда здесь зависает

ЭлементОтбора.ПравоеЗначение = ПолеПоиска;
4 lodger
 
29.03.18
12:55
(3) попробуй делать это не на клиенте, а на сервере, возможно даже с контекстом.
5 мистер игрек
 
29.03.18
13:17
(4) Пробовал. Та же фигня
6 мистер игрек
 
29.03.18
13:17
может это фича платформы?
7 George Wheels
 
29.03.18
13:38
Попробуй запихнуть в Попытка .. Исключение и посмотреть что происходит.
8 мистер игрек
 
29.03.18
13:41
(7) но там же не происходит исключение