
10/11/2005, 11:30
|
| | Fecha de Ingreso: enero-2002
Mensajes: 136
Antigüedad: 23 años, 1 mes Puntos: 1 | |
La aplicación calcula fechas de vencimiento para impuestos. El código es el siguiente:
Imports System
Imports System.Data
Imports System.IO
Imports nEB.Data
Imports Microsoft.VisualBasic
'vbc ebDateJob.vb /target:winexe /reference:system.dll,system.data.dll,ebConnData.dl l
Public Class ebDateJob
Public shared Sub Main()
Dim wDate as Date = Now()
Dim MM_Process as Integer = Month(wDate)
Dim strCmd as String
strCmd = "SELECT edTaxCode, edDigit, edSequence, tdStartDay, tdFrequency FROM ebExpireDate JOIN ebTaxDescription ON edTaxCode = tdTaxCode ORDER BY edTaxCode"
Dim ac1 as cAccessData = New cAccessData()
Dim dt1 as DataTable = ac1.fAccessSelect(strCmd)
strCmd = "SELECT dtDayNo, dtDayText, dtEnable FROM ebDateTable WHERE DATEPART(MM, dtDate) = '" & MM_Process & "'"
Dim ac2 as cAccessData = New cAccessData()
Dim dt2 as DataTable = ac2.fAccessSelect(strCmd)
Dim rw as DataRow()
Dim ro As DataRow()
Dim k as Integer
Dim J as Integer
Dim jSeq as Integer
Dim wTaxCode as String
Dim wDigit as Integer
Dim wSeq as Integer
Dim wStartDay as Integer
Dim wExit as Boolean
Dim Expire_Day as Integer
Dim wDayText as string
Dim wEnable as String
k = 0
For each rw in dt1.Rows
'
' Procesa los impuestos mensuales y los de meses pares excepto Abril
'
If dt1.Rows(k).Item("tdFrequency").ToString = "M" or MM_Process = 2 or MM_Process = 6 or MM_Process = 8 or MM_Process = 10 or MM_Process = 12 then
wseq = dt1.Rows(k).Item("edSequence")
wTaxCode = dt1.Rows(k).Item("edTaxCode").ToString()
wDigit = dt1.Rows(k).Item("edDigit")
wExit = False
'
' J suma días consecutivos, no importa si son o no hábiles
' jSeq suma días hábiles
' La actualización se hace cuando se alcanza un día hábil (Enable = "YES") y
' la suma de días hábiles coincide con la secuencia de escalonamiento
'
J = 0
jSeq = 0
While wExit = False
Expire_Day = dt1.Rows(k).Item("tdStartDay") + J
ro = dt2.Select("dtDayNo = " & Expire_day)
wDayText = ro(0).item("dtDayText").ToString
wEnable = ro(0).item("dtEnable").ToString
If wEnable = "YES" Then
If jSeq = wSeq Then
strCmd = "UPDATE ebExpireDate SET edDayNo = " & Expire_day & ", edDayText = '" & wDayText & "' WHERE edTaxCode = '" & wTaxCode & "' AND edDigit = " & wDigit
Dim ac3 as cAccessData = New cAccessData()
ac3.fAccessNonQuery(strCmd)
wExit = True
ac3 = Nothing
Else
jSeq = jSeq + 1
End If
End If
J = J + 1
End While
End If
k = k + 1
Next
End Sub
End Class |