Herramientas Informaticas

Categoría: Uncategorized Página 8 de 11

JCPOS2022 CRUD Empresas Guardar Logo Certificado y Archivo Key

Bien ahora para seguir avanzando haremos las altas bajas y cambios del catalogo de empresas ya que actualmente solo tenemos para meter datos de una empresa.

Aprovechando meteremos varios campos extras como el logo, contraseña (Por si se tiene que ingresar por empresa), archivo .cer y .key y contraseña del certificado, por si en un futuro se mete la facturación electronica.

Agregando derecho para que permita ver stock al hacer la venta JCPOS2022

Uno de los cambios que no han estado solicitando es que no todos los usuario puedan ver el stock, si no que si no tiene derecho que solo vea el color por si esta bajo en existencia así que empezando

Primero que nada empezamos agregando el cambio del derecho en la base de datos para ello ejecutamos el siguiente comando en la base de datos

alter table perfiles add permiteVerStockVentas  varchar(5) null

Modulo Mostrar Información de la Venta en AdministrarVenta JCPOS2022

Es necesario en algunas para los administradores de venta ver el detalle de la venta sin estar saliendo de la lista de ventas.

Bien lo que haremos es mostrar la información de la venta mostrando los productos y demás información a través de una ventana modal, entonces lo que haremos primera mente es crear un botón que sera el que lanza el modal.

Quedaría el siguiente código en datatable-administrarVentas.ajax.php

  $botones .= "<button type='button' class='btn btn-info  btnMasInfo' data-toggle='modal' data-target='#modalMasInfo' data-dismiss='modal' idVenta='" . $ventas[$i]["id"] . "' idCodigo='" . $ventas[$i]["codigo"] . "' puntoVenta='" . $ventas[$i]["puntoVenta"] . "'  required data-toggle='tooltip' data-placement='top' title='Mas Info'><i class='fa fa-info'></i> </button>";

Al mostrar las ventas en la columna acciones se podrá ver los siguiente

Al final del archivo vistas/modulos/ventas.php antes de que empieze la etiqueta script ponemos el siguiente código

<script type="text/javascript">
Quedaría algo similar a esta imagen

Ahora crearemos el archivo donde estará el modal en la carpeta /ventasModulos

Al darle click quedaría de esta forma

Ahora falta que nos muestre la información de la venta así que desde la vista creamos la función cargaDatosVenta, en la cual mandamos invocar mediante AJAX los datos de la venta

Quedaría de esta forma
Así mandaríamos llamar la función de cargaDatosVenta
Y ya nos muestra los productos de la venta

Ahora falta que nos muestre la dirección del cliente, en el archivo datatable-administrarVentas.ajax.php en el mismo boton btnMasInfo agregamos el atributo del id_cliente

Quedaría de la siguiente forma
Y en el archivo vistas/modulos/ventasModulos/modalInfo.php metemos la funcion datosVenta
Y así lo mandamos llamar al hacer Click
Finalmente quedaría así

Crear Ejecutable del programa Visual Basic 2022

Y bien ya tenemos nuestro código fuente terminado, ahora lo que sigue poder distribuir nuestro programa para ello vamos a crear el ejecutable a continuación mostramos como hacerlo

Primero Elegimos una carpeta fácil de ubicar, por ejemplo, nosotros crearnos una carpeta llamada resultado en el escritorio.

En visual Studio 2022 Community, en el proyecto nos vamos al menú compilar y después elegimos publicar, nos saldrá la siguiente ventana.

Seleccionamos la opción Carpeta
Elegimos la opción Carpeta
Elegimos la ubicación donde se va a generar el ejecutable
En la configuración le ponemos Producir un único archivo y ReadyToRun
Finalmente de damos click en publicar y nos va a generar el EXE
Y listo ya tenemos nuestro ejecutable listo para usar

Saludos en el proximo video veremos como subir nuestro proyecto a source forge

Como guardar archivos generados en texto en archivo

Ya vimos como generar el texto del modelo, vista y controlador tomando en base solo una tabla de MariaDB/MySQL tomando las columnas y campos con llave primaria, ahora lo que nos falta por hacer es guardar esa información en archivos .PHP en el proyecto para ello simplemente hacemos lo siguiente.

Primero guardamos en registro de windows la ruta para que se valla quedando guardando como default, esto lo hacemos al darle click al botón aceptar.

Lo hacemos con el siguiente código

   'Guardamos en el registro de windows la variable de txtTabla
       My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "txtRuta", Me.txtRuta.Text)

Luego en el evento load de la ventana creador de cátalogo agregamos para leer la variable donde guardamos la ruta del registro de windows

  'Leemos la variable por default de la ruta desde el registro de windows
        If Not My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "txtRuta", Nothing) Is Nothing Then

            Me.txtRuta.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "txtRuta", Nothing).ToString()

        End If

Ya por ultimo grabamos los textos en los archivos correspondientes, es importante usar la codificación ASCII para evitar errores en el ajax

        'GUARDAMOS LOS ARCHIVOS

        'GUARDAMOS MODELO EN EL ARCHIVO
        My.Computer.FileSystem.WriteAllText(Me.txtRuta.Text & "/modelos/" & txtTabla.Text & ".modelo.php", strModelo, False, System.Text.Encoding.ASCII)

        'GUARDAMOS CONTROLADOR EN EL ARCHIVO
        My.Computer.FileSystem.WriteAllText(Me.txtRuta.Text & "/controladores/" & txtTabla.Text & ".controlador.php", strControlador, False, System.Text.Encoding.ASCII)

        'GUARDAMOS VISTA EN EL ARCHIVO
        My.Computer.FileSystem.WriteAllText(Me.txtRuta.Text & "/vistas/modulos/" & txtTabla.Text & ".php", strVista, False, System.Text.Encoding.ASCII)

Y listo ya con esto nos debe crear los archivos

Solo tendremos que crear manualmente el menú y agregar en plantilla.php para que corra la visa

Saludos en el próximo video veremos como subir el proyecto para que lo puedan descargar

Creando texto para el archivo del catalogo controlador PHP Visual Basic 2022 en base a una tabla creada

Ya vimos como crear el modelo, dijimos que mostraremos como crear el archivo de modelo, pero mejor mostraremos como generar el texto del controlador en base a los campos de la tabla, es un poco mas fácil

a continuación les dejo el código fuente

Imports System.Windows.Forms

Public Class frmCreaCatalogo

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click

        Dim strModelo As String
        Dim strControlador As String

        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "txtTabla", Me.txtTabla.Text)

        strModelo = crearModelo.generaModelo()
        strControlador = crearControlador.generaControlador()


        Me.DialogResult = System.Windows.Forms.DialogResult.OK
        Me.Close()
    End Sub

    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
        Me.Close()
    End Sub

    Private Sub btnRuta_Click(sender As Object, e As EventArgs) Handles btnRuta.Click

        dlgRuta.ShowDialog()

        txtRuta.Text = dlgRuta.SelectedPath


    End Sub

    Private Sub frmCreaCatalogo_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        If Not My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "txtTabla", Nothing) Is Nothing Then

            Me.txtTabla.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "txtTabla", Nothing).ToString()

        End If
    End Sub
End Class

Saludos y espero que les sirva

Creando Cadena de Conexión dinámica con Variables de Configuración #8

Hasta este punto ya hemos creado la conexión con una cadena de conexión directa en la cual nosotros ponemos los datos de conexión a la base de de datos directamente, pero sabemos que la conexión del servidor, la base de datos, el usuario y la contraseña pueden estar cambiando, entonces mostraremos como tener una conexión dinámica basada en nuestras variables de configuración guardadas en el registro de Windows.

Nuestro código en el modulo crearModelo quedaría de la siguiente forma.

'IMPORTAMOS LAS LIBRERIAS NECESARIAS PARA LA CONEXIÓN A MYSQL/MARIADB
Imports MySqlConnector.MySqlConnection

'EMPIEZA EL MODULO
Module crearModelo

    ' CON PUBLIC SUB CREAMOS PROCEDIMIENTOS
    Public Sub generaModelo()

        ' VARIABLES PARA LA CONEXIÓN
        Dim strServidor As String
        Dim strBaseDeDatos As String
        Dim strUsuario As String
        Dim strContra As String


        'OBTENEMOS LOS DATOS DE CONFIGURACIÖN DEL REGISTRO DE WINDOWS PREVIAMENTE GUARDADAS
        If Not My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing) Is Nothing Then
            strServidor = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing).ToString()
            strBaseDeDatos = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "baseDeDatos", Nothing).ToString()
            strUsuario = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "usuario", Nothing).ToString()
            strContra = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "contra", Nothing).ToString()
        Else

            MsgBox("No se han capturado la conexión a la base de datos")
            Return

        End If


        ' METEMOS LA CADENA DE CONEXIÓN EN UNA VARIABLE
        Dim cadenaConexion = "Server=" & strServidor & ";User ID=" & strUsuario & ";Password=" & strContra & ";Database=" & strBaseDeDatos

        ' CREAMOS LA CONEXIÓN CON LA CADENA DE CONEXIÓN
        Dim connection = New MySqlConnector.MySqlConnection(cadenaConexion)

        Try

            ' SI SE ABRE LA CONEXIÓN MANDAMOS MENSAJE
            connection.Open()
            MsgBox("Conexion Correcta")

        Catch ex As Exception
            ' SI NO SE ABRE LA CONEXIÓN MANDAMOS MENSAJE DE ERROR
            MsgBox("ERROR " & ex.Message)

            Exit Sub
        End Try

    End Sub

End Module
Nos aseguramos de que tenemos los datos de conexión a la base de datos bien capturados
Hacemos la prueba y si sale el siguiente mensaje significa que la conexión se realizo correctamente

Guardando configuración de la base de datos usando My.Computer.Registry

Ya vimos como llamar ventanas para ponerlas en la ventana principal, lo que haremos en esta publicación será como guardar la configuración de la base de datos.

Para ello vamos a crear una ventana llamada configuración y vamos a crear los campos de texto necesarios como que son los siguientes:

  1. Server
  2. Base de datos
  3. Usuario
  4. Contraseña

Primero nos creamos la ventana nueva de configuración

Añadimos las cuatro etiquetas con las cajas de texto, textbox , en los nombres procuraremos mantener un estándar por ejemplo en los campos de textos siempre le pondremos un nombre empezando como txt como txtHost, txtBaseDeDatos, txtUsuario y txtContraseña

Igual lo vamos a lanzar desde el menú configuración y desde el botón abrir

Además para el menú salir agregamos el siguiente código

Me.Close()
Lo ideal fuera guardar esas variables en la variables de configuración pero en Visual Basic 2022 con .NET 6.0 no funciona, entonces nos queda usar el registro de windows “REGEDIT” con my.computer.registry

Entonces en el load de la porfa agregamos el siguiente código, lo que hace es leer el registro de Windows donde estaremos guardando los datos de conexión

       If Not My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing) Is Nothing Then

            Me.txtServidor.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing).ToString()
            Me.txtBaseDeDatos.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "baseDeDatos", Nothing).ToString()
            Me.txtUsuario.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "usuario", Nothing).ToString()
            Me.txtContra.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "contra", Nothing).ToString()

        End If

Quedaría de la siguiente forma, ponemos un if para ver si existe el registro y si existe lo asignamos a los controloles

Ahora para grabar el los valores que escribimos en los controles ponemos el siguiente código en el evento click del botón aceptar

 My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Me.txtServidor.Text)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "baseDeDatos", Me.txtBaseDeDatos.Text)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "usuario", Me.txtUsuario.Text)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "contra", Me.txtContra.Text)
Quedaría de la siguiente forma
Si todo salio bien vemos como se guardan los datos y aunque cerremos el programa al abrirlo estará la información guardada

En la próxima publicación veremos como hacer la conexión a la base de datos de MySQL

MINI TUTORIAL PROGRAMANDO EN VISUAL BASIC 2022

Anteriormente hemos visto como hacer fácil aplicaciones básicas y sencillas en cualquier distribución de GNU/Linux usando Gambas 3.

Ahora haremos la aplicación usando la ultima versión de Visual Basic que esta dentro de la versión community 2022

Como introducción ya deben saber que a estas alturas Gambas3 y Visual Basic Entran a la categoria de entornos RAD (Rapid application development) o en español (desarrollo rapido de aplicacion)

COMO INSTALAR FIREBIRD EN WINDOWS 10 / WINDOWS 11

Firebird al igual que MySQL/MariaDB es un administrador de base de datos de código abierto que nos puede servir en los programas que desarrollamos.

Las instrucciones básicas SELECT, INSERT, UPDATE son prácticamente similares, no existes diferencias significativas.

Una de las ventajas con las que cuenta Firebird son sus modos de instalación las cuales pueden ser classic, super classic, super, y embedden, esta ultima viene con una librería para hacer portable la aplicación.

Página 8 de 11

Creado con WordPress & Tema de Anders Norén