년차 관리 프로그램에서 코드를 만들어 사용하고 있다.
1년에 800건 이상 결재가 되면서 3년이면 3,000개 이상이 쌓이게 된다.
코드를 만들기 위해서 최대 값을 구하는 방식의 변경이 필요함을 느꼈다.
기존 코드를 불러와서 년도로 필터를 하고 이를 Code로 정렬을 하여 변수로 넣어 처리하는 방식이다.
다소 설명이 어려울 수 있으나 해당 방법은 아주 간단하다.
// 신규 년차 결재 생성시
If(newLine,
// varList 변수에 현재 년도의 데이터를 최신 데이터 순으로 정렬하여 저장
// 한해 데이터가 해당 값이 2000개가 넘으면 추가 작업이 필요 함.
With({varList:Sort(Filter(VacList,ApplyYear=Text(Today(),"yyyy") ),Title,SortOrder.Descending)},
If(
// varList 값이 0개 이상이면
CountRows(varList) > 0,
// 최대 값에 +1 을 더한 값을 코드로 만들기
"GS"& Text(Today(),"yyyy")& "-" & Text(Right(First(varList).Title,4) + 1,"0000"),
// 값이 없으면 GS년도-0001 이라는 코드가 만들어 지게 됨 GS2025-0001
"GS"& Text(Today(),"yyyy")& "-0001"
)
),
// 신규 결재가 아니면 기존 값 가져오기
Parent.Default
)
|
년차를 신청하면 코드가 발생하고 이를 년차관리에서 근거문서를 확인하기 위해 코드를 활용하고 있다.
년차 결재를 올리게 되면 자동으로 코드가 만들어지게 된다.
[참고자료]
20,000개의 데이터를 가져 와 collection에 넣어 관리가 가능
ClearCollect(colNum,Filter(Num6000Code,Num > 0));
ForAll(
Sequence(10),
With({num: 2000 * Value},
Collect(colNum,Filter(Num6000Code,Num > num ));
)
)
|
댓글