formater une date

Le
Boa Guy Serge
Bonjour , je veux formater une date prit sur le formulaire et le
passer en paramettre, (quelque soit la date sur le formulaire)
l'objectif de mon algo c'est de recuperer la durée du contrat qui est
dans une autre classe (je le recuper et je le passe en paramettre, lui
il est bon) et prendre la date saisie (par forcement la date du jour,
je le recuper)
la date recuperer est sous cette forme (2006-01-21) et je le veux sous
cette forme (2006,01,21). C'est id qui me donne la date sur le
formulaire que je passe en paramettre datetime.date('id')

Voici mon code

def onchange_duree(self,cr,uid,ids,duree,id):
res = {}
if duree:
ctr_obj =
self.pool.get('production.duree').browse(cr,uid,duree)
nbj = int(ctr_obj.duree)
dat_obj =
self.pool.get('production.contrat').browse(cr,uid,id)
res['date_echeance'] = datetime.date('id') +
datetime.timedelta(days=nbj)

return {'value':res}

Il me donne comme message: la fonction prend 3 arguments et tu lui
donne 1

Merci pour l'aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Boa Guy Serge
Le #16393071
On 23 juil, 08:29, Boa Guy Serge
Bonjour , je veux  formater une date prit sur le formulaire et le
passer en paramettre, (quelque soit la date sur le formulaire)
l'objectif de mon algo c'est de recuperer la durée du contrat qui est
dans une autre classe (je le recuper et je le passe en paramettre, lui
il est bon) et prendre la date saisie (par forcement la date du jour,
je le recuper)
la date recuperer est sous cette forme (2006-01-21) et je le veux sous
cette forme (2006,01,21). C'est id qui me donne la date sur le
formulaire que je passe en paramettre datetime.date('id')

Voici mon code

def onchange_duree(self,cr,uid,ids,duree,id):
        res = {}
        if duree:
            ctr_obj =
self.pool.get('production.duree').browse(cr,uid,duree)
            nbj = int(ctr_obj.duree)
            dat_obj =
self.pool.get('production.contrat').browse(cr,uid,id)
            res['date_echeance'] = datetime.date('id') +
datetime.timedelta(days=nbj)

        return {'value':res}

Il me donne comme message: la fonction prend 3 arguments et tu lui
donne 1

Merci pour l'aide



J'ai trouver la reponse et voici le code final


def onchange_duree(self,cr,uid,ids,duree,date_effet):
res = {}
if duree:
import sys
ctr_obj =
self.pool.get('production.duree').browse(cr,uid,duree)
nbj = int(ctr_obj.duree)
#res['date_echeance'] = datetime.datetime.now().date() +
datetime.timedelta(days=nbj)
ct_obj =
self.pool.get('production.contrat').browse(cr,uid,date_effet)
sys.stderr.write(str(duree))
sys.stderr.write(str(date_effet))
res['date_echeance'] =
datetime.datetime.fromtimestamp(time.mktime(time.strptime(date_effet,"%Y-
%m-%d %H:%M:%S"))) + datetime.timedelta(days=nbj)
return {'value':res}

Merci à tous
Publicité
Poster une réponse
Anonyme