스크립트로 작업 자동화하기
스크립트는 프린트 방향 설정과 같은 간단한 작업이나 각 클라이언트에게 사용자화된 메일 보내기를 준비하는 것과 같은 복잡한 작업을 할 수 있습니다.
예를 들어, 지난 주에 구매한 클라이언트 데이터베이스에 있는 클라이언트에게 감사 이메일을 생성하는 작업의 복잡한 설정을 정의할 수 있습니다. 스크립트는 각각의 클라이언트에게 꼭 맞는 이메일을 작성합니다. 스크립트가 미리보기 모드로 전환하고 일시 정지하여 보내기 전에 메시지가 어떻게 보이는지 볼 수 있습니다. 판매 입력 레이아웃에서 버튼을 클릭하면 전체 작업이 시작됩니다.
스크립트 단계라는 FileMaker Pro 명령의 목록에서 선택하고 옵션을 지정하고(필요한 경우) 작업을 수행하기 위해 올바른 순서로 단계를 정렬하여 스크립트를 만듭니다.
스크립트는 보통 클라이언트에서 실행되지만, 일부 스크립트는 FileMaker Server 또는 FileMaker Cloud에서 실행하여 성능을 향상시키거나 일정을 자동으로 실행할 수도 있습니다. FileMaker Server 및 FileMaker Cloud에서 스크립트 수행하기 정보를 참조하십시오.
스크립트 계획하기
스크립트를 계획하는 데 시간을 많이 쓸수록, 원하는 것을 수행할 가능성이 더 커집니다. 계획할 때 다음 문제를 자문해보십시오.
- 작업을 더 작은 작업으로 나눌 수 있나요? 각각의 작은 작업에 대해 하위 스크립트를 정의한 다음 하위 스크립트를 수행하는 스크립트를 정의할 수 있습니다. 하나의 복잡한 스크립트 보다 여러 작은 스크립트를 디자인하고 테스트하는 것이 더 쉽습니다. 또한 다른 부분에서 하위 스크립트를 재사용할 수 있습니다 (다른 스크립트 안에서 하위 스크립트를 수행하려면 스크립트 수행 스크립트 단계를 사용하십시오).
- 어떤 조건 하에서 어떤 스크립트 단계가 실행되어야 하나요? 모든 스크립트 단계가 항상 실행되어야 하나요? 일부를 특정 조건이 충족될 때까지 여러 번 실행해야 하나요? 스크립트가 다른 스크립트 및 하위 스크립트를 호출해야 하나요? 여러 다른 방법으로 스크립트의 진행을 제어할 수 있습니다. 조건부 단계가 있는 스크립트 생성에 대한 자세한 정보는 제어 스크립트 단계를 참조하십시오.
- 스크립트를 특정 레이아웃에서 실행하기를 원하나요? 스크립트가 파일 레벨로 정의되고 모든 레이아웃에서 호출될 수 있기 때문에 스크립트가 레이아웃 또는 예상하는 레이아웃에서 작동하는지 확인해야 합니다. 레이아웃을 변경하려면 레이아웃으로 이동 스크립트 단계를 사용하십시오.
- 스크립트가 데이터베이스의 모든 레코드, 현재 찾기 세트 또는 특정 레코드 세트와 작업해야 하나요? (찾기 세트에서 함께 작업하려는 레코드만 포함하려면 찾기 세트 스크립트 단계를 사용하십시오.)
- 하나의 데이터베이스 파일에 필요한 모든 데이터가 있거나, 한 파일 이상에서 스크립트가 작동하나요? 여러 파일을 사용 중인 경우 스크립트가 어떤 파일을 열어야 하나요? 스크립트가 정의된 파일은 어떤 파일인가요? 대부분의 경우 스크립트는 스크립트를 진행 중인 데이터와 동일한 파일에서 정의되어야 합니다. 하나 이상의 파일이 있는 맞춤형 App은 스크립트하려는 작업의 복잡성에 따라 각 파일에 스크립트를 나눠야 할 수도 있습니다.
- 스크립트가 어떤 레코드에서 시작해야 하나요? 예를 들어, Loop 스크립트 단계를 사용할 때 루프가 처음 또는 마지막 레코드, 특정 레코드 또는 찾기 세트의 현재 레코드에서 시작할지 결정해야 합니다 (시작 레코드를 지정하려면 레코드/요청/페이지로 이동 스크립트 단계, 관련 레코드로 이동 스크립트 단계 또는 포털 행으로 이동 스크립트 단계를 사용하십시오. 현재 레코드를 결정하는 데 탐색 스크립트 단계를 포함하지 않은 경우 루프는 스크립트가 수행될 때 현재 레코드로 시작합니다).
- 어떤 윈도우를 사용하고 싶나요? 스크립트가 처음에 배경에 있을 수 있는 특정 윈도우에 첨부됩니다. 스크립트는 스크립트된 동작이 다른 윈도우로 전환될 때까지 해당 윈도우에 남아 있습니다. 예를 들어, 다른 윈도우를 지정하려면 윈도우 선택 스크립트 단계를 사용하십시오. 지정된 윈도우가 사용 가능하지 않은 경우 스크립트가 파일의 전면 윈도우로 전환합니다. 스크립트를 일시 정지하면 관련 윈도우가 사용 가능한 경우 전면 윈도우가 됩니다. 윈도우 스크립트 단계를 참조하십시오.
- 스크립트가 모드 사이를 전환해야 하나요? 스크립트는 탐색, 찾기, 레이아웃 또는 미리보기 모드에서 실행될 수 있습니다. 스크립트가 어떤 것에 대해 동작하기 전에 적당한 모드에 있는지 확인합니다. 예를 들어, 필드의 데이터와 레코드를 수정하려면 탐색 모드로 전환 스크립트 단계를 사용하고 찾기 요청을 설정 및 수행하려면 찾기 모드로 전환 스크립트 단계를 사용하십시오.
참고 레이아웃 모드에서 수행된 스크립트는 자동으로 실행 전에 탐색 모드로 전환합니다.
- 어떤 필드 및 레이아웃이 스크립트가 필요하나요? 일부 단계는 현재 레이아웃에 있는 필드가 필요합니다(예: 필드로 이동 스크립트 단계 및 텍스트 삽입 스크립트 단계). 반면에 다른 것은 필요하지 않습니다(예: 필드 설정 스크립트 단계). 어느 것이든 레이아웃으로 이동 스크립트 단계를 사용하여 스크립트가 요구하는 필드가 있는 레이아웃으로 전환하거나 회색 영역의 필드를 레이아웃의 오른쪽으로 배치하여 필드를 사용자에게가 아닌 스크립트 단계에서 사용할 수 있도록 합니다.
- 레코드가 특정 순서로 진행되어야 하나요? 현재 정렬 순서, 지정된 정렬 순서 또는 정렬되지 않음(레코드가 생성된 순서) 중에 결정합니다. 진행하기 전에 레코드를 제대로 정렬하려면 루프를 입력하기 전에 레코드 정렬 스크립트 단계 또는 레코드 정렬 해제 스크립트 단계를 사용하십시오.
- 스크립트를 어떻게 여러 필드나 레코드를 통해 진행시켜야 하나요? (여러 필드나 레코드 진행을 제어하려면 레코드/요청/페이지로 이동 스크립트 단계, Loop 스크립트 단계, Exit Loop If 스크립트 단계 및 End Loop 스크립트 단계를 사용하십시오.)
- 언제 스크립트가 끝나나요? 결국 스크립트 단계가 실행되었나요? 특정 조건이 맞은 후에는? (스크립트가 특정 조건에 이를 때 스크립트 종료 스크립트 단계와 같은 작업을 수행하려면 If 스크립트 단계, Else If 스크립트 단계 및 Else 스크립트 단계를 사용하십시오.)
- 실행하는 동안 사용자가 스크립트를 중단해야 하나요? 스크립트가 금방 완료되면 스크립트에 불완전하거나 올바르지 않은 데이터를 발생시킬 수 있는 프로세스가 포함되나요? 사용자가 스크립트를 중단할 수 있을 경우 사용자 중단 허용 스크립트 단계를 사용하여 제어합니다.
- 어떻게 스크립트를 테스트하나요? 스크립트에서 미리 정의된 점을 일시 정지하려면 스크립트 일시 정지/다시 시작 스크립트 단계를 사용하십시오. 데이터베이스의 사본을 저장한 다음 스크립트를 정의하고 테스트하여 원래 데이터를 보호합니다.
참고 스크립트 디버거를 사용하여 스크립트를 테스트하고 문제를 해결할 수 있습니다. 스크립트 디버그하기를 참조하십시오.
- 어떻게 (비어있는 찾기 세트와 같은) 오류 조건을 처리할까요? Get(마지막 오류) 함수를 사용하여 FileMaker Pro에서 기록된 마지막 오류 조건을 캡처할 수 있습니다. 사용자 오류나 예기치 않은 결과에 적절하게 반응하는 스크립트를 생성하려면 이 함수와 If 스크립트 단계, Else If 스크립트 단계 및 Else 스크립트 단계를 사용하십시오. 훨씬 더 많은 제어에 대해, 이 상황에서 일반적으로 표시되는 오류 경고를 금지하려면 오류 캡처 설정 스크립트 단계를 사용하고 사용자 설정 대화상자 보기 스크립트 단계를 사용하여 자신만의 것으로 대치합니다.
- 모든 사용자가 모든 스크립트를 수행하도록 허용되어야 하나요? 스크립트로 사용자의 접근을 제어하려면 권한 범위를 사용합니다. 권한 범위의 사용을 통해 사용자는 개별 스크립트, 스크립트 없음 또는 모든 스크립트를 실행하거나 수정하도록 허용될 수 있습니다. 파일에서 정의된 앞으로의 모든 새로운 스크립트의 각 권한 범위에 대해 기본 권한을 설정할 수도 있습니다. 전체 접근 권한으로 실행하는 스크립트를 설정하면 스크립트가 할당된 권한에 의해 일반적으로 허용되지 않을 수 있는 사용자를 대신해서 작업을 할 수 있습니다. 권한 범위 생성 및 편집하기를 참조하십시오.
- 사용자가 어떻게 스크립트를 수행할까요? 버튼을 생성하여 스크립트를 수행하거나 스크립트 메뉴에 추가된 스크립트를 지정해야 합니다. 스크립트는 스크립트 작업공간에서 실행되거나 스크립트 트리거가 활성화될 때 실행될 수도 있습니다. 예를 들어, 데이터베이스를 열 때 OnFirstWindowOpen 스크립트 트리거를 사용하여 스크립트를 실행할 수 있습니다.
이러한 질문을 고려해두면 데이터베이스에서 스크립트를 관리할 준비가 된 것입니다. 스크립트 생성 및 편집하기를 참조하십시오.