gifts2017

Оформление строк табличной части в 8.2

Опубликовал Станислав Турчинский (Istur) в раздел Программирование - Работа с интерфейсом

Стандартом в 1с является, когда все строки табличной части имеют одинаковый шрифт, цвет шрифта и цвет фона строки. Но иногда нужно, чтобы строки выделялись по некоторому признаку. Иногда нужно что-либо оформлять на уровне конфигуратора. В 8.1 это делалось через процедуры ПриВыводеСтроки и ПриПолученииДанных. В управляемом приложении 8.2 их нет, там сделано условное оформление. Привожу пример, как можно работать с условным оформлением программно, как форма оформляется кодом в 8.2.
В качестве примера будем использовать, что в документе реализации строки выделялись в зависимости от склада, с которого отгружается номенклатура.

 1. Для справочник "Склады" необходимо добавить реквизиты: ЦветФонаСтроки, ЦветШрифтаСтроки, ШрифтСтроки, тип - ХранилищеЗначения.

1

2. Для управляемой формы элемента добавить реквизиты с идентичными названиями, у первых 2 тип "Цвет", у 3 - "Шрифт" и вынести эти реквизиты на управляемую форму.

2

3. В модуль формы вставить следующий код:

 (Системные процедуры не копируются отсюда, а создаются в модуле и там добавляется код, иначе 1с не поймет, что они системные)


&НаСервере
Процедура ЗаполнитьРеквизитыОформленияСтрокНаФорме()
   
ЭтоНовый                = Объект.Ссылка.Пустая();
   
ОбъектДанные            = ДанныеФормыВЗначение(Объект,Тип("СправочникОбъект.Склады"));

   
ЦветФонаСтрокиХранимый  = ОбъектДанные.ЦветФонаСтроки.Получить();
   
ОформлениеСодержится    = ТипЗнч(ЦветФонаСтрокиХранимый) = Тип("Цвет");

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
ЗаполнитьРеквизитыОформленияСтрокНаФорме();
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   
ТекущийОбъект.ЦветФонаСтроки        = Новый ХранилищеЗначения(ЦветФонаСтроки);
   
ТекущийОбъект.ЦветШрифтаСтроки      = Новый ХранилищеЗначения(ЦветШрифтаСтроки);
   
ТекущийОбъект.ШрифтСтроки           = Новый ХранилищеЗначения(ШрифтСтроки);
КонецПроцедуры

 

 

4. В общий модуль, выполняемый на сервере, к примеру ОбщегоНазначенияСервер вставляемся процедура ОформитьСтрокиТЧ:


&НаСервере
Процедура ОформитьСтрокиТЧ(Объект,УсловноеОформление,ТипОбъектаПодробный,ИмяТЧ,ИмяОбъектаСОформлением) Экспорт
   
ТипОбъектаСтр               = СтрЗаменить(ТипОбъектаПодробный,".",Символы.ПС);
   
ТипОбъектаКраткий           = СтрПолучитьСтроку(ТипОбъектаСтр,1);
   
ИмяОформляемогоМетаданного  = СтрПолучитьСтроку(ТипОбъектаСтр,2);

    Если
ТипОбъектаКраткий = "ДокументОбъект" Тогда
       
ТипОбъектаКраткий = "Документы";
    ИначеЕсли
ТипОбъектаКраткий = "СправочникОбъект" Тогда
       
ТипОбъектаКраткий = "Справочники";
    КонецЕсли;

   
ОбъектДанные = ДанныеФормыВЗначение(Объект,Тип(ТипОбъектаПодробный));

    Для каждого
СтрТЧ Из ОбъектДанные[ИмяТЧ] Цикл

       
ОбъектСОформлением  = СтрТЧ[ИмяОбъектаСОформлением];

       
ЦветФонаСтроки      = ОбъектСОформлением.ЦветФонаСтроки.Получить();
       
ЦветШрифтаСтроки    = ОбъектСОформлением.ЦветШрифтаСтроки.Получить();
       
ШрифтСтроки         = ОбъектСОформлением.ШрифтСтроки.Получить();

       
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
       
ЭлементУсловногоОформления.Использование    = Истина;

       
ОформлениеУО        = ЭлементУсловногоОформления.Оформление;
       
ОтборУО             = ЭлементУсловногоОформления.Отбор;
       
ОформляемыеПоляУО   = ЭлементУсловногоОформления.Поля;


       
ОформлениеУО.УстановитьЗначениеПараметра("ЦветФона", ЦветФонаСтроки);
       
ОформлениеУО.УстановитьЗначениеПараметра("ЦветТекста", ЦветШрифтаСтроки);
       
ОформлениеУО.УстановитьЗначениеПараметра("Шрифт", ШрифтСтроки);

       
ЭлементОтбора                = ОтборУО.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       
ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект." + ИмяТЧ + "." + ИмяОбъектаСОформлением);
       
ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
       
ЭлементОтбора.ПравоеЗначение = ОбъектСОформлением;
       
ЭлементОтбора.Использование  = Истина;

        Для каждого
РеквизитТЧ Из Метаданные[ТипОбъектаКраткий][ИмяОформляемогоМетаданного].ТабличныеЧасти[ИмяТЧ].Реквизиты Цикл

           
НазваниеРеквизита   = РеквизитТЧ.Имя;
           
ОформляемоеПоле     = ОформляемыеПоляУО.Элементы.Добавить();
           
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧ + НазваниеРеквизита);

        КонецЦикла;

       
ОформляемоеПоле      = ОформляемыеПоляУО.Элементы.Добавить();
       
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧ + "НомерСтроки");

    КонецЦикла;
КонецПроцедуры

 5. В модуль формы элемента документа "Реализация товаров и услуг" вставить процедуру ОформитьСтрокиТЧСервер и вызов ее в процедурах ТоварыСкладПриИзменении и ПриСозданииНаСервере


&НаКлиенте
Процедура ТоварыСкладПриИзменении(Элемент)
   
ОформитьСтрокиТЧСервер();
КонецПроцедуры

&НаСервере
Процедура ОформитьСтрокиТЧСервер()
   
ОбщегоНазначенияСервер.ОформитьСтрокиТЧ(Объект,УсловноеОформление,"ДокументОбъект.РеализацияТоваровУслуг","Товары","Склад");
КонецПроцедуры

 

 

Результат:

 3

 

См. также

Подписаться Добавить вознаграждение

Комментарии

0. Станислав Турчинский (Istur) 01.01.70 03:00
Стандартом в 1с является, когда все строки табличной части имеют одинаковый шрифт, цвет шрифта и цвет фона строки. Но иногда нужно, чтобы строки выделялись по некоторому признаку. Иногда нужно что-либо оформлять на уровне конфигуратора. В 8.1 это делалось через процедуры ПриВыводеСтроки и ПриПолученииДанных. В управляемом приложении 8.2 их нет, там сделано условное оформление. Привожу пример, как можно работать с условным оформлением программно, как форма оформляется кодом в 8.2.
В качестве примера будем использовать, что в документе реализации строки выделялись в зависимости от склада, с которого отгружается номенклатура.

Перейти к публикации

1. Сергей Ожерельев (Поручик) 16.05.11 08:16
(0) Такие сложности действительно необходимы или условное оформление в пофигураторе ужо не катит?
2. Игорь Исхаков (Ish_2) 16.05.11 08:49
Выделение цветом эффективно для одного-двух складов.
Если выделяемых складов больше , то мы получим в ТЧ трудночитаемую разноцветную мозаику.
Теперь вопрос : а стоит ли для выделения одного - двух складов огород городить ?
Не проще ли обойтись небольшой вставкой кода в процедуре "ПриВыводеСтроки"
с явным указанием склада и цвета выделения ?
3. Виталий Барилко (Diversus) 16.05.11 09:05
(2) Это же в режиме управляемого приложения, там нет ПриВыводеСтроки насколько я понимаю...
soulsteps; Spacer; Wulfer; Istur; Ish_2; +5 Ответить
4. Eugeneer (Eugeneer) 16.05.11 10:29
Пипец. Решение через Ж. Я бы уволил программиста который бы начал в справочник добавлять подобные реквизиты. Видимо автор совершенно не знаком с 8.2 и тем что там можно что угодно раскрасить через условной оформление любой формы. И за что люди плюсы ставят??..
Trapezaspb; dimaxx; Alien_job; lehis_S; aianitro; leonidol; invertercant; realist; ikekoval; SerebanSK; sergerh; w-divin; e.kogan; the1; +14 5 Ответить 2
5. Eugeneer (Eugeneer) 16.05.11 10:30
(2) на Управляемых формах. В форме выбираем строку Форма. Ищем в свойствах опцию - условной оформление. И О ЧУДО - там можно разукрасить все что угодно без единой строчки кода!
Ryukenden; Larkin; d515; skel; gusda; Galimova_Alsou; L0z4; valafan; Borisych; foka_1s; Ish_2; +11 Ответить 2
6. Сергей Ожерельев (Поручик) 16.05.11 10:41
Ну да, в первом посте об этом и спрашивал, к чему такие сложности? Плюс поставил за другое.
7. Виталий (nafa) 16.05.11 10:52
(4)
[quote]Я бы уволил программиста который бы начал в справочник добавлять подобные реквизиты.[/quote]
Что плохого в этом решении, например если надо конкретному складу назначить конкретный цвет? И иметь возможность отображать склад этим цветом везде (в т.ч. там где нет условного оформления).
Я бы только цвет числом хранил а не хранилищем значений.

(5)
Ну это же пример. Условное оформление - это ограниченные возможности. В сложных случаях без кода все равно не обойтись.
Да и в простых часто проще один раз сделать этот расчет оформления именно кодом и вынести его в общий модуля, а в конкретные формы вставлять одну строчку - вызов этой процедуры.
8. Eugeneer (Eugeneer) 16.05.11 11:02
(7) что значит везде? Условное оформление есть ВЕЗДЕ. во всех формах.
От добавления реквизита ничего не изменится везде само по себе. Автор предлагает добавить реквизиты и добавлять программный код приложенный во всех формах?))
А если еще что то надо будет разукрашивать. Например номенклатуру. по какому нибудь реквизиту? Это вообще будет жестко.

Другое дело - что автор немного описал (в приложенном корде) программное управление условным оформлением. Тут я бы поставил плюс. Но не могу, потому что решение с добавлением реквизитов в справочник ну никуда не годится.
9. Eugeneer (Eugeneer) 16.05.11 11:05
Уж лучше бы придумал какой нибудь справочник дополнительный чтоли. где бы настраивалось.
10. Сергей Ожерельев (Поручик) 16.05.11 11:08
(8) Считай, что в статье приведён пример программного управления оформлением формы, а добавление реквизитов - это абстракция.
11. Eugeneer (Eugeneer) 16.05.11 11:11
(10) ну ладно согласен. минус можно убрать. скосим это на лень автора придумтаь что нибудь поорегинальнее... :D
12. Виталий (nafa) 16.05.11 11:20
(8)
[quote]что значит везде? Условное оформление есть ВЕЗДЕ. во всех формах[/quote]
Везде - это везде, откуда может быть доступ к справочнику. В том числе и в запросе, подготоваливающем данные для выгрузки в стороннее приложение и при коннекте по ОЛЕ из стороннего приложения и при коннекте к соответствующей SQL таблице на сервере. Во всех указанных случаях условного оформления нет.

[quote]А если еще что то надо будет разукрашивать. Например номенклатуру. по какому нибудь реквизиту? Это вообще будет жестко. [/quote]
Ну если номенклатура имеет цвет и он имеет важное значение (одежда, обувь, краски, автомобили и т.п.) то раскраска номенклатуры выглядит вполне уместной.
w-divin; Istur; +2 Ответить 1
13. Станислав Турчинский (Istur) 16.05.11 15:36
(1) При оформлении в конфигураторе в условии условного оформления правое значение может быть только предопределенным. То есть склад должен быть занесен на уровне конфигуратора. Но это неправильно. Склады заносятся на уровне предприятия.
(2) ПриВыводеСтроки и ПриПолученииДанных нет в 8.2.
(4) (5) Смотрите выше. Склад должен быть предопределенным, чтобы можно было оформить на уровне конфигуратора. Как видно вы с этим не знакомы. А под началом такого психованного руководителя мало кто стал бы работать) Со стороны это смотрится, как будто я решил задачу по геометрии за 6 класс, а мне начали втирать таблицу умножения, причем с воплями. Я именно и рабоатю с условным формлением, только программно.
(7) Условное оформление тоже нужно заполнять во всех формах. 5 строчек кода через Ctrl+C, Ctrl+V добавить легче.
(9) Да, дополнительный справочник правильнее.
(10) Именно так и есть)
(11) поорИгинальнее. Я бы не сказал, что решение плохое. Единственное - оформление надо было вынести в дополнительный справочник, за все остальное я готов ответить. И что это лучше, чем в каждой форме залезать в условное оформление, это тоже факт. Залезать в каждую форму - это неуниверсальный бред. Склады могут меняться, цвета тоже могут изменяться. Сначала хотели красный, потом захотели зеленый. Добавили склад или решили изменить цвет. При данном решении выполняется только одно действие. Залезается в склад и изменяются значения там. Причем это может сделать и пользователь. И будет делать. А при вашем решении надо лезть в офигенное количество форм и сделать это может только программист.
(12) Спасибо за понимание)

В общем резюмирую. Иногда нужно что-либо оформлять на уровне конфигуратора, такие задачи возникают. В 8.1 это делалось через процедуры ПриВыводеСтроки и ПриПолученииДанных. В 8.2 их нет, там сделано условное оформление. Забивать его на уровне конфигуратора не получится, для этого нужно, чтобы были предопределенные значения, заносить которые для данной цели неправильно. Поэтому я привел пример, как можно оформлять программно, как форма оформляется кодом на 8.2.
vipElek; Spacer; +2 Ответить 1
14. Игорь Исхаков (Ish_2) 16.05.11 15:41
(13) Прокол в (2) не в том , что в 8.2 нет процедуры ПриВыводеСтроки()(она есть!), а в том , что её нет
в режиме управляемого приложения.
15. Станислав Турчинский (Istur) 16.05.11 15:44
(14) Она есть только в режиме совместимости с 8.1. Но он по определению временный, рано или поздно он должен быть отключен и должны быть только управляемые формы. Собственно я и расписываю как работать, когда нет данных процедур. Можно еще вспомнить что есть и чего нет в 7.7, 7.5, 6.0. Я привожу пример как работать с условным оформлением на управляемых формах 8.2.
Samojlov_Denis; +1 Ответить 1
16. Виталий (nafa) 16.05.11 15:56
(15)
[quote]Она есть только в режиме совместимости с 8.1. Но он по определению временный[/quote]
Вобще-то в 8.2 есть еще режим нормального приложения, безо всяких управляемых форм, в котором эта функция, слава Богу, есть. К тому же многих вполне устраивает этот "временный" режим совместимости, зачем его менять, если все работает.
17. Станислав Турчинский (Istur) 16.05.11 16:00
(16) Да, верно. Тут я погорячился немного)
18. Станислав Турчинский (Istur) 16.05.11 16:09
А вообще мне инфостарт напоминает консилиум врачей. Вот дали тебе больного, ты смотришь что с ним, и выписываешь ему рецепт. И выкладываешь сюда. После чего в комнатку набивается сотня других врачей и начинают со всех сторон и ракурсов рассматривать и самого больного, и сам рецепт, спорить между собой, спорить с тобой, предлагать что-то другое, соглашаться с тобой) Но это имеет офигенный плюс. Больной после этого стопроцентно будет жить)))))
19. Ийон Тихий (cool.vlad4) 16.05.11 16:22
:D (18)бородатый анекдот
Доктор, - говорит ассистент, - пациент Ларю из второй палаты скверно
себя чувствует.
- Надо говорить: "Пациент Ларю думает, что скверно себя чувствует".
Это новейший взгляд на сущность болезней.
На следующий день ассистент подходит к доктору.
- Доктор, пациент Ларю из второй палаты думает, что он умер.
vipElek; sashocq; Istur; +3 Ответить
20. Игорь Исхаков (Ish_2) 16.05.11 16:29
(18) Эй, врач, получай камень в свой огород.
Чтобы врачи не набивались к тебе в кабинет нужно ЧЕТКО ,ЯВНО указывать в рецепте диагноз и кому он предназначен. Диагноз не должен содержать и намека на двойое толкование .

Например. Указать явно в теме , что рассматривается пример для ТОЛЬКО УПРАВЛЯЕМОГО ПРИЛОЖЕНИЯ , в котором.. Объяснить ЯВНО в теме почему выбран именно такой вариант и в чем его преимущества.

Этого сделано не было.
Поэтому вздохи о тупости и непонимании порождают лишь ответные вежливые вздохи.
21. Виталий Барилко (Diversus) 16.05.11 18:05
(20)

Ish_2 пишет:

(18) Эй, врач, получай камень в свой огород.
Чтобы врачи не набивались к тебе в кабинет нужно ЧЕТКО ,ЯВНО указывать в рецепте диагноз и кому он предназначен. Диагноз не должен содержать и намека на двойое толкование .

Например. Указать явно в теме , что рассматривается пример для ТОЛЬКО УПРАВЛЯЕМОГО ПРИЛОЖЕНИЯ , в котором.. Объяснить ЯВНО в теме почему выбран именно такой вариант и в чем его преимущества.

Этого сделано не было.
Поэтому вздохи о тупости и непонимании порождают лишь ответные вежливые вздохи.


Так там же сриншоты управляемого приложения!
gragden; Istur; +2 Ответить 1
22. Игорь Исхаков (Ish_2) 16.05.11 18:29
(21) Однако , еще один. Еще раз для врачей.
Людей много хороших и разных, по-разному всё понимающих.

Поэтому :

Первое. Область применения указанного примера должна быть указана ЯВНО (в тексте).
Второе. Нужно явно привести (хотя бы простенький ) сравнительный анализ ( сравнить с возможными альтернативами) и показать преимущества на взгляд автора представленного решения.

Это есть - взрослый подход.
23. Станислав Турчинский (Istur) 16.05.11 19:06
(22) Тут нет альтернатив..
24. Игорь Исхаков (Ish_2) 16.05.11 19:12
(23) Смело.
Так укажи в теме , что ,дескать, так мол и так, представленное решение по выделению цветом складов альтернатив НЕ ИМЕЕТ. Глядишь, дискуссия примет новый поворот.
25. Станислав Турчинский (Istur) 16.05.11 19:20
(24) Это не решение по выделению цветом складов!! Я писал выше!! Это пример работы с условным оформлением программно!

И вообще. Цель статьи в самой статье, а не в дискуссии после нее. У меня нет столько времени, чтобы расписывать всё и вся. Я выдал подход, кто надо - воспримет, кому не надо - тому не надо. За это время можно сделать много другого полезного. Судя по тому, что ты не знаешь об отсутсвии в управляемых формах процедуры ПриВыводеСтроки, данная статья не несет для тебя никакой нагрузки, так что я думаю эту дискуссию с тобой надо прекратить.
26. Игорь Исхаков (Ish_2) 16.05.11 19:25
27. Сергей Ожерельев (Поручик) 16.05.11 21:36
(18) (24)
>>>> Больной после этого стопроцентно будет жить
Или стопроцентно двинет кони от таких врачей. Второй вариант более достоверен.
28. Виталий Барилко (Diversus) 16.05.11 21:37
(25)(26) мужики Вы чего? Это всего лишь выделение цветом :D
Не стоит так болезненно реагировать на такой подход и такое описание.

Ish_2 не криви душой, у самого было ведь когда что-то делал не так как по правилам, а так как проще?
Ну скажем перебор, вместо запроса и т.д.
Типовые решения и то такими вещами занимаются.

Получилось такая статья и что? Хуже когда 1С-овцы вообще ничего не делают, а тупо качают раз в день ;)
Указал в начале на то, что статья плохо оформлена и(или) есть альтернативное решение - человек понял и в следующий раз сделает лучше!
29. Станислав Турчинский (Istur) 16.05.11 22:05
(28)
Получилось такая статья и что?
спасибо на добром слове)))
30. Игорь Исхаков (Ish_2) 16.05.11 22:17
(29) Мне кажется , ты критику воспринял как озлобленность. И зря.
Да стал бы я распинаться , если б не представлял с кем имею дело.
А раз так то с тебя и спрос другой. Чего я церемониться буду ?
31. Игорь Исхаков (Ish_2) 16.05.11 22:24
(28) Делал, конечно . И неправильно , и как проще.
Хм.. Хотел бы я посмотреть на человека , который делает сразу все правильно. Ау ..

А про перебор вместо запроса - ты зря написал.
Милости прошу в ту тему. Там я расскажу , что понимается под перебором.
32. Аркадий Кучер (Abadonna) 17.05.11 02:36
(7)
Что плохого в этом решении, например если надо конкретному складу назначить конкретный цвет?

Ведет к формированию дурного вкуса, а он, как говорят французы,ведет к преступлению ;)
Примечание: дурной вкус - это всё. что не нравится мне :D :D
33. Яков Коган (Yashazz) 17.05.11 10:49
Автор вообще в курсе, что есть хранилища настроек, в частности, заточенные именно для настроек СКД? И что всё можно сделать именно так?
А программная работа с СКД - она в книжках описана, у Хрусталёвой, да на всяких ресурсах, какой смысл за это плюсы ставить?
34. Виталий (nafa) 17.05.11 12:16
(33)
[quote]хранилища настроек, в частности, заточенные именно для настроек СКД[/quote]
Какие хранилища настроек??? Цвет в 1С - это обычное целое число. Можно его конечно превратить во что угодно, сделать xml файлик потом поместить в хранилище, и т.п. Только потом не надо удивляться, что пользователь на калькуляторе считает быстрее, чем в 1С...
Diversus; Поручик; +2 Ответить 1
35. Яков Коган (Yashazz) 17.05.11 12:37
(34) Ага, а условное оформление в 1С - это условное оформление. И, если вы не в курсе, только цветом не исчерпывается. И входит оно в состав настроек СКД, каковая и лежит в основе динамических списков 8.2, и каковую собственно и следует использовать на всю катушку, а не изобретать кривые велосипеды и курочить справочники.
Советую ознакомиться с тем, что такое хранилище настроек, и чем, собственно, 8.2 отличается от 8.1 в части управляемых интерфейсов.
36. Александр Зубцов (iov) 18.05.11 09:28
воспитательная порка удалась на славу... :D
37. Игорь Исхаков (Ish_2) 18.05.11 18:46
Чем тут закончилось ? - Тяжело без морали в конце .
Я не понял кто кого выпорол. Так наши победили или нет ?
38. Сергей Ожерельев (Поручик) 18.05.11 18:57
По моему, ничья. Каждый остался при своём мнении по принципу: сам мудак дурак такой.

Тут ещё народ повоспитанней будет. Вот на другом сайте срачь спор растянули бы на десяток страниц с тысячью постов.
39. Ирина Пятакова (Alraune) 18.05.11 21:33
такие бои местного значения получились :)
а в таких случаях, по-моему, обычно никто и не побеждает, все поспорят и разойдутся до следующего раза. Зато автору почту заспамили сообщениями о комментариях, наверно
40. Виталий Барилко (Diversus) 18.05.11 21:36
С другой стороны конструктивная критика никогда не помешает :D
41. Артур Аюханов (artbear) 19.05.11 09:10
Alraune пишет:
Зато автору почту заспамили сообщениями о комментариях, наверно

И не только автору :)
42. Сергей Чуян (Собеседник) 21.05.11 09:47
"подпишусь" на условное оформление :)
43. Андрей (amalar) 22.05.11 22:08
Ёжики плакали, кололись - но продолжали насиловать кактус....
44. Александр Хомяк (logarifm) 20.10.11 10:19
Ребят 8.2 в динамических списках позволяет по условиям сама все красить, зачем столько кода писать!?
45. Виталий (nafa) 20.10.11 10:36
(44) Возможности 8.2 по раскрашиванию конечно впечатляют по сравнению с их отсутствием в предыдущих версиях, но это всего лишь ограниченный набор средств, который несравним с возможностями встроенного языка. Кроме того в ряде случаев удобнее видеть все, что делает программа, собранным в одном месте (модуле, процедуре) а не вспоминать, что это - в настройках оформления, это - в подписке на события, это - в модуле и т.п. Особенно когда над программой работаешь не один.
46. LeXxX Астопов (lcd-boost) 20.10.11 13:25
Круто не знал про встроенное оформление. будет полезно. А не подскажите как табличной части обновлять данные?
47. Иван Иванов (Seburtor) 27.10.11 22:17
К чему все эти красивости ?
Чем строже и незатейливей - тем проще и у юзеров не возникает соблазнов ...
48. Роман Узьмов (RomanUzmov) 31.01.12 08:48
Отличный пример. Мне он очень помог в реализации подобной, но немного другой задачи. Автору (+)
49. Дмитрий Елисеев (w-divin) 08.02.12 19:24
все прикольно, но не допру как раскрасить сами склады в списке справочника по цвету, который в них выбран?
50. Дмитрий Елисеев (w-divin) 08.02.12 19:30
(47) дело не в соблазнах, а в удобстве и скорости работы...
иногда намного проще увидеть 1 красную строчку из 100 в накладной, чем пол часа искать глазами...
51. Алексей Азов (unknown181538) 18.04.12 01:57
Программное оформление куда выгоднее при обновлениях.
52. kcprovod (loginfo) 29.05.12 07:33
Может быть вопрос не по теме, но спрошу. При обновлении динамического списка не обновляется оформление, только при повторном открытии формы. То есть есть процедура на сервере, осталось добавить на клиенте, только что?
ОбновитьОтображениеДанных();
Элементы.Список.Обновить();
Оповестить("ОбновитьСписок", , ЭтаФорма);
не помогают.
53. Artyom Brykhovetskiy (KurganPX) 02.07.12 14:49
Спасибо автору за статью, однозначный "плюс".
Формирую таблицу на управляемой форме программно, только так и можно задать условное оформление. Тут я ни только правого значения не знаю, так ещё и списка колонок, которые я оформляю..
54. Владимир Щербаков (sherbv) 30.07.13 02:52
какие то страсти написаны... напишу проще - при редактировании табличной части поставить что то типа:

&НаКлиенте
Процедура ЗаявкиПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
ОформитьСтрокиНаСервере ();
КонецПроцедуры

&НаСервере
Процедура ОформитьСтрокиНаСервере ()
ЭтаФорма.УсловноеОформление.Элементы.Очистить();
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Заявки");
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Заявки.Закрыть");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Киноварь);

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Заявки.Утвердить");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;

ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.ВесеннеЗеленый);
КонецПроцедуры

Если нужно наложить несколько условий - повторить ниж еще раз серверный модуль, но тока без первой строчки по поводу очистки [ЭтаФорма.УсловноеОформление.Элементы.Очистить()]
1c-soft; sh_max; wolfsoft; pstrig; Team leader; +5 Ответить
55. Гость 25.12.15 17:27
День добрый, всем.
Есть номенклатура с доп реквизитами.
Может кто нить подскажет как разукрасить поле Номенклатура, в табличной части товары, по условию накладываемому на доп реквизиты выводимой номенклатуры?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа