Skip to main content
Répondu

import absences


Bonjour,

Je ne comprends pas pourquoi l’import des absences ne fonctionne pas. Pourtant, je pense avoir paramétré correctement cela. Le format des dates correspond à ce que j’ai ?

Merci d’avance de votre aide

 

Voici le message d’erreur :

Voici mon fichier :

 

voici la formule (que j’ai repris de l’assistance de sage) :

beginif parametrage then		par.nblignestitre = 1		par.sepdec = ","		par.sepchamp = ";« else		Matricule = valeurstring(1)		if StrLen(Matricule) > 0 then			        if IdentifieSalarieEmploi(Matricule) = true then			if BulletinExiste() = false then						     				Code = ValeurString(2)						     				cABS = ""										// On fait le lien entre code du fichier et code silae				Select case Code						   				case "100" : 							          					cABS = "100"						          					Valeur = 0									   		case "260" : 							          					cABS = "260"						          					Valeur = 0								case "632" :							          					cABS = "632"						          					Valeur = 0				case "120" :						                                					cABS = "120"						          					Valeur = 0				case "263" :							          					cABS = "263"						          					Valeur = 0				case "230" :							          					cABS = "230"						          					Valeur = 0				case "200" :							          					cABS = "200"						          					Valeur = 0				case "410" :							          					cABS = "410"						          					Valeur = 0				case "420" :							          					cABS = "420"					Valeur = 0				case "630" :							          					cABS = "630"					Valeur = 0				Default: print "Code introuvable : " + Code				Endselect						    		// On s'assure d'avoir un code d'absence silae					    				if cAbs <> "" then					datedeb = str2date(ValeurString(3),"dd/MM/yyyy")					datefin = str2date(ValeurString(4),"dd/MM/yyyy")					call genereAbsence (cABS, Datedeb,Datefin, -Valeur)				endif			else						    		print "Salarié <" + Matricule + ">, bulletin existant."			endif				else				       		print "Salarié et/ou emploi pour le matricule <"+Matricule+"> non identifié."				endif		EndifEndifend	

 

 

Bonjour,

votre fichier est bien en CSV point virgule ?


Non il est en xls 97-2003. 

Si je le sauvegarde en csv point virgule, silae ne le trouve pas (en faisant parcourir).


Bonjour,

Est-ce normal que vous ayez un guillemet « au lieu ?

 

 


Je viens de faire le test, sur un csv point virgule ça marche. Je ne comprends pas pourquoi Silae ne vous le trouverait pas.


Bonjour,

Est-ce normal que vous ayez un guillemet « au lieu ?

 

 

C’est effectivement une erreur dans le code fourni par Silae, je sais pas comment on peut le leur signaler


@lth j’avais rectifié cela dès le départ, mais ça ne change rien. Merci

@Mat vous passez bien par menu/traitement mois/import des données variables/sélection des imports/import 1/ nom de la fonction calcul ?

 


@Nadia N Tout à fait. A votre place je rouvrirai un Excel pour tenter de nouveau le test avec le format csv avec encodage point virgule, Silae fonctionne mieux avec.


@Mat je vous remercie, j’ai réessayé et cela à fonctionné. super👍🏻 


Bonjour

 

j’ai le même problème mais j’ia un message sur une erreur sur cette ligne

call genereAbsence (cABS,  str2date(ValeurString(5),"dd/MM/yyyy"), str2date(ValeurString(6),"dd/MM/yyyy"), Valeur)
 

Mais cela a toujours fonctionné et j’enregistre bien le fichier en .csv

avez vous une idée ?

 

 


Bonjour

Quand ça plante comme ça, je refais le fichier pour commencer. Ca peut juste être ça le souci


Malheureusement c’est ce que j’ai fait également


Vous avez une copie du message d’erreur ?


pourtant ma formule est juste

if cAbs <> "" then
                        call genereAbsence (cABS,  str2date(ValeurString(5),"dd/MM/yyyy"), str2date(ValeurString(6),"dd/MM/yyyy"), Valeur)

                    endif
                else
                    print "Salarié <" + Matricule + ">, bulletin existant."
                endif
            else
                print "Salarié et/ou emploi pour le matricule <"+Matricule+"> non identifié."
            endif

endif
endif
end

 

 

Merci Mat


Ca c’est le code, pas le message d’erreur. 

Est-ce que vous pouvez m’envoyer et tout votre code, et votre message d’erreur ? Je peux essayer de tester ça sur un de mes dossiers


Message d’erreur

 


ma fonction calcul

 

begin
if parametrage = true then
par.nblignestitre = 1
par.sepdec = ","
par.sepchamp = ";"
else
Matricule = valeurstring(1)
if StrLen(Matricule) > 0 then
if IdentifieSalarieEmploi(Matricule) then
if BulletinExiste() = false then


// Heures
call GenereHeures("HS25",valeurdouble(18)) // HS à 25%
call GenereHeures("HS50",valeurdouble(19)) // HS à 50%
call GenereHeures("HS10",valeurdouble(20)) // HS à 10%

// Éléments variables
call GenereElementVariable("NbTicket", valeurdouble(8)) // Nb NbTicket
call GenereElementVariable("Astreinte 40", valeurdouble(9)) // Nb Astreinte 40
call GenereElementVariable("Astreinte 50", valeurdouble(10)) // Astreinte 50
call GenereElementVariable("Astreinte 75", valeurdouble(11)) // Astreinte 75
call GenereElementVariable("Astreinte 100", valeurdouble(12)) // Astreinte 100
call GenereElementVariable("PRIME EXCEPT", valeurdouble(13)) // PRIME EXCEPT
call GenereElementVariable("Pr Eloi 20", valeurdouble(14)) // Pr Eloi 20
call GenereElementVariable("Pr Eloi 40", valeurdouble(15)) // Pr Eloi 40
call GenereElementVariable("Pr Eloi 60", valeurdouble(16)) // Pr Eloi 60
call GenereElementVariable("PS0", valeurdouble(17)) // PS0 PRIME SUR OBJECTIFS


call GenereAcompte(valeurdouble(21)) // Acompte


ABS = ValeurString(3)
                    cABS = ""
                    ValeurJ = -ValeurDouble(7)
                    //ValeurH = -ValeurDouble(6)
                    //Valeur = 0
                    // On fait le lien entre code du fichier et code silae 
                    Select case ABS
                    case "100" : cABS = "100"
                    case "300" : cABS = "300" 
                    case "142" : cABS = "142" 
                    case "200" : cABS = "200" 
                    case "210" : cABS = "210" 
                    case "260" : cABS = "260" 
                    case "310" : cABS = "310" 
                    case "632" : cABS = "632" 
                    case "240" : cABS = "240" 
                    case "263" : cABS = "263" 
                    
                    Default : print "Code absence <" + ABS + "> inconnu."
                    Endselect
                    
                    // On s'assure d'avoir un code d'absence silae
                    //if cAbs <> "" then
                            //datedeb = str2date(ValeurString(5),"dd/MM/yyyy")
                            //datefin = str2date(ValeurString(6),"dd/MM/yyyy")
                        //    call genereAbsence (cABS, Datedeb,Datefin, - Valeur)

                    if cAbs <> "" then
                        call genereAbsence (cABS,  str2date(ValeurString(5),"dd/MM/yyyy"), str2date(ValeurString(6),"dd/MM/yyyy"), Valeur)

                    endif
                else
                    print "Salarié <" + Matricule + ">, bulletin existant."
                endif
            else
                print "Salarié et/ou emploi pour le matricule <"+Matricule+"> non identifié."
            endif

endif
endif
end


Vous avez une erreur dans votre code : CABS au lieu de CAbs. Ce ne serait pas ça votre souci ?


Mat,

Non car c’est une fonction calcul qui a toujours fonctionné 

j’ai référencé une demande auprès de silae.

 j'ai un message d'erreur sur ma fonction calcul sur les dates alors qu'elles me semblent conformes. (#1258485)

 

Merci Mat d’avoir pris le temps avec moi. j’ai recopié le fichier et utilisé l’import par défaut silae mais comme vous le voyez il y a aussi des variables et des heures. ma collègue va le faire manuellement.

Je n’ai pas réussi à insérer un fichier  sur ce site Community j’ai raté quelque chose ?


Ca y est j’ai votre souci. Il ne reconnait pas le mot valeur, ça n’existe pas dans votre code. Vous avez un ValeurJ par contre


                        call genereAbsence (cABS,  str2date(ValeurString(5),"dd/MM/yyyy"), str2date(ValeurString(6),"dd/MM/yyyy"), ValeurJ)

Comme ça ça fonctionnera


Merci Mat

Effectivement cela fonctionne

 

Bravo pour votre persévérance et aide précieuse


Mais de rien ! Très bonne journée à vous


Commenter