PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Générer un code RMA
Générer un code RMA
Iniciado por bob06800, 18,dic. 2019 08:43 - 6 respuestas
Miembro registrado
55 mensajes
Publicado el 18,diciembre 2019 - 08:43
Bonjour,

Je galère à générer un code RMA automatiquement, voici à quoi doit ressembler mon numéro RMA:

191218-001
le 19 correspond à l'année en cours
le 12 correspond au mois en cours
le 18 correspond au jour en cours
et le 001 correspond au numéro de RMA crée le jour même

par exemple si je suis au RMA 191218-013, demain si je crée un nouveau RMA le 1er RMA crée dois être: 191219-001
Si quelqu'un à une idée je suis preneur

Merci d'avance pour vos conseil
Miembro registrado
1.002 mensajes
Publicado el 18,diciembre 2019 - 08:59
Bonjour

MonCodeRMA est une chaîne ANSI = DateVersChaîne(DateSys(),"AAMMJJ") + "-001"
MoncodeRMA = ChaîneIncrémente(MoncodeRMA)


Jordan
Miembro registrado
79 mensajes
Publicado el 18,diciembre 2019 - 09:01
Bonjour

Pour la date :
DateVersChaîne(DateSys(),"AAMMJJ")

Pour le folio, j’essaierai ceci, une idée parmi d'autres :
Stockage du dernier folio utilisé dans un fichier ini, ou encore dans une BD,
avec la date de la dernière utilisation.
A l'usage :
1 - Je récupère la date et le folio
2 - Si la date stockée est égale à la date du jour, je fais folio + 1 et je modifie le folio dans le fichier ini ou la BD
sinon, je remet le folio à 1 et je le modifie dans le fichier ainsi que la nouvelle date.

Reste à mettre en forme le folio (001, 010, 100, etc.) et enfin le RMA : AAMMJJ-folio

Bon dèv.
Miembro registrado
55 mensajes
Publicado el 18,diciembre 2019 - 09:03
Merci beaucoup pour votre aide et vos idées, je vais tester tout ça :)
Mensaje modificado, 18,diciembre 2019 - 09:05
Miembro registrado
55 mensajes
Publicado el 18,diciembre 2019 - 10:20
Jordan, ton code fonctionne parfaitement bien quand je ne relie pas mon champ à une rubrique (hfsql)
Dès que je le relie à une rubrique il ne génère plus le RMA automatiquement
Voici mon code dans l'initialisation de mon champ:

MonCodeRMA est une chaîne ANSI = DateVersChaîne(DateSys(),"AAMMJJ") + "-001"
MonCodeRMA = ChaîneIncrémente(MonCodeRMA)

SAI_Num_RMA =MonCodeRMA

FichierVersEcran()

Merci
Miembro registrado
953 mensajes
Publicado el 18,diciembre 2019 - 14:07
bonjour,

dans votre code vous initialisez votre champ, qui apparemment est liée à votre fichier Hyper File, puis avec la fonction FichierVersEcran() vous demandez à windev de prendre les informations de votre base pour mettre à jour votre champ ....


ce qui fait que vous perdez ce que vous venez de faire...

soit vous initialiser votre rubrique HyperFile avec votre code puis vous faites un FichierVersEcran()
soit vous faites un fichierversecran() puis vous reinitialisez un champ en particulier

bon dèv
Mensaje modificado, 18,diciembre 2019 - 14:09
Miembro registrado
55 mensajes
Publicado el 18,diciembre 2019 - 14:23
C'était tellement évidement que ça ma pas sauté aux yeux.... Merci encore ;)