|
Подкрашивание цветом ячейки (Обычные формы) | ☑ | ||
---|---|---|---|---|
0
Stasja
21.11.18
✎
08:27
|
Добрый день!
Есть обработка в которую вывожу список всей номенклатуры, далее при нажатии кнопки Дилер записывается дилерская цена в документ Установка цен номенклатуры. После записи в таблице обработки нужно выделить цветом те ячейки, Дилерская цена для которых не обновилась (проверяю по дате). Подозреваю, что нужно всё это проделать ПриВыводеСтроки или ПриПолученииДанных, но что из этого выбрать и как сделать сообразить не могу. Люди добрые, подскажите пожалуйста! Процедура ОсновныеДействияФормыДилер(Кнопка) ....... Для каждого Стр Из ТоварыИЦены Цикл ВыборкаДетальныеЗаписи = ПроверкаСовпаденияДатыДокументаУстановкиЦенСТекущей(Стр.Товар, Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("00009")).Выгрузить();//РезультатЗапроса.Выгрузить(); //Запрос.Выполнить().Выгрузить()[0].Дата Если НачалоДня(ВыборкаДетальныеЗаписи[0].Дата) <> НачалоДня(ТекущаяДата()) Тогда //Формат(ВыборкаДетальныеЗаписи.Дата, "ДФ=dd.MM.yyyy") <> Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy") Тогда Оформление = ЭлементыФормы.ТоварыИЦены.ОформлениеСтроки(Стр); Оформление.ЦветФона = WebЦвета.Коралловый;//Оформление.Ячейки.Дилер.ЦветФона = WebЦвета.Коралловый; КонецЕсли; КонецЦикла; КонецПроцедуры Функция ПроверкаСовпаденияДатыДокументаУстановкиЦенСТекущей(Номенклатура, ТипЦены) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | УстановкаЦенНоменклатурыТовары.Номенклатура, | УстановкаЦенНоменклатурыТовары.Ссылка.Дата КАК Дата, | УстановкаЦенНоменклатурыТовары.ТипЦен, | УстановкаЦенНоменклатурыТовары.Цена |ИЗ | Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары |ГДЕ | УстановкаЦенНоменклатурыТовары.Номенклатура = &Номенклатура | И УстановкаЦенНоменклатурыТовары.Ссылка.Проведен | И УстановкаЦенНоменклатурыТовары.ТипЦен = &ТипЦен | |УПОРЯДОЧИТЬ ПО | Дата УБЫВ"; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ТипЦен", ТипЦены); РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса; КонецФункции |
|||
1
Cyberhawk
21.11.18
✎
08:29
|
Почему не обновилась цена?
|
|||
2
Stasja
21.11.18
✎
08:33
|
(1) Цена может не обновиться если она равна цене в предыдущем документе, данная номенклатура просто не попадет в документ УстановкаЦенНоменклатуры. Исходя из этого нужно подкрасить ту цену для наглядности
|
|||
3
Cyberhawk
21.11.18
✎
08:37
|
Зачем подкрашивать?
|
|||
4
Cyberhawk
21.11.18
✎
08:37
|
Сделай отчетпо товарам, дата установки цены на которые меньше последнего документа установки цен
|
|||
5
Stasja
21.11.18
✎
08:41
|
(4) Мне не нужен отчет. Клиент просит наглядно отобразить в списке. Иначе много лишней работы выполнять нужно будет + не удобно
|
|||
6
Cyberhawk
21.11.18
✎
08:44
|
С таким подходом далеко не уедешь
|
|||
7
Михаил Козлов
21.11.18
✎
10:55
|
ПриПолученииДанных.
ДЛЯ каждого оф ИЗ ОформленияСтрок Цикл тд = оф.ДанныеСтроки; Если НЕ ЦенаИзменилась(тд.Номенклатура) Тогда оф.Ячейки.Цена.ЦветФона = цветНеИзмененнойЦены; КонецЕсли; КонецЦикла; |
|||
8
catena
21.11.18
✎
11:00
|
(5)Так, как хочет клиент при текущей реализации будет оттормаживать и мелькать.
|
|||
9
Stasja
21.11.18
✎
12:06
|
(7) А как быть с кодом в (0)? Т.к. ПриПолученииДанных отрабатывает раньше моего кода. Мне бы как-нибудь обратиться из процедуры ОсновныеДействияФормыДилер
|
|||
10
hhhh
21.11.18
✎
12:32
|
(9) ПриПолученииДанных отрабатывает при каждой перерисовке таблицы. Значит она отрабатывает много много раз и раньше и позже вашей процедуры ОсновныеДействияФормыДилер
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |