#filemaker
#filemaker
Вопрос:
Существует ли собственный способ FileMaker (11 Advanced) получить имя компьютера клиента в скрипте? Имя компьютера, отображаемое на сервере FileMaker server при отображении клиентов, подключенных к базе данных, вполне подойдет.
Цель: я хочу, чтобы filemaker отозвал и установил положение окна на основе пользователя и компьютера. (У одного и того же пользователя может быть другое расположение окна и предпочтение размера для своего ноутбука, чем для рабочего стола — подумайте о пользовательских настройках ByHost.)
Альтернативный вариант: я знаю, что имя компьютера клиента можно получить с помощью внешнего скрипта, но предпочел бы собственный способ, если таковой доступен.
Ответ №1:
Я все еще не могу ответить на заданный вопрос. Однако для указанной цели я только что нашел команду
Get ( SystemNICAddress )
Он предоставит уникальный идентификатор для каждого компьютера, который будет меняться нечасто. Это все, что требуется для моей цели и, вероятно, будет работать лучше, чем значение, которое я первоначально запрашивал.
Комментарии:
1. Обратите внимание, что Get (SystemNICAddress) может изменяться, например, у вас может быть пользователь на ноутбуке, который подключается к адаптеру USB Ethernet или дисплею Apple Thunderbolt (MacBook Air) — возвращаемым значением будет возвращаемый список всех адаптеров с разделителями
Ответ №2:
Эта новая функция была введена в FileMaker Pro 12.0:
Get ( PersistentID )
Из документации FileMaker наhttp://www.filemaker.com/help/12/fmp/html/func_ref2.32.54.html:
«Возвращает уникальный неизменяемый идентификатор для компьютера, на котором запущен FileMaker Pro, или устройства, на котором запущен FileMaker Go, в виде 32-значной шестнадцатеричной строки.«
Если вы используете FMP 12 , это было бы лучшим выбором, чем полагаться на Get(SystemNICAddress)
, который может измениться.
Ответ №3:
Я знаю, что это старый пост, но мы работали с тем же самым по другим причинам, и, возможно, это кому-то поможет.
Поскольку не похоже, что FM изначально имеет встроенную эту функцию, даже для версии 17, я просто создал таблицу с записями сетевых адресов, созданными при открытии файла (если он еще не существует), а затем DNS-имя было добавлено вручную позже. Тогда на DNS-имя можно было бы ссылаться после использования GET для поиска сетевого адреса. Некоторые компьютеры имеют несколько сетевых адаптеров, поэтому они разбиты на отдельные записи (они просто возвращаются в виде списка), но ко всем им применяется одно и то же DNS-имя. За исключением случая сетевой карты VPN, которая иногда сообщает на 00:00:00:00:00:00; они просто игнорируются. В противном случае у вас может быть несколько компьютеров с одним и тем же null NIC — и это не поможет. Мы используем DNS-имя для отчетности о продажах наших сотрудников в зависимости от объема их звонков. И пытаться запомнить сетевые карты сотни компьютеров не так просто, как DNS-имя, чтобы узнать, где человек сидел в то время.
Ответ №4:
Для этого есть собственный способ.
Get ( HostName )
Но вы не можете использовать это с размещенным файлом, файл должен быть открыт на клиентском компьютере локально. У использования локальных файлов FileMaker, которые взаимодействуют с размещенными файлами, могут быть и другие преимущества — Более высокая производительность для макетов с плотной графикой — Предоставление автономного кэша
Другой подход заключается в использовании скрипта системной оболочки.
Для полноты картины, не являющейся собственным подходом, есть несколько плагинов Filemaker, которые могут обеспечить эту функциональность. www.360works.com/scriptmaster/
Комментарии:
1. В настоящее время это не будет работать, поскольку файл размещен. Однако это хорошая идея для будущих решений. Есть какие-нибудь рекомендации по синхронизации локальных файлов FileMaker в среде, где они часто меняются?
2. Я думаю, что GoZync пытается решить эту проблему с помощью транзакционного подхода. Но при использовании FileMaker Pro в качестве клиента, я думаю, простого использования встроенных инструментов FileMaker должно быть достаточно в большинстве приложений.
Ответ №5:
Чтобы идентифицировать клиента с помощью FileMaker 11, я просто использую:
Get(DesktopPath)
Возможно, это могло бы помочь…