Академический Документы
Профессиональный Документы
Культура Документы
Option Explicit On
Module Module1
Const LedesHeader As String = "LEDES1998B[]INVOICE_DATE|INVOICE_NUMBER|
CLIENT_ID|LAW_FIRM_MATTER_ID|INVOICE_TOTAL|BILLING_START_DATE|BILLING_END_DATE|
INVOICE_DESCRIPTION|LINE_ITEM_NUMBER|EXP/FEE/INV_ADJ_TYPE|
LINE_ITEM_NUMBER_OF_UNITS|LINE_ITEM_ADJUSTMENT_AMOUNT|LINE_ITEM_TOTAL|
LINE_ITEM_DATE|LINE_ITEM_TASK_CODE|LINE_ITEM_EXPENSE_CODE|LINE_ITEM_ACTIVITY_CODE|
TIMEKEEPER_ID|LINE_ITEM_DESCRIPTION|LAW_FIRM_ID|LINE_ITEM_UNIT_COST|
TIMEKEEPER_NAME|TIMEKEEPER_CLASSIFICATION|CLIENT_MATTER_ID[]"
Structure ledes_type
Dim InvoiceDate As String
Dim InvoiceNumber As String
Dim ClientID As String
Dim LawFirmMatterID As String
Dim InvoiceTotal As String
Dim BillingStartDate As String
Dim BillingEndDate As String
Dim InvoiceDescription As String
Dim LineItemNumber As String
Dim FeeAdjustmentCode As String
Dim LineItemNumberOfUnits As String
Dim LineItemAdjustmentAmount As String
Dim LineItemTotal As String
Dim LineItemDate As String
Dim LineItemTaskCode As String
Dim LineItemExpenseCode As String
Dim LineItemActivityCode As String
Dim TimekeeperID As String
Dim LineItemDescription As String
Dim LawFirmID As String
Dim LineItemUnitCost As String
Dim TimekeeperName As String
Dim TimekeeperClassification As String
Dim ClientMatterID As String
End Structure
Structure HeaderType
Dim ClientName As String
Dim InvoiceDate As String
Dim InvoiceNumber As String
Dim ClientCaseNum As String
Dim CM3ID As String
Dim ClientCaseSubject As String
End Structure
a = fileBuf(whichone)
b = Trim(a)
TestLine = 0
End Function
z = 0
X = FreeFile()
NumRecords = 0
NumLines = 1
Dim strFileName As String
strFileName = Form1.DefInstance.txtBill.Text
For Y = 1 To NumLines
If fileBuf(Y) <> "" Then
If Asc(Left(fileBuf(Y), 1)) = 12 Then
fileBuf(Y) = Right(fileBuf(Y), Len(fileBuf(Y)) - 1)
End If
End If
Next Y
charge = 0
a4 = ""
a5 = ""
a6 = ""
For X = Y To NumLines
a = fileBuf(X)
If charge = 0 Then
NumRecords = NumRecords + 1
a1 = Trim(Left(a, 9))
If a1 = "" Then
If last_charge_date = "" Then
MsgBox("Bad charge records.")
End
End If
a1 = last_charge_date
Else
c = a1
a1 = VB6.Format(c, "YYYYMMDD")
last_charge_date = a1
End If
a2 = Mid(a, 10, 4)
a7 = Mid(a, 14, 2)
'a7$ = Trim$(Right$(a$, 1))
a3 = Mid(a, 16, 33)
charge = 1
Else
If charge = 1 Then
a3 = a3 & " " & Mid(a, 14, 35)
End If
End If
If Len(a) > 68 Then
a4 = Mid(a, 49, 12)
a5 = Mid(a, 61, 8)
a6 = Right(a, Len(a) - 68)
charge = 2
Exit For
End If
Next X
Case 4
' it's all over
Exit For
Case Else
' shouldn't happen
MsgBox("Error handling return value from TestLine
function.")
End
End Select
End If
z = z + 1
Form1.DefInstance.Label1.Text = CStr(z)
Next Y
End Sub
lineNum = lineNum + 1
LedesRecords(NumRecords).InvoiceDate = CurHeader.InvoiceDate
LedesRecords(NumRecords).InvoiceNumber = CurHeader.InvoiceNumber
LedesRecords(NumRecords).ClientID = Form1.DefInstance.txtHolder.Text
LedesRecords(NumRecords).LawFirmMatterID = CurHeader.ClientCaseNum
LedesRecords(NumRecords).BillingStartDate = Form1.DefInstance.txtBegin.Text
LedesRecords(NumRecords).BillingEndDate = Form1.DefInstance.txtEnd.Text
LedesRecords(NumRecords).InvoiceDescription = CurHeader.ClientCaseSubject
LedesRecords(NumRecords).LineItemNumber = CStr(lineNum)
LedesRecords(NumRecords).FeeAdjustmentCode = a7
LedesRecords(NumRecords).LineItemNumberOfUnits = a5
If a7 = "E" Then GoTo AdjustmentNotExists
If a7 = "e" Then GoTo AdjustmentNotExists
If a7 = "f" Then GoTo AdjustmentNotExists
If a7 = "F" Then GoTo AdjustmentNotExists
LedesRecords(NumRecords).LineItemAdjustmentAmount = a6
GoTo AdjustmentExists
AdjustmentNotExists:
LedesRecords(NumRecords).LineItemAdjustmentAmount = ""
GoTo ByPassAdjustment
AdjustmentExists:
If a5 = "" Then
a5 = "0"
a4 = "0"
End If
intLineTotal = CDbl(a6)
a6 = CStr(intLineTotal)
If IntTotal <> 0 Then
IntTotal = IntTotal + CDbl(a6)
End If
If IntTotal = 0 Then
IntTotal = CDbl(a6)
End If
LedesRecords(NumRecords).LineItemNumberOfUnits = a5
LedesRecords(NumRecords).InvoiceTotal = CStr(IntTotal)
ByPassAdjustment:
LedesRecords(NumRecords).LineItemTotal = a6
LedesRecords(NumRecords).LineItemDate = a1
LedesRecords(NumRecords).LineItemTaskCode = ""
If a7 <> "F" Then
If a7 = "f" Then GoTo ByPassExpenseCode
If a7 = "IF" Then GoTo ByPassExpenseCode
If a7 = "if" Then GoTo ByPassExpenseCode
ExpenseCode.DefInstance.Show()
EnterExpense:
If a5 = "" Then
a5 = CStr(1)
a4 = a6
End If
intLineTotal = CDbl(a6)
a6 = CStr(intLineTotal)
If IntTotal <> 0 Then
IntTotal = IntTotal + CDbl(a6)
End If
If IntTotal = 0 Then
IntTotal = CDbl(a6)
End If
LedesRecords(NumRecords).LineItemNumberOfUnits = a5
LedesRecords(NumRecords).InvoiceTotal = CStr(IntTotal)
End If
ByPassExpenseCode:
LedesRecords(NumRecords).LineItemExpenseCode = strExpenseCode
LedesRecords(NumRecords).LineItemActivityCode = ""
LedesRecords(NumRecords).TimekeeperID = a2
LedesRecords(NumRecords).LineItemDescription = a3
'LawFirmID to be changed according to actual ID of LawFirm doing
submissions
LedesRecords(NumRecords).LawFirmID = "123456789"
LedesRecords(NumRecords).LineItemUnitCost = a4
If a2 = "XXX_NAME" Then
LedesRecords(NumRecords).TimekeeperName = "LastName, FirstName"
LedesRecords(NumRecords).TimekeeperClassification = "PT"
End If
LedesRecords(NumRecords).ClientMatterID = Form1.DefInstance.txtMatter.Text
End Sub
Form1.DefInstance.txtFile.Text = CurHeader.InvoiceNumber
strFileName = "L:\LEDES\" & CurHeader.InvoiceNumber & ".txt"
Y = FreeFile()
End Sub
a = ""
a = a & LedesRecords(which).InvoiceDate & "|"
a = a & LedesRecords(which).InvoiceNumber & "|"
a = a & LedesRecords(which).ClientID & "|"
a = a & LedesRecords(which).LawFirmMatterID & "|"
a = a & IntTotal & "|"
a = a & LedesRecords(which).BillingStartDate & "|"
a = a & LedesRecords(which).BillingEndDate & "|"
a = a & LedesRecords(which).InvoiceDescription & "|"
a = a & LedesRecords(which).LineItemNumber & "|"
a = a & LedesRecords(which).FeeAdjustmentCode & "|"
a = a & LedesRecords(which).LineItemNumberOfUnits & "|"
a = a & LedesRecords(which).LineItemAdjustmentAmount & "|"
a = a & LedesRecords(which).LineItemTotal & "|"
a = a & LedesRecords(which).LineItemDate & "|"
a = a & LedesRecords(which).LineItemTaskCode & "|"
a = a & LedesRecords(which).LineItemExpenseCode & "|"
a = a & LedesRecords(which).LineItemActivityCode & "|"
a = a & LedesRecords(which).TimekeeperID & "|"
a = a & LedesRecords(which).LineItemDescription & "|"
a = a & LedesRecords(which).LawFirmID & "|"
a = a & LedesRecords(which).LineItemUnitCost & "|"
a = a & LedesRecords(which).TimekeeperName & "|"
a = a & LedesRecords(which).TimekeeperClassification & "|"
a = a & LedesRecords(which).ClientMatterID
a = a & "[]" & crlf
LedesDataFormat = a
End Function
End Module