Страница 1 из 1

Можно ли командой скрипта закрасить цвет поля?

Добавлено: 30 мар 2018, 06:48
svarvar
В базе куча полей. Пользователи не всегда заполняют все необходимые поля.
Хотелось бы в скрипте, при проверке заполненности поля (если оно не было заполнено), перейти к нему и закрасить, допустим, красным цветом, чтобы пользователь видел, какое именно поле не было заполнено или заполнено неверно.
Просто поставить курсор - не помогает. Как и вывод сообщения, что это поле не заполнено... некоторые юзвери игнорируют, что написано в сообщении.

Благодарю!

Re: Можно ли командой скрипта закрасить цвет поля?

Добавлено: 30 мар 2018, 07:33
andrey volkov
можно даже без скрипта. условное форматирование

Conditional Formatting

Re: Можно ли командой скрипта закрасить цвет поля?

Добавлено: 30 мар 2018, 11:35
svarvar
Conditional Formatting закрасит поле не по команде, а по условию.
А мне нужно, чтобы все поля были белыми, но... командой скрипта нужно изменить его цвет.

Re: Можно ли командой скрипта закрасить цвет поля?

Добавлено: 30 мар 2018, 12:03
andrey volkov
команда скрипта не может изменить условие?

Re: Можно ли командой скрипта закрасить цвет поля?

Добавлено: 30 мар 2018, 12:19
andrey volkov
задайте условие not isempty ($object) and $object = get(activelayoutobjectname) and isempty( Get(ActiveFieldContents))

Скриптом
направьте к проверяемому полю-объекту
задайте переменную $field = get(activelayoutobjectname)

цикл
выход из цикла если активное поле содержит правильное значение
иначе возвращаем обратно в то же самое поле и ставим скрипт на паузу


Если у вас все проверяемые поля будут объектами поименованными, то сможете обойтись всего одним универсальным скриптом.
Пока скрипт не завершен, локальная переменная $object будет учитываться элементами формы и будет работать условное форматирование

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

Re: Можно ли командой скрипта закрасить цвет поля?

Добавлено: 03 апр 2018, 21:04
Alexei Sytch
svarvar писал(а):
30 мар 2018, 06:48
Просто поставить курсор - не помогает. Как и вывод сообщения, что это поле не заполнено... некоторые юзвери игнорируют, что написано в сообщении.
не совсем по теме, но ...
ИМХО что поставить курсор + вывод сообщения
что поставить курсор + вывод сообщения + красный цвет
-- разницы в качестве данных не будет.

Больший результат можно получить запрограммировав "систему контроля качества заполнения"
Можно сделать на форме показатель "Качество заполнения"
quality.PNG
quality.PNG (9.69 КБ) 8328 просмотров
и уже при нажатии на него показывать что неправильно заполнено (или текстом это написать)
Объяснить пользователям, что в программе ведется учет пользователей и качества заполняемых ими данных
и в любой момент можно построить отсортированный по людям отчет. Если подойти творчески, например, используя модное слово "геймификация" пользователю можно показывать на каком он мест по качеству данных относительно других пользователей.

кроме этого, если данных действительно много и долго вносить одну запись, имеет смысл разбить процесс, сначала ввод, на завтра продолжение ввода, потом отметка, что данные уже окончательно внесены (или отметку ставит другой человек).