Sieu ho tro Homepage
Forum Home Forum Home > Information Technology > Phone software, call center
  New Posts New Posts RSS Feed - Th? t?c tnh th?i gian -  t?ng di di?n tho?i
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


Th? t?c t�nh th?i gian - t?ng d�i di?n tho?i

 Post Reply Post Reply
Author
Message
guest View Drop Down
Guest
Guest
Avatar

Joined: 16 November 2007
Location: Vietnam
Status: Offline
Points: 16
Post Options Post Options   Thanks (0) Thanks(0)   Quote guest Quote  Post ReplyReply Direct Link To This Post Topic: Th? t?c t�nh th?i gian - t?ng d�i di?n tho?i
    Posted: 02 March 2008 at 12:46


Sub ProCall(callLine As String, callStr As CallStructure, showthisCall As Boolean)
'On Error GoTo errHandle
 
        Dim temStore$, curYear As Integer
        Dim logfile As Integer
        Dim Block1 As Integer
        Dim songuyen As Integer
        Dim sodu As Integer
        Dim sogiay As Integer
        Dim sotien  As Double
        Dim callLineS As String
     '  frmMain.fraViewEvent.Visible = True
        If solanGoi < 1 Then callLine = " " & callLine
        solanGoi = solanGoi + 1
        If solanGoi > 1 Then solanGoi = 10
     
     
        logfile = FreeFile
        Open "LogFile.log" For Append As #logfile
       
        callStr.call_charge = 0
       
        callLine = lamsach_word(callLine)
        Print #logfile, "" & callLine
      
        Close #logfile
 
 
' For sodu = 0 To UBound(arrCall)
'    MsgBox arrCall(sodu), , ""
' Next
 
 
   
    If rstExType!UseSuccessCallCode Then
        If Trim(Mid(callLine, rstExType!SCCode_Start, rstExType!SCCode_Len)) <> Trim(rstExType!SCCode_Value) Then
            Call ShowTextLine(frmMain.txtEvent, "Unsuccessful call or called party is busy. " & Chr(10) & Chr(13))
            Exit Sub
        End If
    End If
   
   ' MsgBox callLine
    Dim found As Boolean, isHoliday As Boolean, callInMin As Integer, affect_range As Integer
            
             curYear = Trim(Str(Year(wrkMonth)))
             'AParty_Start
             'AParty_Len
             '
           callLineS = callLine
 callLineS = xu_ly_ky_tu13(callLineS)
 Call ArrGetCharSpace(callLineS)
    
' For sodu = 0 To UBound(arrCall)
 '   Debug.Print "arrCall(" & sodu & ")" & arrCall(sodu)  ', , ""
 'Next

'arrCall(0) = "23/08/07"
'arrCall(1) = "11:24PM"
'arrCall(2) = "11"
'arrCall(3) = "01"
'arrCall(4) = "0904229075"
'arrCall(5) = "00:01'13"
'arrCall(6) = "1907"

'Trung_ke0 = 0
'     So_may_goi1 = 1
'     So_may_nghe2 = 2
'     Ngay_goi3 = 3
'     Gio_goi4 = 4
'     So_phut5 = 5
'     Noi_den6 = 6
'     Tien_cuoc6 = 7
'Nguoi_goi8 = 8
 '23/08/07  11:24PM  11  01 0904229075                            00:01'13" 1907
 
'bungra callLine
    '0.callStr.call_party so may goi = 11
    '1.callStr.call_accCode  ma nguoi dung = 1907
    ' 2.callStr.call_date ngay goi
    '3.callStr.call_int so phut
    '4.callStr.call_time  gio goi
    '5.callStr.call_type trung ke
    '6.callStr.call_des   so goi
    'callStr.call_party =" & callStr.call_party
   
'SELECT
'[Ex_ID],
'[Exchange_Type],
'[Call_Len],
'[AParty_Len],
'[BParty_Len],
'[CallInt_Len],
'[CallTime_Len],
'[CallDate_Len],
'[ConCode_Len],
'[ONCode_Len],
'[AParty_Format],
'[CallInt_Format],
'[CallTime_Format],
'[CallDate_Format],
'[ConCode_Format],
'[ONCode_Format],
'[ONCode_Start],
'[AParty_Start],
'[BParty_Start],
'[CallInt_Start],
'[CallTime_Start],
'[CallDate_Start],
'[ConCode_Start],
'[Active],
'[UseSuccessCallCode],
'[SCCode_Start],
'[SCCode_Len],
'[SCCode_Value]
'From [tong_dai]

            
             callStr.call_accCode = "0"
             callStr.call_party = arrCall(rstExType!AParty_Start) ' Mid(callLine, rstExType!AParty_Start, rstExType!AParty_Len)
           
           
             If rstExType!ONCode_Len <> 0 Then ' N�u c� s� d�ng m� tho�t m�ng
                ' temStore = Trim(Mid(callLine, rstExType!ONCode_Start, rstExType!ONCode_Len))
               callStr.call_accCode = arrCall(rstExType!ONCode_Start) 'Trim(Mid(callLine, rstExType!ONCode_Start, rstExType!ONCode_Len))
               callStr.called_party = arrCall(rstExType!BParty_Start) ' Trim(Mid(callLine, rstExType!BParty_Start, rstExType!BParty_Len))
            
             Else ' N�u kh�ng s� d�ng
                callStr.called_party = arrCall(callLine, rstExType!BParty_Start) 'Trim(Mid(callLine, rstExType!BParty_Start, rstExType!BParty_Len))
               'callStr.called_party = vCallFormat.call_6
             End If
            
            
             temStore = arrCall(rstExType!CallDate_Start) 'Trim(Mid(callLine, rstExType!CallDate_Start, rstExType!CallDate_Len))
             temStore = Replace(temStore, " ", "")
               
             Debug.Print "callStr.call_accCode = " & callStr.call_accCode   '=
            
             Select Case Trim(rstExType!CallDate_Format)
                        Case "mmdd"
                              callStr.call_date = Right(temStore, 2) & "-" & Left(temStore, 2) & "-" & curYear
                        Case "ddmm"
                               callStr.call_date = Left(temStore, 2) & "-" & Right(temStore, 2) & "-" & curYear
                        Case "ddmmyy"
                               callStr.call_date = Left(temStore, 2) & "-" & Mid(temStore, 3, 2) & "-" & curYear
                        Case "dd/mm/yy" ' Ki�u l­u s� li�u c�a Elcom
                              
                               If IsDate(temStore) Then
                                '  temStore = Format(temStore, "dd/mm/yy")
                                    temStore = Right("0" & Day(Format(temStore, "dd/mm/yy")), 2) & "/" & Right("0" & Month(Format(temStore, "dd/mm/yy")), 2) & "/" & Right(temStore, 2)
                            End If
'                             MsgBox temStore
                             callStr.call_date = Left(temStore, 2) & "-" & Mid(temStore, 4, 2) & "-" & curYear
                        Case "mm/dd" ' Philip
                               callStr.call_date = Mid(temStore, 4, 2) & "-" & Left(temStore, 2) & "-" & curYear
                        Case "dd-mm-yy"
                               callStr.call_date = Left(temStore, 2) & "-" & Mid(temStore, 4, 2) & "-" & curYear
                         Case "ddmmyyyy"
                               callStr.call_date = Left(temStore, 2) & "-" & Mid(temStore, 3, 2) & "-" & Right(temStore, 4)
                        Case "mmddyy"
                               callStr.call_date = Mid(temStore, 3, 2) & "-" & Left(temStore, 2) & "-" & curYear
                         Case "mmddyyyy"
                               callStr.call_date = Mid(temStore, 3, 2) & "-" & Left(temStore, 2) & "-" & Right(temStore, 4)
             End Select
      'callStr.call_date = Format("24-03-1975", Trim(rstExType!CallDate_Format))
      'If Not IsDate(callStr.call_date) Then callStr.call_date = Format(Date, "dd-mm-yy")
      'MsgBox callStr.call_date
             
             If Not IsDate(callStr.call_date) Then
               
                Call ShowTextLine(frmMain.txtEvent, "Invalid Date Of Call In CDR." & Chr(10) & Chr(13))
                Exit Sub
             End If
       
        ' Ki�m tra l�i th�ng xem c� chuy�n th�ng kh�ng
'         If wrkMonth <> Right(callStr.call_date, 7) And IsDate(Right(callStr.call_date, 7)) And NextMonth(wrkMonth) = Right(callStr.call_date, 7) Then
'                Call ShowTextLine(frmMain.txtEvent, " Working Month has changed to : " & Right(callStr.call_date, 7) & Chr(13))
'                wrkMonth = Right(callStr.call_date, 7)
'                Call closeDB(True)
'                Call openDB(True)
'         End If
        
            ' Time_Interval t�nh theo block
           
            temStore = arrCall(rstExType("CallInt_Start")) 'Trim(Mid(callLine, rstExType("CallInt_Start"), rstExType("CallInt_Len")))
           
     
            temStore = Replace(temStore, """", "")
            temStore = Trim(temStore) ', "", "")
           
            Select Case Trim(rstExType("CallInt_Format"))
               Case "hmmb"
                 callStr.call_int = Val(Left(temStore, 1)) * 600 + Val(Mid(temStore, 2, 2)) * 10 + Val(Right(temStore, 1))
'                 Block1 = Val(Right(temStore, 1))
               Case "hmmss"
                 callStr.call_int = Val(Left(temStore, 1)) * 600 + Val(Mid(temStore, 2, 2)) * 10 + Val(Right(temStore, 2)) / 6
'                         Block1 = Val(Right(temStore, 2))
               Case "hhmmss"
                 callStr.call_int = Val(Left(temStore, 2)) * 600 + Val(Mid(temStore, 3, 2)) * 10 + Val(Right(temStore, 2)) / 6
'                    Block1 = Val(Right(temStore, 2))
               Case "hh:mm:ss" ' Ki�u l­u s� li�u c�a Elcom
                 callStr.call_int = Val(Left(temStore, 2)) * 600 + Val(Mid(temStore, 4, 2)) * 10 + Val(Right(temStore, 2)) / 6
'                    Block1 = Val(Right(temStore, 2))
             
                Case "mmmss"
                 callStr.call_int = Val(Left(temStore, 3)) * 10 + Val(Right(temStore, 2)) / 6
'                 Block1 = Val(Right(temStore, 2))
               
                Case "hh:mm'ss"
                  callStr.call_int = Val(Left(temStore, 2)) * 600 + Val(Mid(temStore, 4, 2)) * 10 + Val(Right(temStore, 2)) / 6
                 
'                        Block1 = Val(Right(temStore, 2))
            End Select
           
           
           
            If Not IsNumeric(callStr.call_int) Then
                Call ShowTextLine(frmMain.txtEvent, "Call Interval is not valid." & Chr(10) & Chr(13))
              Exit Sub
            End If
            'callStr.call_int = callStr.call_int + 1
            ' Call_Time
           
            temStore = arrCall(rstExType!CallTime_Start) 'Trim(Mid(callLine, rstExType!CallTime_Start, rstExType!CallTime_Len))
'                temStore = vCallFormat.call_2

        
        
             temStore = Replace(temStore, "'", ":")
            temStore = Replace(temStore, """", "")
            
             Select Case Trim(rstExType("CallTime_Format"))
                Case "hhmmss"
                    callStr.call_time = Format(TimeSerial(Val(Left(temStore, 2)), Val(Mid(temStore, 3, 2)), Val(Right(temStore, 2))), "hh:mm:ss")
                Case "hh:mm:ss" ' Ki�u s� li�u c�a Elcom
                    callStr.call_time = temStore
                Case "hhmm"
                    callStr.call_time = Format(TimeSerial(Val(Left(temStore, 2)), Val(Right(temStore, 2)), 0), "hh:mm:ss")
                Case "hh:mm"
                    callStr.call_time = Format(TimeSerial(Val(Left(temStore, 2)), Val(Right(temStore, 2)), 0), "hh:mm:ss")
             End Select
            
             If Not IsDate(callStr.call_time) Then
                Call ShowTextLine(frmMain.txtEvent, "Invalid Of Call Time In CDR." & Chr(10) & Chr(13))
          Exit Sub
             End If
            
             ' Ki�u cu�c g�i
           
            callStr.call_type = arrCall(rstExType!ConCode_Start) ' Trim(Mid(callLine, rstExType!ConCode_Start, rstExType!ConCode_Len))
            callStr.call_trungke = callStr.call_type
 
             If InStr(1, callStr.call_type, Trim(rstCallType!ma_goi_vao)) <> 0 Then
                        callStr.call_type = "INC" ' cu�c g�i v�o m�ng
            Else
                    Select Case UCase(Trim(callStr.call_type))
                        Case Trim(rstCallType!ma_nc)
                                callStr.call_type = "MAN"
                        Case Trim(rstCallType!ma_tsl)
                                callStr.call_type = "DTC"
                        Case Else
                                callStr.call_type = "AUT"
                    End Select
            End If
         
            If Trim(callStr.call_type) = "AUT" Or Trim(callStr.call_type) = "MAN" Then
                    rstAreaCode.MoveFirst
                    found = False
                        callStr.call_vung_cuoc = "0"
                       
                        Do While Not rstAreaCode.EOF
                          If Left(Trim(callStr.called_party), Len(Trim(rstAreaCode!ma_vung))) = Trim(rstAreaCode!ma_vung) Then
                                found = True
                                callStr.call_vung_cuoc = Trim(rstAreaCode("ma_vung").Value)
                                Exit Do
                            End If
                            rstAreaCode.MoveNext
                        Loop
                    
                       
                        If found Then
                            If rstAreaCode!huong_goi = "NAC" Then
                                isIntercall = False
                            Else
                                isIntercall = True
                            End If
                        callStr.call_des = rstAreaCode!Noi_den
                        
                        
                            If callStr.call_int > 0 Then
                            rstPrice.MoveFirst
                               
                                rstPrice.Find ("vung_cuoc='" & Trim(rstAreaCode!vung_cuoc) & "'")
                           
                                If rstPrice.BOF Then
                                    callStr.call_des = rstAreaCode!Noi_den
                                    callStr.call_charge = 0
                               
                                Else ' c� t�m th�y
                                     
                              
                                        If Trim(rstPrice!vung_cuoc) = "0" Then ' If local call then consider as manual call
                                           
                                            callStr.call_type = "MAN"
                                       

                                        End If
                                       
                                       
                                        If callStr.call_type = "MAN" Then ' Nh�n c�ng
                                                   If callStr.call_int <= 30 Then ' nh� h�n ho�c b�ng 3 ph�t
                                                        callStr.call_charge = rstPrice!nc_3_pd
                                                  
                                                    Else
                                                        'callInMin = Int((callStr.call_int - 30) / 10) + IIf((callStr.call_int - 30) Mod 10 > 0, 1, 0)
                                                        'callStr.call_charge = rstPrice!nc_3_pd + callInMin * rstPrice!nc_pt

                                                                sogiay = rstPrice("block_p")
                                                                
                                                            Block1 = ((((callStr.call_int * 6) Mod 3600) Mod 60))
                                                            
                                                             If Block1 <= 1 Then Block1 = 0
                                                          
                                                                If Block1 > 0 Then
                                                               
                                                                'Block1 = (Block1 * 6)
                                                                songuyen = Block1 \ sogiay
                                                                sodu = Block1 Mod sogiay
                                                               
                                                               
                                                                If sodu > 0 Then songuyen = songuyen + 1
                                                               
                                                                sotien = (rstPrice!td_pt / (60 / sogiay)) * songuyen
                                                                Else
                                                                sotien = 0
                                                                End If

                                                     callInMin = Int((callStr.call_int - 10) / 10) '+ IIf((callStr.call_int - 10) Mod 10 > 0, 1, 0)
                                                
                                                 '   MsgBox callInMin & "|" & Int((callStr.call_int - 10) / 10) & "||" & IIf((callStr.call_int - 10) Mod 10 > 0, 1, 0)
                                                    
                                                     callStr.call_charge = rstPrice!td_pd + callInMin * rstPrice!td_pt + sotien
                                            
                                                
                                                 End If
                                                
                                                  
                                                   
                                        Else    ' T� ��ng
                                          
                                           If Not isIntercall Then ' Trong n­�c t�nh theo ph­�ng th�c 1+1
                                               
                                                If callStr.call_int < 10 Then ' nh� h�n ho�c b�ng 1 ph�t
                                                    
                                                         sogiay = rstPrice("block_p")
                                                                
                                                            Block1 = callStr.call_int * 6 ' ((((callStr.call_int * 6) Mod 3600) Mod 60))
                                                             If Block1 <= 1 Then Block1 = 0
                                                          
                                                                If Block1 > 0 Then
                                                                'Block1 = (Block1 * 6)
                                                                songuyen = Block1 \ sogiay
                                                                sodu = Block1 Mod sogiay
                                                               
                                                                If sodu > 0 Then songuyen = songuyen + 1
                                                               
                                                                sotien = (rstPrice!td_pt / (60 / sogiay)) * songuyen
                                                                Else
                                                                sotien = 0
                                                                End If
                                                     callStr.call_charge = sotien ' rstPrice!td_pd
                                                      
                                                
                                                 Else
'
                                                                                           
                                                           sogiay = rstPrice("block_p")
                                                                
                                                            Block1 = ((((callStr.call_int * 6) Mod 3600) Mod 60))
                                                      
                                                            
                                                             If Block1 <= 1 Then Block1 = 0
                                                          
                                                                If Block1 > 0 Then
                                                                'Block1 = (Block1 * 6)
                                                                songuyen = Block1 \ sogiay
                                                                sodu = Block1 Mod sogiay
                                                               
                                                                If sodu > 0 Then songuyen = songuyen + 1
                                                               
                                                                sotien = (rstPrice!td_pt / (60 / sogiay)) * songuyen
                                                                Else
                                                                sotien = 0
                                                                End If

                                                     callInMin = Int((callStr.call_int - 10) / 10) '+ IIf((callStr.call_int - 10) Mod 10 > 0, 1, 0)
                                                
                                                 '   MsgBox callInMin & "|" & Int((callStr.call_int - 10) / 10) & "||" & IIf((callStr.call_int - 10) Mod 10 > 0, 1, 0)
                                                    
                                                     callStr.call_charge = rstPrice!td_pd + callInMin * rstPrice!td_pt + sotien
                                            
                                                
                                                 End If
                                            Else ' qu�c t� t�nh theo ph­�ng th�c 1+1/6
                                               
                                                If callStr.call_int <= 10 Then ' nh� h�n ho�c b�ng 1 ph�t
                                                     callStr.call_charge = rstPrice!td_pd
                                                 Else
                                                     callStr.call_charge = rstPrice!td_pd + (callStr.call_int - 10) * rstPrice!td_pt
                                                 End If
                                            End If
                                        End If ' n�u l� g�i nh�n c�ng
                                        ' Ki�m tra �� gi�m gi� ngo�i gi� ho�c ng�y l�
                                       
                                        rstHoliday.MoveFirst
                                        isHoliday = False
                                        Do While Not rstHoliday.EOF
                                            If Format(rstHoliday!ngay, "dd-mm-yyyy") = callStr.call_date Then
                                                isHoliday = True
                                                affect_range = rstHoliday!anh_huong
                                                Exit Do
                                            End If
                                            rstHoliday.MoveNext
                                        Loop
                                        ' N�u ��t coi ch� nh�t v� th� b�y l� ng�y ngh� v� gi�m gi�
                                         If rstBillMethod!td_xl_ngay Then
                                            If Weekday(Format(callStr.call_date, "dd-mm-yyyy")) = vbSaturday Then
                                                    isHoliday = True
                                                    affect_range = 2
                                            End If
                                        End If
                                         If rstBillMethod!td_in_bc_ngay Then
                                            If Weekday(Format(callStr.call_date, "dd-mm-yyyy")) = vbSunday Then
                                                    isHoliday = True
                                                    affect_range = 2
                                            End If
                                        End If
                                        If isHoliday Then
                                            Select Case affect_range
                                                Case 0:  ' Trong n­�c
                                                    If Not isIntercall Then
                                                        callStr.call_charge = callStr.call_charge * rstPrice!ti_le
                                                     End If
                                                Case 1: ' Qu�c t�
                                                    If isIntercall Then
                                                        callStr.call_charge = callStr.call_charge * rstPrice!ti_le
                                                    End If
                                                Case 2: 'To�n b�
                                                        callStr.call_charge = callStr.call_charge * rstPrice!ti_le
                                                Case Else
                                                        callStr.call_charge = callStr.call_charge * rstPrice!ti_le
                                            End Select
                                        Else
                                            ' T�nh ngo�i gi� qu�c t�
                                            If isIntercall Then
                                                If Hour(callStr.call_time) >= rstBillMethod!bd_ng_qt Or Hour(callStr.call_time) < rstBillMethod!kt_ng_qt Then
                                                    callStr.call_charge = callStr.call_charge * rstPrice!ti_le
                                                    isHoliday = True
                                                End If
                                            Else
                                            ' T�nh ngo�i gi� li�n t�nh
                                            If Hour(callStr.call_time) >= rstBillMethod!bd_ng_lt Or Hour(callStr.call_time) < rstBillMethod!kt_ng_lt Then
                                                    callStr.call_charge = callStr.call_charge * rstPrice!ti_le
                                                    isHoliday = True
                                                End If
                                            End If
                                        End If
                                End If
                            End If ' n�u th�i gian g�i >0
                Else
                                    callStr.call_des = "Unknown Destination"
                                    callStr.call_charge = 0
                End If
        End If
        If rstBillMethod!ti_le_tang Then
           If Not isIntercall Then
            callStr.call_charge = Int(callStr.call_charge * ((100 + rstBillMethod!ti_le_tang) / 100))
           Else
            callStr.call_charge = callStr.call_charge * ((100 + rstBillMethod!ti_le_tang) / 100)
           End If
        End If
        If autoPrintLocalCall = True Then
                If callStr.call_charge = 0 Then
                                    callStr.call_des = "Ghise Local Call"
                                    callStr.call_charge = ((Int(callStr.call_int / 10) + IIf(callStr.call_int Mod 10 > 0, 1, 0)) * AddedPriceForLocalCall)
                                    isIntercall = False
                 End If
         End If
         If callStr.call_type = "DTC" Then
                                    callStr.call_des = "Data Call On ISDN"
                                    callStr.call_charge = (rstBillMethod!tsl_tren_isdn * callStr.call_int) / 10
                                    callStr.call_type = "AUT"
                                    isIntercall = False
         End If
         If callStr.call_type = "INC" Then
                                    callStr.call_des = "Incoming Call"
                                    callStr.call_charge = 0
         End If
         If sendToRemote Then
         Dim thisCall As Variant
         thisCall = callLine & Chr(10) & Chr(13)
                 If Not useSendTable Then
                            Select Case sendType
                                                    Case 0: ' Kh�ng �­a ra
                                                    Case 1: ' Cu�c c� c­�c
                                                        If callStr.call_charge <> 0 Then
                                                            frmMain.mscRemote.Output = thisCall
                                                        End If
                                                     Case 2:
                                                        If callStr.call_type <> "INC" Then
                                                            frmMain.mscRemote.Output = thisCall
                                                        End If
                                                     Case Else
                                                        frmMain.mscRemote.Output = thisCall
                              End Select
                Else
                            found = False
                            rstSendList.MoveFirst
                            Do While Not rstSendList.EOF
                                If Val(callStr.call_party) = rstSendList!ext Then
                                    found = True
                                    Exit Do
                                End If
                                rstSendList.MoveNext
                            Loop
                             rstSendList.MoveFirst
                                If found = True Then
                                    Select Case sendType
                                                    Case 0: ' Kh�ng �­a ra
                                                    Case 1: ' Cu�c c� c­�c
                                                        If callStr.call_charge <> 0 Then
                                                            frmMain.mscRemote.Output = thisCall
                                                        End If
                                                     Case 2:
                                                        If callStr.call_type <> "INC" Then
                                                            frmMain.mscRemote.Output = thisCall
                                                        End If
                                                     Case Else
                                                        frmMain.mscRemote.Output = thisCall
                                      End Select
                              End If
                End If
         End If
         Select Case oCall.to_screen
                                            Case 0: ' Kh�ng �­a ra
                                            Case 1: ' Cu�c c� c­�c
                                                If callStr.call_charge <> 0 Then
                                                    Call showCall(callStr, isIntercall)
                                                End If
                                             Case 2:
                                                If callStr.call_type <> "INC" Then
                                                    Call showCall(callStr, isIntercall)
                                                End If
                                             Case Else
                                                Call showCall(callStr, isIntercall)
        End Select
        Select Case oCall.to_disk
                                    Case 0: ' Kh�ng �­a ra
                                   
                                    Case 1: ' Cu�c c� c­�c
                                        If callStr.call_charge <> 0 Then
                                            Call SaveCall(callStr, dbmain)
                                        End If
                                     Case 2:
                                        If callStr.call_type <> "INC" Then
                                            Call SaveCall(callStr, dbmain)
                                        End If
                                     Case Else
                                        Call SaveCall(callStr, dbmain)
        End Select
        Select Case oCall.to_printer
                                    Case 0: ' Kh�ng �­a ra
                                    Case 1: ' Cu�c c� c­�c
                                        If callStr.call_charge <> 0 Then
                                             Printer.Print "|  " & callStr.call_party; Tab(10); " |   " & Trim(callStr.called_party); Tab(26); "|  " & callStr.call_date; Tab(40); "|  " & callStr.call_time; Tab(53); "|    " & Format(Int(callStr.call_int / 10) + IIf(callStr.call_int Mod 10, 1, 0), "###.0"); Tab(67); "|    " & callStr.call_charge; Tab(83); "|"
                                             Printer.Print
                                        End If
                                     Case 2:
                                        If callStr.call_type <> "INC" Then
                                             Printer.Print "|  " & callStr.call_party; Tab(10); " |   " & Trim(callStr.called_party); Tab(26); "|  " & callStr.call_date; Tab(40); "|  " & callStr.call_time; Tab(53); "|    " & Format(Int(callStr.call_int / 10) + IIf(callStr.call_int Mod 10, 1, 0), "###.0"); Tab(67); "|    " & callStr.call_charge; Tab(83); "|"
                                             Printer.Print
                                        End If
                                     Case Else
                                              Printer.Print "|  " & callStr.call_party; Tab(10); " |   " & Trim(callStr.called_party); Tab(26); "|  " & callStr.call_date; Tab(40); "|  " & callStr.call_time; Tab(53); "|    " & Format(Int(callStr.call_int / 10) + IIf(callStr.call_int Mod 10, 1, 0), "###.0"); Tab(67); "|    " & callStr.call_charge; Tab(83); "|"
                                              Printer.Print

        End Select
 
errHandle:

 If Err.Number <> 0 Then
  ' MsgBox Err.Description
   Call ShowTextLine(frmMain.txtEvent, "Error On Processing Call : " & Err.Description & " - Error Code  :" & Str(Err.Number) & Chr(10) & Chr(13))
  
   Err.Clear
   Exit Sub
End If
End Sub

Back to Top
Sponsored Links


Back to Top
guest View Drop Down
Guest
Guest
Avatar

Joined: 16 November 2007
Location: Vietnam
Status: Offline
Points: 16
Post Options Post Options   Thanks (0) Thanks(0)   Quote guest Quote  Post ReplyReply Direct Link To This Post Posted: 02 March 2008 at 12:49
S? tung h?t code qu?n l� cu?c t?ng d�i di?n tho?i l�n t? t?
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.03
Copyright ©2001-2019 Web Wiz Ltd.

This page was generated in 0.094 seconds.
bao ky nam , Thuoc nam ky dieu
chu ky so