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

Условное оформление в формах

Область применения: управляемое приложение.

Рекомендация (полезный совет)

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

1.1. Не следует использовать условное оформление для скрытия в таблице строк целиком. Это существенно замедляет работу в веб-клиенте, а также приводит к некорректному отображению содержимого таблицы.

1.2. Если задача может быть функционально решена как с помощью условного оформления динамического списка, так и с помощью условного оформления формы, то следует выбрать первый вариант (условное оформление динамического списка). Это также несколько ускорит открытие формы.

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

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

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

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

ГруппаОтбора1 = Элемент.Отбор.Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»));
ГруппаОтбора1.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;

ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«АдресноеХранение»);
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Ложь;

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

ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Объект.Статус»);
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Перечисления.СтатусыПриходныхОрдеров.КПоступлению;

Источник

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

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

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

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

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

ac98e0b613fd2e30acf6afe8b8e7bcc7

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

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

6ae09b551bd5609785f03ce35cadaad7

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

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

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

Вывод

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

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

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

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

Скачать файлы

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

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

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

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

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

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

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

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

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

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

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

With objectExpression
[ statements ]
End With

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

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

См. также

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

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

09.09.2019 17668 34 bmk74 7

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

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

17.10.2021 2250 4 Патриот 48

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

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

07.09.2021 878 8 masterkio 1

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

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

07.06.2021 1669 0 alexey_kurdyukov 0

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

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

13.04.2017 24982 40 SeiOkami 19

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

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

01.04.2021 2881 1 schthaxe 0

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

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

22.03.2021 3607 0 Neti 7

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

04.03.2021 2551 4 Andreyyy 18

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

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

31.05.2017 38984 161 tormozit 25

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

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

01.03.2021 2939 kalyaka 25

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

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

18.02.2021 5431 13 compmir 30

Источник

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

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

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

1

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

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

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

2

3

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

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

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

Источник

Как настроить условное оформление списка документов в 1С 8.3 по условию

Для более лучшего восприятия информации, можно настроить подсветку строк табличной части в 1С по определенному условию. Это можно сделать с помощью условного оформления. Например, у вас есть табличная часть, в которой отображается список товаров, скажем с количеством или ценой. Можно выделить все строки с количеством меньше 10. В общем задать любое условия. Сегодня подробно разберем этот вопрос и посмотрим как настроить условное оформление табличной части документа в 1С 8.3 по условию.

Так же рекомендую прочитать следующие статьи касающиеся настройки и работы в продуктах фирмы 1С.

Условное оформление 1С 8.3

Для примера я создал вот такой документ. У нас есть список, в котором отображается дата, номер, наименование, цена, наличие. Если документов будет много, то визуально увидеть галочку которая говорит нам о наличии какого либо товара сложно. Было бы намного удобней если бы те позиции которые есть в наличии выделялись каким нибудь цветом. Можно так же настроить выделение строк по цене, например, больше 50 меньше или равно.

1 18

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

2 16

Потом в правой части открываем вкладку «Реквизиты» и открываем свойства «Списка». В окне свойств нажимаем «Открыть» напротив пункта «Настройка списка».

3 14

Откроется окно «Динамический список» переходим во вкладку «Условное оформление» и добавляем его.

4 14

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

5 8

Далее создаем условие, изначально мы хотели выделять те позиции которые есть в наличие. Т.е в документе отмечен данный пункт. Поэтому выбираем реквизит «Наличие», условие ставим «Равно» «Истина». Теперь если в документе отмечен пункт наличие будет выполняться наше условие и данный документ будет выделен согласно настроенному оформлению.

6 4

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

7 2

Откроем любой из них и проверим отмечен ли пункт «Наличие».

8 1

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

Источник

1С УФ: Программное добавление элементов условного оформления формы

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti →

Рассмотрим пример программного добавления элементов условного оформления на форму документа. Сделаем так, чтобы возможность редактирования строки таблицы грУсловияОплатыТаблица зависела от реквизита формы АктивныйСчет (тип Булево) и от реквизита таблицы Редактирование (тип Булево) (рис. 1):

1 1

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

Если АктивныйСчет = Истина и Объект.грУсловияОплатыТаблица.Редактирование = Ложь, тогда редактирование строки таблицы будет недоступно: установим свойство ТолькоПросмотр = Истина. Можно добавить аналогичный код для случая, когда АктивныйСчет = Истина, Объект.грУсловияОплатыТаблица.Редактирование = Истина, и включить возможность редактирования строки: установить свойство ТолькоПросмотр = Ложь.

Эти условия можно задать в свойстве формы УсловноеОформление (рис. 2 и рис. 3):

2 1

Рис. 2. Свойство формы УсловноеОформление

3

Рис. 3. Настройка условного оформления

Иногда в коде очищают свойство формы УсловноеОформление и все заданные настройки (рис. 2 и рис. 3) пропадают. В таких случаях можно программно задать нужное условное оформление.

Описание текста процедуры модуля формы для программного добавления элементов условного оформления:

0. Название процедуры может быть любым; ее вызов может быть, например, из обработчика события формы ПриСозданииНаСервере.

1. Очищаем условное оформление формы (для примера, не обязательно).

2. Добавляем новый элемент условного оформления ЭлементОформления.

3. Устанавливаем свойство оформления ТолькоПросмотр = Истина.

4. Добавляем условия (отборы), при выполнении которых будет действовать настройка.

В примере это два условия И, поэтому добавляем группу элементов отбора ГруппаЭлементовОтбора с типом группы ГруппаИ, и два элемента отбора ЭлементОтбора (для АктивныйСчет = Истина и Объект.грУсловияОплатыТаблица.Редактирование = Ложь).

5. Указываем поля, для которых будет действовать настройка.

В нашем примере это будет вся строка таблицы грУсловияОплатыТаблица, поэтому добавляем одно поле ПолеОформления с названием таблицы грУсловияОплатыТаблица.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с обычные формы список значений на форме
  • 1с обычные формы список выбора