![]() |
|
Раскрасить строки табличной части (ОФ). | ☑ | ||
---|---|---|---|---|
0
AneJIbcuH
17.11.15
✎
08:50
|
Добрый день!
Есть необходимость раскрашивать строки ТЧ в зависимости входит или нет номенклатура строки в периодический регистр сведений. Суть заморочки, исключить запрос в цикле :) Также сложность в том, чтобы при различных манипуляциях (открытии формы существующего документа, добавлении нового элемента в ТЧ, добавление нового элемента в ТЧ с помощью подбора и других видах заполнения) сразу строки раскрашивались . Мог бы не заморачиваясь написать так: Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | пк_МинимальныйТорговыйЗапасСрезПоследних.Номенклатура, | пк_МинимальныйТорговыйЗапасСрезПоследних.ХарактеристикаНоменклатуры |ИЗ | РегистрСведений.пк_МинимальныйТорговыйЗапас.СрезПоследних( | &ТекущаяДата, | &ТекущаяДата МЕЖДУ НачалоПериода И КонецПериода | И Номенклатура = &Номенклатура | И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры) КАК пк_МинимальныйТорговыйЗапасСрезПоследних"; Запрос.УстановитьПараметр("Номенклатура", Элемент.ТекущаяСтрока.Номенклатура); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", Элемент.ТекущаяСтрока.ХарактеристикаНоменклатуры); Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Элемент.ЦветФона = WebЦвета.Серый; КонецЕсли; КонецПроцедуры Хочется оптимальнее.. |
|||
1
RomanYS
17.11.15
✎
08:52
|
кэшируй регистр в соответствие, всего один запрос
|
|||
2
AneJIbcuH
17.11.15
✎
08:57
|
(1) Читал недавно где-то про соответствие и его преимущества, возможно ваше решение отличное! Не подскажите пример кода :)
|
|||
3
Горогуля
17.11.15
✎
09:00
|
Функция СтрокаВВидСравнения(стр)
соо=Новый Соответствие; соо.Вставить("меньше", "<"); соо.Вставить("меньше или равно", "<="); соо.Вставить("равно", "="); соо.Вставить("больше или равно", ">="); соо.Вставить("больше", ">"); соо.Вставить("в списке", "В"); соо.Вставить("в группе", "В ИЕРАРХИИ"); Возврат соо[стр]; КонецФункции |
|||
4
AneJIbcuH
17.11.15
✎
09:02
|
(3) Как создать соответствие мне известно. Как его использовать в моём примере?
|
|||
5
Горогуля
17.11.15
✎
09:04
|
если входит[ТекОформление.ДанныеСтроки.Номенклатура]
|
|||
6
aleks_default
17.11.15
✎
09:09
|
Если я правильно помню, в событии ПриПолученииДанных из оформления строк можно получить не одну текущую номенклатуру а список всех выводимых на экран (давно в ОФ не работаю, не помню синтаксис). Вот и делай запрос не по одной позиции, а по списку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |