부식 수발주 하기
학교에서 들어오는 발주서에는 정확한 품명과 제조사가 적혀있지 않고, 구매처가 없기 때문에 기존에 해왔던 자료들을 확인하는 수 밖에 없다. 품명을 보고 해당 상품을 찾고 거래처에 발주를 해야 한다.
기존의 데이터들을 구글 스프레드시트에 올렸고, 여기서 학교와 품명을 검색하면 발주 내역이 나오게 만들었다. 부식의 경우 발주 프로세스가 '친환경'품목과는 다르다.
- 학교에서 발주메일이 오면, 이것을 취합엑셀파일에 옮겨적는다
- 발주 품목을 어디서 발주할지 거래처를 검색한다
- 발주서를 ERP 에 입력하고 발주통보를 한다
발주서 취합 가공
학교에서 보내는 발주서는 친환경 발주와 동일한 포맷이다.
'식품명' 으로 찾기(검색)하고 전체선택(Ctrl + a) 한 후, 가장 윗쪽은 선택 해제한다.
'시트행 삭제' 를 선택한다.
중간의 빈 행을 삭제한다.
B5(식품명)에서 시작해서 달의 마지막 날짜 숫자(30 또는 31)까지 선택하고, 맨 아랫줄까지 선택하고 복사한다.
새로운 시트를 만들고 붙여넣기한다(값 붙여넣기).
'식품속성'을 수정하고, 22/29일 뒤의 빈 열을 삭제한다.
전체선택(Ctrl + a)하고, Ctrl + t 를 누른다. '머리글 포함'을 체크하고 확인을 누른다.
'데이터 - 테이블/범위에서' 를 선택한다.
새로운 창에서 '값 바꾸기' 메뉴로 'null' 을 '0' 으로 변경한다.
'식품명(단위), 규격, 식품속성' 열을 선택하고, '변환 - 다른 열 피벗해제' 를 선택한다.
'특성' 을 '날짜' 로 변경하고, '값'을 '수량'으로 수정한다.
'날짜' 열을 가장 왼쪽으로 이동한다. '닫기 및 다음으로 로드' 를 선택한다.
취합 엑셀파일 입력
취합 엑셀 파일에 입력한다.
취급처(거래처) 찾기
품목명을 검색해서 취급처(거래처)를 찾아야 한다. 여기 에서 검색한다. 거래처가 지정되면, 발주서를 보내야 한다.
창 배열
창 번호 | 설명 |
1 | 학교 품목 데이터베이스 |
2 | 발주취합 엑셀파일 |
3 | 메모장 |
4 | Download 디렉토리(pdf 파일 저장되는 위치) |
파이썬 코드
import pyautogui import time time.sleep(5) for i in range(2): pyautogui.press('down') time.sleep(1) pyautogui.hotkey('ctrl','c') time.sleep(1) pyautogui.click(x=428, y=884, button='right', clicks=1) // 1. 3번 윈도우 time.sleep(1) pyautogui.hotkey('ctrl','v') time.sleep(1) pyautogui.press('backspace') time.sleep(1) pyautogui.hotkey('ctrl','a') time.sleep(1) pyautogui.hotkey('ctrl','c') time.sleep(1) pyautogui.press('backspace') time.sleep(1) pyautogui.click(x=345, y=336, button='right', clicks=1) // 2. 1번 윈도우 time.sleep(1) pyautogui.hotkey('ctrl','v') time.sleep(1) pyautogui.hotkey('alt','f') time.sleep(1) pyautogui.press('d') time.sleep(1) pyautogui.press('p') time.sleep(3) pyautogui.press('tab') time.sleep(1) pyautogui.press('enter') time.sleep(1) pyautogui.click(x=1477, y=499, button='right', clicks=1) // 3. 4번 윈도우 time.sleep(1) pyautogui.press('pageup') time.sleep(1) pyautogui.press('down') time.sleep(1) pyautogui.press('f2') time.sleep(1) pyautogui.hotkey('ctrl','v') time.sleep(1) pyautogui.press('enter') time.sleep(1) pyautogui.click(x=1460, y=31, button='right', clicks=1) // 4. 2번 윈도우 time.sleep(1)
번호 | 설명 |
1 | 3번 윈도우(메모장)의 첫 줄 위치 |
2 | '학교명' 값은 고정으로 하고, '품목명' 입력 셀의 위치 |
3 | 윈도우 창의 윗줄 위치, '수정한 날짜'로 정렬함 |
4 | 엑셀 윈도우의 윗줄 위치 |
거래처찾기(v2)
창 위치
파이썬 코드
import pyautogui import time time.sleep(3) for i in range(2): pyautogui.press('down') time.sleep(1) pyautogui.hotkey('ctrl','c') time.sleep(1) pyautogui.click(x=298, y=762, button='right', clicks=1) time.sleep(1) pyautogui.hotkey('ctrl','v') time.sleep(1) pyautogui.press('backspace') time.sleep(1) pyautogui.click(x=1471, y=852, button='right', clicks=1) time.sleep(0.5) pyautogui.press('apps') time.sleep(0.5) pyautogui.press('up') time.sleep(0.2) pyautogui.press('up') time.sleep(0.2) pyautogui.press('right') time.sleep(0.2) pyautogui.press('up') time.sleep(0.2) pyautogui.press('up') time.sleep(0.2) pyautogui.press('enter') time.sleep(1) pyautogui.hotkey('ctrl','v') time.sleep(1) pyautogui.press('enter') time.sleep(1) pyautogui.press('enter') time.sleep(5) pyautogui.hotkey('win','right') time.sleep(1) pyautogui.press('esc') time.sleep(1) pyautogui.click(x=298, y=762, button='right', clicks=1) time.sleep(1) pyautogui.hotkey('ctrl','a') time.sleep(1) pyautogui.hotkey('ctrl','c') time.sleep(1) pyautogui.press('backspace') time.sleep(1) pyautogui.click(x=337, y=334, button='right', clicks=1) time.sleep(1) pyautogui.press('esc') time.sleep(1) pyautogui.hotkey('ctrl','v') time.sleep(1) pyautogui.press('down') time.sleep(0.2) pyautogui.press('down') time.sleep(0.2) pyautogui.hotkey('ctrl','a') time.sleep(1) pyautogui.hotkey('ctrl','c') time.sleep(1) pyautogui.click(x=1390, y=18, button='right', clicks=1) time.sleep(1) pyautogui.hotkey('ctrl', 'alt', 'v') time.sleep(1) pyautogui.press('down') time.sleep(0.2) pyautogui.press('enter') time.sleep(0.2) pyautogui.hotkey('ctrl','s') time.sleep(1) pyautogui.hotkey('alt','f4') time.sleep(1)
코드설명
- 2번 윈도우에서 해당 품목명을 복사한다.
- 3번 윈도우(메모장)에 복사한다.
- 4번 윈도우에서 새로운 엑셀파일을 만들고, 이름은 품목명으로 한다.
- 새로 만들 엑셀파일을 실행하고, 창을 배치한다. 5번 윈도우라고 한다.
- 3번 윈도우에서 품목명을 복사한다.
- 1번 윈도우에서 품목명으로 검색한다. 결과값을 5번 윈도우(엑셀)에 복사한다. 저장하고 파일을 닫는다.
유의할 점은 1,2,3,4 번 윈도우가 화면전체의 절반을 넘지 않아야 한다는 것이다. 넘게되면, 파일 실행 시에 만들어지는 5번 윈도우의 배치를 할 수 없다.