FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Generar números de serie consecutivos para productos
Buenas tardes, estoy refinando un programa de compras, ventas y almacenes y necesito ayuda con algo; se trata de que al vender/comprar un producto determinado al por mayor se debe registrar los numeros de serie de los productos uno por uno, siendo que el contenido de una cada de dichos productos tiene las series en secuencia, es muy moroso pasar por el escaner los prosductos.
para esto se me ocurrio (obviamente) hacer un menu meno flotante (TPopupmenu) que entre otras opciones tiene la de "Autocompletar Serie" hasta ahi todo ok, la serie se almacena en un campo varchar(30) (Ojo yo no hice el sistema lo mejoro) , pero cuando vi los tipos de series que manejan dentro de la tienda vi que habian series: NUMERICAS Y ALFANUMERICAS (LO PERO CON TERMINACION EN LETRAS - ESAS SON LAS PROBLEMATICAS) Se me ocurrio (y esta es mi duda) si puedo convetir el "nro de serie" que es string a binario y de ahi sumarle en un bucle "1" para obtener el siguiente codigo en binario convertirlo nuevamente a string y almacenarlo en la tabla y asi autocompletar las series consecutivas. ¿Es esto factible? (soy neofito en manejo de binario) Cita:
si lo fuera ¿Como convierto un string a binario y lo regreso a string despues de sumarle 1? Si no lo fuera ¿Que sugerencia me harian? Mil gracias de antemano
__________________
Saludos desde Sucre - Bolivia "Si te lo puedes imaginar lo puedes resolver" Pyriel |
#2
|
||||
|
||||
La solución que piensas es de lo mas raro que he escuchado hoy!
Lo triste es que escuchamos ideas mas raras todo el tiempo ----- La solución a los problemas no es buscando evadirlo. Es preguntándose: 1- Cual es el *verdadero* problema 2- Es posible *eliminar* la necesidad de tener que "solucionarlo"? (Como el chiste: Me duele cuando me toco la nariz... entonces deja de tocarte la nariz!) Si no tienes claro el problema, terminaras creando una solución ingeniosa para un problema distinto. ----- El problema es este: Porque las series son asi. Pueden cambiarse a algo mas simple? Estan usando un estandar de codigo de barras? Como sea, debes entender el porque asi son las series, y como es su funcionamiento. Solo entonces podras ver como resolver el problema. Y aunque parece muy obvio el que "generar los números" sea una solución, preguntate: PORQUE es un problema usar la herramienta de lector de barras? PORQUE es mejor hacerlo como dices? Acaso hay otro problema de fondo? Ponle animo a hacer muchas preguntas cuando surge un problema. Aun cuando probablemente llegas a la misma conclusion que haciendolo mas ingenuamente, el resultado sera MUCHO mas efectivo. ---- P.D: 1- Si se puede convertir cadenas a binarios y viceversa en Delphi. Busca en google como 2- No, esa no es la forma de hacer lo que buscas, pero es claro que tampoco entiendes el tema de los binarios. Hay varios videos en youtube muy esclarecedores al respecto. Ademas, es SUPER importante que aprendas como se codifica/decodifica la informacion (osea: Pasar de un formato a otro). Pon eso en tu lista de cosas por reforzar
__________________
El malabarista. |
#3
|
|||
|
|||
Hola ronalg,
una opcion es que le pidas a tu proveedore que te mande un listado de los numeros de serie que os estan entregando, ya que ellos supuestamente deberian de tenerlos registrados. Y solo los importas. Por los general los numeros de serie contienen algun tipo de algoritmo, como es el codigo EAN, si te lo quieres hacer comodo sin mucha complicacion, asi al menos sabes como se compone el numero y si quieres le agregas dos numeros para verificar la integridad del numero. AÑO MES DIA NUMEROPRODUCTO SERIE AAAAMMDDPPPPPPPPPSSSSS 2016 05 27 000001234 0001 |
#4
|
|||
|
|||
Generacion Series
Podrias compartir un grupo de series para buscar una solucion al problema?
AF005t9843A AF005t9843B AF005t9843C ... AF005t9843Z Si llega a Z sigue la series asi? AF005t9844A AF005t9844B .. Porque si es asi una posible soluccion seria reemplazar el ultimo caracter posicion 11 con la siguiente letra que seria por decir la C y asi sucesivamente ahora las letras tienen un orden conocido ejemplo A=1 B=2, C=3 ... Z +/- 23 lo que es una sucesion Espero que te pueda ayudar en algo |
#5
|
||||
|
||||
Podrías octener el código ascii de cada carácter para luego llevarlo a binario de largo fijo, y luego sumar un 1, lo cual no garantiza que sea un serie. Por ejemplo si el íntimo caracter en una A sabemos que su valor ascii 65 si le sumas 1 te daría 66 al llevarlo nuevamente a caracter te daria una B, pero que pasa si es una Z al sumarle uno te daria una cosa diferente a lo que esperas, igual si el un numero. Te recomiendo que veas como se genera las series.
Enviado desde mi SM-G900H mediante Tapatalk
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#6
|
|||
|
|||
Gracias por responder
Aclaro un poco el problema:
Al vender un producto ocurre que piden una venta de 8 unidades de la caja de 10, estas 8 unidades tienen números de series consecutivos (del cual el formato es irrelevante pues existen productos de todo tipo), por decirles el primer nro de serie es 462175483 y obviamente los otros 7 serán 462175484 - 462175485 - ......... - 4621754890, en "ventana de registro de la venta" (se ha pedido = orden del jefe de sistemas) que se coloque un botón o un menú emergente o lo que sea que haga el trabajo de "Auto completar Series", esto sería que el usuario escanea o escribe el primer nro de serie y al presionar el sugerido botón las otras series se generen automáticamente (y obvio se inserten en el listado de series que salen del sistema); este es el problema. Cuando las series tienen terminación numérica no hay problema pues aislamos la parte numérica de la parte alfabética incremento la parte numérica y volvemos a juntar ambas partes. Cuando la terminación es alfanumérica por decirles ASDF653214T; el auto completar las 8 series daría ASDF653214U - ASDF653214V - ASDF653214W - ASDF653214X - ASDF653214Y - ASDF653214Z - ASDF653215A - ASDF653215B, el asunto se complica si existieran series con los dos últimos elementos literales. Por ahora encontré una solución (gracias rastafarey y ASAPLTDA combinare sus dos sugerencias) que es convertir a binario la serie (o talvez el último dígito) y sumar uno al ultimo bit, así garantizo la sucesión pero cuando llegamos a la "Z" o a la "z" no regresa a la letra "A"; salta a "[" o a "{" con lo cual debo controlar solo el digito que cambia (en eso estoy) que el siguiente código salte a "A" o a "a". Posiblemte me este complicando mucho y exista una forma de resolver de “forma administrativa” el problema pero bueno los jefes no siempre entiende, algunos solo saben pedir y dar fechas limites a pesar de que uno dé razones muy lógicas (muy personalmente me parece que deberían escanear la serie producto por producto, incluso para verificar, por seguridad, las series). Mil gracias por la ayuda, cuando termine la función la publicare por si a alguien le puede ser útil.
__________________
Saludos desde Sucre - Bolivia "Si te lo puedes imaginar lo puedes resolver" Pyriel |
#7
|
||||
|
||||
Estas complicando mucho el tema, y es muy simple.
Como lo haces a mano? Manualmente? En tu mente?. De hecho, te doy una pista mejor: Como cuentas con los dedos mas de 10? Usas un acumulador y *repites todo desde el principio*. Es muy simple, pon las letras en una lista: a.b.c..... Arrancas del inicio, brincas +1 y al llegar al final, ACUMULAS y reinicias otra vez. No tienes que hacer cosas raras ni validar que salgas del rango, porque tienes la lista, es conocida y finita y facil de generar! P.D: Y recuerda que delphi tiene el tipo de datos perfecto: http://www.delphibasics.co.uk/RTL.asp?Name=Set
__________________
El malabarista. |
#8
|
|||
|
|||
No debí llamarle "generar series" debí llamarlo "auto completar series"
MIL GRACIAS YA LO RESOLVÍ, AHÍ LES VA POR SI A ALGUIEN LE SIRVE.
FALTA DEPURAR ALGUNAS COSAS PERO FUNCIONA
__________________
Saludos desde Sucre - Bolivia "Si te lo puedes imaginar lo puedes resolver" Pyriel Última edición por ronalg fecha: 01-06-2016 a las 22:57:13. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear un Triger para Generar Número de Serie en MS Sql Server Express 2008 | hondaalberto | MS SQL Server | 8 | 15-08-2012 16:44:01 |
Actualizar 500 campos con numeros consecutivos | Camilo | SQL | 2 | 19-09-2007 21:06:07 |
no me actualiza numeros consecutivos | Camilo | SQL | 3 | 03-09-2007 13:25:56 |
Numeros de Recibo Consecutivos | Camilo | Conexión con bases de datos | 6 | 03-08-2007 09:46:01 |
Bloques De Numeros Consecutivos | dany2006 | C++ Builder | 5 | 15-11-2006 21:06:16 |
|