Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Ficha Pago a Cliente -> Modificar número y fecha

Si cree que ha encontrado un error en una versión estable, siéntase libre de comunicarlo aquí, indicando la versión.
albmargar
Novato
Mensajes: 23
Registrado: Mié, 26/12/2012, 11:38

Ficha Pago a Cliente -> Modificar número y fecha

Mensaje por albmargar »

Buenos días, un pequeño error que no permite modificar el Número de un Pago a Cliente, para solucionarlo modificar el fichero 'htdocs/compta/paiement/fiche.php':

Para corregir el problema con el número, en la línea (126):
if ($action == 'setnum' && ! empty($_POST['num_paiement']))
Cambiarla por:
if ($action == 'setnum_paiement' && ! empty($_POST['num_paiement']))

Para corregir el problema con la fecha, en la línea (143):
if ($action == 'setdate' && ! empty($_POST['datepday']))
Cambiarlo por:
if ($action == 'setdatep' && ! empty($_POST['datepday']))

Además hay un problema relacionado con la transacción del banco, que no actualiza la información cambiada aquí, cuando lo tenga corregido lo posteo.

Espero que os sirva y lo solucionen para las siguientes versiones.

Un saludo.

albmargar
Novato
Mensajes: 23
Registrado: Mié, 26/12/2012, 11:38

Mensaje por albmargar »

Una vez que hemos actualizado el Número de cheque nos encontramos con que no se ha actualizado en las transacciones del banco, lo he resuelto de la siguiente manera, en el fichero '/htdocs/compta/paiement/class/paiement.class.php'

Existe la función update_num si se ha cambiado bien, tenemos que actualizar la tabla bank, sustituimos el código:
if ($result)
{
$this->numero = $this->db->escape($num);
return 0;
}
Por este otro:
if ($result)
{
$sql = "UPDATE ".MAIN_DB_PREFIX."bank ";
$sql.= " SET num_chq = '".$this->db->escape($num)."'";
$sql.= " WHERE rowid = ".$this->bank_line;

dol_syslog(get_class($this)."::update_num sql=".$sql);
$result = $this->db->query($sql);
if ($result)
{
$this->numero = $this->db->escape($num);
return 0;
}
else
{
$this->error='Error -1 '.$this->db->error();
dol_syslog(get_class($this)."::update_num ".$this->error, LOG_ERR);
return -2;
}
}

Espero que os sirva, hasta que lo arreglen para otra versión.

Un saludo.

albmargar
Novato
Mensajes: 23
Registrado: Mié, 26/12/2012, 11:38

Mensaje por albmargar »

Una vez que hemos actualizado la fecha nos encontramos con que no se ha actualizado en las transacciones del banco, lo he resuelto de la siguiente manera, en el fichero '/htdocs/compta/paiement/class/paiement.class.php'

Existe la función update_date si se ha cambiado bien, tenemos que actualizar la tabla bank, sustituimos el código:
if ($result)
{
$this->datepaye = $date;
$this->date = $date;
return 0;
}
Por este otro:
if ($result)
{
$sql = "UPDATE ".MAIN_DB_PREFIX."bank ";
$sql.= " SET datev = ".$this->db->idate($date).", ";
$sql.= " dateo = ".$this->db->idate($date);
$sql.= " WHERE rowid = ".$this->bank_line;

dol_syslog(get_class($this)."::update_date sql=".$sql);
$result = $this->db->query($sql);
if ($result)
{
$this->datepaye = $date;
$this->date = $date;
return 0;
}
else
{
$this->error='Error -1 '.$this->db->error();
dol_syslog(get_class($this)."::update_num ".$this->error, LOG_ERR);
return -2;
}
}

Espero que os sirva, hasta que lo arreglen para otra versión.

Un saludo.

albmargar
Novato
Mensajes: 23
Registrado: Mié, 26/12/2012, 11:38

Mensaje por albmargar »

Solucionado en la versión 3.3.

Muchas gracias!!!