Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/11/2005, 11:30
Alfilxdama
 
Fecha de Ingreso: enero-2002
Mensajes: 136
Antigüedad: 22 años, 3 meses
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