자동 프린트 하기

부모창에 <div id="print_area"></div> 이코드를 넣고 아래 코드의 팝업을 띄운다.
  1. <!--#include virtual="/common/include/incSubCode.asp"-->
  2. <HTML>
  3. <HEAD>
  4. <!--#include virtual="/common/include/incHead.asp"-->
  5. <TITLE> New Document </TITLE>
  6. <SCRIPT LANGUAGE="JavaScript">
  7. <!--
  8.         function print_preview(){
  9.                 var p_lay = opener.document.all.print_area;
  10.                 var p_lay_none = opener.document.all.print_area_none;
  11.  
  12.                 var p_lay_content = p_lay.innerHTML;
  13.  
  14.                 if(typeof(p_lay_none) == "object"){
  15.                         if(!isNaN(p_lay_none.length)){
  16.                                 for (var i=0; i <= p_lay_none.length - 1; i++){        
  17.                                          p_lay_content = p_lay_content.replace(p_lay_none[i].innerHTML, "");
  18.                                 }
  19.                         }else{
  20.                                 p_lay_content = p_lay_content.replace(p_lay_none.innerHTML, "");
  21.                         }
  22.                 }
  23.  
  24.                 document.all.p_lay_content.innerHTML = p_lay_content;
  25.         }
  26. //-->
  27. </SCRIPT>
  28. </HEAD>
  29.  
  30. <BODY onload="print_preview();">
  31.         <!-- [s]linemap -->
  32.         <table width="654" cellpadding="0" cellspacing="0" border="0" style="margin:15 0 0 0;">
  33.                 <tr>
  34.                         <td><img src="/static/images/<%=dispName%>/title_<%=twodepth%>.gif"></td>
  35.                 </tr>
  36.                 <tr><td colspan="1" height="1" bgcolor="#CDD9E0"></td></tr>
  37.         </table>
  38.         <!-- [e]linemap -->
  39.        
  40.                 <div id="p_lay_content"></div>
  41.        
  42.         <!-- [s]Button -->
  43.         <table cellpadding="0" cellspacing="0" border="0" style="width:654px; margin:9 0 0 0;">
  44.                 <tr>
  45.                         <td align="center">
  46.                                 <a href="javascript:window.print();"><img src="/static/images/popup/btn_print.gif"></a>
  47.                                 <a href="javascript:window.close()"><img src="/static/images/common/btn_cancel.gif"></a>
  48.                         </td>
  49.                 </tr>
  50.         </table>
  51.         <!-- [e]Button -->
  52. </BODY>
  53. </HTML>

by 수평선 | 2009/04/16 21:31 | 자바스크립트 | 트랙백 | 덧글(0)

kits list sample

<!-- #include virtual =/include/dbopen.asp -->
<!-- #include virtual =/include/SESSION_CHECK.ASP -->
<!-- #include virtual =/function/function.ASP -->
<%

pagenum = request("pagenum")
If pagenum="" then                            '처음 로딩시
   pagenum=1 
end If
pagelinecount = 10
pageblockcount = 10
year_1 = REQUEST("year")
goyong_1 = request("goyong")
if year_1 = null or len(year_1)=0 or year_1="" then
  year_1 = "2004"
end if
if goyong_1 = null or len(goyong_1)=0 or goyong_1="" then
  goyong_1 = "1"
end if

sql = "SELECT   TEST_SCH.TS_EDATE, TEST_USE_TIME.TU_STIME, TEST_USE_TIME.TU_ETIME, "
sql = sql & "   TEST_SCH.TS_LCODE, LECTURE_LIST.LL_LNAME, LECTURE_LIST.LL_MINUSP, "
sql = sql & "   TEST_SCH.TS_TERM, TEST_SCH.TS_CPART, OCOM_MAS.OM_NAME, "
sql = sql & "   TEST_SCH.TS_GOYONG, TEST_SCH.TS_TTYPE, TEST_USE_TIME.TU_NO,  "
sql = sql & "   TEST_USE_TIME.TU_ID, ST_STUDENTINFO.name, "
sql = sql & "   TEST_USE_TIME.TU_USE_TIME, TEST_USE_TIME.TU_TOTAL_TIME, "
sql = sql & "   TEST_USE_TIME.TU_STATUS, TEST_USE_TIME.TO_POINT,  "
sql = sql & "   TEST_USE_TIME.TS_POINT, TEST_USE_TIME.TA_POINT,  "
sql = sql & "   TEST_USE_TIME.TU_SCORE_TIME "
sql = sql & " FROM      TEST_USE_TIME INNER JOIN "
sql = sql & "   TEST_SCH ON TEST_USE_TIME.TU_NO = TEST_SCH.TS_NO AND  "
sql = sql & "   TEST_USE_TIME.TU_ETIME > TEST_SCH.TS_EDATE AND  "
sql = sql & "   TEST_SCH.TS_GOYONG = '"&goyong_1&"' AND TEST_USE_TIME.TU_STIME LIKE '"&year_1&"%' AND  "
sql = sql & "   TEST_USE_TIME.TU_ID <> 'admin' AND  "
sql = sql & "   TEST_USE_TIME.TU_ID NOT LIKE 'test%' AND  "
sql = sql & "   TEST_USE_TIME.TU_ID NOT LIKE 'tutor%' and  "
sql = sql & "   len(TEST_USE_TIME.TU_ID) <> 0 and "
sql = sql & "   TEST_SCH.TS_EDATE > '2004-05-11' INNER JOIN "
sql = sql & "   LECTURE_LIST ON TEST_SCH.TS_LCODE = LECTURE_LIST.LL_LCODE AND  "
sql = sql & "   TEST_SCH.TS_TERM = LECTURE_LIST.LL_TERM AND  "
sql = sql & "   TEST_SCH.TS_CPART = LECTURE_LIST.LL_CPART AND  "
sql = sql & "   TEST_SCH.TS_GOYONG = LECTURE_LIST.LL_GOYONG INNER JOIN "
sql = sql & "   ST_STUDENTINFO ON  "
sql = sql & "   TEST_USE_TIME.TU_ID = ST_STUDENTINFO.userid INNER JOIN "
sql = sql & "   OCOM_MAS ON OCOM_MAS.OM_CODE = TEST_SCH.TS_CPART "
sql = sql & " ORDER BY TEST_SCH.TS_EDATE DESC, TEST_USE_TIME.TU_ID "

set proRs=server.createobject("ADODB.Recordset")
'response.write sql
proRs.open sql, dbcon, 3
'SET proRs= dbCon.execute(sql)
if not proRs.eof then
 proRs.move pagelinecount*(pagenum-1)
end if
timeT=0
Percent=0
SECONDS=0
%>
<STYLE type="text/css">
<!--
body {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt }
td {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt; color: #000000; }
th {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt; color: #000000;background-color: #73AFC4;font-size: 8pt }
input {  font-family: "돋움", "굴림"; font-size: 9pt; color: #000000; color: #000000 }
select {  font-family: "돋움", "굴림"; font-size: 9pt; color: #000000 }
textarea {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt; color: #000000 }

a:visited {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt; color: #000000; text-decoration: none }
a:active {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt; color: #000000; text-decoration: none }
a:hover {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt; color: #000000; text-decoration: underline }
a:link {  font-family: "돋움", "굴림"; font-size: 9pt; line-height: 14pt; color: #000000; text-decoration: none }
-->
</STYLE>
추가평가 인원목록  <b><%=proRs.recordcount%></b>명 <b><%=year_1%></b>년도인원 [ <a href="a_test_overtime_users.asp?year=2004&goyong=1">고용보험적용</a> / <a href="a_test_overtime_users.asp?year=2004&goyong=0">고용보험미적용</a> ]<!--[&nbsp;<a href="a_test_overtime_users.asp?year=2004">2004</a>/<a href="a_test_overtime_users.asp?year=2003">2003</a>/<a href="a_test_overtime_users.asp?year=2002">2002</a>/<a href="a_test_overtime_users.asp?year=2001">2001</a>&nbsp;]--><BR>
시험종류(0:수시 1:추가 2:중간 3:기말) &nbsp;고용보험적용유무(0:미적용 1:적용)<BR>
적용시점 2004년 5월 11일
<table border=1 cellspacing=0>
<tr bgcolor="#81A9FC">
<td>사용자명(아이디)</td><td>과정명(코드)</td><td>회사명(코드)</td><td>차수(고용)</td>
<td>시험종류</td><td>시험종료시간</td><td>사용자시작시간</td><td>사용자종료시간</td>
<td>추가평가감점점수</td><td>객관식</td><td>주관식</td><td>총점</td><td>감점적용유무</td>
<td>채점일</td><td>시험사용시간</td><td>주어진시간</td><tr>
<%
for i=1 to pagelinecount
 if proRs.eof then
  exit for
 end if
timeA=int(trim(proRs("tu_use_time")))
timeT=INT(timeA/60/60)
PercentS = timeA MOD 60*60
Percent=int(PercentS/60)
SECONDS=timeA MOD 60

timeg = int(proRs("tu_total_time"))
timev = int(timeg/60)

jumsuo = cint(proRs("to_point"))
jumsus = cint(proRs("ts_point"))
jumsua = cint(proRs("ta_point"))
isappect = "<font color=red><a href='a_test_overtime_users_m.asp?year="&year_1&"&goyong="&goyong_1&"&minusp="&proRs("ll_minusp")&"&tu_no="&proRs("tu_no")&"&tu_id="&proRs("tu_id")&"&to_point="&proRs("to_point")&"&ts_point="&proRs("ts_point")&"' title='클릭하면 감점적용됩니다.'>미적용</a></font>"
if jumsua <> (jumsuo+jumsus) then
  isappect = "<font color=blue>적용</font>"
end if
%>
<tr><td><%=proRs("name")%>(<%=proRs("tu_id")%>)</td>
<td><%=proRs("ll_lname")%>(<%=proRs("ts_lcode")%>)</td>
<td><%=proRs("om_name")%>(<%=proRs("ts_cpart")%>)</td>
<td><%=proRs("ts_term")%>(<%=proRs("ts_goyong")%>)</td>
<td><%=proRs("ts_ttype")%></td>
<td><%=proRs("ts_edate")%></td>
<td><%=proRs("tu_stime")%></td>
<td><%=proRs("tu_etime")%></td>
<td><%=proRs("ll_minusp")%></td>
<td><%=proRs("to_point")%></td>
<td><%=proRs("ts_point")%></td>
<td><%=proRs("ta_point")%></td>
<td><%=isappect%></td>
<td><%=proRs("tu_score_time")%></td>
<td><% IF timeT>0 THEN RESPONSE.WRITE timeT&" 시간 " END IF%> <% IF Percent>0 THEN RESPONSE.WRITE Percent&" 분 " end if %> <% IF SECONDS>0 THEN RESPONSE.WRITE SECONDS&" 초 " end if%></td>
<td><%=timev%>분</td>
</tr>
<%
proRs.movenext
next
%>
</table>
<%
Response.write pagechange(request("pagenum"),request,response,pagelinecount,pageblockcount,proRs.recordcount,true,request.ServerVariables("QUERY_STRING"),"pagenum","","")
%>
<%
proRs.close
Set proRs = nothing
dbCon.Close
Set dbCon = Nothing
%>
a_test_overtime_users.asp        a_test_overtime_users_m.asp

by 수평선 | 2009/04/15 01:17 | asp | 트랙백 | 덧글(0)

userfunction

<%
 '********************************************************
 ' 문서제목 : 사용자 정의 함수
 ' 파일명 : Userfunction.asp
 ' 작성자 : 궉장걸
 ' 작성일 : 2006-11-21
 ' 내역 :
 '********************************************************
 
 Class UserFunction

  '클래스 초기화
  Private Sub Class_Initialize() 
  
  End Sub
  
  '클래스 소멸
  Private Sub Class_Terminate()

  End Sub  

  '******************************************************
  ' 함수 기능 : 문자열 캐릭터로 자르기
  ' Parameter :
  '  - str : 원본 Data
  '  - cutLen : 자를 길이
  '******************************************************
  Public Function cutChar(str, cutLen) 
   If Not(IsEmpty(str)) And Not(IsNull(str)) Then
    Dim strLen, strByte, strPos, char, i, charactor_cut_len
    strByte = 0
    strPos = 0
    strLen = Len(str)    '총 글자수

    for i = 1 to strLen
     char = ""
     char = Asc(Mid(str, i, 1)) '아스키 코드값 읽어오기
     char = Left(char, 1)
     if char = "-" then  '"-"이면 2바이트 문자임
      strByte = strByte + 2
     else
      strByte = strByte + 1
     end if
     strPos = strPos + 1
     if cutLen > 0 then
      if  strByte > cutLen then
       strPos = strPos - 1 '마지막 2바이트 문자처리
       exit for
      end if
     end if
    next

    if cutLen <= 0 then
     charactor_cut_len = strByte
    else
     charactor_cut_len = strPos
    end if

    if (charactor_cut_len < strLen) then
     cutChar = Left(str, charactor_cut_len) & "..."
    else
     cutChar = str
    end If
   Else
    cutChar = str
   End If
  End Function
  
  '******************************************************
  ' 함수 기능 : 비교처리 (CompareNum1 과 CompareNum2 비교 후 RtnStr1, RtnStr2 반환)
  ' Parameter :
  '  - CompareNum1 : 비교 검사할 Data
  '  - CompareNum2 : 비교 검사할 Data
  '  - RtnStr1 : 비교 검사후 True 인 경우 반환할 값
  '  - RtnStr2 : 비교 검사후 False 인 경우 반환할 값
  '******************************************************
  Public Function Return_Val(CompareNum1, CompareNum2, RtnStr1, RtnStr2)
   If Not IsNull(CompareNum1) Then
    If (Cstr(CompareNum1) = Cstr(CompareNum2)) Then
     Return_Val = RtnStr1
    Else
     Return_Val = RtnStr2
    End If
   Else
    Return_Val = RtnStr2
   End If
  End Function

  '******************************************************
  ' 함수 기능 : 날짜 검사 ( 2자리로 변환 )
  ' Parameter :
  '  - ChkDate : 검사할 날짜
  '******************************************************
  Public Function date_check(ChkDate)
   IF len(ChkDate) = 1 Then
    date_check = "0" & ChkDate
   Else      
    date_check = ChkDate
   End If
  End Function

  '******************************************************
  ' 함수 기능 : 월별로 마지막 날짜 반환
  ' Parameter :
  '  - DateMonth : 검사할 월
  '  - DateYear : 검사할 년도
  '******************************************************
  Public Function MonthArray(DateMonth, DateYear)
   Dim MonthDay(12)

   MonthDay(1) = 31
   MonthDay(2) = 28
   If YoonCheck(DateYear) Then MonthDay(2) = 29
   MonthDay(3) = 31
   MonthDay(4) = 30
   MonthDay(5) = 31
   MonthDay(6) = 30
   MonthDay(7) = 31
   MonthDay(8) = 31
   MonthDay(9) = 30
   MonthDay(10) = 31
   MonthDay(11) = 30
   MonthDay(12) = 31

   MonthArray = MonthDay(DateMonth)
  End Function

  '******************************************************
  ' 함수 기능 : 날짜 (윤년) 검사 후 Bool형 반환
  ' Parameter :
  '  - chkYear : 검사할 년도
  '******************************************************
  Public Function YoonCheck(chkYear)
   If chkYear Mod 4 <> 0 Then
    YoonCheck = False
   ElseIf chkYear Mod 100 <> 0 Then
    YoonCheck = True
   ElseIf chkYear Mod 400 <> 0 Then
    YoonCheck = False
   Else
    YoonCheck = True
   End If
  End Function

  '******************************************************
  ' 함수 기능 : 정수값 타입별로 반환
  ' Parameter :
  '  - MinNumber : 최소값
  '  - MaxNumber : 최대값
  '  - StepNumber : step 값(Loop 문에서 사용)
  '  - ObjType : 반환 타입(SelectBox, CheckBox, RadioBox)
  '  - ObjName : Object 명(CheckBox, RadioBox 에서 사용)
  '  - LengChkFlag : 길이체크 여부(date_check 함수 호출)
  '  - CompareFlag : 비교 여부(Return_Val 함수 호출 : True, False)
  '  - CompareNumber : 비교값 (CompareFlag 가 True 인 경우 사용)
  '  - Rtn_CompareTrue : 비교결과가 True인경우 반환값
  '  - Rtn_CompareFalse : 비교결과가 False인경우 반환값f
  '  - StyleStr : 스타일시트 문자열
  '******************************************************
  Public Function IntReturn(MinNumber, MaxNumber, StepNumber, ObjType, ObjName, LengChkFlag, CompareFlag, CompareNumber, Rtn_CompareTrue, Rtn_CompareFalse, StyleStr) 
   Dim Temp_Str, Return_Str, ResultValue
   Dim cnt, Rtn_cnt

   ResultValue = ""

   Select Case UCase(CStr(ObjType))
   Case "SELECT" Temp_Str = "<Option value='@val@' @CompareNumber@>@view@</Option>"
   Case Else Temp_Str = "<input type='@ObjType@' name='@ObjName@' value='@val@' @StyleStr@ @CompareNumber@> @view@"
   End Select

   ' 최소값(MinNumber) 에서 최대값(MaxNumber)까지 Loop
   For cnt = MinNumber To MaxNumber Step StepNumber
    ' 길이 체크여부(2자리로 재정의)
    If LengChkFlag Then
     Rtn_cnt = date_check(cnt)
    Else
     Rtn_cnt = cnt
    End If
    Return_Str = Replace(Temp_Str, "@ObjType@", ObjType)
    Return_Str = Replace(Return_Str, "@ObjName@", ObjName)
    Return_Str = Replace(Return_Str, "@StyleStr@", StyleStr)
    Return_Str = Replace(Return_Str, "@val@", Rtn_cnt)
    Return_Str = Replace(Return_Str, "@view@", Rtn_cnt)
    ' 비교여부
    If CompareFlag Then
     Return_Str = Replace(Return_Str, "@CompareNumber@", Return_Val(Rtn_cnt, CompareNumber, Rtn_CompareTrue, Rtn_CompareFalse))
    Else
     Return_Str = Replace(Return_Str, "@CompareNumber@", "")
    End If
    ResultValue = ResultValue & Return_Str
   Next
   IntReturn = ResultValue
  End Function

  '******************************************************
  ' 함수 기능 : 데이터 부분 반환
  ' Parameter :
  '  - Data : 원본 Data
  '  - Gubun : split()함수에 사용할 구분값
  '  - index : 배열번호
  '******************************************************
  Public Function Rtn_DataSplit(Data, Gubun, index)
   If InStr(Data, Gubun) Then
    tmp_Data = Split(Data, Gubun)
    If UBound(tmp_Data) >= index Then
     Rtn_DataSplit = tmp_Data(index)
    End If
   End If
  End Function

  '******************************************************
  ' 함수 기능 : html 태그 변환
  ' Parameter :
  '  - str : 원본 Data
  '******************************************************
  Public Function HtmlTagChk(str)
   Dim ResultValue
   ResultValue = ""
   If str <> "" Then
    ResultValue = Replace(Replace(Replace(Replace(Trim(str), "&", "&amp;"), "<", "&lt;"), ">", "&gt;"), "'", "''")
    ResultValue = Replace(ResultValue, chr(13)&Chr(10), "<br>")
   End If
   HtmlTagChk = ResultValue
  End Function

  '******************************************************
  ' 함수 기능 : 코드 생성
  ' Parameter :
  '******************************************************
  Public Function getGoodsCode()  
   Randomize  
   getGoodsCode = Chr(Int(Rnd()*26) + 65)& Chr(Int(Rnd()*26) + 65) & Left(Replace(Now, "-", ""), 8) & Hour(Now) & Chr(Int(Rnd()*20) + 65)
  End Function

  '******************************************************
  ' 함수 기능 : 주문코드 생성
  ' Parameter :
  '******************************************************
  Public Function getOrderCode2()
   Randomize  
   getOrderCode2 = Left(Replace(Now, "-", ""), 8) & Hour(Now) & Minute(Now) & Second(Now) & Chr(Int(Rnd()*20) + 65) & Chr(Int(Rnd()*26) + 65)
  End Function

 End Class
%>

by 수평선 | 2009/04/14 20:27 | asp | 트랙백 | 덧글(0)

샘플 게시판 페이징 클래스

<%
 '********************************************************
 ' 문서제목 : 샘플 게시판 페이징 클래스
 ' 파일명 : PagingDefault.asp
 ' 작성자 : 박우석
 ' 작성일 : 2005-10-14
 ' 내역 :
 '********************************************************
 Class PagingDefault
  private  totalCount
  private  totalPage
  private  rowSize
  private  pageSize
  private  currPage
  private  startPage
  private  endPage


  Private pd

  '클래스 초기화
  Private Sub Class_Initialize()

  End Sub
  
  '클래스 소멸
  Private Sub Class_Terminate()
   
  End Sub
  

  
  '첫페이지
  Public Function showFirst()
   Dim tmp
   tmp = ""

   if currPage > 1 then
    tmp = "<a href=""javascript:goPage('1')"">[첫페이지]</a> "
   else
    tmp = "[첫페이지]"
   end if

   showFirst = tmp
  End Function

  '마지막 페이지
  Public Function showLast()
   Dim tmp

   tmp = ""
 
   if currPage < totalPage then
    tmp = tmp & "<a href=""javascript:goPage('" & totalPage & "')"">[마지막페이지]</a> "
   else
    tmp = tmp & "[마지막페이지]"
   end if

   showLast = tmp
  End Function

  '페이지
  Public Function showPage()
   Dim tmp

   tmp = ""

   for i = startPage to endPage

    tmp = tmp & " l "
    if i = currPage then
     tmp = tmp & "<b>" & i & "</b>"
    else
     tmp = tmp & "<a href=""javascript:goPage('" & i & "')"">" & i & "</a>"
    end if
    if i = endPage then
     tmp = tmp & " l "
    end if
   next
   showPage = tmp
  End Function
  
  '이전 블럭
  Public Function showPrev()
   Dim tmp

   tmp = ""

   if startPage > 1 then
    tmp = tmp & "<a href=""javascript:goPage('" & startPage - 1 & "')"">[이전]</a> "
   else
    tmp = tmp & "[이전]"
   end if

   showPrev = tmp
  End Function

  '다음 블럭
  Public Function showNext()
   Dim tmp

   tmp = ""

   if endPage < totalPage then
    tmp = tmp & "<a href=""javascript:goPage('" & endPage + 1 & "')"">[다음]</a> "
   else
    tmp = tmp & "[다음]"
   end if

   showNext = tmp
  End Function


  Public Sub setPageNBox(pBox)
   setPage pBox.getInt("totalCnt"), pBox.getInt("rowSize"), pBox.getInt("pageSize"), pBox.getInt("currPage")
  End Sub

 


  '페이징 정보 세팅
  Public Sub setPage(ptotalCount, prowSize, ppageSize, pcurrPage)
   Dim tmpPage

   totalCount = Cint(ptotalCount)
   rowSize = Cint(prowSize)
   pageSize = Cint(ppageSize)
   currPage = Cint(pcurrPage)


   totalPage = int((totalCount - 1) / rowSize) +1
   
   '해당 블럭에서 첫번째 페이지 번호와 마지막 페이지번호를 구한다
   tmpPage = (int)((currPage - 1) / pageSize + 1)
   startPage = (tmpPage - 1) * pageSize + 1
   endPage = (int)(startPage + pageSize - 1)
   
   if endPage > totalPage then
    endPage = totalPage
   end if

  End Sub


  '전체 갯수 리턴
  Public Function getTotalCnt
   getTotalCnt = totalCount
  End Function

  Public Function getCurrPage
   getCurrPage = currPage
  End Function

  Public Function getRowSize
   getRowSize = rowSize
  End Function
 End Class
%>

by 수평선 | 2009/04/14 19:55 | asp | 트랙백 | 덧글(0)

책상정리를 잘하는 사람이 성공한다.

책상정리를 잘하는 사람이 성공한다.
책상 정리, 재테크보다 부자 되는 시테크다
땡땡이를 친 것도 아니다. 그러나 퇴근 시간이 다 되어 가는데도 하루 종일 뭘 했는지 결과물이 없다고 느껴진다면 당신의 시테크를 점검하라. 오늘 하루 서류 한 장을 찾기 위해, 명함 한 장을 찾기 위해 흘려보낸 시간이 얼마나 되었는지를 되짚어 보자. 조금 전만 해도 분명히 손에 들고 있었는데 갑자기 흔적조차 찾을 수가 없는 결재 서류. 마지막 순간을 기억해 내려 애쓰며 책상 위와 서랍을 뒤지기 시작한 지 1시간이 넘게 흘렀다. 결국 포기하고 보내준 사람에게 다시 보내줄 것을 요청하는 전화까지 돌린다. 아마 이 서류는 며칠 후 책상 한쪽에 쌓인 수북한 종이더미에서 고개를 내밀 것이다. 이처럼 책상 어딘가에 있는 것을 찾아 책상을 헤매는 ‘뻘짓’은 이제 그만두어야 하지 않겠는가. 적어도 당신이 성공을 꿈꾸고 있다면 말이다.

책상 정리, 사내 정치의 시작이다
책상을 정리할 때는 업무의 효율을 높이는 것도, 깔끔한 것도 중요하지만 회사와 상사에게 어떻게 어필하고 싶은지를 먼저 생각해야 한다. 개미처럼 일만 열심히 하는 사람으로 보이고 싶은지, 합리적으로 일하고 취미 생활도 즐기는 것처럼 보이고 싶은지를 고려한 뒤 책상 정리를 시작하라. 물론, 이것을 고려할 때는 상사가 어떤 것을 중요하게 여기는 사람인지를 파악하는 과정이 필요하다. 업무적인 것 외에 책상 위에 무언가를 놓고 싶으면 회사가 어떤 것에 가치를 두는지 알아보고 그것을 두어라. 은행원이라면 세계의 지폐나 동전을 모아둔 것을 올려두고, 게임 회사라면 피규어를 수집하고, 출판사라면 각종 디자인 노트와 다양한 책자를 꽂아두는 식으로 말이다. 그렇다고 책상 위에 <사내정치>라는 제목의 책을 올려두는 것은 어리석다. 당신이 지나치게 정치적으로 행동하고 있다는 것을 직접적으로 보여주는 단적인 예이기 때문이다.

책상 정리, 이미지 메이킹의 전략이다
남자의 이미지를 결정짓는 것은 무엇일까. 옷차림, 인상, 말투, 술버릇… 모두 맞다. 그러나 회사가(직장 상사 및 동료, 후배, 가장 중요한 인사팀 간부) 당신을 판단할 때, 책상이 중요한 잣대가 된다는 것을 절대 잊어서는 안 된다. 책상은 사적인 공간이므로 자기 마음대로 해도 된다고 생각했다면 지금 이 글을 읽는 순간부터 그 생각을 버려라. 애초에 그런 생각 따위는 하지도 않았던 사람인 것처럼 완전히 비워라. 당신의 책꽂이에 꽂혀있는 책 한 권, 컴퓨터에 붙어있는 메모 한 장을 보고 당신에 대한 정의를 내려 버리는 게 상사요, 인사팀이요, 회사다. 여기서 잊지 말아야 할 점은 무조건 깨끗한 책상이라고 해서 우월한 이도 아니고, 지저분하다고 해서 무능한 것도 아니다. 그 둘 사이, 교묘하면서 적절한 포인트를 잡아 나만의 이미지를 각인시켜야 성공이 가까워진다.
 
 

- 성공하고 싶다면 책상 위에 절대 두지 말아야 할 것들

절대, 절대, 절대 인형은 두지 마라.
아무리 사랑하는 애인이 선물해 준 것이라 해도 책상 위에 인형을 올려놓지 마라. 당신은 사춘기 소년이 아니며, 첫사랑에 빠진 스무 살 총각도 아니다. 회사는 당신의 취향을 보고 업무까지 미숙한 사람으로 판단한다.

아이나 애인 사진으로 도배하지 마라. 
당신의 가정적인 모습을 보여주고 싶다면, 책상 위에 가족사진이 담긴 액자 하나를 두는 것으로도 충분하다. 모니터 바탕화면에 아이나 애인 사진을 띄우고 파티션마다 이런 사진들로 도배하는 일은 절대 하지 마라. 자신의 눈은 즐거울지 모르나 고용주는 전혀 즐겁지 않다. 

지금 당장, 말라비틀어진 화분은 버려라.
입사한 기념으로 구입한 허브 화분. 허브는 이미 말라 버렸고 화분도 더러워졌다면 아낌없이 버려라. 죽은 화초가 그대로 놓인 책상은 당신이 일처리에 깔끔하지 못하다는 인상을 주고, 일을 벌일 때 늘 용두사미 식이라는 이미지를 전할 뿐이다.

제발, 제발, 제발 지나치게 많은 소품을 두지 마라.
책상 위에 업무 내용보다 자질구레한 물건들이 먼저 눈에 띈다면 당신은 이미 퇴출 1순위에 올랐다. 그런 물건들이 적당히 포인트가 된다면 당신의 감각을 보여줄 수 있지만, 넘쳐난다면 업무와 상관없는 쓸데없는 것에 시간을 낭비하는 사람으로 보일 수 있다.
 
 

- 비즈니스맨 10인의 아이디어를 배우자!

누구나 아는 방법일 수도 있습니다. 그러나 이것을 보고 코웃음 친다면 당신은 이미 성공의 선상에서 멀어졌다고 볼 수 있는데요. 쉬운 방법이지만 실천하는 자만이 성공할 수 있습니다.

신문 스크랩 상자
책상 밑에 박스 하나를 두고 신문 스크랩을 위한 용도로 사용한다. 신문에서 중요한 정보를 오려내고 펜으로 표시한 뒤 박스 안에 던져놓는 것. 나중에 찾기 쉽도록 날짜와 신문종류, 핵심 단어를 크게 적어두는 게 좋다.

전언을 위한 메모지를 준비
전화 내용을 제대로 전하는 후배는 일단 점수를 먹고 들어가는 법. 바쁠 때면 전화를 받다가 깜빡하는 게 있으므로 전언을 위한 메모지를 전화기 옆에 늘 준비한다. 5W1H의 육하원칙에 따라 적을 수 있도록 인쇄된 시판 메모지가 편리하다.
 

함께 쓰는 사무용품
김 대리, 딱풀 좀 빌려줘. 자네, 가위 있나? 하루에 한두 번씩 주변에서 사무용품을 빌려 달라는 요청을 듣는다. 아예 책상 위에 사무용품을 정리해서 올려두고 누구나 편하게 사용할 수 있도록 했더니 반응이 폭발적. 상사와 동료들에게 예쁨 받는 비결이다.

모니터를 메모 보드로 활용
모니터 테두리는 포스트잇의 메모 보드로 최적의 공간이다. 하늘색은 오늘의 할 일, 분홍색은 이번 주의 할 일, 노란색은 이번 프로젝트에 관련된 일. 포스트잇의 색상에 따라 일을 구분해서 모니터에 붙여놓는다.

모니터 바탕화면도 내 이미지다
내가 없는 빈 책상 위에서 나를 대변해 주는 것은 컴퓨터 모니터의 바탕화면이다. 윈도 화면을 그냥 깔아놓지 말고, 나를 표현할 수 있는 사진이나 플래시 동영상을 띄워둔다. 이 작은 것 하나하나가 나의 이미지를 메이킹하는 수단이다.

나의 취미를 알려주는 코너
책상 옆 파티션에 요즘 ‘필’ 꽂힌 바이크 사진을 붙여 두었다. 지나가던 사람들이 바이크에 대해 물으면 이내 사적인 대화가 가능해진다. 이것이 원활한 인간관계의 시작이 아닐까. 물론 내가 점찍은 그녀가 이걸 보고 말을 걸어 주었으면 하는 마음도 크다.

포터블 박스를 두어라
출근할 때 메고 나온 숄더백을 내려놓을 곳이 없어 늘 책상 위에 올려 두었다. 안 그래도 좁은 책상에 가방까지 두니 걸리적거리기도 하고 책상 정리에 방해가 되는 요인이었다. 책상 아래 바퀴달린 박스를 두어 가방이나 우산을 두니 책상이 한결 깔끔해졌다.

포스트잇은 전화기에 부착
하루에 가장 많이 찾는 것이 포스트잇이다. 금방 꺼냈는데 책 사이에 들어갔는지 서류 더미에 깔렸는지 늘 찾기가 힘들다. 그래서 생각해 낸 방법이 전화기 수화기에 포스트잇을 붙여두는 것. 두말 필요 없다. 정말 편하다. 여러분도 꼭 해보시길.

컴퓨터 옆, 5총사
연필꽂이, 테이프 디스펜서, 계산기, 전언 메모지, 포스트잇. 이것은 늘 컴퓨터 옆에 놓여 있어야 한다. 물론 직업에 따라 조금씩 다를 순 있지만 이것들을 찾는 시간이 업무 시간 중에 꽤 큰 비중을 차지한다는 통계를 본 적이 있다.

노란 고무줄의 힘
내 경우, 노란 고무줄만 있으면 모든 게 해결이다. 돌아다니는 펜들도 노란 고무줄로 질끈 묶어주고, 방대한 양의 CD 자료도 노란 고무줄로 종류별로 묶어둔다. 흐트러지지도 않고 종류별로 구분도 되니 이 아니 좋을쏘냐.

by 수평선 | 2009/02/24 19:53 | 기본테마 | 트랙백 | 덧글(0)

◀ 이전 페이지다음 페이지 ▶