Report Workbench 시작하기
Report Workbench는 계산 설명, 사람이 작성하는 값과 표, 계산 결과가 표시될 위치를 한 Report에서 편집하는 화면입니다. Report 원본은 Flow 밖에서 연결할 수 있도록 공개된 input으로 보내고, Flow가 공개한 result는 선택한 Report 위치에 표시합니다. 계산 결과 위치는 사용자가 직접 덮어쓰지 않으며 새 Run으로 갱신합니다.
Report–Flow connection 하나에는 한 Run에 들어갈 input 여러 개와 그 Run에서 받을 result 여러 개를 함께 둘 수 있습니다. Report Workbench는 원본과 결과 위치를 편집하고, PXFLOW Studio는 Flow의 public port, Node와 계산 경로를 편집합니다.
처음 한 번에 해보기
Girder check Flow에 span과 load_cases를 보내고 utilization과 case_checks를 받는 작업은 다음 순서로 끝낼 수 있습니다.
- Project Home → Report에서 Report를 열고 span 값을 작성합니다.
- span을 선택하고 @ Insert → PXFLOW → Use report input에서
spaninput을 연결합니다. - 빈 문단에서
@로load_casesTable input을 확정해 새 connected table을 만들고 값을 입력한 뒤, 같은 connection의 Connection → Table mapping에서 field·row key를 편집합니다. - 요약 문장에서 글자 입력 위치(caret)를 두고 Insert Flow result에서
utilization을 삽입합니다. - 빈 결과 영역에
case_checksTable result를 삽입합니다. - 연결 편집기에서 Apply하고 Report를 Save한 뒤, Connected Flow의 Run을 선택합니다.
- Project Activity에서 Run을 열고 두 Result와 사용한 Flow·입력값을 확인합니다.
input 두 개는 같은 Run의 입력값으로 함께 들어가고, result 두 개는 그 Run의 Result에서 각 Report 위치로 표시됩니다. Apply는 연결 편집 내용을 현재 draft(아직 저장하지 않은 편집 상태)에 반영하고 Save가 새 Report revision을 만듭니다. 계산은 Run에서 시작합니다.
Report Workbench 열기
- Project Home에서 작업할 Project를 엽니다.
- Report를 선택합니다.
- New Report로 문서를 만들거나 목록에서 기존 Report를 엽니다.
- 제목과 내용을 작성한 뒤 Save합니다.
Project Home에서 Report와 PXFLOW를 여는 위치 보기
화면에서 먼저 볼 곳
| 화면 위치 | 여기서 하는 일 |
|---|---|
| Outline | 제목과 Section 사이를 이동하고 문서 구조 확인 |
| Connections | 연결 표시 켜기·숨기기. I는 Report input 연결, R은 Flow result 표시 |
| @ Insert | PXFLOW input 연결, result 표시, Project data와 evidence 삽입 시작 |
| Report only / Report + PDF | 문서만 보거나 PDF 작업 영역을 나란히 표시 |
| Report 본문 | text, 값, Record와 표를 작성하고 Flow result 위치 선택 |
| Project Activity | connection별 Run 진행 상태와 최근 Result 확인 |
위 예제에서 작성값 span과 load_cases는 Report가 소유하고, 같은 연결이 돌려준 utilization과 case_checks는 읽기 전용 위치에 표시됩니다.
첫 PXFLOW connection 만들기
connection은 이 Report와 Flow 하나를 묶어 둔 관계입니다. 한 connection에 넣은 값들은 같은 Run에 함께 전달되고, 그 Run의 결과가 지정한 Report 위치로 돌아옵니다.
두 방향 모두 caret에서 @를 입력하거나 @ Insert → PXFLOW를 선택해 시작합니다.
| 하고 싶은 일 | 선택할 방향 | Report가 기억하는 관계 |
|---|---|---|
| Report의 값·표·첨부를 계산에 사용 | Use report input | Report 위치 → Flow public input |
| 계산 결과를 Report에 표시 | Insert Flow result | Flow public result → Report 위치 |
연결된 input이 만들어지는 시점
@를 입력하면 연결할 대상을 고르는 선택 창(Resolver)이 열립니다. Report가 연결된 input을 실제로 만드는 시점은 이 Resolver에서 확정하는 순간입니다. 빈 위치의 caret에서 @를 직접 입력하고 Connect input을 확정하면, 편집 가능한 input 영역과 Flow input binding이 한 번에 생깁니다. 이미 작성한 text나 number를 선택해 시작하면 그 내용을 새 input의 초기값으로 사용하며, 확정 전까지는 일반 Report 내용으로 남습니다. 빈 required input은 연결만 된 미완료 상태이며 값을 입력해 commit한 뒤에만 Run 준비 상태가 됩니다.
이름이 있는 값 여러 개를 문장이나 목록의 서로 다른 위치에 나눠 표시할 때는 각 위치에서 @를 따로 입력하고 확정합니다. 이렇게 만든 연결들은 같은 구조화된 값에 속하므로 하나의 mapping으로 함께 저장됩니다. Esc, Cancel 또는 확정 전에 안내의 Exit를 선택하면 해당 position의 input 영역과 binding이 생기지 않습니다. 같은 action에서 앞서 확정한 다른 position은 유지됩니다. Undo나 Disconnect는 binding을 지우는 동시에 input 영역을 일반 내용으로 되돌립니다. 주변 문장·목록·표는 그대로 유지됩니다.
새 table connection은 빈 caret에서 @로 시작합니다. Connection → Table mapping은 이렇게 만들었거나 SDK/import로 가져온 connected table의 field·row mapping을 편집합니다. 기존 ordinary 표 범위를 직접 승격하는 @ 경로는 계획 단계입니다.
예를 들어 고정하중 G와 변동하중 Q를 하나의 구조화된 input으로 보낼 때는, 두 위치에서 각각 @를 확정해 빈 연결 입력 칸을 만든 뒤 값을 입력합니다. 두 칸은 따로 확정되지만 같은 구조화된 값에 속하므로 하나의 mapping으로 함께 저장됩니다.
작성한 값을 Flow input으로 보내기
- 새 inline input은 빈 위치에 caret를 둡니다. 기존 값을 초기값으로 쓰려면 text나 number를 선택하고, Record field·첨부는 해당 원본을 선택합니다. 새 table input은 빈 문단의 caret에서
@로 만들고, 기존 ordinary 표 범위의 직접 연결은 위의 planned 경계를 따릅니다. - inline input은
@를 입력하거나 @ Insert를 선택합니다. Record field·첨부는 선택을 유지한 채 @ Insert를 사용합니다. - PXFLOW에서 Project와 Flow를 고릅니다.
- Use report input을 선택합니다.
- type, unit과 값 형태가 맞는 public input을 고릅니다.
- Record·List·Table이면 Connection 탭에서 field 연결과 각 행을 계속 식별할 고유 key를 확인합니다.
- Review connection → Connect input을 선택합니다.
같은 Flow Run에 값이 더 필요하면 다음 원본을 선택해 같은 connection에 추가합니다. Report 값과 Flow input을 연결하는 자세한 순서
Flow result를 현재 위치에 표시하기
- 결과가 들어갈 문장, 표, 빈 줄 또는 artifact 위치에 caret를 둡니다.
- @ Insert → PXFLOW에서 Project와 Flow를 고릅니다.
- Insert Flow result를 선택합니다.
- 표시할 public result와 표현 방식을 확인합니다.
- Record·Table result이면 source field와 Report field를 연결합니다.
- Review connection → Insert result를 선택합니다.
같은 result를 다른 Report 위치에도 삽입할 수 있습니다. 두 위치는 같은 Result를 가리키므로 Run 한 번으로 함께 갱신됩니다. Flow result를 Report에 표시하는 자세한 순서
값 형태와 표시 방식
| Flow input/result 형태 | Report에서 사용하는 방식 |
|---|---|
| number | 단위가 있는 작성값 또는 inline Result |
| text | 작성 text 또는 inline Result |
| boolean | true/false 작성값 또는 상태 Result |
| Record | 이름 있는 field mapping 또는 Record result block |
| List | 여러 item을 collection 하나로 연결 또는 List result block |
| Table | 각 행의 고유 key와 field 연결이 있는 표 |
| artifact | Report 첨부를 input으로 전달하거나 artifact 위치에 Result 표시 |
Record·List·Table의 field 선택은 구조화된 값 mapping에서 예제로 확인할 수 있습니다.
mapping을 추가할 때 지킬 규칙
| 구성 | 결과 |
|---|---|
| Report 원본 하나를 서로 다른 input에 사용 | destination마다 mapping을 추가해 재사용 |
| 서로 다른 원본이 같은 input을 선택 | Duplicate destination에서 사용할 원본 하나 선택 |
| result 하나를 여러 Report 위치에 표시 | 모든 위치가 같은 Result와 실행 근거를 참조 |
| 여러 result가 같은 Report 위치를 선택 | 해당 위치에 표시할 result 하나 선택 |
이 규칙을 포함한 전체 연결 예제는 Report와 PXFLOW 연결하기에서 확인하세요.
저장된 connection 확인하고 바꾸기
본문의 @ 표시나 연결된 result block을 더블클릭하면 연결 편집기가 열립니다.
| 탭 | 확인하거나 바꾸는 내용 |
|---|---|
| Overview | Report 위치에서 Flow port까지 이어지는 경로를 읽기 전용으로 확인 |
| Connection | Report 원본·결과 위치, Project, Flow와 public input/result 선택 |
| Settings | Manual 실행 같은 이 connection의 Run 정책과 Report 입력값 |
| Advanced | 정확히 사용할 Flow revision, 고유 key와 schema 계약 |
Apply는 검토한 변경을 현재 Report draft에 한 번에 반영합니다. Cancel과 Esc는 모달을 열기 전 draft 상태로 돌아갑니다. 새 revision은 Report의 Save에서 만들어집니다. Flow 구조를 수정하려면 Overview에서 Open in PXFLOW Studio를 선택합니다.
Report에서 Flow를 확인하는 범위
Overview의 Flow 화면은 현재 연결 경로를 찾는 읽기 전용 보기입니다. Pan과 Fit view로 연결된 public port와 Node 경로를 확인하고, Open standalone 또는 Open in PXFLOW Studio로 전체 Flow를 엽니다.
| Report Workbench | PXFLOW Studio |
|---|---|
| Report 원본과 result 위치 편집 | public input/result 계약 편집 |
| Report–Flow mapping과 표시 방식 편집 | Node와 Node 사이 연결 편집 |
| connection Run과 Result 확인 | Node code, Function reference, Component settings 편집 |
Flow public port를 바꾸면 영향받는 Report connection을 검토한 뒤 새 Flow revision을 선택합니다.
저장하고 Run하기
정식 서버 구현에서 Report 조회에는 해당 Project의 읽기 권한이, 저장에는 읽기·쓰기 권한이 모두 필요합니다. 저장 응답을 다시 확인할 때도 현재 권한을 검사합니다. 사용자 확인을 지원하는 host에 연결되면 이후 저장 요청은 처음 확인한 사용자로 고정되며 계정이 바뀌면 거절됩니다. 실제 서비스의 계정 연결·배포 검증은 별도로 남아 있습니다.
저장 응답이 원래 문서·편집과 맞지 않으면 저장 완료로 표시하지 않습니다. 저장 결과가 불확실한 경우 Retry save는 원래 요청을 다시 확인하며, 저장 중 추가로 쓴 내용은 그 확인이 끝난 뒤 다음 Save로 저장합니다.
사용자가 확인된 host와 브라우저 저장소·Web Locks를 지원하는 구성에서는 제출한 문서와 미확정 요청을 보관합니다. 새로고침 뒤 제출한 문서 복구가 나타나면 이를 선택해 원래 문서를 확인한 후 저장을 재시도합니다. 이미 저장된 요청은 저장 버전만 다시 읽습니다. 다른 사용자·Project의 요청은 복구하지 않으며, 복구를 확인하기 전에는 새 편집·실행을 보류합니다.
복구 범위는 저장 버튼을 눌렀던 당시의 문서입니다. 그 뒤 추가로 입력하고 아직 제출하지 않은 내용이나 전체 Undo 이력의 자동 저장은 지원하지 않습니다. 복구한 편집은 한 번의 Undo로 기준 문서로 돌아갈 수 있습니다. 저장소 접근·문서 검증·재조회가 실패하면 기록을 유지합니다.
- connection에서 Apply를 선택하고 Report를 Save합니다.
- exact Flow revision, public port와 required input 검증 결과를 확인합니다.
- Run으로 선택한 connection의 계산을 시작합니다.
- Project Activity에서 진행 상태를 확인합니다.
- 완료된 Result와 사용한 Flow revision·입력값을 Report 위치에서 검토합니다.
한 connection의 input mapping은 모두 한 Run에 들어가고 result mapping은 같은 Result를 공유합니다. Report 값, mapping 또는 Flow revision이 바뀌면 결과 위치에 Stale이 표시됩니다. Run again으로 현재 입력의 새 Result를 만듭니다.
여러 connection을 함께 실행하기
Report에서 connection을 골라 Run 또는 Run selected를 선택하면 connection마다 독립된 Flow Run이 시작됩니다. 여러 Run은 실행 자원이 있으면 동시에 진행되고, 시작·완료 순서는 달라질 수 있습니다.
- Project Activity는 connection마다 Run과 Result 상태를 보여 줍니다.
- Cancel과 Retry는 선택한 Run에 적용됩니다.
- 새 Run이 현재 결과로 선택된 뒤 늦게 끝난 이전 Run은 이력에 남고, 현재 Report 결과는 새 Run의 Result를 유지합니다.
- 계산 순서나 데이터 의존성이 있으면 하나의 Flow 안에서 Node connection 또는 subflow로 구성합니다. Runtime이 그 dependency 순서에 맞춰 실행합니다.
collection과 여러 계산 case
표 선택을 List<T> 또는 Table<Record> input에 연결하면 collection 값 하나로 Run 한 번을 시작합니다.
각 행이 독립된 scalar input set이면 Batch Run을 선택합니다. Batch는 각 case의 고유 key마다 Run을 만들고 성공·실패·취소 상태를 따로 보여 줍니다. 일부 case가 완료된 상태에서도 성공한 Result를 유지하고 필요한 Run만 Retry할 수 있습니다.
collection 한 Run과 Batch 여러 Run 비교
저장 구조가 필요할 때
Report는 본문, 작성값, result 위치와 Report–Flow connection을 소유합니다. Flow는 외부에서 연결할 input/result, Node와 내부 연결을 소유하고, Runtime은 Run과 변경되지 않는 Result를 소유합니다. 사용자 작업에는 이 세 소유권만 구분하면 충분합니다.
.pxreport field와 exact mapping schema는 Report와 Flow 공개 포트 연결 명세에서 확인하세요.
이어서 보기
저장된 이미지와 계산 그림
보고서의 이미지 첨부와 Run에서 생성해 반영한 PNG는 저장된 Report 리비전의 파일 참조로 읽습니다. 편집 본문뿐 아니라 편집기를 사용할 수 없을 때의 본문 표시와 snapshot 기반 미리보기에서도 같은 원본을 표시합니다. 화면에 맞춰 축소해도 원본 파일과 결과 출처는 바뀌지 않습니다.
파일 reader가 없거나 접근이 거절되거나 이미지를 표시할 수 없으면 이미지 이름과 안내를 표시합니다. 보고서 버전 전환·화면 제거 시 이전 이미지 요청과 임시 URL은 정리됩니다. 그림을 읽기 위해 계산을 다시 실행하지 않습니다. PNG 이외의 생성 결과 형식과 Runtime이 렌더링한 페이지·PDF 출력은 각각의 지원 범위를 따릅니다.