[Взрыв шаблона!] Новый способ программной настройки условного оформления
Разработка - Работа с интерфейсом
В "Файлах публикации" находится обработка, в которой есть весь необходимый код и примеры, рассматриваемые ниже. Обработка универсальная и не зависит от используемой конфигурации. Протестирована на платформе 1С:Предприятие 8.3 (8.3.13.1926).
Пример 1: Знакомство
Как нужно было делать раньше:
ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить();
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("А");
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Б");
ОтборОформления = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборОформления.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ХочуКрасненького");
ОтборОформления.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборОформления.ПравоеЗначение = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный);
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Белый);
Как можно делать теперь:
ОбъектНастройки = РеквизитФормыВЗначение("Объект").Настроить(ЭтотОбъект.УсловноеОформление)
.Элемент("А, Б")
.Отбор("ХочуКрасненького", "Равно", Истина)
.Оформление("ЦветФона", WebЦвета.Красный)
.Оформление("ЦветТекста", WebЦвета.Белый)
Пример 2: Группы отборов
Разрешите мне не приводить типовой код, а сразу показать новый способ с группами отборов:
ОбъектНастройки = РеквизитФормыВЗначение("Объект").Настроить(ЭтотОбъект.УсловноеОформление)
.Элемент("ТЗПримечание")
.ГруппаИЛИ()
.Отбор("ТЗ.К1", "Равно", 0)
.Отбор("ТЗ.К2", "Равно", 0)
.КонецГруппы()
.Оформление("Текст", "К1 или К2 не заполнено");
// Какие-то доп.условия
Если ХочуКрасненького Тогда
ОбъектНастройки
.Оформление("ЦветТекста", WebЦвета.Красный);
КонецЕсли;
// Продолжение настройки
ОбъектНастройки
.Элемент("ТЗПримечание")
.ГруппаИ()
.Отбор("ТЗ.К1", "НеРавно", 0)
.Отбор("ТЗ.К2", "НеРавно", 0)
.Отбор("ТЗ.К1", "Меньше", Новый ПолеКомпоновкиДанных("ТЗ.К2"))
.КонецГруппы()
.Оформление("Текст", "К1 < К2");
Пример 3: Сравнение типового (с использованием БСП) и нового способа
Под спойлером - код из типовой конфигурации.
Стена текста! Для того, чтобы написать свою программную настройку условного оформления нужно было найти пример в конфигурации, накопипастить оттуда нужные куски и исправить их под свои нужды.
А теперь то же самое новым способом:
ОбъектНастройки = Обработки.НастройкаУсловногоОформления.Создать().Настроить(ЭтотОбъект.УсловноеОформление)
.Элемент("ТоварыСчетУчетаНДС")
.ГруппаИЛИ()
.Отбор("РассчитыватьСуммаВРознице", "Равно", Истина)
.ГруппаИ()
.Отбор("Объект.НДСВключенВСтоимость", "Равно", Истина)
.Отбор("УчетАгентскогоНДС", "Равно", Ложь)
.КонецГруппы()
.Отбор("ЭтоКомиссия", "Равно", Истина)
.Отбор("Объект.ВидОперации", "Равно", Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ВПереработку)
.КонецГруппы()
.Оформление("Видимость", Ложь)
.Элемент("ТоварыЦенаВРознице")
.ГруппаИЛИ()
.ГруппаИ()
.Отбор("РассчитыватьСуммаВРознице", "Равно", Истина)
.Отбор("ТоварыСвернуты", "Равно", Истина)
.Отбор("НТТ", "Равно", Истина)
.КонецГруппы()
.Отбор("НТТ", "Равно", Ложь)
.Отбор("РассчитыватьСуммаВРознице", "Равно", Ложь)
.КонецГруппы()
.Оформление("Видимость", Ложь)
.Элемент("ТоварыСтавкаНДСВРознице")
.ГруппаИЛИ()
.Отбор("РазделениеПоСтавкамВРознице", "Равно", Ложь)
.Отбор("НТТ", "Равно", Ложь)
.Отбор("РассчитыватьСуммаВРознице", "Равно", Ложь)
.КонецГруппы()
.Оформление("Видимость", Ложь)
.Элемент("ТоварыСуммаВРознице")
.ГруппаИЛИ()
.Отбор("РассчитыватьСуммаВРознице", "Равно", Ложь)
.Отбор("НТТ", "Равно", Ложь)
.КонецГруппы()
.Оформление("Видимость", Ложь)
.Элемент("ТоварыСтавкаНДС,
|ТоварыСуммаНДС,
|ТоварыВсего,
|ТоварыНомерГТД,
|ТоварыСтранаПроисхождения,
|ТоварыСпособУчетаНДС")
.Отбор("Объект.ВидОперации", "Равно", Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ВПереработку)
.Оформление("Видимость", Ложь)
Вывод
Использование нового способа программной настройки условного оформления позволяет писать лаконичный, структурированный и легкий для восприятия код.
Как это использовать у себя
- Скачайте обработку
- Встройте в конфигурацию или расширение с именем "НастройкаУсловногоОформления"
- При необходимости создания программной настройки условного оформления, пишите:
ОбъектНастройки = Обработки.НастройкаУсловногоОформления.Создать().Настроить(ЭтотОбъект.УсловноеОформление)
// и далее как в примерах
Смотрите также
Эта и многие другие возможности входят в состав [ЕХТ] Фреймворк для расширений.
Попробуйте, гарантирую - Вам понравится!
Специальные предложения
См. также
Динамическое управление свойствами реквизитов управляемых форм 27
1 стартмани
20.11.2019 1926 4 shalex5 5
Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо
Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.
24700 руб.
1С:Предприятие через Интернет. 1С:Fresh Промо
Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.
Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо
Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.
9000 рублей
Генерация управляемой формы на основе обычной (proof of concept) 21
1 стартмани
06.11.2019 2383 2 user700211_a.straltsou 16
Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU с 27.11 по 04.12 Промо
Оформляете заказ на 1С лицензии или конфигурации. Получаете 35% от стоимости на счет в профиле INFOSTART.RU. Выбираете сервисы и продукты на сумму кэшбэка.
Карта метаданных 1С для редактора yED, для любых конфигураций 9
1 стартмани
28.10.2019 1718 5 ManyakRus 1
Подборка программ для взаимодействия с ЕГАИС Промо
ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.
Индикатор выполнения (прогресс-бар) с таймером остаточного времени выполнения (обычное приложение + УФ) 2
1 стартмани
08.10.2019 1122 3 slayer-ekb 5
Быстрый просмотр табличной части "Товары" без открытия формы документа 4
2 стартмани
08.10.2019 1050 3 simuljakr 5
Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо
Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.
19700 руб.
Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо
Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!
29700 руб.
Альтернативный способ добавления элементов и реквизитов на формы 32
1 стартмани
09.09.2019 3895 5 bmk74 0
Группировка по подразделению в "Задачи мне" (расширение для 1С:Документооборот) 5
3 стартмани
07.09.2019 1406 4 zannv 0
Программы для исполнения 488-ФЗ: Маркировка товаров Промо
1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.
Еще один способ программной модификации управляемых форм 11
1 стартмани
03.09.2019 1805 infosoft-v 15
Как изменить видимость, доступность и взаимозависимости дополнительных реквизитов видов номенклатуры в 1С:ERP? 2
1 стартмани
26.08.2019 1333 Igor030370 0
1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо
СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.
Обновление данных в ячейках таблицы формы на управляемых формах 9
1 стартмани
15.08.2019 1664 BraunAlex 2
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Готовые переносы данных из различных конфигураций 1C Промо
Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.