Noticias:

¿Quieres formar parte de Bomber Code? Entonces entra a este tema: Postulaciones al Staff

Menú principal

Mensajes recientes

#1
Lenguajes de Programación / Re:Triggers para acualizar la ...
Último mensaje por Rock Lee - 27 Noviembre de 2022, 10:49
No estoy seguro que lenguaje usas o que puntos debes cumplir exactamente pero una forma hacerlo es insetar un control con una tabla temporal (no es la mejor practica pero funciona) o donde poder guardar el valor, y que en la siguente lectura vuelta a 0. Sino generar una tabla de control (si no molesta) donde vas metiendo los valores de referencia aparte te sirve para comprobar realmente el stock a modo de control interno...


Saludos Familia!
#2
Lenguajes de Programación / Triggers para acualizar la tab...
Último mensaje por pabje - 25 Noviembre de 2022, 15:48

Sea el siguiente enunciado:

https://drive.google.com/file/d/1-OcsagKHPeiSyptQ2dRVbPEmdIVe-rUV/view?usp=share_link

Mi pregunta especifica es para el tercer punto que es la operacion de Update. Como obtengo la cantidad anterior si estoy usando un triger After con la tabla factura_det(faturas detalles)?

Cuando ocurre una acutalizacion del campo cantidad de un registro de factura_det, se ejecutará despues(after)y no antes la sentencia Sql que esta dentro del trigger, por lo que el campo cantidad de facturas_det va a estar ya cambiado, y lo mismo la tabla insertad que contiene datos ya actualizados(ambas no van a tener la cantidad anterior).

Como puedo recuperar esa cantidad anterior para actualizar correctamente la tabla Current_Stock y asi hacer bien el tercer punto del Update del enunciado.

Paso lo que he hecho hasta ahora de código. Hice los dos puntos la operacion Insert y Delete, pero me falta el tercer punto Update en donde tengo la duda. Si me pueden ayudar. Desde ya gracias.

CREATE TABLE CURRENT_STOCK (
PRODUCTO_COD INT PRIMARY KEY,
CANTIDAD_ACTUAL INT,
CREATEDUPDATE DATETIME NOT NULL)

CREATE TRIGGER InsersUpDele ON facturasDet 
	AFTER INSERT, UPDATE, DELETE AS 


IF SELECT (COUNT (1) FROM DELETED) > 0
	BEGIN 
		SET @ACCION = 'DELETED'
	END
IF SELECT (COUNT (1) FROM INSERTED) > 0
	BEGIN 
		SET @ACCION = 'INSERTED'
	END


BEGIN
	--INSERCION
	IF @ACCION = 'INSERTED'
		BEGIN
		IF NOT exists (select * from inserted A  inner join CURRENT_STOCK B ON B.PRODUCTO_COD = @PRODUCTO_COD  )		

			INSERT INTO CURRENT_STOCK(PRODUCTO_COD,CANTIDAD_ACTUAL, FECHA) VALUE(SELECT PRODUCTO_ COD , "0" + CANTIDAD, FECHA_EMISION FROM INSERTED I INNER JOIN FACTURAS F  ON I.FACTURA_NUM = F.FACTURA_NUM)
 		ELSE
			UPDATE CURRENT_STOCK SET  C.CANTIDAD_ACUAL = C.CANTIDAD_ACUAL- I.CANTIDAD, C.FECHA= F.FECHA_EMISION FROM CURRENT_STOCK C INNER JOIN 
                        INSERTED I ON C.PRODUCTO_COD = I.PRODUCTO_COD INNER JOIN FACTURAS F ON I.FACTURA_NUM = F.FACTURA_NUM)
                        WHERRE C. PRODUCTO_COD = I.PRODUCTO_COD
	--DELETE 
	ELSE
	       BEGIN
	       UPDATE CURRENT_STOCK SET C.CANTIDAD_ACTUAL =  C.ANTIDAD_ACTUAL + I.CANTIDAD, CREATEDUPDATE = F.FECHA EMISION FROM  CURRENT_STOCK C INNER JOIN
               INSERTED I ON C.PRODUCTO_COD = I.PRODUCTO_COD INNER JOIN FACTURAS F ON I.FACTURA_NUM = F.FACTURA_NUM)
               WHERE C.PRODUCTO_COD = I.PRODUCTO_COD
	       END
	END
 
	--UPDATE
#3
Programación Web / Re:Bucle for dentro de un sele...
Último mensaje por Rock Lee - 24 Noviembre de 2022, 23:14
Bueno primero el tema de identacion puede ser el mismo error en si, aunque hacerlo todo junto puede ser tu problema ¿probaste hacerlo funcion y llamarlo pasando un unico valor? para ir descartanto errores por las reglas del tipo de lenguaje usado...


Saludos Familia!
#4
Programación Web / Bucle for dentro de un select
Último mensaje por miriambc - 24 Noviembre de 2022, 11:25
Hola.

Necesito meter un for que tengo hecho dentro de un select:

//Consulta a la API para obtener los tipos de recetas
//Forma de atacar al servicio REST
let xmlHttp = new XMLHttpRequest();
xmlHttp.open(
  "GET",
  "http://localhost/recetarioappweb/sistema/API/ingredientes.php",
  false
); // false for synchronous request
xmlHttp.send(null);
//console.log(xmlHttp.responseText);
 
//Convertimos en objeto
let resultadoIngredientes = JSON.parse(xmlHttp.responseText);
 
let html = "<label>Seleccione uno o varios ingredientes: </label> <br><br>";
 
for (let i = 0; i < resultadoIngredientes.length; i++) {
  html += `<div class='form-check form-check-inline'>
    <input class='form-check-input' type='checkbox' value='${resultadoIngredientes[i].id}' id='inlineCheckbox1' name='ingredientes[]'>
    <label class='form-check-label' for='inlineCheckbox1'>
      ${resultadoIngredientes[i].nombre}
    </label>
  </div>`;
}
 
document.getElementById("ingredientes").innerHTML += html;

Ahora los ingredientes me salen como en la captura.

Pero necesito mostrar los ingredientes en un select en lugar de que aparezcan checkbox y al lado un input de texto libre para la cantidad. Además también necesito poner un botón añadir para ir añadiendo más ingredientes.

Si le doy al botón me mostrará otro select con otro input al lado para la cantidad.

La idea es que salga algo como el adjunto posible vista.

He intentado mil formas pero me da error, ¿alguien me puede ayuda?

Había pensado algo así pero no consigo montarlo según mi código:

<?php
!empty($_POST) && var_dump($_POST);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>Crear/Editar receta</h1>
<form method="post">
    Nombre: <input name="nombre_receta"><br />
    (Otros campos de la receta)
    <h2>Añadir ingredientes:</h2>
    <button id="add_ingrediente">Añadir</button>
    <div id="form_ingredientes">
    </div>
    <div><input type="submit" value="Enviar"></div>
</form>
<script>
    let cont = 0;
    document.querySelector('#add_ingrediente').addEventListener('click', function (event) {
        event.preventDefault();
        text = '<div>\
                    <div style="display: inline">\
                    <select name="ingredientes['+cont+'][\'id_ingrediente\']" id="">\
                        <option value="">Selecciona ingrediente</option>\
                        <option value="1">Leche</option>\
                        <option value="2">Huevo</option>\
                        <option value="3">Arroz</option>\
                    </select>\
                    </div>\
                    <div style="display: inline">\
                        <input name="ingredientes['+cont+'][\'cantidad\']" type="text">\
                    </div>\
                </div>';
        document.querySelector('#form_ingredientes').insertAdjacentHTML("beforeend", text);
        cont++;
    });
</script>
</body>
</html>






#5
Soporte SMF en Español / Lanzamiento de SMF 2.1.3
Último mensaje por Rock Lee - 21 Noviembre de 2022, 20:46
Queridos usuarios,

Simple Machines se complace en anunciar un nuevo parche para la línea 2.1.x de SMF, que lleva el número de versión a 2.1.3.

Cambios notables en SMF 2.1.3

  • Mejoras en la compatibilidad con Unicode: la compatibilidad con Unicode de SMF ahora coincide con el último estándar publicado, Unicode 15, publicado en septiembre de 2022 (https://unicode.org/versions/Unicode15.0.0/). Mantenerse actualizado es importante para el uso adecuado de mayúsculas en los alfabetos, y también con la detección de caracteres no imprimibles.
  • Mejora de archivos adjuntos: respeta las limitaciones de archivos adjuntos especificadas por SMF. SMF estaba restringiendo la carga de archivos adjuntos en función de la configuración de php subyacente; sin embargo, dado el enfoque .js utilizado, esta limitación no se aplicaba.
  • Mejora de archivos adjuntos: elimina automáticamente las etiquetas img insertadas cuando se eliminen los archivos adjuntos correspondientes.
  • Mejora de notificaciones: limpia las notificaciones no leídas después de las aprobaciones posteriores, después de cerrar los informes de moderación y después de los "me gusta".
  • Mejora de notificaciones: limpia las alertas no leídas, creadas por mensajes o eliminaciones de temas o cambios de permisos.
  • Mejora de notificaciones: limpia las alertas de citas y menciones no leídas si se eliminaron durante una edición posterior.
  • Mejoras del actualizador: emite advertencias si no se encuentran los directorios de archivos adjuntos o avatares. Además, se agregó una nueva opción para permitir que el usuario vuelva a ejecutar la conversión de archivos adjuntos.
  • Soporte de zona horaria mejorado: SMF ahora admite todas las zonas horarias actuales (https://www.iana.org/time-zones).
  • Error de archivos adjuntos: se corrigió un error por el que los archivos adjuntos podían desaparecer con el mensaje "No es una ID de archivo adjunto válido".
  • Error de notificación: se corrigió un error en el que el recuento de alertas que se mostraba era incorrecto.
  • Error de correo electrónico: se corrigió un error por el cual los correos electrónicos con un tipo de correo PHP no funcionaban correctamente en PHP 8.x en entornos Linux. (SMTP estaba bien).
  • Compatibilidad con Postgresql: se corrigieron numerosos problemas que causaban que las instalaciones de mods se comportaran de manera diferente en Postgresql y MySQL. Ahora es mucho más fácil desarrollar un mod que admita ambos.
  • Se corrigió un error en el que PHP 8.1 estaba siendo quisquilloso y no le gustaban las conversiones implícitas de flotante a int.
  • Se corrigió un error por el que sql_mode no se configuraba correctamente en MySQL 8.x. Esto daría como resultado un comportamiento de consulta de base de datos ligeramente diferente en MySQL 5.x y MySQL 8.x.
  • Se corrigió un error en el que explícitamente "No seguir" un tema hacía que apareciera en su lista de no leídos y no desapareciera...
  • Soporte mejorado para espacios en URL... No según ningún RFC o especificación, pero SMF los admitía en 2.0, por lo que el soporte debería haberse trasladado a 2.1...
  • Se corrigió un error por el que aparecían errores en el registro de errores de SMF cuando los buscadores intentaban acceder a los avatares ahora movidos. Durante la migración 2.1, los avatares y los archivos adjuntos pueden reubicarse; los rastreadores externos que hacen referencia a enlaces obsoletos no deberían generar errores SMF.
  • Se corrigió un error en la sintaxis de Postgresql al eliminar índices de texto completo.
  • Se corrigió un error en el que aparecía en el registro "Intentando acceder a desplazamiento de la matriz de valor tipo nulo".
  • Se corrigió un error por el cual el editor rompia enlaces si se copiaban y pegaban.
  • Se corrigió un error por el cual los idiomas de derecha a izquierda no se podían especificar y mostrar correctamente.
  • Se corrigió un error por el cual la clasificación de MPs no funcionaba correctamente.
  • Se corrigió un error por el cual la configuración de una URL BBC afectaba erróneamente el comportamiento de la firma y el tema..
  • Se corrigió un error por el cual los usuarios ocultos también estaban ocultos para los administradores...
  • Se corrigió un error por el que se usaba el ícono incorrecto para los enlaces de perfil en los mensajes privados.
  • Se corrigió un error por el cual robot_no_index podría configurarse incorrectamente, lo que podría afectar el SEO.
  • Se corrigió un error con los encabezados CORS que no se creaban correctamente.
  • Se corrigió un error por el que los temas personalizados podían cargar estilos vacíos.
  • Se corrigió un error por el que los permisos no se conservaban correctamente cuando se movían los foros. Los foros movidos podrían desaparecer...
  • Se corrigió un error con el uso de comodines en el seguimiento de IP.
  • Se corrigieron varios errores con el almacenamiento en caché: mejores informes del motor de caché que no se carga y mejor manejo cuando no se obtiene un resultado en la información almacenada en caché.
  • Ediciones mejoradas en la información del perfil, por ejemplo, URL del sitio web demasiado largas.
  • Se corrigió un error por el cual los números de página en listas largas podían mostrar decimales...
  • Se mejoró el mensaje cuando faltaban preguntas de verificación.
  • Soporte mejorado para contraseñas para usuarios convertidos de MyBB.
  • Se corrigió un error de actualización donde las migraciones 1.1 podrían fallar con muy pocos argumentos para funcionar con smf_mysql_insert_id().
  • Numerosas mejoras menores y ajustes en el diseño.


Consulte la lista de cambios en GitHub para obtener más información.

Cómo actualizar a 2.1.3

Si actualmente está utilizando la versión 2.1.2, puede realizar la actualización mediante el Administrador de paquetes (Centro de administración ► Administrador de paquetes). Allí debería ver una notificación sobre 2.1.2, incluido un enlace "haga clic aquí para instalar". Si no ve esta notificación en el Administrador de paquetes, ejecute "Obtener archivos de máquinas simples" desde la página Tareas programadas (Centro de administración ► Mantenimiento ► Tareas programadas) y vuelva a intentarlo.

Si actualmente está usando la versión 2.1.0 - 2.1.1, puede usar el proceso descrito anteriormente para aplicar los parches de actualización anteriores sucesivamente hasta llegar a la versión 2.1.3.

Si actualmente está utilizando cualquier versión anterior de SMF (incluido SMF 1.x, SMF 2.0.x o uno de los SMF 2.1 Betas o RC), puede actualizar directamente a 2.1.3 desde cualquier versión que está utilizando actualmente utilizando el paquete "Large upgrade" de la página de descargas. Tenga en cuenta que usar este método de actualización requerirá que reinstale cualquier personalización que haya agregado a su foro, por lo que si está ejecutando SMF 2.1.0 o superior, se recomienda que aplique los parches sucesivos en lugar de usar la actualización grande.

Si tiene problemas para descargar el parche desde el panel de administración, puede descargar el paquete del parche desde la página actualizaciones del administrador de paquetes e instalarlo. a través del Administrador de paquetes, como lo haría con cualquier otro paquete de modificación.

Consulte el manual en línea para obtener más detalles sobre los parches y las actualizaciones.


Finalmente, como siempre, por favor no use este tema para solicitudes de soporte. Recibirá una respuesta mucho más rápida y mejor al publicar en el foro de soporte en Español.

¡Gracias por usar SMF!

Saludos,
Simple Machines

Tema Original ► ► ► SMF 2.1.3 Released
#6
Software / Re:word
Último mensaje por Rock Lee - 05 Noviembre de 2022, 22:48
Parece algo tonto pero lo estas tratando como administador ¿cierto? ademas ¿te fijaste si el archivo no esta bloqueado? capas por eso no te deja por que nunca me paso algo similar.


Saludos Familia!
#7
Software / seguir con word
Último mensaje por jservian52 - 05 Noviembre de 2022, 02:32
tengo el mismo problema aparece en horizontal y no deja cambiar a vertical  tengo windows 7   y word 2010 no hay forma
a ver si me hechais un cable un saludo
#8
Software / Re:word
Último mensaje por Rock Lee - 04 Noviembre de 2022, 23:34
¿Que resolución tenes? ¿Que versión de Office tenes? Que contenido queres ver exactamente?


Saludos Familia!
#9
Lenguajes de Programación / Re:Error en JS al devolver por...
Último mensaje por Rock Lee - 04 Noviembre de 2022, 23:33
Bueno es largo pero si entra todo no tengo problemas, se agrego las etiqueta de código para enteder algo mas. Ahora me toca preguntar ¿que lenguaje estas usando? parece algo de java pero no tengo claro tanto... lo ideal seria hacer una comprobacion en mostrarDiscosCargados separando haciendo un control antes de sacarlo por eso te lo muestra junto, seria poner una condicional diviendolo despues de procesarlo sino antes pero no se ue tanto podes modificar el código. Esto es algo al azar por no distingo bien que lenguajes (es tarde y tengo muchos códigos dando vuelta en mi cabeza, espero sepas entender) pero siguendo la norma seria "onclick="changeColor('red')" junto a la function:

changeColor(newColor) {
  elem.style.color = newColor;
}


Saludos Familia!
#10
Software / Re:word
Último mensaje por Príncipe_Azul - 04 Noviembre de 2022, 12:19
Hola, podrías dejarnos una captura de pantalla?, que sistema operativo tenes y que versión de Word tenes?.


Saludos