Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 июл 2024, 12:09

1C 8.3 (управляемое). Как изменить цвет товара в табличном списке документа, при изменении количества?

Автор gulnyr, 07 фев 2023, 22:00

0 Пользователей и 1 гость просматривают эту тему.

gulnyr

Как сделать так, чтобы если из списка у одного из ранее добавленного товара увеличивать количество,
то у него изменялся цвет (т.е. в этой строке у товара будет другой цвет).

Например, если в строке №2 изменим количество (столбец Количество), то цвет шрифта должен быть красным.

Screenshot_35.png

Красный цвет устанавливается так: СтрокаТЧ.ЦветТекста=Новый Цвет(255,0,0);

Важно! Этот цвет должен сохраняться, пока не проведем документ. До проведения всегда должен быть красным.

Процедуры:

1) Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
         
Цвета состояния здесь:
         
         Если (СсылкаСостояние = Справочники.ВидыСостоянийЗаказНарядов.Выполнен ИЛИ СсылкаСостояние = Справочники.ВидыСостоянийЗаказНарядов.Закрыт) Тогда

СтрокаТЧ.ЦветТекста=Новый Цвет(128,128,128);
ИначеЕсли ОсталосьПереместить=0 Тогда

СтрокаТЧ.ЦветТекста=Новый Цвет(128,128,128);
ИначеЕсли ОсталосьПереместить<=ВозможноПереместить Тогда
Если Зарезервировано>=ОсталосьПереместить Тогда

СтрокаТЧ.ЦветТекста=Новый Цвет(160,120,200);
Иначе
СтрокаТЧ.ЦветТекста=Новый Цвет(0,128,0);
КонецЕсли;
Заказано            = СтрокаРезультата.Заказано;
Зарезервировано     = СтрокаРезультата.Зарезервировано;
ВПроизводстве       = СтрокаРезультата.ВПроизводстве;
ОсталосьПереместить = СтрокаРезультата.ОсталосьПереместить;
ВозможноПереместить = СтрокаРезультата.ВозможноПереместить;
ИначеЕсли ОсталосьПереместить<=(Заказано+ВозможноПереместить) Тогда

СтрокаТЧ.ЦветТекста=Новый Цвет(128,128,0);
Иначе

СтрокаТЧ.ЦветТекста=Новый Цвет(0,0,128);
КонецЕсли;
      
         
2) Процедура срабатывания после редактирования строки:

Процедура ТоварыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) Экспорт

Если ЭлементыФормы.КоманднаяПанельТовары.Кнопки.Подсветка.Пометка ИЛИ
Элемент.Колонки.ОстатокВПроизводстве.Видимость ИЛИ
Элемент.Колонки.Заказано.Видимость ИЛИ Элемент.Колонки.ВРезерве.Видимость Тогда

ТекущаяСтрока = ЭлементыФормы.Товары.ТекущаяСтрока;
Если НЕ ТекущаяСтрока = Неопределено Тогда
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Номенклатура", ТекущаяСтрока.Номенклатура);
СтруктураОтбора.Вставить("ХарактеристикаНоменклатуры", ТекущаяСтрока.ХарактеристикаНоменклатуры);
ПересчитатьКеш(, СтруктураОтбора);
КонецЕсли;
КонецЕсли;

КонтрольКоличестваДеталейВПроизводстве(ЭтаФорма);
дкТоварыПриОкончанииРедактирования(ЭтаФорма,Элемент, НоваяСтрока, ОтменаРедактирования);

КонецПроцедуры

Rettro


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск