More about ExcelFix? Bug fixes and improvements [ESP-ENG] | C#
¿Qué tal todo? Hoy he vuelto con más... ¿ExcelFix? Pues la verdad es que sí, aunque no esperaba hacer una tercer publicación.
Eso por mi parte fue un fallo, pues, el programa no ha está estancado en cuanto a potencial de desarrollo, se pueden seguir añadiendo funciones y mientras el cliente lo pida, el pago sea aceptable y las funciones que se soliciten no vayan contra mis principios, pues, el código seguirá fluyendo.
Para esta ocasión, vengo a hablar más bien de correcciones y features, en concreto 4 que son las más importantes:
Nueva validación: Se pidió que no fuese posible volver a actualizar movimientos ya validados.
Mejoras visuales: ahora los movimientos validados aparecen con un sombreado en su fila correspondiente, en el dataGridView de la vista de "Validar movimientos".
Correcciones en el sombreado en la base de datos: Se corrigió un detalle en las dos primeras celdas, que, ocasionalmente aparecían sin sus bordes (tema de formato en las variables ICell).
Búsqueda: Ahora la búsqueda es más flexible en cuanto al número de referencia, ya no hace falta que se ingresen todos y que sea exactamente igual para que aparezca, sino que, a partir del número de digitos ingresados, se comparan con los últimos digitos del número de referencia buscado, pues los vendedores mayormente ingresan entre 6 y 4 dígitos del número de referencia (los últimos).
Hey, how's it going? I'm back today with more... ExcelFix? Well, yes, although I didn't expect to make a third release.
That on my part was a failure, because the program has not stagnated in terms of development potential, you can continue adding features and as long as the customer asks for it, the payment is acceptable and the features requested do not go against my principles, well, the code will continue to flow.
For this occasion, I come to talk more about corrections and features, specifically 4 that are the most important:
New validation: It was requested that it was no longer possible to update movements already validated.
Visual improvements: now the validated movements appear with a shading in their corresponding row, in the dataGridView of the "Validate movements" view.Corrections in the shading in the database: A detail was corrected in the first two cells, which occasionally appeared without their borders (formatting issue in ICell variables).
Search: Now the search is more flexible as regards the reference number, it is no longer necessary to enter all of them and for it to be exactly the same for it to appear, but rather, based on the number of digits entered, they are compared with the last digits of the reference number searched, since sellers mostly enter between 6 and 4 digits of the reference number (the last digits).
En cuanto a la nueva validación, se solicitó por cuando hubo un pequeño error por parte de uno de los usuarios, que no leyó que la fila ya estaba validada, y, en consecuencia, la volvió a validar. Esto causó cierta incongruencia entre los registros que al hacerse notar, se tradujo en una llamada con motivo de añadir esta nueva validación.
La misma se centra en revisar dos parámetros, el primero, si la fila está resaltada en la base de datos, y el segundo, si la columna "fecha de validación", está llena con algún dato, de esta manera, la validación es más robusta.
Si se intenta actualizar un registro ya validado, salta una ventana de alerta advirtiendo del error en cuestión.
El parámetro de si la fila estaba resaltada o no fue problemático, pues debía considerar si estaban "sin relleno", pero también si se habían rellenado con color blanco. Esto me complicó un poco, pues a veces lanzaba la validación cuando no debía.
Ahora bien, en cuanto a la mejora de la búsqueda (aplica con monto y referencia o bien, solo con la referencia, solo con monto no, pues el monto si debe ser exactamente el mismo) tuve que cambiar el filtro de modo que, con la función "EndsWith", se realice la comparación del número de referencia.
As for the new validation, it was requested when there was a small error on the part of one of the users, who did not read that the row was already validated, and consequently validated it again. This caused some incongruence between the records that, when noticed, resulted in a call to add this new validation.
It focuses on checking two parameters, the first one, if the row is highlighted in the database, and the second one, if the column "validation date" is filled with any data, thus, the validation is more robust.
If an attempt is made to update an already validated record, an alert window pops up warning of the error in question.
The parameter of whether the row was highlighted or not was problematic, as I had to consider if they were "unfilled", but also if they were filled with white color. This complicated me a bit, as it sometimes launched the validation when it should not.
Now, regarding the improvement of the search (applies with amount and reference or only with the reference, not only with amount, because the amount must be exactly the same) I had to change the filter so that, with the "EndsWith" function, the comparison of the reference number is performed.
En cuanto al sombreado, tuve que cambiar la forma en que trataba la info de las celdas de fecha y luego completar el estandarizado del proceso de copia y modificación de relleno de la celda (en estas dos celdas lo tenía distinto).
Esa diferencia la deje, porque en su momento no lograba que se sombrearan sin arruinar el formato de fecha.
En cuanto al sombreado de filas en el dataGridView, me basé en que revisara la columna de fecha de validación, de modo que si tiene un valor ingresado, la sombree, pues, esto indica que ya está validada.
Respecto a posibles mejoras a futuro, el tema de un cambio de nombre está sobre la mesa, pues dado que ahora no solo ajusta formatos sino que también ayuda en el proceso de validación, se me ha pedido considerar otros nombres que abarquen las funcionalidades del programa de mejor manera.
Otra cosa que podría venir en el futuro es un login, para ello debo practicar el uso de bases de datos con .NET (para los usuarios y contraseñas) y aspectos de seguridad informática, para proteger mejor los datos.
El tema de que la "base de datos principal" sean archivos Excel no me agrada del todo por lo fácil por la vulnerabilidad que esto representa, pero, cambiar a una base de datos más sólida, quitaría la posibilidad de trabajar "a mano" los movimientos, y esto por ahora no es negociable.
As for the shading, I had to change the way I treated the date cell info and then complete the standardized copy and modify cell fill process (in these two cells I had it different).
I left that difference, because at the time I couldn't get them to shade without ruining the date formatting.
As for the shading of rows in the dataGridView, I based it on checking the validation date column, so that if it has a value entered, it shades it, because this indicates that it is already validated.
Regarding possible future improvements, the issue of a name change is on the table, since it now not only adjusts formats but also helps in the validation process, I have been asked to consider other names that cover the functionality of the program in a better way.
Another thing that could come in the future is a login, for this I must practice the use of databases with .NET (for users and passwords) and aspects of computer security, to better protect the data.
The theme that the "main database" are Excel files does not please me at all because of the vulnerability that this represents, but, changing to a more solid database, would remove the possibility of working "by hand" the movements, and this for now is not negotiable.
De eso se trata. Ir haciendo mejoras desde la praxis mismas para que el resultado alcance el nivel que merece tanto esfuerzo. La calidad y flexibilidad del producto hablarán de tu trabajo. Así que paso a paso. Felicitaciones por lo alcanzado hasta aquí
Fantástico trabajo.
¡Siempre habrá algo que mejorar pero lo importante es que vas lográndolo!
¡Felicidades!
Coding is something that I will never understand because I find it complicated, salute to you for working so hard with it. Anyway, best of luck. 🌷