Имя: Пароль:
1C
1С v8
Справочник "Номенклатура" и условное выделение строки
0 Beeezy
 
18.05.23
12:08
День добрый мистчане. Такой вопрос, 1С УК 1.6.26.1 (аналог УНФ), платформа 8.3.22.1851. Необходимо условное изменение фона по простому условию. Для этого добавил булев реквизит "ЕстьРаспродажа" в справочник номенклатуры. Редактирую "ФормаСписка". Добавляю вот такую процедуру:

&НаСервере
Процедура ДобавитьУсловноеОформление()

    ЭлементОформления = СписокЗапасы.УсловноеОформление.Элементы.Добавить();
    //ЭлементОформления = СписокЗапасы.КомпоновщикНастроек.ФиксированныеНастройки.УсловноеОформление.Элементы.Добавить();

    ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЕстьРаспродажа"); //ЕстьРаспродажа - это добавленный мною новый реквизит
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = ИСТИНА;
    ЭлементОтбора.Использование = ИСТИНА;
    
    Элемент = ЭлементОформления.Оформление.Элементы[0];
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(51, 153, 102));
    Элемент.Использование = ИСТИНА;
    
КонецПроцедуры

Исправил динамический список "СписокЗапасы", добавил в запрос этот новый реквизит. Закинул эту процедуру в конец "ПриСозданииНаСервере". И при открытии формы выдает, что мое новое поле не найдено. Хотя, если переделаю условие, к примеру, на поле "наименование", то все отрабатывает. Так понимаю, скорее всего запрос динамического списка изменяется, но отловить не могу. Во всех параметрах формы мое поле светится, с ним можно работать, а при обращении - хрен. Кто может ткнуть носом, куда копать эту оказию?
1 shuhard
 
18.05.23
12:11
(0)[И при открытии формы выдает, что мое новое поле не найдено]
дык посмотри в этот момент отладчиком
2 Donkey_hot
 
18.05.23
12:22
(0) А если в левом значении прописать ПолеКомпоновкиДанных("Номенклатура.ЕстьРаспродажа")? Ну или как там у вас поле с номенклатурой называется.
3 НЕА123
 
18.05.23
14:04
Использовать всегда
?
4 Beeezy
 
24.05.23
16:41
(2) Действительно, выражаю благодарность, проблема была в этом. Только не понимаю, почему на остальные поля работает без "Номеклатура."?
5 Donkey_hot
 
24.05.23
17:20
(4) Мы вылечили симптом, а не причину. Повезло, что нужные данные хранятся в реквизите поля, которое уже имеется в списке. Что не так с добавленным Вами полем, увы, сказать затруднительно, надо смотреть, как добавляли.