Приветствую Вас, Гость
Главная » Статьи » Разработка баз данных FileMaker

Основные операторы скриптового языка FileMaker.

Основные операторы скриптового языка FileMaker.

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

Скрипт – это процедура, включающая в себя упорядоченный набор предопределенных (или разработанных) функций, при помощи которых выполняется задача поиска и сортировки данных, формирования отчетов и т.п. Скрипт может иметь входные и выходные параметры. Т.е. скрипт  применяется, если в целях выполнения поставленной задачи необходимо произвести несколько этапов обработки данных.

Набор предопределенных функций в FileMaker достаточно широк, кроме того есть возможность использовать пользовательские функции (созданные разработчиком), а также внешние функции (утилиты или Plug-in).

 

1. Создание скрипта.

 Для создания нового скрипта необходимо выбрать пункт меню Scripts – Manage Scripts При этом открывается окно «Manage Scripts» с кнопками управления в нижней части окна. Кратко отметим назначение кнопок управления:

            New – создание нового скрипта. Начиная с версии FM 10.0 стало возможным создание группы скриптов (или каталога).

            Edit – редактирование скрипта

            Delete – удаление скрипта

            Duplicate – дублирование скрипта

            Print – вывод на печать

            Import – импорт скрипта из другой базы данных

            Perform – запуск скрипта на выполнение.

Перечень функций управления достаточно ясен, поэтому более подробно на нем останавливаться не будем.

Итак, после выбора меню Scripts – Manage Scripts и нажатия на кнопку «New» создается новый скрипт с именем «New Script» и открывается окно для его редактирования. Окно редактирования состоит из левой части, где расположен перечень функций и окна редактирования скрипта. Функции могут быть упорядочены по категориям или по алфавиту. В нижней части окна расположены кнопки управления:

Move – включение выделенной функции в скрипт

Clear  - удаление выделенной строки (строк) из скрипта

Duplicate – дублирование выделенной строки (строк) из скрипта

Disable – блокирование строки (строк)

При двойном нажатии на функцию из списка функций она переносится в окно редактирования скрипта. При двойном нажатии на функцию в окне редактирования скрипта открывается окно «Specify…»,  в котором редактируются параметры функции. Названия окон с параметрами функций различны, поэтому в дальнейшем мы будем называть это окно окном редактирования параметров функции или окном «Specify».

 

2. Основные функции скриптового языка FileMaker.

 

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

 

2.1. Категория Control

В этой категории представлены функции управления.

            Perform Script ["Open_DataBase”] – запуск скрипта на выполнение.  В окне редактирования функции выбирается скрипт из списка ранее созданных, а также указывается параметр запуска скрипта. В данном примере запускается скрипт с именем «Open_DataBase».

Pause/Resume Script [Duration (seconds):500] – установка паузы в выполнении программы. Эта пауза может быть выражена в секундах (в примере – 500), либо до нажатия клавиши (при установке признака «Indefinitely» в окне редактирования функции).

Exit Script[ ] – завершение выполнения данного скрипта. В окне редактирования можно установить значение выходного параметра, который может использоваться в других процедурах.

Halt Script – остановка выполнения текущего скрипта

If [ ] , ElseEnd If – стандартная конструкция выполнения шага по условию. Синтаксис применения данного блока такой:

            If[условие]

// операторы, выполняемые при выполнении условия

Else

// операторы, выполняемые при невыполнении условия. Оператора Else может и не быть.

End If 

           

LoopExit Loop If [ ], End Loop – стандартная конструкция выполнения цикла. Синтаксис применения такого блока следующий:

            Loop

            // операторы, выполняемые в цикле

            Exit Loop If[условие выхода из цикла]

            End Loop

 

Set Error Capture [On/Off] - установка / снятие признака выдачи сообщений обработчиком ошибок.

Set Variable [ ] – установка значение переменной. Переменные в системе FileMaker делятся на глобальные и локальные. Глобальные переменные действуют на протяжении всего сеанса работы пользователя, локальные переменные действуют в пределах одной процедуры (скрипта). Имена переменных начинаются со знака $$ - для глобальных переменных, со знака $ - для локальных.

Например:

Set Variable[$xValue: 1] - присваивает локальной переменной x значение 1.

Set Variable[$$yValue: Клиент::tp_ID] – присваивает глобальной переменной y значение поля tp_ID из таблицы Клиент.

Install OnTimer Script[] (только для версии 10.0 и выше) - запуск скрипта с интервалом, указанном в аргументе функции. Например, Install OnTimer Script ["MyScript”; Interval: 600] запускает скрипт MyScript через каждые 10 минут (600 секунд).

 

2.2. Категория Navigation

Функции данной категории предназначены для осуществления переходов по записям, по полям, по различным макетам, т.е. для навигации по базе данных.

 

Go to Layout – переход к виду, указанному в аргументе функции.

Например, Go to Layout["Клиент_Форма” (Клиент)] – переход к виду «Клиент_Форма», в скобках указана таблица – источник данных для формы.

Go to Record/Request/Page – переход к определенной записи (странице). Порядок перехода определяется параметром функции.

Go to Record/Request/Page [First] – переход к первой записи

Go to Record/Request/Page [Next] – переход к следующей записи

Go to Record/Request/Page [Previous] – переход к предыдущей записи

Go to Record/Request/Page [Last]  - переход а последней записи

При выборе параметра By Calculation можно перейти к определенному номеру записи.

Go to Record/Request/Page [10] – переход к записи № 10

 

Go to Related Record – переход к записям из связанной таблицы. При выборе этой функции открывается окно с выбором параметров перехода:

            Get related record from – выбираем таблицу, к записям которой будем переходить (выбирается из списка связанных таблиц)

            Show record using layout – выбираем макет, при помощи которого будем отображать данные (выбираем из списка доступных для вышеуказанной таблицы)

            Признак Use external tables layouts – при установке данного признака можем использовать макеты внешних баз данных.

            Признак Show in new window – признак отображения данных в новом окне. В дополнительном окошке указываем параметры нового окна (название окна, высоту, ширину, отступы сверху и слева).

            Признак Show only related records – признак отображения только записей, связанных с текущей записью таблицы базы данных.

 

Go to Portal Row – переход к строке портала. Имеет параметрыаналогичные функции Go to Record/Request/Page (First, Next, Previous, Last, By Calculation)

 

Go to Object – переход к объекту макета по его имени. Каждому объекту текущего вида может быть присвоено уникальное имя (при необходимости). При помощи функции Go to Object ["name”] мы можем перейти к объекту с именем name,

Go to Field – переход к определенному полю текущего вида. Как правило эта функция используется для обновления информации на экране о значении поля (особенно для вычисляемых и суммирующих полей).

Go to Next FieldGo to Previous Field – переход к следующему и предыдущему полю соответственно.

Enter Browse Mode – переход в режим просмотра

Enter Find Mode - переход в режим поиска

Enter Preview Mode – переход в режим предварительного просмотра.

 

2.3. Категория Editing

Функции этой категории используются для редактирования данных на форме.

 

Undo/Redo – отмена выполнения предыдущего действия, повтор последнего отмененного действия

Cut – вырезать. Удаление выделенной области в буфер обмена.

Copy – копировать. Копирование выделенной области в буфер обмена. В окне редактирования функции указывается имя поля базы данных.

Paste – вставить. Вставка из буфера обмена.

Clear – очистить. Очистка выделенной области.

Set Selection – установка выделения.

Для функций CutCopyPasteClearSet Selection в окне редактирования функции указывается имя поля базы данных.

 

Select All – выделить все объекты на форме.

Perform Find/Replace - выполнить поиск и замену. В окне редактирования функции указываются следующие данные:

            - определяется режим выполнения (Find Next – найти следующий, Replace & Find  - найти и заменить, Replace – заменить, Replace All – заменить все)

            - Find whatReplace with – в этих полях указываем, что ищем и на что меняем.

            - Direction – определяем направление поиска (Forward – вперед, Backward – назад, All – везде).

            - признаки «Math case» и «Math whole words only» - поиск с учетом регистра и с учетом только целых слов.

            - Search across и Search within – эти категории определяют: производить поиск во всех записях или только в текущей, а также во всех полях или в текущем поле.

 

2.4. Категория Fields

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

А) Функции, имеющие в качестве параметров поле и заносимое значение.

Set Field – установка значения поля.

Set Field By Name – установка значения поля по его имени.

Set Next Serial Value – установка следующего значения поля-счетчика.

Insert Text – вставка текста в поле.

Insert Calculated Result – вставка вычисляемого результата в поле.

 

Б) Функции, имеющие в качестве аргумента только имя поля

Insert from Index – вставка одного из значений индексного поля

Insert from Last Visited – вставка значения из последнего обращения к записи

Insert Current Date – вставка текущей даты

Insert Current Time – вставка текущего времени

Insert Current User Name – вставка имени текущего пользователя

В) Функции, требующие предварительного перехода к заданному полю.

Insert Picture – вставка рисунка в выделенное поле (тип поля должен быть Container). Перед выполнение этого шага необходимо выполнить переход к нужному полю при помощи функции Go to Field.

Например:

Go to Field [Table1::Photo]  
Insert Picture ["My_Photo.tif"]

Insert QuickTime – вставка объекта QuickTime. Использование аналогично функции Insert Picture

Insert Object – Данная функция позволяет вставить объект OLE-приложения (WordExcelAdobe Acrobat и т.д.). Перечень доступных типов объектов отображается в окне редактирования функции. При этом мы можем как создать новый объект, так и создать его из файла. При двойном нажатии на это поле будет запускаться соответствующее внешнее приложение.

 

Insert File – вставка файла. В аргументах функции указывается имя файла и имя поля.

Update Link – обновление связей. В аргументе функции указывается имя поля. Как правило, это вычисляемое поле, значение которого мы желаем обновить.

Replace Field Contents – замена содержимого поля. В аргументах функции указывается имя поля и значение, на которое будем менять. Новое значение может быть статическим, вычисляемым или взятым из поля-счетчика. При этом можно установить признак Perform without dialog (выполнение без дополнительного подтверждения).

Export Field Contents – экспорт содержимого поля в файл. В аргументах указываются имя поля и имя сохраняемого файла.

 

2.5. Категория Records

Категория функций для работы с записями.

New Record/Request – создание новой записи. Текущей становится созданная запись.

Duplicate Record/Request – дублирование текущей записи. Текущей становится созданная запись.

Delete Record/Request – удаление текущей записиМожно установить признак «Perform without dialog» (выполнение без дополнительного подтверждения).

Delete Portal Row - удаление строки в таблице портала. Можно установить признак «Perform without dialog».

Delete All Records – удаление всех записей. Производится удаление всех записей в текущей выборке. Можно установить признак «Perform without dialog».

Open Record/Request – открыть запись для редактирования.

Revert Record/Request – отмена редактирования записи. Возврат к предыдущему значению поля. Данное действие имеет смысл до выполнения функции подтверждения изменений в записи (Commit Records/Requests). Можно установить признак «Perform without dialog».

Commit Records/Requests – подтверждение изменений в записи. Как правило, устанавливается признак «Perform without dialog».

Copy Record/Request – копирование значений текущей записи в буфер обмена.

Copy All Records/Requests - копирование значений всех записей текущей выборки в буфер обмена.

Import Records  – импорт данных из внешнего источника. При этом указывается тип и имя файла-источника информации (Specify data source). Также при разработке этой функции определяется соответствие полей файла-источника и полей текущей таблицы базы данных (Specify import order).

Export Records – экспорт данных во внешний файл. Указываем тип и имя файла приемника данных (Specify output file), а также указываем поля для экспорта данных (Specify export order). Экспортируются записи текущей выборки.

Save Records as Excel – сохранить записи в Excel – файлеВ окне определения параметров указываем имя файла (Specify output file). По кнопке «Specify options» указываем какие записи экспортировать: только текущую (Current record) или все отобранные записи (Records being browsed), а также параметры страницы.

Save Records as PDF – сохранить записи в PDF-файле. В окне определения параметров указываем имя файла (Specify output file). По кнопке «Specify options» указываем какие записи экспортировать: только текущую (Current record) или все отобранные записи (Records being browsed).

 

Во всех функциях экспорта и сохранения данных возможно установка признака выполнения действий без подтверждения (Perform without dialog).

 

2.6. Категория Found Sets

Категория функций для формирования и выполнения запросов на поиск данных по параметрам.

 

Perform Find – выполнение поискового запроса. Параметры поиска могут быть заданы в окне редактирования функции либо заданы программно на предыдущих шагах программы. Например:

            Enter Find Mode  // устанавливаем режим поиска

            Insert Calculated Result[Select; Клиент::tp_ID; 4] // вставка вычисляемого результата в поле Клиент::tp_ID

            Perform Find[Restore] // выполнение запроса поиска

Modify Last Find – изменение последнего запроса на поиск. Алгоритм выполнения: в формируемый запрос вставляются параметры предыдущего запроса, затем оператором Modify Last Findредактируем запрос.

Show All Records – показать все записи. Отображаются все записи текущей таблицы базы данных.

Show Omitted Only  - показать только скрытые записи. Отображаются только скрытые записи. Текущие записи становятся скрытыми.

Omit Record – скрыть запись. Скрывается текущая запись.

Omit Multiple Records – скрывается несколько записей. Количество скрываемых записей указывается в параметрах функции.

Sort Records – сортировка записей. В окне редактирования указывается порядок сортировки (по каким полям и по возрастанию/убыванию)

Unsort Records – отмена сортировки данных.

 

Категория Window

В этой категории расположены функции работы с окнами.

New Window  - Создается новое окно. В параметрах функции указывается имя создаваемого окна (Window Name), его высота и ширина (HeightWidth), а также расположение верхнего левого угла (Distance from top – отступ сверху, Distance from left – отступ слева).

Select Window – выделение окна. В параметрах указывается либо текущее окно (Current Window), либо имя другого окна.

Close Window – закрытие окна. В параметрах также указывается либо текущее окно (Current Window), либо имя другого окна.

Adjust Window – упорядочивание окна. Доступные параметры этой функции:

            - Maximize –  развертывание на весь экран

            - Minimize – свертывание окна

            - Restore – восстановление окна до исходного размера

            - Hide – скрыть окно

Move/Resize Window – перемещение или изменение размера окна. В параметрах функции указываются, над каким окном произвести действия, а также новые параметры размера и размещения. Перечень параметров аналогичен функции  New Window .

Freeze Window – установление режима «замерзания» окна. Используется для ускорения обработки операций с полями базы данных. В этом режиме состояние окна не обновляется при каждом присвоении значения полю и переходах по записям.

Show/Hide Status Area – Отображение / Скрытие вкладки статуса состояния. Возможна установка блокировки (Lock) на изменение этого параметра.

Set Window Title Current Window ] – установка названия текущего окна отображения информации.

Set Zoom Level [100%] – установка масштаба отображения информации на экране.

View As [Cycle] – установка режима просмотра информации. Доступные параметры этой функции:

            View as Form – режим формы

            View as List – режим списка

            View as Table – режим таблицы

            Cycle – циклический режим. Т.е. при каждой операции  View As [Cycle] режим просмотра меняется по циклу: Form – List – Table


Категория Files

В этой категории расположены функции работы с файлами.

New File – создание нового файла базы данных.

Open File – открытие уже существующего файла базы данных. В параметрах указывается имя открываемого файла.

Close File – закрытие файла базы данных. В параметрах по умолчанию указан текущий файл (Current File), либо можно указать имя файла.

Convert File[ ] – конвертирует указанный в параметрах функции файл в формат текущей версии FileMaker. В качестве источника данных может быть выбран либо файл FileMaker, либо источник в формате XML, либо ODBC – источник данных.

Set Multi-User [On] – определяет доступ к файлу других пользователей.

Set Use System Formats [On] – определяет использование форматирования даты, времени и чисел. При включенном параметре (On) – используются системные настройки форматов, при отключенном параметре (Off) – используются форматы данных из файла.

Save a Copy as[ ] – делает копию файла данных. При этом доступны следующие режимы копирования:

            - copy of current file – полная копия файла данных.

            - compacted copy (smaller) – оптимизированная копия файла данных

            clone (no record) – копия структуры данных, скриптов, макетов (без переноса записей).

Recover File – восстановление файла базы данных. При этом создается файл <<СтароеИмя>> + _Recovered.fp7.

Print Setup – установка параметров печати. В окне параметров функции задается принтер, ориентация страницы, размер бумаги.

Print – печать информации с текущего макета. В окне параметров функции устанавливается режим печати записей (Current Record – текущая запись, Record being brother – отобранные записи).

 

Категория Account

В этой категории находятся операции, производящие действия с правами доступа пользователей.

Add Account [] – добавляет пользователя в список доступа к данной базе. В окне параметров функции указываются имя пользователя, пароль доступа и группа прав доступа.

ПримерAdd Account [Account Name:”master”; Password: 12345; Privilege Set: "Client”] – добавляет пользователя master с паролем 12345 с группой прав доступа Client.

Delete Account [ ] – удаляет пользователя. В параметрах функции указывается имя пользователя.

Reset Account Password[ ] – сброс старого и установка нового пароля для пользователя, указанного в параметрах функции. Указывается новый пароль для пользователя.

Change Password [ ] – изменение пароля для пользователя, указанного в параметрах функции. При этом указывается старый и новый пароли.

Enable Account [ ] – активация (деактивация) пользователя.  

Re-Login[ ] – вход пользователя под другим именем и паролем без закрытия и перезапуска файла базы данных.

Категория: Разработка баз данных FileMaker | Добавил: mihalych_2013 (01.01.2014)
Просмотров: 3789 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: