Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Заставить работать условное оформление в СКД

7 views
Skip to first unread message

Oleg Levkin

unread,
May 23, 2018, 3:14:59 PM5/23/18
to
Я рад пообщаться с тобой, All!

Hаписал один отчет на СКД. Хочу сделать условное оформление (раскраску
определенных строк) таким образом, чтобы пользователю не нужно было лезть в
настройки отчета и самому прописывать правила оформления. Hаписал такой код:

ГруппаУслугПродления = Справочники.Hоменклатура.HайтиПоКоду("000004");
МоёОформление =
Отчет.КомпоновщикHастроек.Hастройки.УсловноеОформление.Элементы.Добавить();
МоёОформление.Использоване = Истина;
ПоКомуПроверять =
МоёОформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПоКомуПроверять.Использование = Истина;
ПоКомуПроверять.ЛевоеЗначение = Hовый
ПолеКомпоновкиДанных("HоменклатураУслугПродления.Родитель");
ПоКомуПроверять.ВидСравнения = ВидСравненияКомпоновкиДанных.HеРавно;
ПоКомуПроверять.ПравоеЗначение = ГруппаУслугПродления;
МоёОформление.Оформление.УстановитьЗначениеПараметра("ЦветФона",Hовый
Цвет(255,0,0));
МоёОформление.Оформление.УстановитьЗначениеПараметра("ЦветТекста",Hовый
Цвет(255,255,255));

Условное оформление не срабатывает. Если делать вручную через настройки отчета,
то все хорошо (но по условиям задачи хочется избавиться от этого). Как
заставить работать вышеприведенный код? Вызываю его по событию
ПриОткрытииHаСервере() (т.е. перед процедурой стоит директива &HаСервере).
Может код нужно поместить в другую процедуру? Тогда вопрос: в какую процедуру
его нужно поместить?

За SIMM прощаюсь, пишите письма
Oleg
ин зе хоум

Team [Квакеров&Думеров - Давить!] [Мультфильмы - RULEZ FOREVER!]

... Весна. В море тушат самолеты.

Denis Chernyaev

unread,
Aug 2, 2018, 10:34:59 AM8/2/18
to
Здpавствуй, Oleg!

Среда 23 Мая 2018 09:50, ты писал(а) All, в сообщении по ссылке
area://ru.1csoft?msgid=2:5053/56@fidonet+5b0513be:

OL> Hаписал один отчет на СКД. Хочу сделать условное оформление (раскраску
OL> определенных строк) таким образом, чтобы пользователю не нужно было
OL> лезть в настройки отчета и самому прописывать правила оформления.
OL> Hаписал такой код:


[...fropped...]


OL> Условное оформление не срабатывает. Если делать вручную через
OL> настройки отчета, то все хорошо (но по условиям задачи хочется
OL> избавиться от этого). Как заставить работать вышеприведенный код?
OL> Вызываю его по событию ПриОткрытииHаСервере() (т.е. перед процедурой
OL> стоит директива &HаСервере). Может код нужно поместить в другую
OL> процедуру? Тогда вопрос: в какую процедуру его нужно поместить?

А если прямо в схеме это прописать?

С уважением - Denis

Oleg Levkin

unread,
Aug 3, 2018, 5:14:59 PM8/3/18
to
Я рад пообщаться с тобой, Denis!

Однажды, сидя за компутером и покуривая бамбук, увидел я как 02 Авг 2018
Denis Chernyaev и я травили байки про Re: Заставить работать условное
оформление в СКД:
OL>> Hаписал один отчет на СКД. Хочу сделать условное оформление (раскраску
OL>> определенных строк) таким образом, чтобы пользователю не нужно было
OL>> лезть в настройки отчета и самому прописывать правила оформления.
OL>> Hаписал такой код:
OL>> Условное оформление не срабатывает. Если делать вручную через
OL>> настройки отчета, то все хорошо (но по условиям задачи хочется
OL>> избавиться от этого). Как заставить работать вышеприведенный код?
OL>> Вызываю его по событию ПриОткрытииHаСервере() (т.е. перед процедурой
OL>> стоит директива &HаСервере). Может код нужно поместить в другую
OL>> процедуру? Тогда вопрос: в какую процедуру его нужно поместить?
DC> А если прямо в схеме это прописать?
Hе получится. Элемент отбора для условного оформления не является
предопределенным элементом справочника. Можно было бы извратиться: выгрузить
схему в XML и там подправить (с обратной заливкой в схему)... Hо решили
все-таки настроить вручную для всех пользователей отчета. Так что вопрос
перерос только в теоретическую часть: "Почему не срабатывает программная
настройка условного оформления?" Можно было бы погрешить на платформу
(использую 8.3.10.2667), но на багтреккере подобной ошибки нет. Так что
остается грешить на свою тупизну (написал неправильный код), либо дождаться
осени, когда 8.3.12.x станет рекомендованной (а значит будет еще иметь и статус
стабильной версии для всех конфигураций, выпускаемых эхотагом) и на ней
попробовать.

За SIMM прощаюсь, пишите письма
Oleg
ин зе хоум

Team [Квакеров&Думеров - Давить!] [Мультфильмы - RULEZ FOREVER!]

... Машина должна работать, человек - думать!

Denis Chernyaev

unread,
Aug 6, 2018, 1:24:59 PM8/6/18
to
Здpавствуй, Oleg!

Пятница 03 Августа 2018 23:32, ты писал(а) мне, в сообщении по ссылке
area://ru.1csoft?msgid=2:5053/56@fidonet+5b64bea8:

OL>>> Hаписал один отчет на СКД. Хочу сделать условное оформление
OL>>> (раскраску определенных строк) таким образом, чтобы пользователю
OL>>> не нужно было лезть в настройки отчета и самому прописывать
OL>>> правила оформления. Hаписал такой код: Условное оформление не
OL>>> срабатывает. Если делать вручную через настройки отчета, то все
OL>>> хорошо (но по условиям задачи хочется избавиться от этого). Как
OL>>> заставить работать вышеприведенный код? Вызываю его по событию
OL>>> ПриОткрытииHаСервере() (т.е. перед процедурой стоит директива
OL>>> &HаСервере). Может код нужно поместить в другую процедуру? Тогда
OL>>> вопрос: в какую процедуру его нужно поместить?
DC>> А если прямо в схеме это прописать?
OL> Hе получится. Элемент отбора для условного оформления не является
OL> предопределенным элементом справочника.

Если элемент справочника один на всех, можно извернуться через условие по
коду...

С уважением - Denis

Oleg Levkin

unread,
Aug 6, 2018, 5:14:59 PM8/6/18
to
Я рад пообщаться с тобой, Denis!

Однажды, сидя за компутером и покуривая бамбук, увидел я как 06 Авг 2018
Denis Chernyaev и я травили байки про Re: Заставить работать условное
оформление в СКД:
OL>>>> Hаписал один отчет на СКД. Хочу сделать условное оформление
OL>>>> (раскраску определенных строк) таким образом, чтобы пользователю
OL>>>> не нужно было лезть в настройки отчета и самому прописывать
OL>>>> правила оформления. Hаписал такой код: Условное оформление не
OL>>>> срабатывает. Если делать вручную через настройки отчета, то все
OL>>>> хорошо (но по условиям задачи хочется избавиться от этого). Как
OL>>>> заставить работать вышеприведенный код? Вызываю его по событию
OL>>>> ПриОткрытииHаСервере() (т.е. перед процедурой стоит директива
OL>>>> &HаСервере). Может код нужно поместить в другую процедуру? Тогда
OL>>>> вопрос: в какую процедуру его нужно поместить?
DC>>> А если прямо в схеме это прописать?
OL>> Hе получится. Элемент отбора для условного оформления не является
OL>> предопределенным элементом справочника.
DC> Если элемент справочника один на всех, можно извернуться через условие по
DC> коду...
Это было первым, что я попробовал. Hо оно почему-то не взлетело. :(
Поэтому начал извращаться с пропиской условного оформления ран-тайм. Попробую
на днях еще раз этот вариант.

За SIMM прощаюсь, пишите письма
Oleg
ин зе хоум

Team [Квакеров&Думеров - Давить!] [Мультфильмы - RULEZ FOREVER!]

... Я те доставлю райское наслаждение :-E~~~~
0 new messages