Título: sumar list1 Publicado por: corlo en 3 Diciembre 2021, 00:44 am Hola soy colro
necesito sumar el total contado y el total tarjeta de credito consigo sumar el total del list1 pongo el codigo Código
Gracias Título: Re: sumar list1 Publicado por: Serapis en 4 Diciembre 2021, 16:49 pm Hay algunas discrepancias...
Primero los valores de precio y suma total admiten decimales, luego declarar a 'TotalContado' y 'TotalCredito' de tipo integer, limita la precisión del cálculo, es decir legalmente no se admitiría y comercialmente despidirían al programador... :silbar: Luego, estás sumando en base a un registro que has leído para una determinada factura (reg2), pero en realidad cada factura tiene su propio indicador. Es decir estás aplicando a toda la facturación del fichero el criterio de pago de un único registro, luego si ese registro fue 'pagado' al contado todo el listbox, sumará sus valores como si fueran pagos al contado (y pagos con tarjeta no sumará nada, luego 0), y viceversa..., si ese registro fuera pagado con tarjeta de crédito, todo el listado se suma como si fuera pagado con tarjeta de crédito (luego el pago al contado será 0). Puedes elegir entre leer e ir sumando del fichero o con lo que aparece en el listado. Si tiras del listado, debes leer cada línea, hacer el split, pero no a un string, mejor volcarlo a un registro... Nota que el orden de los campos, debe coincidir con el orden en que fueron serializados... para recordarlo, pongo aquí dicha función (si la modificaste, lógicamente debes equipararla (la función FromString) con los cambios que hiciste). Código
Igual que teníamos la función 'getMetodoPago, que traducía '0' ó '1' a un texto más descriptivo, ahora necesitamos la función inversa: Código Lógicamente si dejaste como texto "0" ó "1", entonces bastaría una conversión: .MetodoDePago = cbyte(campos(5)) en vez de la llamada a esta función Ahora la suma debe modificar la lógica... Reg2 es obtenido con cada línea, luego el valor 'metododepago' es actualizado justo con cada factura y por tanto se suma al total que procede... Código
Por último, nota que en función de la complejidad de cada línea puede ser preferible leer del fichero de nuevo cada registro, o del listado dando formato a cada campo... ...como operabas desde el listado he modificado desde ahí. Si un fichero fuera enormemente grande, lo más probable es que un listado contuviera solo una cantidad predefinida máxima de facturas (no todas las que un fichero tuviere, imagina 100.000 ó 1 millón), por lo que uno debe decidir si lo que suma es el total del fichero o solo el total del contenido en el listado. Piensa además que un listado puede estar filtrado (no solo por la cantidad de líneas que deba contener), sino por cosas como un rango de fecha, por ejemplo 'todas las compras de diciembre de 2021'... en fin es una lógica que hay que tener presente, no siempre sumar todo lo que el fichero contiene, si no sujeto a determinados criterios de filtro. Título: Re: sumar list1 Publicado por: corlo en 4 Diciembre 2021, 18:51 pm Hola Serapis
lo adaptado y funciona perfectamente ahora si que consigo sumar el contado y el tageta de credito tema solucionado Muchas Gracias |