[Взрыв шаблона!] Новый способ программной настройки условного оформления
Разработка - Работа с интерфейсом
В "Файлах публикации" находится обработка, в которой есть весь необходимый код и примеры, рассматриваемые ниже. Обработка универсальная и не зависит от используемой конфигурации. Протестирована на платформе 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 2051 4 shalex5 5
Программы для исполнения 488-ФЗ: Маркировка товаров Промо
1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.
Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо
Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.
4500/9500 рублей
1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо
Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.
6500 рублей
Генерация управляемой формы на основе обычной (proof of concept) 21
1 стартмани
06.11.2019 2583 2 user700211_a.straltsou 16
Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо
Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.
19700 руб.
Карта метаданных 1С для редактора yED, для любых конфигураций 9
1 стартмани
28.10.2019 2034 6 ManyakRus 1
Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо
Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.
29700 руб.
Индикатор выполнения (прогресс-бар) с таймером остаточного времени выполнения (обычное приложение + УФ) 2
1 стартмани
08.10.2019 1184 3 slayer-ekb 5
Быстрый просмотр табличной части "Товары" без открытия формы документа 4
2 стартмани
08.10.2019 1100 3 simuljakr 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 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо
Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.
29700 руб.
Альтернативный способ добавления элементов и реквизитов на формы 34
1 стартмани
09.09.2019 4110 6 bmk74 0
Группировка по подразделению в "Задачи мне" (расширение для 1С:Документооборот) 5
3 стартмани
07.09.2019 1461 4 zannv 0
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Еще один способ программной модификации управляемых форм 11
1 стартмани
03.09.2019 1868 infosoft-v 15
Как изменить видимость, доступность и взаимозависимости дополнительных реквизитов видов номенклатуры в 1С:ERP? 2
1 стартмани
26.08.2019 1385 Igor030370 0
Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо
Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).
от 11000 до 29000 рублей
Обновление данных в ячейках таблицы формы на управляемых формах 9
1 стартмани
15.08.2019 1731 BraunAlex 2
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо
Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!
29700 руб.
Подборка программ для взаимодействия с ЕГАИС Промо
ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.