![]() |
|
Запрос тормозит при выводе | ☑ | ||
---|---|---|---|---|
0
RINCH
26.04.17
✎
17:50
|
Здравствуйте, Товарищи программисты)
Зада: Раскрасить контрагентов на форме списка при определенном условии (Контрагентов очень много) так что бы не тормозила система... запрос рабочий , но тормозит. Проблемы: не УПР формы, "Оформление Строк" есть только при событие Получении данных, сделать через запрос так как в дальнейшем условие в запросе усложнится.. Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок) Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.ЗапретОбслуживания = ИСТИНА"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Для каждого ОформлениеСтроки из ОформленияСтрок цикл спСписокПриВыводеСтроки(ЭтаФорма, Элемент, ОформлениеСтроки, ОформлениеСтроки.ДанныеСтроки); Выборка.Следующий(); Если ОформлениеСтроки.ДанныеСтроки.Ссылка=Выборка.Ссылка Тогда ОформлениеСтроки.ЦветФона= WebЦвета.Красный ; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
Волшебник
модератор
26.04.17
✎
17:51
|
а-ха-ха...
|
|||
2
RINCH
26.04.17
✎
17:52
|
(1) ?)
|
|||
3
Волшебник
модератор
26.04.17
✎
17:54
|
(2) Тут и так цикл, а ты делаешь запрос, потом цикл с проверкой на равно...
Добавь скрытую колонку ЗапретОбслуживания и сделай так: Для каждого ОформлениеСтроки из ОформленияСтрок цикл спСписокПриВыводеСтроки(ЭтаФорма, Элемент, ОформлениеСтроки, ОформлениеСтроки.ДанныеСтроки); Если ОформлениеСтроки.ДанныеСтроки.ЗапретОбслуживания Тогда ОформлениеСтроки.ЦветФона= WebЦвета.Красный ; КонецЕсли; КонецЦикла; |
|||
4
apokrit
26.04.17
✎
17:59
|
(3) Наступило время вредных советов? ;)
(0) 1)Нужно сначала перебрать все оформления строк и набить ссылки в массив. 2)В запросе добавить условие Ссылка В &РанееПолученныйМассив Ну и как бы код вообще не рабочий - ни кто ведь не обещал что порядок строк в выборке будет соответствовать порядку строк в коллекции ОформленияСтрок. Как вариант - можно например на шаге 1) набить оформления в соответствие с значением ссылки в качестве ключа, дальше обходить выборку и там по ключу искать нужное оформление строки для простановки оформления. |
|||
5
Неверный Параметр И
26.04.17
✎
18:04
|
Второй заход на Запрос с выводом истина ?
|
|||
6
Fragster
гуру
26.04.17
✎
18:50
|
(4).1 удивительно, но совет совсем не вредный, работать будет наиболее быстро.
|
|||
7
Vaflya
26.04.17
✎
22:49
|
Насколько я понял это форма списка контрагентов, запросом берется реквизит из контрагента, вывод - достаточно в цикле перебора оформлений написать Если ...данныестроки.ссылка.запрет Тогда красный цвет и все
|
|||
8
RINCH
27.04.17
✎
05:12
|
(7) (6) (4) (3)
Да все оказалась гораздо проще ) Но с другим условием ваши советы пригодятся, Спасибо) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |