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

Обновлено: 05.07.2024

В "Файлах публикации" находится обработка, в которой есть весь необходимый код и примеры, рассматриваемые ниже. Обработка универсальная и не зависит от используемой конфигурации. Протестирована на платформе 1С:Предприятие 8.3 (8.3.13.1926).

Пример 1: Знакомство

Как нужно было делать раньше:

Как можно делать теперь:

Да! Этот код не только проходит проверку синтаксиса, но и работает)

Пример 2: Группы отборов

Разрешите мне не приводить типовой код, а сразу показать новый способ с группами отборов:


В конце описания каждой группы отборов добавляется КонецГруппы(). Эта конструкция позволяет избавиться от использования промежуточных переменных. Примеры с вложенными группами отборов смотрите ниже, в Примере 3. Также, в этом примере видно, что код настройки не обязательно должен быть монолитным. ОбъектНастройки сохраняет в себе уже сделанные изменения и, при необходимости, позволяет продолжить настройку.

Пример 3: Сравнение типового (с использованием БСП) и нового способа

Под спойлером - код из типовой конфигурации.

Типовая настройка условного оформления с использованием БСП (код из БП 3.0)

А теперь то же самое новым способом:

Согласитесь, теперь стало гораздо понятнее и по наглядности сопоставимо с формой интерактивной настройки условного оформления.

Вывод

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

Как это использовать у себя

  • Скачайте обработку
  • Встройте в конфигурацию или расширение с именем "НастройкаУсловногоОформления"
  • При необходимости создания программной настройки условного оформления, пишите:

Смотрите также

Эта и многие другие возможности входят в состав [ЕХТ] Фреймворк для расширений.

Попробуйте, гарантирую - Вам понравится!

[Взрыв шаблона!] Новый способ программной настройки условного оформления

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Идея классная! Код действительно выглядит чище.

Что касается оформления полей формы, не связанных с таблицей, то есть ограничения платформы. По моему раньше, до какого-то релиза в платформе, вообще не было возможности влиять на оформление не табличных полей формы через УО. Теперь похоже можно, но не все настройки действуют, например следующее оформление не сработало:

(1) Да, некоторые параметры оформления платформа просто игнорирует, причем молча.

2. Vladimir Litvinenko 2636 02.12.19 11:22 Сейчас в теме

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

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

Интересное решение.
Решил проверить.
платформе 1С:Предприятие 8.3 (8.3.14.1976)

: Метод объекта не обнаружен (Настроить)
ОбъектНастройки = РеквизитФормыВЗначение("Объект").Настроить(ЭтотОбъект.УсловноеОформление)

Проверку проходит дормально, а вот исполнение хромает.
Подскажите, что делаю не так.

Вот что это напоминает.
Оператор With. End With (Visual Basic)

Выполняет последовательность операторов, которые многократно ссылаются на единственный объект или структуру, чтобы операторы могли использовать упрощенный синтаксис доступ к членам объекта или структуры. При использовании структуры можно только считывать значения членов или вызвать методы. При попытке присвоения значений членам структуры, используемым в операторе With. End With, возникает ошибка.
Синтаксис
VB

With objectExpression
[ statements ]
End With

Когда-то давно "пописывал" на VB)))

(8) В конце публикации есть описание "Как это использовать у себя" Ну это же так "важно" для бизнеса? Настройки оформления, как бизнес жил без этого и жить дальше будет? (это был сарказм). Здесь последовательность вызовов смотрится органично А если немного доработать, то и условие сравнения можно писать сокращенно, н-р:

Просмотры 19778

Загрузки 52

Рейтинг 150

Создание 01.12.19 17:00

Обновление 01.12.19 17:00

№ Публикации 1161402

Конфигурация Конфигурации 1cv8

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Да

См. также

Альтернативный способ добавления элементов и реквизитов на формы Промо

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

1 стартмани

09.09.2019 18022 35 bmk74 7

Выделение текущей строки в отчете (сделать сразу во всех отчетах и ничего не сломать)

Как за 10 минут упростить работу с отчётами программистам и пользователям. Добавить ВО ВСЕ ОТЧЁТЫ механизм автоматического выделения текущей строки отчёта (той, на которой установлен курсор). И ПРИ ЭТОМ НИЧЕГО НЕ СЛОМАТЬ.

1 стартмани

17.10.2021 2844 6 Патриот 48

Рабочая область начальной страницы "Часто используемые объекты"

Расширение добавляет на начальную страницу область, в которой собраны наиболее часто используемые пользователем объекты, полученные на основании истории работы пользователя.

1 стартмани

07.09.2021 1092 8 masterkio 1

Игра "Змейка" на управляемых формах (клиент)

Пишем игру с динамическим обновлением игрового поля и управлением с клавиатуры на управляемых формах, отправляем на github.

1 стартмани

07.06.2021 1893 0 alexey_kurdyukov 0

Менеджер открытых форм Промо

Обработка получает информацию об открытых формах и позволяет ими манипулировать.

1 стартмани

13.04.2017 25240 40 SeiOkami 19

Размещение ссылки на внешний отчет или обработку на панели раздела подсистемы

Расширение предназначено для помещения внешних отчетов и обработок на панель раздела (для управляемого приложения).

1 стартмани

01.04.2021 3131 1 schthaxe 0

Формирование макета коллекции изображений

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

2 стартмани

22.03.2021 3812 0 Neti 7

Перетаскивание файлов в поле HTML (JavaScript)

Может возникнуть необходимость добавлять файлы в систему под управлением 1С:Предприятие через достаточно распространенный и удобный механизм - перетаскивание (Drag & Drop). В данной публикации этот механизм реализован через поле HTML, с небольшим усовершенствованием на Java Script.

1 стартмани

04.03.2021 2823 4 Andreyyy 18

Расширенная настройка динамического списка УФ Промо

Открывая управляемую форму выбора и не увидев там видимых в форме списка элементов, часто хочется узнать причину их отсутствия там, т. е. какой наложен отбор. Но стандартная настройка списка управляемой формы показывает только пользовательские настройки, скрывая от пользователя фиксированный отбор. Предлагаю вам расширение конфигурации с расширенной настройкой динамического списка, отображающей пользователю кроме пользовательских настроек еще фиксированные.

1 стартмани

31.05.2017 39334 161 tormozit 25

Модель запроса

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

1 стартмани

01.03.2021 2997 kalyaka 25

Самые красивые шахматы для 1С на управляемых формах

Здравствуйте, представляем Вашему вниманию классическую игру – Шахматы! Написана игра средствами 1С, на управляемых формах. Программный код представляет собой с аккуратностью составленную систему, содержащую лаконичные логические приемы и описательные имена переменных, объектов и функций. Программа полностью отлажена и многократно протестирована. Оригинальный авторский дизайн фигур, иконок и кнопок приятен глазу. Игра содержит большое количество функций, настроек и режимов игры, включая сетевую игру, тренировку с ботом или игру на двоих. Не упустите возможность найти ряд технических решений, применимых для реализации различных задач, а также поиграть в вечную игру с отличным оформлением! Желающие научиться программировать на управляемых формах могут многое почерпнуть в этой конфигурации.

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


Условное оформление в СКД содержит область использования "В общем итоге", но эта настройка, как оказалось, распространяется только на вертикальные общие итоги, а с горизонтальными - не работает, поэтому первая попытка настроить условное оформления привела к следующему результату (вертикальные общие итоги вывел только для примера, в реальном отчете они были не нужны).


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

Суть способа:

1) добавить в схему вычисляемое поле "ОбластьОбщихИтогов" (можно задать любое имя).


2) Поле перенести в ресурсы и по-разному рассчитывать его в группировках и общих итогах


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



Результатом данных манипуляций, является корректно оформленная область общих итогов.


У меня все, надеюсь, это поможет кому-нибудь сэкономить немного времени и нервов.

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

- в конфигураторе условное оформление существует на уровне самой формы (как в формах объекта, так и списка):

В форме

В формах списка условное оформление существует и на уровне самого динамического списка:

2

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

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

3

2. Программная работа с условным оформлением (УО).

Начнем с того, что работа с УО доступна только:

Для Добавления элемента УО в списке нужно обратится к списку и добавить элемент УО:

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

Для УО формы добавление происходит через прикладной объект УсловноеОформление:

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

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

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

Значение свойства УО:

// Установка значения элемента УО
// Возможно обращение как по индексу так и установка через метод
//1.
Элемент = ЭлементОформления . Оформление . Элементы [ 0 ];
Элемент . Значение = Цвет ;
//2.
ЭлементОформления . Оформление . УстановитьЗначениеПараметра ( "ЦветФона" , WebЦвета . СеребристоСерый );

Элемент . Использование = Истина;

Добавим поля оформления, если ничего не добавлять, то система применит оформления ко всей строке:

// Создаем поля оформления
ПолеОформления = ЭлементОформления . Поля . Элементы . Добавить ();
ПолеОформления . Поле = Новый ПолеКомпоновкиДанных ( ПолеДляОформления );
ПолеОформления . Использование = Истина;

В качестве ИменПолей нужно передавать строковое представление ИМЕНИ реквизита.

3. Все настройки УО хранятся для каждого пользователя отдельно.

4. Пример.

Очень часто сталкивался с проблемой настройки свойства АвтоОтметкаНезаполненного в ТЧ по условию . В обычных формах все решалось в процедурах упомянутых выше, а здесь таких событий нет. А решается это все конечно при помощи УО. Заходим в форме объекта в Условное оформление и видим свойство - Отметка незаполненного. Ну а дальше настроииваем как надо.

4

Выводы:

- Простое условное оформление пользователь может настроить и сам, если его научить :). Это будет сложно конечно, но возможно.

- УО в табличной части можно задать в конфигураторе через УО формы.

- Программная работа с УО требуется в случае сложного условия отбора, в таких случаях лучше создавать процедуру в общем модуле использования в различных документах и списках.

Программа 1С позволяет пользователям настраивать рабочие места под свои потребности: менять расположение разделов, журналов, скрывать / добавлять важную информацию и многое другое. Одной из таких настроек является условное оформление в 1С и в этой статье мы рассмотрим, как раскрасить объекты 1С на примере конфигурации 1С ERP 8.3

1. Условное оформление в списке документов и в справочниках 1С

Условное оформление в списке документов и справочниках 1С выполняется с помощью настройки «Редактирование элемента условного оформления 1С», открываемого из настроек списка 1С.



· На вкладке «Оформление» устанавливается желаемое оформление полей: цвет фона, цвет текста и т.д.

· На вкладке «Условие» заполняются условия, при выполнении которых оформление будет применяться к полям.

· На вкладке «Оформляемые поля» выбираются поля из списка доступных полей, к которым будет применяться оформление, если условия выполнены.

Рассмотрим на примерах.

Сделаем так, чтобы в журнале «Заказы поставщикам» цвет строк зависел от статуса документа:

· Не согласован - зеленый

· К поступлению - розовый



В меню «Еще» переходим в настройки списка 1С и в открывшемся окне открываем вкладку «Условное оформление 1С».



Задаем первое правило – если значение статуса «Не согласован» цвет фона строки должен быть зеленым.

Нажимаем кнопку «Добавить», при этом в 1С ERP 8.3 откроется окно редактирования элемента условного оформления 1С.



На вкладке «Оформление» выбираем каким образом мы хотим выделить нужные нам документы – в нашем примере это вариант «Цвет фона». Ставим галочку в первой строке и в колонке «Значение» выбираем цвет.



На вкладке «Условие» из списка доступных полей перетаскиваем поле, значение которого должно определять в 1С цвет документа в списке – поле «Статус». Указываем значение статуса – «Не согласован».



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

Нажимаем «ОК» и видим списке новую строку с заполненными правилами условного оформления.



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



Нажимаем кнопку «Завершить редактирование» и проверяем результат.

Для примера опять возьмем журнал «Заказы поставщикам» в 1С ERP 8.3 и выделим в нем сумму заказа на сумму выше 5 000 000 жирным красным шрифтом



Для этого, как и в примере выше открываем настройки списка 1С и добавляем новую настройку условного оформления. В окне редактирования элемента задаем цвет текста и шрифт.



На закладке «Условие» проставляем следующие условия: сумма документа больше 5 000 000



На вкладке «Оформляемые поля» указываем только одно поле «Сумма документа»



Сохраняем настройку - нажимаем «Ок». Завершаем редактирование настройки списка 1С и проверяем результат.

2. Условное оформление в отчетах 1С

Оформление в отчетах 1С выполняется в настройках отчета при установке расширенного вида настроек. При этом доступна вкладка «Оформление», где задаются «Элементы условного оформления отчетов 1С».



· На вкладке «Оформление» вводится произвольный «Заголовок» элемента оформления. С помощью флажков можно включать или выключать различные параметры оформления. Параметры оформления можно менять с помощью соответствующих инструментов.

· На вкладке «Условие» задаются отборы, при которых данные условия оформление будет применяться.

· На вкладке «Оформляемые поля» выбираются поля, для которых будет применяться условное оформление.

Если вам надоели типовые формы отчета, вы можете настроить формат их отображения на свое усмотрение – изменить цвет, шрифт и т.п.

Рассмотрим на примере, как в стандартном отчете сделать настройку как на рисунке ниже.





Под каждое правило для условного оформления необходимо создавать новый элемент («Настройка» (вид «Расширенный») → вкладка «Оформление» → «Добавить») и указывать название, поясняющее суть настройки.

Шаг 1. Настраиваем шапку отчета 1С.

Заполняем название элемента, например, «Шапка отчета 1С». На вкладке «Оформление» настраиваем цвет фона, цвет текста и шрифт.

Вкладки «Условие» и «Оформляемые поля» не заполняем. На вкладке «Дополнительно» отмечаем пункт «В заголовке полей».



Для сохранения правила нажимаем клавишу «Ок».

Шаг 2. Настраиваем шрифт отчета.

На вкладке «Оформление» настраиваем шрифт, а на вкладке «Дополнительно» выбираем пункт «В группировке».



Шаг 3. Настраиваем выделение строки Организация и Клиент

Заполняем настройку для выделения строки организации - выбираем цвет фона, в качестве оформляемого поля выбираем «Организация» и на вкладке «Дополнительно» отмечаем «В группировке».


Для выделения строки с клиентом делаем аналогичные настройки, только с другим цветом фона и оформляемое поле устанавливаем «Клиент».



Шаг 4. Настраиваем выделение фона ячейки с отрицательным значением в колонке «Сальдо долга».

Задаем цвет фона. Настраиваем условие: сальдо долга меньше 0. Выбираем «Сальдо долго» в качестве оформляемого поля и вариант отображения – «В группировке».

Читайте также: