My first program developed for a company, ExcelFix (2/2) [ESP-ENG] | C#
¿Qué tal? Aquí estoy de nuevo para finalizar esta "serie de publicaciones", centradas en mi primer proyecto de programación hecho para una compañía.
En la primera parte me centré en la primera función, enfocada en ajustar los archivos Excel de consultas de movimientos bancarios, a un formato que facilite su legibilidad y manejo por parte de los trabajadores.
Para esta ocasión nos centramos en la segunda función, centrada en la validación de movimientos, pues, como bien mencionaba en la primera parte, la compañía para la que trabajé en este proyecto tiene un grupo de trabajadores que se encargan de validar todos los pagos recibidos.
De esta manera se pueda realizar la repartición de comisiones a los vendedores, sin problema alguno y exista un control más riguroso de los ingresos y egresos.
How's it going? Here I am again to finish this “series of posts”, focused on my first programming project done for a company.
In the first part I focused on the first function, focused on adjusting the Excel files of bank transactions queries, to a format that facilitates its readability and handling by workers.
This time we focus on the second function, focused on the validation of movements, because, as I mentioned in the first part, the company for which I worked on this project has a group of workers who are responsible for validating all payments received.
In this way, the distribution of commissions to salespeople can be carried out without any problem and there is a more rigorous control of income and expenses.
Antes de entrar a esta segunda función, me encargué de hacer un menú principal que agrupa ambas funciones y agrega una tercera enfocada en dar información sobre el programa a los usuarios, algo así como un FAQ.
Este menú principal mantiene la estética que he venido usando en la mayoría de mis programas, simple y con referencias al viejo sistema operativo Windows XP, por el color celeste base. Adicionalmente agregué algunos íconos para hacer más atractiva e intuitiva la interfaz. Debajo les dejaré el enlace a los íconos por si les interesa (la condición de uso es dejar los créditos del creador en donde los uses).
Before entering this second function, I took care of making a main menu that groups both functions and adds a third one focused on giving information about the program to the users, something like a FAQ.
This main menu maintains the aesthetics that I have been using in most of my programs, simple and with references to the old Windows XP operating system, by the light blue base color. Additionally I added some icons to make the interface more attractive and intuitive. Below I will leave the link to the icons in case you are interested (the condition of use is to leave the credits of the creator where you use them).
Question icons created by Dave Gandy - Flaticon
Paper icons created by Freepik - Flaticon
Magnifying glass icons created by Leremy - Flaticon
Guess icons created by Deylotus Creative Design - Flaticon
Question icons created by Freepik - Flaticon
Entrando de lleno con la función, esta se encarga de facilitar el proceso de validación de movimientos, pues para hacerlo, inicialmente se hacía todo con la función de búsqueda de Excel y posteriormente sustituyendo los datos manualmente en cada celda.
El software entonces se encarga de facilitar la búsqueda y sustitución. Puesto que ya no hace falta usar el comando de búsqueda sino que directamente se encarga de mostrar los movimientos en un dataGridView que cumplan con los criterios ingresados (monto y n° de referencia o bien solo uno de los dos).
También incluye dos campos para ingresar de una vez los números de factura y códigos de cliente de modo que ya no se debe sustituir esta información a mano, añade también la fecha actual (fecha de validación), y, además, rellena la fila con un color azul celeste para indicar que el movimiento está validado.
El filtro ignora los egresos, puesto que solo se validan ingresos. También cuenta con las validaciones mencionadas en la primera función para evitar errores al intentar manejar el programa con el archivo Excel objetivo abierto o bien sin el archivo adjunto (no teniendo acceso a la ruta).
Abajo les he dejado un ejemplo de uso, pero, como es lógico, modifiqué parte importante de la información por respeto a la privacidad de la compañía.
Como ya era de esperarse, tuve problemas con el formato de los datos, puesto que uno de los bancos entrega las fechas en un formato diferente, de modo que el proceso de lectura en el dataGridView se entorpeció con ese banco.
Esto lo solucioné incluyendo una validación en las funciones de búsqueda, que revisa si la celda fecha está en el formato correcto y, si no lo está, la trata como string para mostrarla en el dataGridView sin problemas.
Entering fully with the function, this is responsible for facilitating the process of validation of movements, because to do so, initially everything was done with the Excel search function and then replacing the data manually in each cell.
The software then takes care of facilitating the search and substitution. Since it is no longer necessary to use the search command, it directly displays the movements in a dataGridView that meet the criteria entered (amount and reference number or just one of the two).
It also includes two fields for entering invoice numbers and customer codes at once so that this information no longer has to be replaced by hand, it also adds the current date (validation date), and, in addition, it fills the row with a light blue color to indicate that the transaction is validated.
The filter ignores expenditures, since only revenues are validated. It also has the validations mentioned in the first function to avoid errors when trying to operate the program with the target Excel file open or without the attached file (not having access to the path).
Below I have left an example of use, but, as it is logical, I modified an important part of the information out of respect for the company's privacy.
As expected, I had problems with the format of the data, since one of the banks delivers the dates in a different format, so the reading process in the dataGridView was complicated with that bank.
I solved this by including a validation in the search functions, which checks if the date cell is in the correct format and, if it is not, treats it as a string to display it in the dataGridView without problems.
En cuanto a la interfaz "FAQ" no es más que una interfaz informativa, con respuestas a posibles problemas por uso inadecuado del programa, número de versión, fecha de implementación de la actualización e información de contacto.
Así pues, eso es todo lo que tengo que compartirles sobre ExcelFix, no antes sin dar las gracias a quien me acercó un poco más a C#, ingeniero Jhonatan, muchas gracias por ese regalo en forma de curso de C#, fue de gran ayuda para comprender mejor este lenguaje y que fuera una opción a elegir al momento de emprender este proyecto. Desde aquí le mando un saludo y de nuevo, gracias.
As for the “FAQ” interface, it is nothing more than an informative interface, with answers to possible problems due to improper use of the program, version number, date of implementation of the update and contact information.
So, that's all I have to share with you about ExcelFix, but not before thanking the person who brought me a little closer to C#, engineer Jhonatan, thank you very much for that gift in the form of a C# course, it was a great help to better understand this language and that it was an option to choose when undertaking this project. From here I send you a greeting and again, thank you.
Pues qué bien que estés aplicando tu conocimiento de esta manera útil y práctica. Es fascinante ese universo de la programación de software. Tu reseña del proceso lo hace parecer simple aunque en verdad es complejo y conlleva a muchas horas de trabajo arduo. Te felicito . Enhorabuena !! Todo el éxito para este nuevo proyecto
Muchísimas gracias @maiasun84, sí, la verdad toma tiempo cuando se trata de proyectos de este tipo, pero es satisfactorio cuando cumplen su propósito. Mucho éxito para ti también en lo que emprendas.
Abrazos de luz y adelante
Wow!
¡Me hiciste recordar cuando usaba el Windows XP!
Brutal! Ese si fue un buen sistema operativo, a pesar de sus contras, es de lo mejor que ha hecho Microsoft
!INDEED
That's very cool, best of luck hope everything goes smoothly.