Ce module de validation de l'écran de saisie des prestation permet de vérifier que la plage horaire utilisée n'a pas déjà utilisée pour le prestataire en cours. Cette vérification se fait parmi les livraisons en cours non encore facturée. Ce module illustre l'utilisation des xfonctions :
Ceci se fait par le biais d'un module de validation. Le code doit être placé dans un fichier ask_prest_valid.PRG (dans le répertoire principal de Mercator) à compiler à FXP
with ask_prest
local chaine_free
select (.ltable)
chaine_free=xprestisfree(pieds_v_tmp.id_yprest,.date.value,.h1.value,.h2.value,id+journal+str(piece,10)+dl_id)
if !empty(chaine_free)
local le_journal,la_piece
le_journal=substr(m.chaine_free,11,5)
la_piece=substr(m.chaine_free,16,10)
if val(m.la_piece)>0
stop(iif_langue(users.langue,'Time range already busy : ','Periode al bezet : ','Plage horaire déjà utilisée : ')+rtrim(m.le_journal)+' '+ltrim(m.la_piece)+' !')
return .F.
else
stop(iif_langue(users.langue,'Time range already busy : current document !','Periode al bezet : huidig document !','Plage horaire déjà utilisée : document en cours !'))
return .F.
endif
endif
endwith
return .T.