/
Personnalisation de l'arbre des vagues
Personnalisation de l'arbre des vagues
Exemple de mise en place d’un nouveau choix dans l’arbre et sélection :
Ici le choix « opération commerciale » est un champ spécifique de MOUV
Ici la case à cocher est un choix spécifique permettant de sélectionner une typologie de code opération, filtrant ainsi les lignes.
Recordsql BASEPREPA à surcharger pour ajouter le champs voulu :
;* ;* Liste des MRES pour prépration WMS ;* ; pour WMS <RecordSql Name=BasePrepa> <SELECT> (MOUV.sp_nummev) AS sp_nummev (>gtfdd.dhsd sp_nummev), (MOUV.sp_operation) AS sp_operation (>gtfdd.dhsd sp_operation)
Surcharge table mémoire WM504 :
Surcharge du chargement de la liste à préparer pour filtrer
module WMUMVAGUE
;* function int Write_Wm504(&Wm504, BasePrepa) ; Record wmsfdd.dhsd Wm504 Declaration_BasePrepa >gtfdd.dhsd sp_repcod 1 Retour 1,0 = 0 beginf ;Optimisation lecture office if G3XQ.sp_choix(1) = Oui and G3XQ.sp_nummevd <> BasePrepa.sp_nummev FReturn(1) Endif Retour = standard.Write_Wm504(Wm504, BasePrepa) FReturn(Retour) endf
Module WMUT504
Define C_Arret_OpCom= 10202 ; Accès par Opération commerciale ;* Procedure Charge_Acces ; Prépare le multichoix des accès 1 I 2,0 1 J 2,0 BeginP ; Charge_Acces Standard.Charge_Acces for I=1 to 20 if Wm504MC.MULTICTB(I) = "" exitfor endif next If i <=20 Wm504MC.MULTICTB(i) = Translate ("Opération commerciale") | Wm504MC.MULTICID(i) = C_Arret_OpCom Endif EndP ;* Function int DefProcInterro_Defaut_TabVague_Spe() ; 1 IdListe L Record wmsfdd.dhsd WM504T1 Ligne ;Record DDSYS.dhsd ScrollBar32 ascenseur ; ascenseur vertical associé au tableau ;1 privilege 1,0 ; privilege à passer à XmeListConsultDefProc ;1 selection 1,0 ; Gestion de la multiselection ;1 perso 1,0 ; personnalisation des fonctions defproc ... 1 retour 1,0 = true Beginf retour = standard.DefProcInterro_Defaut_TabVague_Spe PingLocalReceiveAndDelete("IdListe", IdListe) switch harmony.DataArret Case C_Arret_OpCom Charger_Arbre(IdListe, C_Arret_OpCom) endswitch freturn(retour) Endf
Module WMUMVAGUE
* function int Compare_ListNiv0(ModeInterro, ListNiv) ; On trie la liste de base en fonction des critères choisis dans la sélection 1 ModeInterro >wmsfdd.dhsd ModeInterro 1 ListNiv L ;Local 1 Adr_Fonc 16 beginf standard.Compare_ListNiv0(ModeInterro, ListNiv) Switch ModeInterro Case C_Arret_OpCom GetAdressFunction ("", "Compare_Wm504_OpCom", Adr_Fonc) ListSort(ListNiv, Adr_Fonc) endswitch freturn (0) endf ;* Function Long Rupture_Wm504_OpCom(&E1 , &E2) Record wmsfdd.dhsd Wm504 E1 Record wmsfdd.dhsd Wm504 E2 1 S1 S 1 S2 S Beginf S1 = [E1.sp_operation] S2 = [E2.sp_operation] freturn (S1 <> S2) Endf ;* function int Rupture_Wm504_ModeInterro(ModeInterro, Wm504, Wm504_Precedent) ; On trie la liste de base en fonction des critères choisis dans la sélection ; retour 9 : aucun case 1 ModeInterro >wmsfdd.dhsd ModeInterro Record wmsfdd.dhsd Wm504 Record wmsfdd.dhsd Wm504 Wm504_Precedent ;Local 1 Adr_Fonc 16 1 Indice 1,0 1 Retour 1,0 = 0 beginf retour = standard.Rupture_Wm504_ModeInterro(ModeInterro, Wm504, Wm504_Precedent) Switch ModeInterro Case C_Arret_OpCom GetAdressFunction ("", "Rupture_Wm504_OpCom", Adr_Fonc) FReturn(FunctionCall(Adr_Fonc, Wm504, Wm504_Precedent)) endswitch FReturn(retour) endf
Module WMUMVAGUE
;* function int Wm504T1_Insert_AV(&Wm504T1, Wm504, Niveau, ModeInterro, Wm504T1_Parent) ;Fonction appelée avant l'insertion de la ligne Wm504T1 dans le tableau arbre Record wmsfdd.dhsd Wm504T1 Record wmsfdd.dhsd Wm504 1 Niveau 2,0 1 ModeInterro >wmsfdd.dhsd ModeInterro Record wmsfdd.dhsd Wm504T1 Wm504T1_Parent = "" ; Record gtfdd.dhsd T026 Declaration_CodeOperation Declaration_CodeStatistiqueTiers Declaration_ContratTrp Declaration_Gare 1 Indice 1,0 1 i 2,0 1 Retour 1,0 = 0 beginf Retour = Standard.Wm504T1_Insert_AV(Wm504T1, Wm504, Niveau, ModeInterro, Wm504T1_Parent) Switch ModeInterro Case C_Arret_OpCom Wm_Seek_ModeTransport_Optimize(T026, Wm504.BlMod) Wm504T1.WmCritere(Niveau) = Wm504.sp_operation Wm504T1.TreeLib = Wm504.sp_operation Wm504T1.WmLibCritere = "Opération commerciale" Wm504T1.Lib = "Opération commerciale" Wm504T1.LibInterro = RecupererLibInterroPar(C_Arret_OpCom) endswitch freturn (Retour) endf ;* Procedure Write_Wm504_Arborescence(&Wm504, ModeInterro, Niveau) ; On initialise le champ arborescence avec le modeinterro de base Record wmsfdd.dhsd Wm504 1 ModeInterro >wmsfdd.dhsd ModeInterro 1 Niveau 2,0 1 Indice 1,0 1 i 2,0 beginp Standard.Write_Wm504_Arborescence(Wm504, ModeInterro, Niveau) Switch ModeInterro Case C_Arret_OpCom Wm504.WmCritere(Niveau) = Wm504.sp_operation endswitch endp
Related content
Personnalisation de l'arbre des vagues
Personnalisation de l'arbre des vagues
More like this
Personnalisation de l'arbre des vagues
Personnalisation de l'arbre des vagues
More like this
Personnalisation de l'arbre des vagues
Personnalisation de l'arbre des vagues
More like this
Personnalisation de l'arbre des vagues
Personnalisation de l'arbre des vagues
More like this
Interrogation stock WMS
Interrogation stock WMS
More like this
Interrogation stock WMS
Interrogation stock WMS
More like this