Estoy tratando de personalizar el tema de cobros y encuentro que la funcion toba::servicio_web_rest en las dos interfaces es distinta.
En el caso de gestion tiene dos argumentos, en autogestion uno solo. Obviamente como el archivo cobro.php pasa de g3 a autogetion, genera inconvenientes.
Hay alguna forma de que autogestion funcione como gestión?
Alguna otra funcion que se pueda invocar y que sea comun a ambas?
La función toba::servicio_web_rest recibe un parámetro solo en 3W, y dos en Gestión pero el segundo es opcional:
3W:
static function servicio_web_rest($id)
{
return kernel::proyecto()->get_ws_cliente($id);
}
Gestión:
static function servicio_web_rest($id, $opciones=array())
{
return toba_servicio_web_cliente_rest::conectar($id, $opciones);
}
Se hizo así porque es diferente la forma que 3W y Gestión obtiene los parámetros de conexión con SQ, Gestión los obtiene de instalacion/i__desarrollo/p__guarani/rest/sanaviron/cliente.ini, 3W en cambio de instalacion/servicios_web_config.php.
Si la personalización solo la queres para 3W, la tendrias que hacer en /src/siu/modelo_g3/cobro.php.
Si la queres para Gestión y también 3W, la tendrias que hacer en /personalizacion/php/nucleo/cobro/cobro.php. Personalizas en Gestión, commiteas el cambio, y al hacer svn up en 3W lo vas a ver reflejado (esto porque se usan svn externals).
La clase /src/siu/modelo_g3/cobro.php de 3W es un nivel mas de herencia que se agrega, y es para sobrescribir funciones que se romperían en Gestión (ej: get_cliente_rest funciona distinto).
Si personalizas en /personalizacion/php/nucleo/cobro/cobro.php debería impactar en 3W y Gestión.
Si te fijas dentro de 3W:
src/siu/modelo_g3/cobro.php hereda de src/pers_gestion/php/nucleo/cobro/cobro.php, y esta ultima hereda de src/siu/modelo_g3/nucleo/cobro/cobro_nucleo.php .
¿Lo que personalizaste lo tenes subido al colab?, sino contame que es lo queres realizar.