CAPÍTULO III. PLANTEAMIENTO DE LA PROPUESTA
LONGITUD OBLIGATORIO DESCRIPCIÓN
3.3.3. Implementación del sistema
En esta fase se presenta el código fuente de los principales procesos del sistema
Procedimiento que verifica los usuarios del sistema - desencripta la clave del usuario para asi poder verificar su existencia
Sub verificausuario()
Dim dt AsNew DataTable
Dim cn As New SqlConnection
Dim sq As String
cn.ConnectionString = ("Data Source=HUGO-PC\SQLEXPRESS; Initial
Catalog=controlactivos; user id=hugo; password=2886")cn.Open()
sq = ("select ncodusu,cnomusu, dbo.FU_DESENCRIPTA_PASS(cpass) As
pass,nnivel,ncodusr from tusuarios Where cnomusu =")
sq = sq + "'" + Me.UsernameTextBox.Text.Trim + "'" + " And
dbo.FU_DESENCRIPTA_PASS(cpass)=" + "'" +
Me.PasswordTextBox.Text.Trim + "'"
Dim da AsNew SqlDataAdapter(sq, cn)da.Fill(dt)
Me.DataGridView1.DataSource = dt
IfMe.DataGridView1.Rows.Count = 1 Then
veces = veces + 1
If veces < intentos Then
MessageBox.Show("Usuario y Contraseña Incorrectos")
ExitSub EndIf Else lblnivel.Text = DataGridView1.Rows.Item(0).Cells(3).Value lblcodusr.Text = DataGridView1.Rows.Item(0).Cells(4).Value lblnomusr.Text = DataGridView1.Rows.Item(0).Cells(1).Value Me.Hide()
62
frmmenu.Show()
EndIf
cn.Close()
If veces = intentos Then
Application.Exit()
EndIf
EndSub
Procedimiento que genera el reporte de los valores del activo fijo que tiene en el plan de cuentas
Sub svaloresactivo()
Try
Me.ValoresactivoTableAdapter.Fill(Me.DataSet1.valoresactivo, New
System.Nullable(Of Integer)(CType(Me.Id_activoTextBox.Text, Integer)))
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
EndTry
Dim rep2 AsNew rvaloresactivo
Dim cidactivo As String
cidactivo = Me.Id_activoTextBox.Text.Trim rep2.SetDataSource(Me.DataSet1)
Me.CrystalReportViewer2.ReportSource = rep2
EndSub
Procedimiento que genera la depreciación del activo fijo actualmente seleccionado
Sub spdepreciacion()
Try
Me.PdepreactivoTableAdapter.Fill(Me.DataSet1.pdepreactivo, New
System.Nullable(Of Integer)(CType(Me.Id_activoTextBox.Text, Integer)), New
System.Nullable(Of Date)(CType(Now(), Date)))
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
EndTry
EndSub
Procedimiento que ingresa de un nuevo activo fijo con su respectiva cuenta contable a la tabla valores
Sub sbingresocuentacon()
Dim valorid AsInteger
valorid = (validactivo + 1)
Try
Me.PvalorcuentaconTableAdapter.Fill(Me.DataSet1.pvalorcuentacon, New
System.Nullable(Of Integer)(CType(valorid, Integer)), New System.Nullable(Of
Integer)(CType(Me.NidcuentacontableTextBox1.Text.Trim, Integer)), New
63
New System.Nullable(Of
Decimal)(CType(Me.Nvalor_compraTextBox.Text.Trim, Decimal)))
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
EndTry
EndSub
Procedimiento que verifica si los campos obligatorios de la pestaña detalles estan ingresados para continuar con el ingreso de un nuevo activo
Sub sbvaloresoblidetalles()
Try
IfMe.Cnom_activoTextBox.Text <> ""AndMe.Nidtipo_activoTextBox1.Text <>
""AndMe.NidresponTextBox1.Text <> ""Then
Me.TabControl1.TabPages.Item(1).Enabled = True Me.CperiodoTextBox.Text = Now.Year.ToString EndIf Catch ex As Exception MessageBox.Show(ex.Message) EndTry EndSub
Procedimiento que verifica si los campos obligatorios de la pestaña valores estan ingresados para continuar con el ingreso de un nuevo activo
Sub sbvaloresoblivalores()
Try
If vedicion = 1 AndMe.Nidtipo_ingreTextBox.Text <> ""And
Me.Nid_provvedorTextBox.Text <> ""AndMe.NidestadoTextBox.Text <> ""And Me.Nid_tipodepreTextBox.Text <> ""AndMe.Nanio_vidaTextBox.Text <> ""
AndMe.Nvalor_compraTextBox.Text <> ""AndMe.NcantidadTextBox.Text <>
""AndMe.CperiodoTextBox.Text <> ""And
Me.DfechacompraDateTimePicker.Text <= Now And Me.NidcuentacontableTextBox1.Text <> ""And Me.NidcuentadepreTextBox1.Text <> ""Then sbvalores() IfMe.Nvalor_compraTextBox.Text.Trim >= 100 Then Me.TabControl1.TabPages.Item(2).Enabled = True Me.WCCamara1.Refresh() Me.btnguardar.Enabled = True Me.tvaloradquisicion.Active = False Else Me.tvaloradquisicion.Active = True Me.btnguardar.Enabled = False EndIf EndIf Catch ex As Exception MessageBox.Show(ex.Message) EndTry EndSub
64
Procedimiento que genera el codigo de barras interno del activo
Sub sbcoditem()
Dim valcol As Integer
Dim ccodigoitem, cdepar, cad, ccad1, ccad2, ccad3 AsString Try valcol = Me.TplancuentasDataGridView.CurrentCell.Value - 1 cdepar = (Me.TdepartamentoDataGridView.Rows(0).Cells(1).Value) cad = Mid(cdepar, 1, 4) For i = 1 To Len(cdepar) - 1 If Mid(cdepar, i, 1) = " "Then ccad1 = Mid(cdepar, i + 1, 3)
ccad2 = Mid(cdepar, Len(cdepar), 1) ccad3 = Mid(cdepar, 1, 1)
ccodigoitem = (Me.TplancuentasDataGridView.Rows(valcol).Cells(1).Value) +
"." + (Me.TplancuentasDataGridView.Rows(valcol).Cells(2).Value) + "." +
(Me.TplancuentasDataGridView.Rows(valcol).Cells(3).Value) + "." + ccad3 + "."
+ ccad1 + ccad2 + "." + Me.CcodigoitemTextBox.Text
Me.Ccodbarra_interTextBox.Text = ccodigoitem ExitFor Else ccodigoitem = (Me.TplancuentasDataGridView.Rows(valcol).Cells(1).Value) + "." + (Me.TplancuentasDataGridView.Rows(valcol).Cells(2).Value) + "." + (Me.TplancuentasDataGridView.Rows(valcol).Cells(3).Value) + "." + cad + "." + Me.CcodigoitemTextBox.Text Me.Ccodbarra_interTextBox.Text = ccodigoitem EndIf Next Catch ex As Exception MessageBox.Show(ex.Message) EndTry EndSub
Procedimiento que genera el reporte de los activos por cuentas contables
Sub rdetallesactivo()
Dim rep AsNew rdetalleactivo
Try Me.DetallesactivoTableAdapter.Fill(Me.DataSet1.detallesactivo, Me.cmbcuenta1.SelectedItem, Me.cmbvalcuenta2.SelectedItem) Catch ex As System.Exception System.Windows.Forms.MessageBox.Show(ex.Message) EndTry rep.SetDataSource(Me.DataSet1)
rep.DataDefinition.FormulaFields("campo_texto").Text = "'" & frmingreso.lblnomusr.Text & "'"
rep.DataDefinition.FormulaFields("campo_texto2").Text = "'" & Me.Label1.Text + Me.cmbcuenta1.SelectedItem & "'"
65
rep.DataDefinition.FormulaFields("campo_texto3").Text = "'" & Me.Label2.Text + Me.cmbvalcuenta2.SelectedItem & "'"
rep.DataDefinition.FormulaFields("campo_texto4").Text = "'" & "Nº ACTIVO" &
"'"
rep.DataDefinition.FormulaFields("campo_texto5").Text = "'" & " " & "'"
frmreporte.CrystalReportViewer1.ReportSource = rep
EndSub
Procedimiento que genera el parametro segun el cual se filtrara el reporte
Sub sbpametrodetaleactivo()
SelectCase valparametro
Case 1
cadparametro = "dbo.tactivo.nidestado ="
valcombo = cmbestado.SelectedValue
cparametro = "ESTADO " + Me.cmbestado.Text
Case 2
cadparametro = "dbo.tdepartamento.id_depar ="
valcombo = cmbdepartamento.SelectedValue
cparametro = "DEPARTAMENTO " + Me.cmbdepartamento.Text
Case 3
cadparametro = "dbo.tactivo.nidmarca ="
valcombo = cmbmarca.SelectedValue
cparametro = "MARCA " + Me.cmbmarca.Text
Case 4
cadparametro = "dbo.tactivo.nid_provvedor ="
valcombo = cmbproveedor.SelectedValue
cparametro = "PROVEEDOR " + Me.cmbproveedor.Text
Case 5
cadparametro = "dbo.tactivo.nidrespon ="
valcombo = cmbresponsable.SelectedValue
cparametro = "RESPONSABLE " + Me.cmbresponsable.Text
Case 6
cadparametro = "dbo.tactivo.nidtipo_activo ="
valcombo = cmbtipoactivo.SelectedValue
cparametro = "TIPO ACTIVO " + Me.cmbtipoactivo.Text
Case 7
cadparametro = "dbo.tactivo.nidtipo_ingre ="
valcombo = cmbtipoingreso.SelectedValue
cparametro = "TIPO INGRESO " + Me.cmbtipoingreso.Text
Case 8
cparametro = "FECHA COMPRA " + Me.dtfechacompra.Value.Date.ToString +
" A " + Me.dtfechacompra2.Value.Date.ToString
Case 9
cparametro = "FECHA INGRESO " + Me.dtfechaingreso.Value.Date.ToString +
" A " + Me.dtfechaingreso2.Value.Date.ToString
EndSelect
66
Procedimiento que genera reporte de los activos por cuentas contables con parametros
Sub rdetallesacticoparametros()
Dim datas AsNew DataSet sbpametrodetaleactivo()
If cparametro <> ""Then
cn.ConnectionString = ("Data Source=HUGO-PC\SQLEXPRESS; Initial
Catalog=controlactivos; user id=hugo; password=2886")
cn.Open()
cad = ("SELECT dbo.tactivo.id_activo, dbo.tplancuentas.cplan1, dbo.tplancuentas.cplan2, dbo.tplancuentas.cplan3,
dbo.tplancuentas.cdescripcion, dbo.tvalores.ndebe,dbo.tvalores.nhaber, dbo.tvalores.nsaldo, dbo.tactivo.cnom_activo, dbo.tactivo.ccodbarra_fab,
dbo.tactivo.ccodbarra_inter, dbo.tpersonal.cnombres," & _
"dbo.tdepartamento.cdepar,tmaterial.cmaterial, dbo.tactivo.cserie, dbo.tactivo.cmodelo, dbo.tactivo.cmotor, dbo.tactivo.cimagen,
dbo.tactivo.cimagen2, dbo.tactivo.cimagen3 ," & _
"dbo.tactivo.cimagen4, dbo.ttipoactivo.ctipoact, dbo.tmaterial.cmaterial, dbo.tcolores.ccolor, dbo.tmarca.cmarca, dbo.testado.cestado,
dbo.ttipoingreso.ctipoingre, dbo.tactivo.ccomproingre ," & _
"dbo.tactivo.nvalor_compra, dbo.tactivo.nvaloruni, dbo.tactivo.ncantidad,
dbo.tactivo.nanio_vida, dbo.tactivo.nvalorresidual, dbo.tactivo.lestado ," & _
"dbo.tactivo.dfechacompra, dbo.tactivo.dfingarantia, dbo.tactivo.cperiodo, dbo.tactivo.ccodigoitem, dbo.tproveedor.cnom_provee,
dbo.tactivo.cobservacones,dbo.tactivo.dfecha_sis " & _
" FROM dbo.tactivo INNER JOIN dbo.tcolores ON dbo.tactivo.nidcolor =
dbo.tcolores.id_color INNER JOIN " & _
"dbo.tpersonal ON dbo.tactivo.nidrespon = dbo.tpersonal.npersonal INNER
JOIN " & _
"dbo.ttipoactivo ON dbo.tactivo.nidtipo_activo = dbo.ttipoactivo.id_tipoact
INNER JOIN " & _
"dbo.tmaterial ON dbo.tactivo.nidmaterial = dbo.tmaterial.id_material INNER
JOIN " & _
"dbo.tmarca ON dbo.tactivo.nidmarca = dbo.tmarca.id_marca INNER JOIN " &
_
"dbo.tproveedor ON dbo.tactivo.nid_provvedor = dbo.tproveedor.id_provee
INNER JOIN " & _
"dbo.testado ON dbo.tactivo.nidestado = dbo.testado.id_estado INNER JOIN "
& _
"dbo.tipodepre ON dbo.tactivo.nid_tipodepre = dbo.tipodepre.id_tipodepre
INNER JOIN " & _
"dbo.tplancuentas ON dbo.tactivo.nidcuentacontable =
dbo.tplancuentas.ncodplan INNER JOIN " & _
"dbo.ttipoingreso ON dbo.tactivo.nidtipo_ingre = dbo.ttipoingreso.id_tipoingre
INNER JOIN " & _
"dbo.tvalores ON dbo.tplancuentas.ncodplan = dbo.tvalores.nid_plan AND
dbo.tactivo.id_activo = dbo.tvalores.nid_activo INNER JOIN " & _
"dbo.tdepartamento ON dbo.tpersonal.nid_departamento =
67
"WHERE dbo.tplancuentas.cplan3 >=" + Me.cmbcuenta1.SelectedItem + " and
dbo.tplancuentas.cplan3 <=" + Me.cmbvalcuenta2.SelectedItem) + " and " +
cadparametro + valcombo.ToString
Dim da AsNew SqlDataAdapter(cad, cn) da.Fill(dt)
Me.DetallesactivoDataGridView.DataSource = dt cn.Close()
datas.Tables.Add(dt)
datas.Tables(0).TableName = "tactivo"
Dim Report AsNew rdetalleactivo Report = New rdetalleactivo
Report.SetDataSource(datas.Tables("tactivo"))
Report.DataDefinition.FormulaFields("campo_texto").Text = "'" & frmingreso.lblnomusr.Text & "'"
Report.DataDefinition.FormulaFields("campo_texto2").Text = "'" &
Me.Label1.Text + Me.cmbcuenta1.SelectedItem & "'"
Report.DataDefinition.FormulaFields("campo_texto3").Text = "'" &
Me.Label2.Text + Me.cmbvalcuenta2.SelectedItem & "'"
Report.DataDefinition.FormulaFields("campo_texto4").Text = "'" & "Nº ACTIVO"
& "'"
Report.DataDefinition.FormulaFields("campo_texto5").Text = "'" & cparametro &
"'" frmreporte.CrystalReportViewer1.ReportSource = Report Me.Close() frmreporte.Show() frmreporte.CrystalReportViewer1.Show() Else
MsgBox("SELECCIONE UN PARÁMETRO DE BUSQUEDA ", MsgBoxStyle.Exclamation, frmingreso.ctitulosis)
frmreporte.Close()
EndIf
68