Имя: Пароль:
1C
 
Долгая обработка запроса
,
0 stepanov1991
 
06.08.14
19:40
Здравствуйте, все нормально работает, но только долго вываливается список((( секунд 10 ждать приходится(
вот код
Запрос = Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    |    Форматы.Ссылка КАК Формат
    |ИЗ
    |    Справочник.Форматы КАК Форматы
    |ГДЕ
    |    Форматы.Владелец = &Номенклатура
    |    И Форматы.ПометкаУдаления = &Ложь";
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    Запрос.УстановитьПараметр("Ложь",Ложь);
    Результат=Запрос.Выполнить().Выгрузить();
    Результат.Сортировать("Формат");
    //Результат.ВыбратьСтроку();
    Для каждого СтрокаРезультат Из Результат Цикл     
        ЭлементыФормы.ТЧРулоны.Колонки.Формат.ЭлементУправления.СписокВыбора.Добавить(СтрокаРезультат.Формат);     
    КонецЦикла;
    
   ЭлементыФормы.ТЧРулоны.Колонки.Формат.ЭлементУправления.СписокВыбора.Добавить("Новый формат");


Что это может быть?
1 NcSteel
 
06.08.14
19:43
семерочник детектет.
они на свет лезут.
2 MaXpaT
 
06.08.14
19:44
//ЭлементыФормы.ТЧРулоны.Колонки.Формат.ЭлементУправления.СписокВыбора.Добавить(СтрокаРезультат.Формат);  

ёпрст разве так можно?
3 stepanov1991
 
06.08.14
19:45
а как*)
4 MaXpaT
 
06.08.14
19:46
|    И Форматы.ПометкаУдаления = &Ложь";
    Запрос.УстановитьПараметр("Ложь",Ложь);

такой хрени с 2006 года с 8.0 не встречал ...
5 MaXpaT
 
06.08.14
19:47
а по сути: делай без запроса, на форме элемент управления связь по владельцу с номенклатурой

или если хочется запросом: сперва выгружай колонку в Новый СписокЗначений;
а потом уже СписокЗначений подставляй в ЭлементУправления - так быстрее будет, чем визуально каждую строчку добавлять
6 Крошка Ру
 
06.08.14
20:55
(1) ... из-под земли...
7 Fragster
 
гуру
06.08.14
21:06
что-нить типа того:

ЭлементыФормы.ТЧРулоны.Колонки.Формат.ЭлементУправления.СписокВыбора.ЗагрузитьЗначения(Запрос.Выполнить.Выгрузить.ВыгрузитьКолонку("Формат"));
8 Fragster
 
гуру
06.08.14
21:07
вообще в цикле 50 точек нехорошо. надо до цикла получить всёченадо и через одну точку максимум все делать.
9 Fragster
 
гуру
06.08.14
21:08
ну и если циклом хочется, то для запроса еще чуток поможет Форматы.Ссылка КАК Формат, Представление(Форматы.Ссылка) как Представление и в список добавлять и значение и представление
10 Fragster
 
гуру
06.08.14
21:12
еще автору хинт - не надо менять список выбора в обработке выбора из списка. приполученииданных самое то, или приначалередактирования
11 stepanov1991
 
06.08.14
22:50
Этот же можно переделать ?
12 GROOVY
 
06.08.14
22:52
А мы тут конкурс на самый идиотский запрос придумывали...
13 stepanov1991
 
06.08.14
22:59
ну Может быть..
14 Reaper_1c
 
06.08.14
23:28
(12) Зря. Для выявления победителя достаточно мисты. Задания вообще не нужны.
15 stepanov1991
 
06.08.14
23:35
ЭлементыФормы.ТЧРулоны.Колонки.Формат.ЭлементУправления.СписокВыбора.Очистить();
  
   //Сначала попробуем список составить только из тех форматов, что есть в документе
   ВремСп=СформироватьСписокФорматов("из документа");
   Если НЕ ВремСп.Количество() Тогда
       ВремСп=СформироватьСписокФорматов("из справочника");
   КонецЕсли;
  
   ЭлементыФормы.ТЧРулоны.Колонки.Формат.ЭлементУправления.СписокВыбора=ВремСп.Скопировать();
16 stepanov1991
 
06.08.14
23:35
как то вот так нужно сделать?_
17 фобка
 
06.08.14
23:43
Количество() вернет число а не булево.
Для каждого элемента справочника определять свой список каких-то доступных форматов - нехорошо. Лучше завязаться на тип номенклатуры и заранее опрелелить в модуле списки
18 stepanov1991
 
06.08.14
23:45
Фобка, не посмотришь глазами, по удаленке?
19 фобка
 
06.08.14
23:47
В обращении к конкретному элементу формы многовато точек, посмотри как конкретно называется элемент, посмотри отладчиком как до него проще можно добраться
20 stepanov1991
 
06.08.14
23:49
Фобка, только так и можно до него добраться
21 фобка
 
06.08.14
23:51
(20) нет элемента  ТЧРулоныФормат?
22 stepanov1991
 
06.08.14
23:52
есть)
23 фобка
 
06.08.14
23:52
8.1 платформа?
24 stepanov1991
 
06.08.14
23:53
Выводит форматы из документа которые есть, но при выборе на вкладку еще форматы зависает программа(( чего то наделал не так.
25 stepanov1991
 
06.08.14
23:53
8.2
26 stepanov1991
 
06.08.14
23:54
фобка, давай по амми админ посмотришь, что не так делаю?
27 фобка
 
06.08.14
23:57
(26) нет такого, я сплю уже. Возможно ли заранее определить все  комбинации форматов номенклатуры?
28 фобка
 
06.08.14
23:59
Результат.сортировать() - заменить на упорядочить в запросе
Выгружать результат сразу в список, без всяких циклов. Этот список грузить в списоквыбора
Программист всегда исправляет последнюю ошибку.