본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
LS Taiwan
검색
검색
보이기
계정 만들기
로그인
개인 도구
계정 만들기
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
ERP extract data
편집하기
문서
토론
한국어
읽기
편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
보이기
사이드바로 이동
숨기기
Hschoi2
(
토론
|
기여
)
님의 2025년 3월 20일 (목) 02:45 판
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
Extract ERP data6.xlsm에 대한 설명입니다. = 사용 관련 사항= ERP는 php 모듈로 해당 화면을 만들 수 있으나, Dolibarr 모듈 가이드를 따라야 하기 때문에, 우선 업무적 편의를 위해서 만든 간이 프로그램이다. == Dolibarr php 가이드에 따른 개발 == 웹으로 직접 개발하는 경우는 다음의 영향이다. 1. Dolibarr 개발자 가이드 - 디렉토리 위치, DB 설명 참조한다. 2. 모듈로 개발하는 것은 나중에 업그레이드가 되더라도 영향을 받지 않기 위해서 이다. 3. ERP 사이트에서 완료하는 것을 기준으로 해야한다. == 작업의 설명== 매월 1회 경리월보를 작성하여 제출한다. 항목은 다음의 3가지가 중요하다. # 급여 # 비용(Expense) - 영수증 # 자산 비용의 경우, ERP에 개별적으로 입력하고, 영수증을 증빙한다. 본사 및 현지 회계 법인에 1) 급여, 2) 비용 (영수증)을 제출해야 한다. * 업무의 변화 # ERP(23.09)를 도입하여, 모든 조회와 기록을 ERP에 기록한다. # 따라서, ERP 데이터가 무결성을 확보하여, 이를 기준으로 모든 데이터를 만든다. 특히, ERP는 검사(validation)과 결재(approval)을 거치기 때문에 데이터 무결성이 확보된다. 회계 담당자의 업무, 검사, accouting 작업(분개장 작성)을 제대로 해야지만, 모든 데이터의 무결성이 확보된다. * 영수증 처리 가장 시간을 많이 소모하게 되는 것이 영수증 개별 표시와 사진 자료 첨부이다. 이러한 작업을 줄이기 위해서, 입력 단계 부터 ERP에 입력하고, 해당 데이터를 이용해서 경리월보를 작성 (혹은 개발 후, 조회) 하여 사용 하도록 한다. ==엑셀 자동화 == === 엑셀 sheet의 구성 === # LOGIN_ERP sheet - ID/PW, 조회기간, 프로젝트를 선택하여, ERP web에 자동으로 접속한다. # ERP_OUTPUT sheet - (1)의 조건에 따라, raw 데이터를 취득한다. (ERP는 비용전표 기준(여러개 영수증)이기 때문에, 다시 영수증 단위로 searching) # Monthly_Report sheet - ERP 데이터를 경리월보(엑셀, 월 1회 보고) 양식에 맞게 구성한다. * 기본 데이터 in Monthly_Report sheet 엑셀 자동화를 통해서 얻을 수 있는 자료는 다음과 같다. 1. 날짜 (영수증) - 사용자가 작성 날짜, 회계 담당자는 결재 중, 영수증 날짜와 사용자 날짜를 반드시 확인해야 한다. 2. 경리월보 기준 비용 계정(COA) - 한글, 영어 분류표 3. 금액 (현지통화) 4. 증빙 - 영수증 파일 이름 (ERP에 upload되면, 파일명에 "비용 전표 이름" + "파일명" 으로 ERP에 기록된다. 5. ERP 링크 (기본 브라우저에 로그인 상태이어야 함) - 파일을 다운로드 할 필요 없이 웹페이지에서 직접 확인 사용자는 상기의 데이터를 복사하여, 본사 보고용 경리월보 파일에 copy & paste로 붙여 넣는다. ===주의 사항=== 경리월보 기타 입력 사항은 PM의 권한이라, 비용과 증빙에 관련된 부분만 발췌하여 사용한다. 나머지 정보는 추후 php개발시, 현장의견을 반영하여 확정한다. ===기타=== 추후 php로 작성하는 화면은 프로젝트와 취득 영수증 기반으로 화면 구성이 된다. (영수증 건수 rows) ERP에서는 결재가 완료된 문서 기준으로 무결성이 확보되었다고 가정하기 때문에, ERP 입력 부터 검사, 결재까지 과정이 중요하다. = 개발 관련 사항= 나중에 수정 보완 작업을 위한 내용 정리이다. * 가장 큰 차이 ERP는 비용전표 (Expense Report) 단위이다. 즉, 1개의 비용전표에 여러 개의 영수증을 첨부할 수 있다. 따라서, 비용전표를 조회해서는 하위 영수증 까지는 직접 비용전표를 조회하여야 한다. 그러나, 경리월보는 기준이 영수증 단위라서, 증빙(영수증) 검사부터 순차적으로 진행한다. 엑셀 자동화 파일(ERP extract data6.xlsm)은 ERP의 2단계 조회를 영수증 기준으로 다시 재배치 하고, 영수증 파일명(ERP에 upload 되어 있으므로)을 제공하여, 경리월보에 첨부할 수 있도록 하는 방향이다. * LOGIN_ERP sheet 관련 앞에서 [[#엑셀 sheet의 구성|엑셀 시트 구성]]을 참조한다. == 흐름 == # 버튼 : Sub btnFocus_Click() 을 호출한다. # Sub WebLoginAndNavigate() 으로 IE를 기동시킨다. # 주소 만들기 Function GetURL() As String - 여러개 프로젝트 조회하는 주소 구성 # Search Sub ReadERandRecord(IE, tmpID2) ## 탐색 경로 만들기 - 비용전표 리스트 확인, 비용전표별로 다시 탐색 ## ERP_OUTPUT 만듬 # 경리월보 형태로 ERP데이터 수정Sub CopyERPDataToMonthlyReport() * 각 모듈 역할 === btnFocus_Click() === 화면에 표시 하기 위한 단순 시작접, 모든 ERP 관련 실행은 다음 프로시저에서 시작된다. * 이전 다른 자동로그인과 구분하기 위함임 프로시저 콜 Call WebLoginAndNavigate 'Module 2에서 호출하기 === WebLoginAndNavigate === main과 같은 역할로 시작과 끝을 나타낸다. # LOGIN_ERP sheet에 기록된 내용을 읽는다 # Function으로 주소 정보를 만든다. (사용자, 기간, 프로젝트들) # 로그인 (읽어온 정보 기반), 웹화면의 클릭 수행 # ReadTableAndRecord(IE) - 사용중인 IE 핸들러를 넘겨서, 만든 주소를 통해서 접속한다,(RAW) # LoopThroughERP_ERN(IE) - 사용한 비용전표 리스트를 뽑는다. # CopyERPDataToMonthlyReport - 경리월보 양식으로 자료를 만든다. # IE를 끄고, 종료 === LOGIN_ERP 읽어오기 === 사용자 ID/PW, 기간, 프로젝트 등의 항목을 읽어 온다. Set ws1 = ThisWorkbook.Sheets("LOGIN_ERP") ' LOGIN_ERP Sheet를 사용한다. .... TargetURL = GetURL 'GetURL은 funtion으로 요청한 프로젝트 리스트로 주소를 만든다. * Function GetURL() As String 리턴 값은 String으로 넘겨 준다. LOGIN_ERP Sheet의 자료를 이용하므로 별도의 파라미터를 받지 않는다. (괄호) 안의 값이 필요없다. 작업 사항 # 시작날짜 분리: 년, 월, 일 - 양식에 주의 한다. '##' 형태가 아니라 '#'를 사용한다 # 끝날짜 분리: 년, 월, 일 # 각 프로젝트 회계장부 - "&search_ledger_code[]=" & pjt_CODE 형식이다. 리턴하기 GetURL = str_URL 'Function GetURL() As String 으로 선언되어서, GetURL은 String으로 리턴된다. * IE 기동시키기 Edge 부터는 Chrome과 같은 Selenium 모델로 호출 형태가 달라진다. VBA는 기본 브라우저로 IE: Internet Explorer를 사용한다. 일부 기능이 Edge와 다르게 사용되지만 대부분은 지원된다. 만약 문제가 생기면, Chrome이나 Edge로 변경한다. ID/PW를 가지고, IE.document.getElementById("login-submit-wrapper").getElementsByTagName("input")(0).Click 으로 ERP 사이트에 로그인 한다. 로그인 후에는 타겟 주소로 이동한다 IE.Navigate TargetURL ===Sub ReadTableAndRecord(IE)=== ERP RAW값을 추출하고, 비용전표 번호를 별도로 추출한다. # ReadTableAndRecord() 수행 후에 # RemoveDuplicatesFromERP_RAW() 호출하여 서브루틴을 끝낸다. (Sub WebLoginAndNavigate()으로 돌아감) 주의: ReadTableXXXX 서브루틴이 많으므로, 이름 주의 할 것 역할 - RAW값을 ERP RAW sheet에 작성한다. 이것은 ERP 페이지 자료 가공을 안한 상태 ==== ERP_RAW sheet ==== 분개장 메뉴에서 읽어온 전표 RAW data이다. (ERP 화면과 동일) 421과 같은 비용전표(ER)에 있지 않은 회계정보 자료까지 있다. sub Ledger 이름은 421인 경우 발췌하는 것이 좋을 듯... ==== ERP_ERN sheet ==== 비용전표 번호를 발췌한다. LoopThroughERP_ERN()을 호출한다. 여기서 Sub ReadERandRecord(IE, tmpID2)도 호출함 여러개의 비용전표 번호를 순서대로 찾아 적는다. 이것은 추가로 조회할 주소를 만드는데 사용된다. LoopThroughERP_ERN()은 다시 ReadERandRecord(IE, tmpID2)을 호출함 * 이게 아마 function call로 하려다가 에러가 계속나서 (버그?) 다시 그냥 sub로 바꿈 ===== ReadERandRecord(IE, tmpID2)===== 여기서 "ERP_OUTPUT" sheet에 자료를 적는다. 호출의 호출임...주의 === CopyERPDataToMonthlyReport() === ERP_OUT sheet의 데이터 내용을 경리월보 형식의 Monthly_Report sheet로 옮김 * 대상 sheet 사용 ' 소스 시트 설정 Set wsSource = ThisWorkbook.Sheets("ERP_OUTPUT") ' 대상 시트 확인 및 필요시 생성 Set wsTarget = ThisWorkbook.Sheets("Monthly_Report") * 회사 COA 규정 반영 재 수정 회사 규정은 master_COA (sheet)의 테이블에 기록되어 있다. 해당 파일은 hidden 처리 되었음 (ERP_RAW, ERP_ERN)로 모두 숨겨져 있음 [[분류: ERP]]
요약:
LS Taiwan에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
LS Taiwan:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
ERP extract data
편집하기
새 주제