Версия для печати темы (https://pro1c.org.ua/index.php?s=47d85042b5f37fcfa39a7afd413e5b06&showtopic=58536)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Обратиться к реквизиту формы справочника из модуля формы обработки

Автор: SemenYU 22.04.20, 18:12

Добрый день
"Управление производственным предприятием для Украины", редакция 1.3 (1.3.67.2) , 1С:Предприятие 8.3 (8.3.10.2466)

Помогите пожалуйста решить

Есть справочник ХранилищеДопФайлов
У справочника есть форма ХранилищеФайловИИзображений
У формы есть реквизит Наименование.

Так же есть обработка ОригинальностьНоменклатуры
Табличная часть обработки состоит из Номенклатуры и ОригинальностьНоменклатуры (открывается форма ХранилищеФайловИИзображений для текущей номенклатуры)

Как я могу прописать следующее условие:
Если реквизит формы справочника Наименование для текущей номенклатуры заполнен названием "Оригинальность", то текущая строка табличной части обработки зелёная
иначе - красная.

Автор: denis84 23.04.20, 7:33

SemenYU @ Вчера, 19:12 * ,
Добрый день! У меня есть такой пример. Есть ТЧ в обработке в которой, есть реквизит "отметка и "кво". и в зависимости от принимаемых значений строки зеленые или красные

//эта процедура установленна на таблице при событии "ПриПолученииДанных"
Процедура СтрокиДокументаПриПолученииДанных(Элемент, ОформленияСтрок)
    Если Элемент.ТекущаяСтрока["Отметка"] = Истина Тогда
        Элемент.ЦветФонаВыделения = Новый Цвет(46, 215, 60);
    Иначе
        Если ((Элемент.ТекущаяСтрока["Отметка"] = Ложь) И (Элемент.ТекущаяСтрока["Кво"] = 0)) Тогда
            Элемент.ЦветФонаВыделения     = Новый Цвет(255, 255, 255);
        ИначеЕсли ((Элемент.ТекущаяСтрока["Отметка"] = Ложь) И ((Элемент.ТекущаяСтрока["Кво"] <> 0) И (Элемент.ТекущаяСтрока["Кво"] <> Элемент.ТекущаяСтрока["КвоДокумент"]))) Тогда
            Элемент.ЦветФонаВыделения = Новый Цвет(255, 131, 131);
        КонецЕсли;
        //Элемент.ЦветФонаВыделения     = Новый Цвет(255, 255, 255);
    КонецЕсли;    
КонецПроцедуры

Автор: SemenYU 23.04.20, 12:04

denis84 @ Сегодня, 8:33 * ,
СПАСИБО)
Мне бы ещё понять как получить значение реквизита формы справочника в модуле формы моей обработки.

Автор: denis84 23.04.20, 12:50

SemenYU @ Сегодня, 13:04 * ,
Трудно, так сходу понять. У Вас на форме обработки только наименование номенклатуры? А оригинальность это другой справочник? "Оригинальность писутствуют в справочнике номенклатуры? Добавьте в ТЧ обработки "оригинальность и обрабатывайте это значение, как раннее описано. Это как вариант. Может, кто то подскажет что-то другое

Автор: mut 23.04.20, 18:01

У таблицы есть событие ПриВыводеСтроки, для раскраски строк я использую его. У вас, наверное, будет работать что-то подобное:

Процедура МояТаблицаПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Если ДанныеСтроки.Номенклатура.Наименование="Оригинальность" Тогда
    
        ОформлениеСтроки.ЦветФона = ЦветЗеленый;
        
    Иначе
    
        ОформлениеСтроки.ЦветФона = ЦветКрасный;
        
    КонецЕсли;
    
КонецПроцедуры


Переменные для раскраски:
ЦветКрасный = Новый Цвет(255, 200, 200);
ЦветЗеленый = Новый Цвет(200, 255, 200);

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua