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

Практические советы по работе с FileMaker, типичные задачи и их решения. У вас вопрос? Пишите сюда.
Ответить
svarvar
Сообщения: 10
Зарегистрирован: 12 сен 2017, 17:13

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

Сообщение svarvar » 30 мар 2018, 06:48

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

Благодарю!

andrey volkov
Сообщения: 174
Зарегистрирован: 11 сен 2017, 13:42
Откуда: Санкт-Петербург

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

Сообщение andrey volkov » 30 мар 2018, 07:33

можно даже без скрипта. условное форматирование

Conditional Formatting

svarvar
Сообщения: 10
Зарегистрирован: 12 сен 2017, 17:13

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

Сообщение svarvar » 30 мар 2018, 11:35

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

andrey volkov
Сообщения: 174
Зарегистрирован: 11 сен 2017, 13:42
Откуда: Санкт-Петербург

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

Сообщение andrey volkov » 30 мар 2018, 12:03

команда скрипта не может изменить условие?

andrey volkov
Сообщения: 174
Зарегистрирован: 11 сен 2017, 13:42
Откуда: Санкт-Петербург

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

Сообщение andrey volkov » 30 мар 2018, 12:19

задайте условие not isempty ($object) and $object = get(activelayoutobjectname) and isempty( Get(ActiveFieldContents))

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

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


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

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

Alexei Sytch
Сообщения: 46
Зарегистрирован: 21 сен 2017, 18:48
Откуда: Минск

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

Сообщение Alexei Sytch » 03 апр 2018, 21:04

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

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

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

Ответить