Не работает условное оформление динамического списка 1с

Обновлено: 05.07.2024

Приветствую, коллеги! В данной статье я расскажу, что такое условное оформление списка в системе 1С и для чего оно нужно, а также опишу алгоритм проведения условного оформления списка в 1С.

Общая информация

Условное оформление списка – это программная команда, которое отвечает за регулировку внешнего отображения, доступа, управление элементами списка при выполнении некоторого условия.

Такое решение является наиболее удобным, так как все условия и регулировки можно задать единожды, а затем применить ко всем необходимым спискам.

Условное оформление динамического списка

Рассмотрим, как проводить условное оформление в динамическом списке при помощи локальной команды, показанной ниже:

Рисунок 1 Локальная команда для проведения условного оформления динамического списка Рисунок 1 Локальная команда для проведения условного оформления динамического списка

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

Рисунок 2 Код для анализа элементов уже существующего динамического списка Рисунок 2 Код для анализа элементов уже существующего динамического списка

Создание условного оформления списков в начала

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

Рисунок 3 Внесение элемента для описания условного оформления Рисунок 3 Внесение элемента для описания условного оформления

Далее нужно присвоить данному элементу следующие параметры:

· Визуальное оформление, которое отвечает за шрифт, цвет, жирность и так далее;

· Параметр условия, при верности которого оформление будет применено;

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

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

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

Рисунок 5 Создание нового элемента коллекции условий Рисунок 5 Создание нового элемента коллекции условий

Таким образом мы создали условное оформление, которое будет применено в случае, если строка имеет поле «НаКонтроле» (содержит значение «Истина»).

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

Рисунок 6 Программное выделение полей при условном оформлении списка Рисунок 6 Программное выделение полей при условном оформлении списка

Далее производим загрузку всех новых настроек для нашего динамического списка, это происходит так:

Рисунок 7 Загрузка новых настроек динамического списка Рисунок 7 Загрузка новых настроек динамического списка

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

Рисунок 8 Перечень с накладными без условного оформления в 1С Рисунок 8 Перечень с накладными без условного оформления в 1С

Далее нужно активировать команду «Условное оформление», после чего мы увидим следующее:

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

Почему может не работать условное оформление на управляемой форме

У нас есть некоторая форма списка, например, элементов плана вида характеристик "ПраваПользователей" в конфигурации "Управление производственным предприятием" версии 1.3.

Изображение

Форма, как Вы видите, управляемая. нам нужно оформить список таким образом, чтобы все строки групп элементов выделялись зеленым цветом. Приступим!

Пример

Оформление элементов управляемых форм выполняется с помощью условного оформления формы:

Изображение

Для решения нашей задачи добавим элемент условного оформления со следующими настройками:

Изображение

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

Изображение

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

Изображение

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

Вывод

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

Изображение

Надеюсь статья кому-нибудь да сэкономит время при решении проблем с условным оформлением.

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