En esta actualización aparte de hacer unas correcciones en el funcionamiento, hemos modificado el administrar ventas para imprimir el ticket a voluntad
Agregamos el ultimo botón para reimpresión de tickets
Modificamos la impresión del ticket para que se ajuste automáticamente al tamaño de la hoja, ademas tomamos el logo que subimos por empresa
Con la nueva facturación han salido algunos detalles, como en este caso es la validación del nombre del receptor, al querer timbrar sale este mensaje.
CFDI40102 El resultado de la digestion debe ser igual al resultado de la desencripcion del sello.
En el caso de nosotros el nombre del receptor contenía el carácter & por ejemplo el nombre era frutas & verduras o tambien Diseño&Produccion.
En este caso la solución fue remplazar el & por espacio vació quedando de la siguiente forma frutas verduras o DiseñoProduccion.
En caso de que tenga Ñ se cambia por N.
Igual si es otro carácter como . o – se tiene que quitar y pasa la validación timbrando correctamente aunque en la constancia fiscal muestre ese carácter
CORRECCIÓN: Esto funciono al principio pero ahora para XML el & se tiene que poner el carácter de escape & pero al generar la cadena original se tiene el & tal cual sin carácter de escape
Y bien ya mostramos como clonar un disco con un sistema operativo Linux “Zorin 16. PRO” ahora les mostrare como clone un un disco duro de 120GB Aprox donde teníamos Windows 10 a otro disco duro de 240GB Aprox
El programa que utilizamos se llama OEMEI Backupper para uso personal, es Freeware “gratuito”
A mi me ha servido la opción de clonar disco, después de seleccionar esta opción te pedirá el disco duro origen y luego el destino, es muy fácil de usar realmente
Posteriormente cuanto se termine de clonar se clonara con la misma capacidad por lo tendrás que aumentar el espacio en administrador de discos
Puedes descargarlo en cualquiera de las siguientes opciones
Se llega el momento en el cual necesitamos mas espacio de disco duro ya que 240 o 250 GB no alcanza para lo que queremos hacer, así que nos hemos conseguido un disco duro de aprox .940 GB, pero realmente da flojera formatear y reinstalar todo el software así que lo que hicimos fue clonar todo el disco duro.
Para hacer esto es necesario que el disco destino sea mayor en tamaño que el disco origen, ademas se va a borrar todo el contenido si es que tiene algo en el disco destino
Bien ya conectado el disco duro destino a la PC lo primero que haremos sera abrir la terminal y escribir el siguiente comando
sudo fdisk -l
Nos arrojara el nombre/ubicación del disco y también el tamaño del disco, allí podemos ver el nombre del disco destino y mas arriba no se ve en la imagen pero allí esta se ve el nombre del disco origen
Ahora suponiendo que la unidad origen es sda y la unidad destino sea sdb corremos el siguiente código
sudo dd if=/dev/sda of=/dev/sdb status=progress
Saldrá algo parecido a esto
Y listo, todo el sistema operativo se copiara tal cual con todo y particiones
Ya que este instalado el disco nuevo como principal en la PC solo faltaría extender es espacio restante a la partición creada, se pueden ayudar con GPARTED, a ustedes le saldrá en color negro el espacio no asignado nomas lo mueven hasta completarlo y listo
En caso de que lo quieran hacer desde Windows, el sistema operativo de mi compa Bill Gates pueden descargar la utilidad de DD para Windows en el siguiente botón
En caso de que sean usuarios de Windows y no quieren batallar con bajar programas en la próxima publicación les dejare una recomendación de un buen programa para clonar el disco
Anteriormente hemos visto como subimos los cambios que le hacemos al fuente de JCPOS2022 siempre esta en un archivo comprimido en el cual conserva la ruta para hacer los cambios mas fácil mente. y se preguntaran como le hago o si lo hago uno por uno, para verdad es que es casi en automático.
Lo ideal es actualizar desde gitlab lo cual es posible darle acceso al repositorio privado si están como mecenas en patreon como nivel intermedio
Mostrare como se hace desde Zorin Linux 16 de forma fácil.
Al hacer commit en netbeans nos salen los archivos que hemos modificado, entonces así sabremos la ruta en la columna de repository path, le damos copiar y lo pegamos en un excel
Creamos la formula para generar el comando por ejemplo para la primer linea ponemos la formula =”tar -cvzf archivos.tar ” & F3 y en la siguiente =” ” & F4 y arrastrando la columna en la esquina y automaticamente se genera el codigo
Para el primer renglón siempre quedara así
Para lo siguientes debe de quedar asiLo copiamos al editor de texto prederteminado en mi caso es gedit y le quitamos los espaciosAbrimos la terminal y nos posicionamos en el proyecto y pegamos el comandoSi todo salio bien saldrá algo similar a lo siguienteSi abrimos el archivo comprimido veremos que se agregando conservando sus rutas y de esa manera facilitando la actualización a otro sistema
Saludos espero que les sirva y no se olviden ser convertirse en mecenas en mi Patreon para obtener contenido exclusivo.
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.
Últimamente hemos estado transmitiendo vídeos de diferentes cursos y siempre es un dolor de cabeza editar y subir el resumen para ahorrarles tiempo, es decir quitar los silencios incómodos.
Para ello afortunadamente existe una aplicacion hecha en python que consume la libreria FFMPEG
Bien descargaremos la aplicación y veremos como usarla en Zorin Linux 16.1
Una vez descargada descomprimimos y abrimos la terminal nos posicionamos en la carpeta donde descomprimimos los archivos y corremos el siguiente comando para instalar todos los requerimientos que necesita el programa
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
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
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
Usamos cookies en nuestro sitio web para brindarle la experiencia más relevante recordando sus preferencias y visitas repetidas. Al hacer clic en "Aceptar", acepta el uso de TODAS las cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.