- {group.fields.map((field) =>
+ {(group.fields || []).map((field) =>
renderFieldWithColumns(
field,
formData[field.columnName],
@@ -1763,7 +1763,7 @@ export function UniversalFormModalComponent({
- {group.fields.map((field) =>
+ {(group.fields || []).map((field) =>
renderFieldWithColumns(
field,
formData[field.columnName],
@@ -1819,7 +1819,7 @@ export function UniversalFormModalComponent({
{/* 일반 필드 렌더링 */}
- {section.fields.map((field) =>
+ {(section.fields || []).map((field) =>
renderFieldWithColumns(
field,
item[field.columnName],
@@ -1898,7 +1898,7 @@ export function UniversalFormModalComponent({
{config.modal.title || "범용 폼 모달"}
- {config.sections.length}개 섹션 |{config.sections.reduce((acc, s) => acc + s.fields.length, 0)}개 필드
+ {config.sections.length}개 섹션 |{config.sections.reduce((acc, s) => acc + (s.fields?.length || 0), 0)}개 필드
저장 테이블: {config.saveConfig.tableName || "(미설정)"}
diff --git a/화면_임베딩_및_데이터_전달_시스템_구현_계획서.md b/화면_임베딩_및_데이터_전달_시스템_구현_계획서.md
index 275272ce..f962f9c3 100644
--- a/화면_임베딩_및_데이터_전달_시스템_구현_계획서.md
+++ b/화면_임베딩_및_데이터_전달_시스템_구현_계획서.md
@@ -1687,3 +1687,4 @@ const 출고등록_설정: ScreenSplitPanel = {
+
diff --git a/화면_임베딩_시스템_Phase1-4_구현_완료.md b/화면_임베딩_시스템_Phase1-4_구현_완료.md
index f88df210..a480f7ec 100644
--- a/화면_임베딩_시스템_Phase1-4_구현_완료.md
+++ b/화면_임베딩_시스템_Phase1-4_구현_완료.md
@@ -534,3 +534,4 @@ const { data: config } = await getScreenSplitPanel(screenId);
+
diff --git a/화면_임베딩_시스템_충돌_분석_보고서.md b/화면_임베딩_시스템_충돌_분석_보고서.md
index 0f74ba8d..eb56a747 100644
--- a/화면_임베딩_시스템_충돌_분석_보고서.md
+++ b/화면_임베딩_시스템_충돌_분석_보고서.md
@@ -521,3 +521,4 @@ function ScreenViewPage() {
+