![]() |
|
Разминка для мозгов УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
volfy
16.07.13
✎
11:56
|
Есть конфа, ут 10.3 на обычных формах, нужно в списке заказов клиентов выделить цветом уже закрытые заказы, запрос есть но для каждой строки это делать очень ущербно быстродействию, подскажите есть ли вариант увеличить быстродействие и как это сделать?
|
|||
1
H A D G E H O G s
16.07.13
✎
11:57
|
Есть.
Искать в поиске. |
|||
2
H A D G E H O G s
16.07.13
✎
11:57
|
P.s. Мозги там непричем.
|
|||
3
volfy
16.07.13
✎
11:57
|
Ну серьёзно =)
|
|||
4
zhig75
16.07.13
✎
11:58
|
В списке процедура ПриВыводеСтроки юзай ОформлениеСтроки.
|
|||
5
volfy
16.07.13
✎
11:59
|
Натолкни на мысль =)
|
|||
6
Ненавижу 1С
гуру
16.07.13
✎
11:59
|
делай для набора в ПриПолученииДанных, а не каждой строки
либо храни эту информацию предрасчитанной |
|||
7
volfy
16.07.13
✎
11:59
|
Функция ЗаказЗакрыт(ДокСсылка)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЕСТЬNULL(РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток, 0) КАК СуммаВзаиморасчетовОстаток |ИЗ | РегистрНакопления.ЗаказыПокупателей.Остатки(, ЗаказПокупателя = &ЗаказПокупателя) КАК ЗаказыПокупателейОстатки | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами.Остатки(, Сделка = &ЗаказПокупателя) КАК РасчетыСКонтрагентамиОстатки | ПО ЗаказыПокупателейОстатки.ЗаказПокупателя = РасчетыСКонтрагентамиОстатки.Сделка"; Запрос.УстановитьПараметр("ЗаказПокупателя", ДокСсылка); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Если ВыборкаДетальныеЗаписи.Следующий() Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок) // Вставить содержимое обработчика. Для Каждого СтрокаСписка Из ОформленияСтрок Цикл Если СтрокаСписка.ДанныеСтроки.Ссылка.Проведен И ЗаказЗакрыт(СтрокаСписка.ДанныеСтроки.Ссылка) Тогда СтрокаСписка.ЦветТекста = WebЦвета.СветлоСерый; //.ЦветФона = WebЦвета.СветлоГрифельноСерый; КонецЕсли; КонецЦикла; КонецПроцедуры НЕ ЭФФЕКТИВНО |
|||
8
H A D G E H O G s
16.07.13
✎
12:00
|
СтрокаСписка.ДанныеСтроки.Ссылка.Проведен
Зло |
|||
9
Ненавижу 1С
гуру
16.07.13
✎
12:00
|
(7) конечно не эффективно, у тебя запрос в цикле
|
|||
10
volfy
16.07.13
✎
12:00
|
Многовато точек?
|
|||
11
H A D G E H O G s
16.07.13
✎
12:01
|
||||
12
volfy
16.07.13
✎
12:01
|
Вот хороший пендаль =)
|
|||
14
Eugeneer
16.07.13
✎
12:02
|
Вообще все делается элементарн ос помощью условного оформления. Как два пальца.
|
|||
15
Ненавижу 1С
гуру
16.07.13
✎
12:02
|
(13) ты о себе в третьем лице?
|
|||
16
H A D G E H O G s
модератор
16.07.13
✎
12:03
|
Eugeneer - предупреждение.
Реклама по согласованию с ВР. |
|||
17
Alex S D
16.07.13
✎
12:03
|
(15) ты отстал от жизни, за Маню на мисте троллят его подчиненные уже
|
|||
18
volfy
16.07.13
✎
12:03
|
Обычные формы =)
|
|||
19
volfy
16.07.13
✎
12:03
|
Хорош ссориться =)
|
|||
20
ДенисЧ
16.07.13
✎
12:05
|
ПРи получении данных.
ЗАпрос по всему списку сразу из ОформленийСтрок. |
|||
21
H A D G E H O G s
модератор
16.07.13
✎
12:05
|
(18) "Не пытайся согнуть ложку, Нео, это - невозможно."
Не пытайся донести до Евгения Шекина эти простые истины, его триггер уже съэрреагировал на слова "быстродействие списка". |
|||
22
zhig75
16.07.13
✎
12:10
|
В ФормеСписка.
Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ДанныеСтроки.закрыт Тогда ОформлениеСтроки.ЦветФона = Новый Цвет(255,224,114); КонецЕсли; КонецПроцедуры Оно? |
|||
23
floody
16.07.13
✎
12:10
|
[code]Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
// Соответствие создается для заполнения остатков в строках табличного поля СоответствиеСсылок = Новый Соответствие; // Заполнение параметра - массива значений ссылками на отображаемые строки табличного поля СсылкиМассив = Новый Массив; Для каждого ОформлениеСтроки из ОформленияСтрок Цикл Если ТипЗнч(ОформлениеСтроки.ДанныеСтроки.Ссылка) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда СсылкиМассив.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка); СоответствиеСсылок.Вставить(ОформлениеСтроки.ДанныеСтроки.Ссылка, ОформлениеСтроки); КонецЕсли; КонецЦикла; ЗапросДанные = Новый Запрос(); ЗапросДанные.Текст = "ВЫБРАТЬ | ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя.Ссылка КАК Ссылка |ИЗ | Документ.ЗакрытиеЗаказовПокупателей.Заказы КАК ЗакрытиеЗаказовПокупателейЗаказы |ГДЕ | ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя В(&СсылкиМассив) |СГРУППИРОВАТЬ ПО | ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя.Ссылка"; ЗапросДанные.УстановитьПараметр("СсылкиМассив", СсылкиМассив); Результат = ЗапросДанные.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ОформлениеСтроки=СоответствиеСсылок.Получить(Выборка.Ссылка); ОформлениеСтроки.ЦветФона=WebЦвета.СеребристоСерый; КонецЦикла; КонецПроцедуры[/code] |
|||
24
floody
16.07.13
✎
12:11
|
как эти [code] юзать? вроде по мануалу делал
|
|||
25
Csar
16.07.13
✎
12:15
|
(24) вместо code пиши 1с
|
|||
26
volfy
16.07.13
✎
14:35
|
Всем спасибо =) + 10 к карме
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |