Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Условное оформление в отчете.

Условное оформление в отчете.
Я
   Evgen04
 
15.01.21 - 12:38
Добрый день!

В КА 1.1 в отчете Анализ доступности товаров на складах нужно програмно установить условное оформление, чтобы номенклатура с определенной категорией подкрашивалась, для этого в модуле объекта в процедуре "УстановитьНачальныеНастройки" указал УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;
Далее, после основного запроса написал:
Условие =  УниверсальныйОтчет.ПостроительОтчета.УсловноеОформление;
    Условие.Очистить();
    ЭлемУслОформл = Условие.Добавить("Новый", "Новый");
    ЭлемУслОформл.Использование = Истина;
    ЭлемОбласти = ЭлемУслОформл.Область.Добавить("Номенклатура");
    ЭлементОтбора = ЭлемУслОформл.Отбор.Добавить("Новый (категория Номенклатура)");
    
    ЭлементОтбора.Значение = Истина;
    ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
    ЭлементОтбора.Использование = Истина;

При попытке открыть отчет появляется
{Отчет.АнализДоступностиТоваровНаСкладах.МодульОбъекта(474)}: Ошибка при вызове метода контекста (Добавить)
    ЭлементОтбора = ЭлемУслОформл.Отбор.Добавить("Новый (категория Номенклатура)");
по причине:
Недопустимое значение параметра (параметр номер '1')

Подскажите пожалуйста, как мне в отбор подставить категорию.
   ДенисЧ
 
1 - 15.01.21 - 12:41
"Добавить("Новый (категория Номенклатура)");"

Это дословно так написано?

А что нам говорит псалтырь?
Отбор (Filter)
Добавить (Add)
Синтаксис:
Добавить(<Описание>, <Имя>, <Представление>)
Параметры:
<Описание> (обязательный)
Тип: Строка.
Описание элемента отбора в виде наименования доступного поля или в виде развернутого пути.
Например, "Контрагент.Код", где "Контрагент" - одно из полей доступных для отбора.
<Имя> (необязательный)
Тип: Строка.
Имя элемента отбора. Если не задано, то имя задается автоматически по переданному в качестве первого параметра описанию.
<Представление> (необязательный)
Тип: Строка.
Пользовательское представление добавляемого элемента отбора.
   Evgen04
 
2 - 15.01.21 - 12:58
ДенисЧ Огромное спасибо, но:

<Описание> (обязательный)
Тип: Строка.
Описание элемента отбора в виде наименования доступного поля или в виде развернутого пути.
Например, "Контрагент.Код", где "Контрагент" - одно из полей доступных для отбора.

В своем примере я указал ("Новый (категория Номенклатура)") как в форме выбора поля, так же я пробовал "Новый" (наименование в справочнике) и развернутый путь (Справочники.КатегорииОбъектов.НайтиПоНаименованию("Новый")) и ошибка повторяется.

{Отчет.АнализДоступностиТоваровНаСкладах.МодульОбъекта(474)}: Ошибка при вызове метода контекста (Добавить)
    ЭлементОтбора = ЭлемУслОформл.Отбор.Добавить(Справочники.КатегорииОбъектов.НайтиПоНаименованию("Новый"));
по причине:
Недопустимое значение параметра (параметр номер '1').
   ДенисЧ
 
3 - 15.01.21 - 13:00
"в виде наименования доступного поля или в виде развернутого пути"

Какое из этих слов непонятно?
Когда Справочники.КатегорииОбъектов.НайтиПоНаименованию("Новый") стало возвращать наименование поля?
   Evgen04
 
4 - 15.01.21 - 13:08
При таком написании снова та же ошибка, или вы имели ввиду что то другое?

Условие =  УниверсальныйОтчет.ПостроительОтчета.УсловноеОформление;
    Условие.Очистить();
    ЭлемУслОформл = Условие.Добавить("Новый", "Новый");
    ЭлемУслОформл.Использование = Истина;
    ЭлемОбласти = ЭлемУслОформл.Область.Добавить("Номенклатура");
    ЭлементДляОтбора = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Новый");
    ЭлементОтбора = ЭлемУслОформл.Отбор.Добавить(ЭлементДляОтбора.Наименование);

{Отчет.АнализДоступностиТоваровНаСкладах.МодульОбъекта(475)}: Ошибка при вызове метода контекста (Добавить)
    ЭлементОтбора = ЭлемУслОформл.Отбор.Добавить(ЭлементДляОтбора.Наименование);
по причине:
Недопустимое значение параметра (параметр номер '1')
   Evgen04
 
5 - 15.01.21 - 15:43
Вверх!
   Evgen04
 
6 - 16.01.21 - 11:59
АП
   Evgen04
 
7 - 18.01.21 - 10:31
Ап!
   Evgen04
 
8 - 19.01.21 - 17:33
Спасибо за внимание, если кому нибудь захочется сделать подобное, то можно воспользоваться уникальным идентификатором
Условие = УниверсальныйОтчет.ПостроительОтчета.УсловноеОформление;
Условие.Очистить();
ЭлемУслОформл = Условие.Добавить("Новый", "Новый");
ЭлемУслОформл.Использование = Истина;
ЭлемОбласти = ЭлемУслОформл.Область.Добавить("Номенклатура");
УИД = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Неликвидный").УникальныйИдентификатор();
ЭлементОтбора = ЭлемУслОформл.Отбор.Добавить("НоменклатураКатегория"+СтрЗаменить(Строка(УИД), "-", "")+"Категория","Неликвидный (категория Номенклатура)");
ЭлементОтбора.Значение = Истина;
ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
ЭлементОтбора.Использование = Истина;

ЭлемУслОформл.Оформление.ЦветФона.Значение = WebЦвета.Лосось;
ЭлемУслОформл.Оформление.ЦветФона.Использование = Истина;

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.