Список форумов КЛУБ FileMaker.RU КЛУБ FileMaker.RU

 
new forum: www.fmforum.ru
FileMaker DevCon Rus 2017.IV коенференция российских разработчиков на платформе FileMaker.
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Сбросить формат с текстового поля

 
Начать новую тему   Ответить на тему    Список форумов КЛУБ FileMaker.RU -> Практика FM
Предыдущая тема :: Следующая тема  
Автор Сообщение
Alex_Chuk



Зарегистрирован: 25.10.2004
Сообщения: 212
Откуда: Тольятти

СообщениеДобавлено: Пт Фев 03, 2017 12:51 pm    Заголовок сообщения: Сбросить формат с текстового поля Ответить с цитатой

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

функция есть - TextFormatRemove, по описанию должна брать поле как таковое, но берет его как название.

Пишу такой скрипт:
Set Field [ TextFormatRemove ( GetField ( Get (ActiveFieldName ) ) ) ]
возвращает вопросительный знак...

Как решить задачу?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Шичко Игорь



Зарегистрирован: 20.09.2010
Сообщения: 202
Откуда: Подольск

СообщениеДобавлено: Пт Фев 03, 2017 1:39 pm    Заголовок сообщения: Ответить с цитатой

Сделайте в структуре базы данных:

например имя поля: Field
Настраиваем:
вкладка : Auto-Enter
параметр : Calculated Value
значение : TextFormatRemove ( Field )
Снять признак "Do not replace existing value..."

После ввода значения поля на макете форматирование будет убираться.
_________________
С уважением Шичко Игорь
Авторские статьи по FileMaker http://igorshichko.wordpress.com
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Николай К



Зарегистрирован: 04.09.2015
Сообщения: 120
Откуда: Кишинев

СообщениеДобавлено: Пт Фев 03, 2017 1:44 pm    Заголовок сообщения: Ответить с цитатой

Так не будет работать. Set Field нужна связь с полем. Можете попробовать Set Field By Name

Сомневаюсь что даже это будет работать. Попробуйте добавить в установки поля на Auto-Enter:

Код:
TextFormatRemove ( self )


для всех полей на лайауте.

=================

Правка: вижу Игорь уже запостил ту же идею
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_Chuk



Зарегистрирован: 25.10.2004
Сообщения: 212
Откуда: Тольятти

СообщениеДобавлено: Пт Фев 03, 2017 1:56 pm    Заголовок сообщения: Ответить с цитатой

self не берет! хитрость в том, что хочу один скрипт на несколько полей...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Николай К



Зарегистрирован: 04.09.2015
Сообщения: 120
Откуда: Кишинев

СообщениеДобавлено: Пт Фев 03, 2017 2:36 pm    Заголовок сообщения: Ответить с цитатой

self будет работать в Auto-Enter, а не в скрипте
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_Chuk



Зарегистрирован: 25.10.2004
Сообщения: 212
Откуда: Тольятти

СообщениеДобавлено: Пт Фев 03, 2017 3:56 pm    Заголовок сообщения: Ответить с цитатой

выкрутился!

Скрипт на проверку Поля:

Сделать Переменную: TextFormatRemove ( Get ( ScriptParameter ) )
Вставить в Поле Переменную

параметром в скрипт передаю содержание этого Поля.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Шичко Игорь



Зарегистрирован: 20.09.2010
Сообщения: 202
Откуда: Подольск

СообщениеДобавлено: Пт Фев 03, 2017 4:15 pm    Заголовок сообщения: Ответить с цитатой

Если использовать триггеры, то логичнее использовать триггер OnObjectSave для поля (универсально)

Код:
Set Variable [ $text; Value:Get ( ActiveFieldContents ) ]
Set Variable [ $field; Value:Get ( ActiveFieldName ) ]
Set Variable [ $table; Value:Get ( LayoutTableName ) ]
Set Variable [ $text; Value:TextFormatRemove ( $text ) ]
Set Field By Name [ $table & "::" & $field; $text ]
Commit Records/Requests [ No dialog ]

_________________
С уважением Шичко Игорь
Авторские статьи по FileMaker http://igorshichko.wordpress.com
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Arcady



Зарегистрирован: 24.02.2006
Сообщения: 704

СообщениеДобавлено: Пт Фев 03, 2017 9:03 pm    Заголовок сообщения: Ответить с цитатой

TextFormatRemove ( self ) в настройках Auto-Enter поля, а не в триппере работает всегда. А через трипперы это слишком морочно на каждое поле вешать. А если лайотов много? - придется везде это делать
_________________
Аркадий Перла.
ТриАПринт. Разработка решений для FileMaker
http://www.3a-print.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Шичко Игорь



Зарегистрирован: 20.09.2010
Сообщения: 202
Откуда: Подольск

СообщениеДобавлено: Сб Фев 04, 2017 11:25 am    Заголовок сообщения: Ответить с цитатой

Все зависит от задачи. Иногда есть необходимость хранения данных не убирая форматирование.
_________________
С уважением Шичко Игорь
Авторские статьи по FileMaker http://igorshichko.wordpress.com
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
pavlk



Зарегистрирован: 30.05.2008
Сообщения: 54

СообщениеДобавлено: Сб Фев 18, 2017 12:27 am    Заголовок сообщения: Ответить с цитатой

Цитата:
Пишу такой скрипт:
Set Field [ TextFormatRemove ( GetField ( Get (ActiveFieldName ) ) ) ]


Тут нужно ActiveFieldName - в кавычках написать. Тогда сработает. Если без кавычек, тогда он смотрит что написано в ActiveFieldName и ищет поле уже с этим именем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов КЛУБ FileMaker.RU -> Практика FM Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB