Как в 1с выделить цветом строку
Перейти к содержимому

Как в 1с выделить цветом строку

  • автор:

Как раскрасить строки табличной части по некоторому условию?

К табличной части справочников, документов и других объектов можно применить такое же условное оформление, как и к динамическому списку. Но в отличие от динамического списка, где настройка списка доступна и в пользовательском режиме, сделать это можно только в режиме конфигуратора или из встроенного языка.

Для этого нужно использовать свойство УсловноеОформление формы.

Например, нужно оформить строки табличной части приходной накладной так, чтобы строки с суммой больше 30000 были выделены желтым фоном, а ячейки Товар и Количество строк табличной части с количеством больше единицы были выделены красным текстом.

Выполним условное оформление интерактивно. Создадим форму документа ПриходнаяНакладная, выделим корень элементов формы (строку Форма) и откроем ее свойства. В строке УсловноеОформление нажмем ссылку Открыть.

В появившемся окне Настройка условного оформления нажмем кнопку Добавить.

Сначала укажем Оформление для выделения полей. Нажмем кнопку выбора в поле Оформление и установим желтый цвет фона.

Затем укажем условие, при наступлении которого будет применяться оформление, то есть когда фон строк табличной части будет желтым.

Нажмем кнопку выбора в поле Условие и в появившемся окне добавим Новый элемент отбора. Для этого нажмем на кнопку Добавить — Новый элемент и укажем:

  • в графе Левое значение – поле табличной части Объект.Товары.Сумма,
  • в графе Вид сравнения – Больше,
  • а в графе Правое значение выберем 30000.

Затем укажем список оформляемых полей. В отличии от оформления динамического списка, построенного на системе компоновки данных, если мы хотим выделить полностью строку, здесь нужно перечислить все поля строки табличной части.

Нажмем кнопку выбора в поле Оформляемые поля, затем нажмем Добавить и добавим поочередно все поля табличной части в список оформляемых полей.

Затем создадим еще одно условие для полей табличной части Товар и Количество, чтобы цвет текста этих полей был красным, в случае если значение в поле Количество больше единицы.

Таким образом, мы добились требуемого оформления табличной части формы документа ПриходнаяНакладная.

Заметим, что подобным образом можно оформить не только строки табличной части, но и все поля документа.

По условию можно оформить также и строки списка документов или других объектов конфигурации. Для этого можно использовать УсловноеОформление списка. Подробнее можно прочитать в вопросе Как раскрасить строки списка по некоторому условию?

Табличная часть, заливка строки цветом

(1) а можно пример, простейший, где создается ТЧ и первая строка заливается одним цветом, а вторая другим?

Обычный документ + табличная часть.

если обычные формы то в ПриПолученииДанных

Для Каждого Оформление Из ОформленияСтрок Цикл
//оформляем
КонецЦикла

я бы сказал так:
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

Можно использовать и ПриПолученииДанных как в (5) и ПриВыводеСтроки как в (6)
(6) проще, а (5) — правильнее. Точнее так — (5) правильнее, если данные для анализа должны получатся сложной функцией, например запросом по данным строки, иначе —все равно.
(7)внутри пишешь примерно так

Если ДанныеСтроки.количество > 0 Тогда
ОформлениеСтроки.Ячейки.Цвет.цветФона = WebЦвета.БледноКрасноФиолетовый;
ОформлениеСтроки.Ячейки.Цвет.цветТекста = WebЦвета.БледноКрасноФиолетовый;
Иначе ОформлениеСтроки.Ячейки.Цвет.цветФона = WebЦвета.БледноЗеленый;
ОформлениеСтроки.Ячейки.Цвет.цветТекста = WebЦвета.БледноЗеленый;
конецесли;

Табличное поле

Распечатать

Как на управляемой форме разместить список регистра сведений с отбором?  19
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом » ДинамическийСписок» В поле » Основная табли Как установить параметр динамического списка?  17
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением  13
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  11
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами

1С условное оформление строки табличной части

В 1С Предприятии 8.2 к табличной части можно применить такое же условное оформление, как и к динамическому списку. Но в отличие от динамического списка, где настройка списка доступна и в пользовательском режиме, сделать это можно только в режиме конфигуратора или из встроенного языка. Для этого нужно использовать свойство УсловноеОформление формы.

Например, нам требуется оформить строки табличной части приходной накладной так, чтобы строки с суммой больше 30000 были выделены желтым фоном, а ячейки Товар и Количество строк табличной части с количеством больше единицы были выделены красным текстом.

Выполним условное оформление интерактивно. Создадим форму документа ПриходнаяНакладная , выделим корень элементов формы (строку Форма ) и откроем ее свойства. В строке УсловноеОформление нажмем ссылку Открыть .

В появившемся окне Настройка условного оформления нажмем кнопку Добавить.

Сначала укажем Оформление для выделения полей. Нажмем кнопку выбора в поле Оформление и установим желтый цвет фона.

Затем укажем условие, при наступлении которого будет применяться оформление, то есть когда фон строк табличной части будет желтым. Нажмем кнопку выбора в поле Условие и в появившемся окне добавим Новый элемент отбора . Для этого нажмем на кнопку Добавить и укажем в графе Левое значение – поле табличной части Объект.Товары.Сумма , в графе Вид сравнения – Больше , а в графе Правое значение выберем 30000 .

Затем укажем список оформляемых полей. В отличии от оформления динамического списка, построенного на системе компоновки данных, если мы хотим выделить полностью строку, здесь нужно перечислить все поля строки табличной части.

Нажмем кнопку выбора в поле Оформляемые поля , затем нажмем Добавить и добавим поочередно все поля табличной части в список оформляемых полей.

Затем создадим еще одно условие для полей табличной части Товар и Количество , чтобы цвет текста этих полей был красным, в случае если значение в поле Количество больше единицы.

Таким образом, мы добились требуемого оформления табличной части формы документа ПриходнаяНакладная .

Заметим, что подобным образом можно оформить не только строки табличной части, но и все поля документа.

Демонстрационный пример находится в каталоге 1CITS/EXE/FAQ/КакРаскраситьСтрокиТабличнойЧасти.dt. Пример выполнен на версии платформы 8.2.9.356.

По условию можно оформить также и строки списка документов или других объектов конфигурации. Это делается через УсловноеОформление списка. Подробнее смотрите в вопросе Как раскрасить строки списка по некоторому условию?

Процесс оформления строк табличной части для управляемых форм отличается от оформления строк в обычных формах.

Оформление в строк табличной части для обычных форм

Условное оформление в управляемых формах

Для того чтобы программно наложить оформление на элементы управляемой формы (а в частности на строки таблицы значений), необходимо воспользоваться элементами условного оформления.

ВАЖНО! Работы с элементами условного оформления доступна только на стороне сервера!
ВАЖНО! Для оформления строк таблицы (или дерева) значений мы будем использовать условное оформление самой формы, а не элемента списка!

Таким образом, код для реализации условного оформления управляемой формы будет иметь следующий вид: В приведенном примере, в случае если значение реквизита "Реквизит1" будет больше 10, цвет текста строки будет выделен зеленым.
Вы же можете наложить любое условие и любое необходимое оформление.

среда, 4 апреля 2018 г.

Раскрасить табличную часть или условное оформление табличной части

Чтобы раскрасить табличную часть документа (установить параметры условного оформления) нужно воспользоваться следующим методом в предопределенной процедуре "ПриСозданииНаСервере"

Данный метод доступен только в директиве компиляции "&НаСервере"

Оформление = УсловноеОформление.Элементы.Добавить();
Оформление.Использование = Истина;
//
//Для табличных частей нужно указывать оформляемые поля в ручную.
Поле1 = Оформление.Поля.Элементы.Добавить();
Поле1.Поле = Новый ПолеКомпоновкиДанных("ТоварыНоменклатураАртикул");
Поле2 = Оформление.Поля.Элементы.Добавить();
Поле2.Поле = Новый ПолеКомпоновкиДанных("ТоварыНоменклатура");
//
Отбор = Оформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Количество");// неопбходимо обращаться к объекту формы!
Отбор.ПравоеЗначение = 3;
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
Отбор.Использование = Истина;
Оформление.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Аквамарин);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *