Carpeta Ejemplo de Coficación Modulo Altas de Clientes

10
FASE DE CODIFICACIÓN INDICE Páginas Diseño e integración del nuevo sistema: Analizar y distribuir procesos: Codificación del Modulo: Modulo de Altas Clientes. 2 a 9 Copyright © 2006 Creadores de Sistemas S.A. Todos los derechos reservados 1

Transcript of Carpeta Ejemplo de Coficación Modulo Altas de Clientes

Page 1: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓN

INDICE Páginas

Diseño e integración del nuevo sistema:

Analizar y distribuir procesos:Codificación del Modulo: Modulo de Altas Clientes. 2 a 9

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 1

Page 2: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓN

MODULO ADMINISTRADOR DE CLIENTESFORMULARIO ADMINISTRADOR DE CLIENTES (PLAYA Y C-STORE)

Esta es la codificación que corresponde a este formulario:

''''''''''''''''''''''''''''''''''''''''''''''Formulario: fAdmCli ''Función del Código: Formulario de Adminis- '' tración de los datos de los clientes''Programadores: ''-creadores de sistemas '' [email protected] '' '' www.creadoresdesistemas.com.ar '''''''''''''''''''''''''''''''''''''''''''''''CONTENIDO DEL FORMULARIO fAdmCli'1. Rutinas del formulario 'cargarListView: llama la SubRutina InicializarListView en el módulo mSubRutinas'2. Eventos del Formulario 'Form_Load y Form_Activate: llama la rutina cargarListView en el código de este formulario 'Form_Resize: llama la SubRutina ResizeFormulario en el módulo SubRutinas'3. Eventos de ListView y Cajas de texto del formulario 'lvw_DblClick 'tCodigo_Art_Change 'txt_KeyPress: llama la función ValidChars en el módulo mFunciones

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 2

Page 3: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓN'4. Controles del formulario 'cmd_click(index as integer) 'mnuPropiedades_click: llama la SubRutina ConsultaProcesada en el módulo mSubRutinas 'mnuNuevoCliente_Click: Abre el formulario fClientes para la creación de un nuevo Cliente 'mnuEliminar_Click(): llama la SubRutina EliminarDeListViewAdm en el módulo mSubRutinas 'mnuSalir

Option Explicit

'1. Rutinas del formularioPublic Sub cargarListView()Consulta = "Select codigo_cli,nombre_cli,identificacion_cli,telefono_cli," & _ "fax_cli from CLIENTES"Call InicializarListView(Consulta, lvw, sb) 'del módulo 'mSubRutinas'End Sub

'2. Eventos del FormularioPrivate Sub Form_Activate() 'Este evento puede eliminarse en caso que esté consumiendo demasiado tiempocargarListView 'Rutina perteneciente al código de este formularioEnd Sub

Private Sub Form_Load()cargarListView 'Rutina perteneciente al código de este formularioEnd Sub

Public Sub Form_Resize()Call ResizeFormulario(sb, Me, lvw) 'Función del módulo 'mFunciones'End Sub

'3. Eventos de ListView y Cajas de texto del formularioPublic Sub lvw_DblClick()Call mnuPropiedades_ClickEnd Sub

Private Sub tCodigo_cli_Change()Dim ItemEncontrado As ListItem'Para búsqueda de código:'1. Si el Listview lvw no contiene datos entonces salga de la rutina. Sino, envíe la búsqueda del item a la variable 'ItemEncontrado'If lvw.ListItems.Count = 0 Then Exit Sub Else Set ItemEncontrado = lvw.FindItem(tcodigo_cli.text, lvwText, 1, lvwPartial)'2. Si la variable 'ItemEncontrado' no devuelve ningún valor, entonces salga de la rutina. Sino, seleccióne el código encontradoIf ItemEncontrado Is Nothing Then Exit Sub Else ItemEncontrado.Selected = TrueEnd Sub

Private Sub txt_KeyPress(KeyAscii As Integer) KeyAscii = ValidChars(KeyAscii, True) 'Esta funcion convierte caracteres en minuscula a MAYUSCULAS y tambien evita la insercion de caracteres no validosEnd Sub

'4. Comandos y Controles del formularioPrivate Sub cmd_Click(Index As Integer) Select Case cmd(Index).Caption Case "Nuevo"

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 3

Page 4: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓN Call mnuNuevoCliente_Click Case "Propiedades" Call mnuPropiedades_Click Case "Buscar" fBuscarClientes.show Case "Eliminar" Call mnuEliminar_Click Case "Por Cobrar" Call mnuFact_xCobrar_Click Case "Recargar" Call mnuRecargar_Click Call mnuFact_xCobrar_Click Case "Salir" Call mnuSalir_Click End SelectEnd Sub

Public Sub mnuNuevoCliente_Click()ModalidadfClientes = NuevofClientes.txt(7).text = Format(Now) 'Fecha y hora actual por defectofClientes.show 'Carga y muestra la ventanaEnd Sub

Public Sub mnuPropiedades_Click()If lvw.SelectedItem Is Nothing Then MsgBox "No hay elemento seleccionado para efectuar esta acción.", vbExclamation, Me.Caption: Exit SubfClientes.show'Se consulta la tabla CLIENTESConsulta = "Select * From CLIENTES " & _ " Where codigo_cli = '" & (lvw.SelectedItem) & "'" 'selecteditem es el item seleccionado en el ListView el cual es código del ClienteIf ConsultaProcesada(Consulta) = True Then If LectorBD.RecordCount > 0 Then For i = 0 To fClientes.txt.Count - 1 fClientes.txt(i).text = LectorBD.Fields(i) Next i End IfEnd IfModalidadfClientes = EditarEnd Sub

Public Sub mnuEliminar_Click()If lvw.SelectedItem Is Nothing Then MsgBox "Seleccione un elemento de la lista", vbExclamation: Exit SubIf MsgBox("Al eliminar el Cliente también se eliminarán sus Facturas y Cuentas por Cobrar. Está seguro?", vbExclamation + vbYesNo) = vbNo Then Exit SubConsulta = "Select * From CLIENTES Where codigo_cli = '" & CLng(lvw.SelectedItem) & "'"Call EliminarDeListViewAdm(lvw, lvw.SelectedItem.Index, Consulta) 'del módulo 'mSubRutinas'Call cargarListViewEnd Sub

Private Sub mnuFact_xCobrar_Click()If lvw.SelectedItem Is Nothing Then MsgBox "Seleccione un elemento de la lista", vbExclamation: Exit SubfFact_xCobrar.tcodigo_cli = lvw.SelectedItem 'Envie el cliente seleccionadofFact_xCobrar.showEnd Sub

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 4

Page 5: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓNPrivate Sub mnuRecargar_Click()cargarListView 'Rutina de este formulario

End Sub

Public Sub mnuSalir_Click()Unload Me 'Descargar y cerrar la ventanaEnd Sub

Private Sub mnuAcercaDe_Click()fAcercaDe.show 'Carga y muestra la ventana 1, MeEnd Sub

Formulario Datos del Cliente

Esta es la codificación que corresponde a este formulario:

''''''''''''''''''''''''''''''''''''''''''''''Formulario: fClientes ''Función del Código: Edición de los detalles'' de los Artículos'

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 5

Page 6: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓN'Programadores: '

'-creadores de sistemas '' [email protected] '' ''www.creadoresdesistemas.com.ar '''''''''''''''''''''''''''''''''''''''''''''''CONTENIDO DEL FORMULARIO fAdmClie'1. Eventos de cajas de texto del formulario 'txt_Change 'txt_KeyPress 'txt_LostFocus'2. Eventos de los Controles del formulario 'bAceptar_click 'bBuscarImagen_Click 'bCancelar_Click

Option Explicit

Private Sub Form_Load()

End Sub

'1. Eventos de cajas de texto del formularioPrivate Sub txt_Change(Index As Integer)On Error Resume NextSelect Case Index Case 0 txt(2).text = txt(Index).text 'Se sugiere que el código del cliente sea su número de identificación (Cédula, T.I, pasaporte, ...) Case 8 Imagen_cli.Picture = LoadPicture(txt(Index).text)End SelectEnd Sub

Private Sub txt_KeyPress(Index As Integer, KeyAscii As Integer)KeyAscii = ValidChars(KeyAscii, True) 'Esta funcion convierte caracteres en minuscula a MAYUSCULAS y tambien evita la insercion de caracteres no validosEnd Sub

'2. Eventos de los Controles del formularioPublic Sub bAceptar_click()

Consulta = "Select * from CLIENTES where codigo_cli = '" & txt(0).text & "'" 'La caja de texto fProveedores.txt(0) es la de Codigo -del proveedor-If ConsultaProcesada(Consulta) = True Then If LectorBD.RecordCount = 0 Then If DatosActualizados(txt, Consulta, ModalidadfClientes) = False Then Exit Sub Unload Me Else MsgBox "ESTE CLIENTE YA EXISTE" End IfElse MsgBox "NO SE PUDO EJECUTAR LA CONSULTA"

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 6

Page 7: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓN End If End Sub

Private Sub bBuscarImagen_Click()CajaDeDialogo.InitDir = App.Path & "\Imagenes\Clientes"CajaDeDialogo.ShowOpentxt(8).text = CajaDeDialogo.FilenameEnd Sub

Private Sub bCancelar_Click()Unload MeEnd Sub

Esta es la codificación que corresponde a este formulario:

''''''''''''''''''''''''''''''''''''''''''''''''''''''Formulario: fBuscarClientes ''Función del Código: Formulario para la búsqueda y '' clasificacion de Clientes ''Programadores: ''-Creadores de Sistemas '' [email protected] '' '' www.creadoresdesistemas.com.ar ''''''''''''''''''''''''''''''''''''''''''''''''''''''Option Explicit

Private Sub Form_Resize()Call ResizeFormulario(sb, Me, lvw) 'Función del módulo 'mFunciones'End Sub

Private Sub lvw_DblClick()'Los siguientes dos bloques condicionales verifican si en el momento se está realizando una venta,

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 7

Page 8: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓN

'o bien, una compra. En caso Verdadero, se envia el elemento seleccionado a la caja de texto de código del Cliente;'en caso Falso, se abre el formulario Clientes en modo de edición. Se debe tener en cuenta que si se está creando'una factura de compra y de venta a la vez, la ventana que recibirá el código del cliente será fVentasIf fVentas.Visible = True And ModalidadfVentas = Nuevo Then fVentas.txt(1).text = lvw.SelectedItem fVentas.txt(1).SetFocusElseIf fCompras.Visible = True And ModalidadfCompras = Nuevo Then fCompras.txt(1).text = lvw.SelectedItem fCompras.txt(1).SetFocusElse If lvw.SelectedItem Is Nothing Then MsgBox "No hay elemento seleccionado para efectuar esta acción.", vbExclamation, Me.Caption: Exit Sub fClientes.show 'Se consulta la tabla CLIENTES Consulta = "Select * From CLIENTES " & _ " Where codigo_cli = '" & (lvw.SelectedItem) & "'" 'selecteditem es el item seleccionado en el ListView el cual es código del Cliente If ConsultaProcesada(Consulta) = True Then If LectorBD.RecordCount > 0 Then For i = 0 To fClientes.txt.Count - 1 fClientes.txt(i).text = LectorBD.Fields(i) Next i End If End If ModalidadfClientes = EditarEnd IfEnd Sub

Private Sub bBuscar_Click()lvw.Visible = TrueConsulta = "Select codigo_cli,nombre_cli,identificacion_cli,direccion_cli,telefono_cli,fax_cli From Clientes Where nombre_cli <> ''"

If tCodigo_cli.text <> "" Then Consulta = Consulta & " And codigo_cli like '" & tCodigo_cli.text & "%'"If tNombre_cli.text <> "" Then Consulta = Consulta & " And Nombre_cli like '%" & tNombre_cli.text & "%'"If tIdentificacion_cli.text <> "" Then Consulta = Consulta & " And identificacion_cli like '" & tIdentificacion_cli.text & "'"If tDireccion_cli.text <> "" Then Consulta = Consulta & " And direccion_cli Like '%" & tDireccion_cli.text & "%'"If tTelefono_cli.text <> "" Then Consulta = Consulta & " And telefono_cli like '" & tTelefono_cli.text & "'"If tFax_cli.text <> "" Then Consulta = Consulta & " And Fax_cli like '" & tFax_cli.text & "'"

Call InicializarListView(Consulta, lvw, sb)'La consulta del comando bBuscar se concatena con otras cadenas si las cajas de texto contienen datos para comparar.End Sub

Private Sub bRestaurar_Click()For i = 0 To Controls.Count - 1 If TypeOf Controls(i) Is TextBox Then Controls(i).text = ""

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 8

Page 9: Carpeta Ejemplo de Coficación Modulo Altas de Clientes

FASE DE CODIFICACIÓNNext i

End Sub

Private Sub bCerrar_Click()Unload MeEnd Sub

Private Sub mnuAcercaDe_Click()fAcercaDe.showEnd Sub

Copyright © 2006  Creadores de Sistemas S.A.  Todos los derechos reservados 9