Sistema de Gestión de Negocios "Hexa"
Base de datos de conocimiento.
Doc. Ref. 9722 Título: Ejemplo de alta de datos de cliente y contacto en un paso mediante un script Autor: Philippe Calvó Última actualización: 28/04/2015#interacción #cliente #contacto #script #alta |
Ejemplo de alta de datos de cliente y contacto en un paso mediante un script
Este script permite realizar altas de clientes y contactos en un sólo paso de forma rápida y adaptada a campos concretos. Utiliza el formulario de interacciones
Se puede modificar de forma sencilla para que:
- Se puede solicitar campos diferentes.
- La numeración se realice de forma diferente.
- Se genere altas de registros en otras tablas.
- Se disponga de valores por defecto para algunos campos.
- Se calcule valores concretos para campos, como el caso de la fecha de alta.
- Se realice comprobaciones antes del alta como que todos los campos sean obligatorios.
Sub Main (PS0, PS1, PS2) Interact.Reinicia "AltaCliente", "Alta de Cliente y Contacto" Interact.Cancelable = True Interact.NuevoValor "Nombre", "Nombre completo", "Texto", "1", "" Interact.NuevoValor "Direccion", "Dirección (Calle y número)", "Texto", "1", "" Interact.NuevoValor "Poblacion", "Población", "Texto", "1", "" Interact.NuevoValor "CP", "Código postal", "Texto", "1", "" Interact.NuevoValor "Provincia", "Provincia", "Texto", "1", "" Interact.NuevoValor "Pais", "País", "Pais", "1", "" Interact.NuevoValor "Telefono", "Teléfono", "Texto", "1", "" Interact.NuevoValor "Telefono2", "Segundo teléfono", "Texto", "1", "" Interact.NuevoValor "EMail", "EMail", "Texto", "1", "" Interact.NuevoValor "Nif", "Nif", "Texto", "1", "" Interact.NuevoValor "Observaciones", "Observaciones", "Memo", "1", "" Interact.NuevoValor "Familia0", "Forma jurídica", "Familia0Clientes", "1", "" Interact.NuevoValor "Familia1", "Prescriptor", "Familia1Clientes", "1", "" Interact.NuevoValor "Familia2", "Responsable", "Familia2Clientes", "1", "" Interact.NuevoValor "Familia3", "Tipo", "Familia3Clientes", "1", "" Interact.NuevoValor "ContactoNombre", "Nombre completo del contacto", "Texto", "1", "" Interact.NuevoValor "ContactoDireccion", "Dirección del contacto (Calle y número)", "Texto", "1", "" Interact.NuevoValor "ContactoPoblacion", "Población del contacto", "Texto", "1", "" Interact.NuevoValor "ContactoCP", "Código postal del contacto", "Texto", "1", "" Interact.NuevoValor "ContactoProvincia", "Provincia del contacto", "Texto", "1", "" Interact.NuevoValor "ContactoPais", "Pais del contacto", "Pais", "1", "" Interact.NuevoValor "ContactoTelefono", "Teléfono del contacto", "Texto", "1", "" Interact.NuevoValor "ContactoTelefono2", "Segundo teléfono del contacto", "Texto", "1", "" Interact.NuevoValor "ContactoEMail", "EMail del contacto", "Texto", "1", "" Formularios.MInteract If Not Interact.Aceptado Then Exit Sub If Interact.Cancelado=True Then Formularios.MBx ("Proceso cancelado") : Exit Sub Campos = "Codigo,Nombre,Alta,Direccion,Poblacion,CP,Provincia,Pais,Telefono,Telefono2,EMail,Nif,Observaciones,Familia0,Familia1,Familia2,Familia3" Valores = FH.SQLT (Left (Interact.Valor ("Nombre"), 40)) & "," Valores = Valores & FH.SQLF (Now) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Direccion"), 40)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Poblacion"), 40)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("CP"), 10)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Provincia"), 40)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Pais"), 50)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Telefono"), 15)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Telefono2"), 15)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("EMail"), 100)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Nif"), 34)) & "," Valores = Valores & FH.SQLT (Interact.Valor ("Observaciones")) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Familia0"), 20)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Familia1"), 20)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Familia2"), 20)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("Familia3"), 20)) CodigoCliente = BaseDeDatos.Siguiente ("Cliente", "Codigo", "", False) Valores = CodigoCliente & "," & Valores BaseDeDatos.Introduce "Cliente", "" & Campos, "" & Valores Campos = "Codigo,Cliente,Nombre,Alta,Direccion,Poblacion,CP,Provincia,Pais,Telefono,Telefono2,EMail" Valores = FH.SQLT (Left (Interact.Valor ("ContactoNombre"), 40)) & "," Valores = Valores & FH.SQLF (Now) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoDireccion"), 40)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoPoblacion"), 40)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoCP"), 10)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoProvincia"), 40)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoPais"), 50)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoTelefono"), 15)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoTelefono2"), 15)) & "," Valores = Valores & FH.SQLT (Left (Interact.Valor ("ContactoEMail"), 100)) CodigoContacto = BaseDeDatos.Siguiente ("Contacto", "Codigo", "", False) Valores = CodigoContacto & "," & CodigoCliente & "," & Valores BaseDeDatos.Introduce "Contacto", "" & Campos, "" & Valores Formularios.MBx "Se ha creado el cliente " & CodigoCliente & " y el contacto " & CodigoContacto End Sub