Esta consulta es de hace 7 años. No tome esta información como actualizada. Si tiene problemas con FacturaScripts, consulte la sección ayuda o la sección contacto
georgia_7a4275

Plugin: facturacion_base

georgia_7a4275   España   24-10-2017 18:45:11   27-10-2017 10:12:48   330   [shawe]
Plugin: facturacion_base

Buenas tardes, he actualizado el plugin facturacion_base y yo tenia modificado esto:
Plugin: facturación_base
CONTROLLER/VENTAS ALBARAN PHP

Borrar:
$factura->numero2 = $this->albaran->numero2;

Para que el numero2 no aparezca tambien en la factura porque no me interesa, el campo de numero 2 en factura tiene que estar vacio y ahora tengo que estar borrandolo todo manualmente con cada factura en parte...pero ahora en controller /ventas_alabran.php ya no tengo esta opcion, esta parte ya no me aparece y se lleva el numero 2 automaticamente y no se donde entrar y borrar para que me funcione como antes.

Plugins relacionados

Plugin facturacion_base
Por favor alguien me puede ayudar? Es que si me olvido en borrar el numero 2 de la factura (y con cada pedido importado con el plugin de Prestashop entra un numero 2 que es el numero del pedido) luego la factura no me vale porque tiene que ir en order y tengo que modificarla y enviarla al cliente con las disculpas, etc.
Solo necesito que cuando de un albaran se pasa a una factura que no se lleve automaticamente el numero 2, que ese espacio quede vacio en la factura y antes funcioaba haciendo esto :
Plugin: facturación_base
CONTROLLER/VENTAS ALBARAN PHP

Borrar:
$factura->numero2 = $this->albaran->numero2;

Muchas gracias
Buenas, mira las tres imagines que te voy a mandar..
La primera es cuando FS importar el pedido de prestashop, sí, añade el número 2.
La segunda verás que en la factura aparece ese número 2 en su lugar,
pero cuando imprimo la factura el número es el que tiene que ser. El número 2 no es el número de la factura.
Quizás el problema es que has podido modificar algún formato de factura y no has cogido el número correcto para que se imprima..
Yo la única modificación que he hecho en el formato mío es de posicionar el logo y algo más pero debería de salirte bien.
Está guardando el asiento contable el programa con el número correcto o está poniendo el número 2. Eso si sería un problema.
Ya me informas a ver si te puedo ayudar.
Saludos.

imagen
imagen 2

imagen
imagen 3

imagen
Creo que te sería mas fácil cambiar el formato de impresión

¿Qué formulario utilizas?
Desde que se añadieron los descuentos adicionales, Carlos reestructuro el código para evitar código duplicado y que fuera más sencillo de mantener y corregir fallos.

El código que no encuentras, ahora empieza aquí: https://github.com/NeoRazorX/facturacion_base/blob/master/extras/fbase_controller.php#L290
Pero ahora lo puedes hacer más simple con esto: https://github.com/NeoRazorX/facturacion_base/blob/master/extras/fbase_controller.php#L389

Para no perder los cambios como has comentado que te ha pasado, lo suyo es que te crees un plugin, aquí tienes una explicación: https://www.facturascripts.com/comm3/index.php?page=community_docs&idtema=5
Con las explicaciones de ese enlace, sabrás como crear la estructura básica de un plugin, donde centralizar tus modificaciones, y evitar que con una actalización se pierdan, a excepción de casos puntuales como este, que lo hubieras perdido igualmente por haberse re-estructurado el código.

Para este cambio en concreto que tenías, ahora podrás aprovechar el functions.php y hacerlo más simple: https://www.facturascripts.com/comm3/index.php?page=community_docs&id=15 con lo que reduces tu modificación a algo así, dentro de functions.php de un plugin tuyo:

if (!function_exists('fs_generar_numero2')) {

/**
* Función auxiliar para implementar en los plugins que lo necesiten.
* @param factura_cliente $factura
* @return string
*/
function fs_generar_numero2($factura)
{
$factura->numero2 = '';
}
}


Otra cosa muy a tener en cuenta, es que tus modificaciones personales, hay que revisarlas tras cada actualización que afecte a un plugin del que has hecho alguna modificación.
Muchas gracias por tomarte el tiempo en ayudarme info_beef2d, de verdad muchas gracias pero en un final la solucion la he encontrado en los que me ha explicado shawe, efectivamente lo que yo no encontraba era por re-estructuracion del codigo y aunque yo se que con cada actualizacion pierdo los cambios, no hay problema porque solo tengo 2 cambios : del numero 2 y fotos + precios coste en la vista de los articulos, por lo cual con cada actualizacion tardo 1 minuto en cambiarlos como quiero y ya esta.
Lo que pasa que con la re-estructuracion la opcion del numero 2 ya no estaba como antes y tampoco en el mismo fichero y como bien dices shawe aunque yo lo habia dejado como un plugin igual con la re- esctructuracion lo habia perdido.

Pero gracias a tu ayuda he encontrado la solucion y aqui la dejo por si alguien más lo necesita:


Plugin: facturación_base
EXTRAS / FBASE_CONTROLLER. PHP

Borrar:

/// función auxiliar para implementar en los plugins que lo necesiten
if (!fs_generar_numero2($factura)) {
$factura->numero2 = $albaranes[0]->numero2;
}

Y con esto aunque el albarán tiene un numero 2, por ejemplo #PS935 (que asi me entra a mi del plugin prestashop_micro) cuando genero la factura se va a crear con el numero FAC201700935 y no FAC201700395 #PS935 tal como lo hacia antes de esta modificacion.

No se si me he explicado bien porque este dominio no es mi fuerte, pero importante que gracias a gente tan buena como los que estan en este foro...se puede dar con la solucion.

Muchas gracias otra vez :) y lo doy por solucionado.
Buenas, perdona georgia_7a4275, pero como yo tengo el mismo plugin de prestashop y no he notado que me pase eso creo que hay algo que se me está escapando, ya que mí el número me lo genera correctamente , el orden en pantalla también es el correcto y en impresión también.. ¿Que es lo que ocurre para que haya que quitarlo?
Gracias
Te paso imágenes.

imagen
listado

imagen
Hola deevando_f74d39, perdona que con las prisas no habia visto que tu tambien me habias ayudado con respuestas, muchas gracias.
En cuanto al numero 2 me imagino que es a gusto de cada uno pero aunque en la impresion modificas el tipo de plantilla y quitas el numero 2 que no se imprime aunque este allí, ese siempre estará en el listado de tus facturas tal como aparece en tu imagen y a mi personalmente no me gusta porque hay pedidos sin ese numero porque son pedidos realizados fuera de la pagina y del plugin prestashop_micro y claro como podrás ver hay facturas que llevan este # con unas cifras y otras que no y por eso creo que esta bien que aparezca en el albarán , pero cuando desde albarán generas una factura que desaparezca y que las facturas sean con le mismo formato , sin el #.

Por eso yo siempre he borrado esa funcion que hace que una vez generada una factura se lleve todos los datos del albarán menos el numero 2 que no me interesa.
Pues con la re-estructuracion del cogido Carlos ha cambiado cosas y ahora para que ese numero 2 no aparezca automaticamente en la factura y que ese campo se quede vacio lo tienes que hacer asi:

Entrar en el Plugin: facturación_base
EXTRAS / FBASE_CONTROLLER. PHP

Y Borrar:

/// función auxiliar para implementar en los plugins que lo necesiten
if (!fs_generar_numero2($factura)) {
$factura->numero2 = $albaranes[0]->numero2;

El problema es que aunque yo lo he dado por resuelto porque lo he probado y y por fin la factura se ha generado sin coger el numero 2 del abalran y todo iba genial....pues he descubierto ahora la crear un nuevo pedidos/ albaran/factura que a la hora de buscar el cliente ... sopresa no sale le listado de clientes en la busqueda (pero en Ventas /Clientes si que estan) ...asi que he vuelto ha añadir el codigo que habia borrado y otra vez puedo buscar entre clientes.

Asi que aunque al eliminar esa parte ayudaba en que el numero 2 no se genere automaticamente con la factura, he tenido que añadirlo otra vez porque no me encuentra los clientes.

Asi que hasta encontrar solucion voy a tener que borrar manualmente el numero 2 de cada factura y hago eso porque me gusta tenerlo bien ordenado y no ua factyra de una manera y la otra de otra manera, cuando estoy sacando infromes todas son con el mismo formato y eso es lo que me interesa.
shawe en le functions.php del plugin facturacion_base he cambiado lo que me has dicho y espero haberlo entendido bien:
En lugar de :

if (!function_exists('fs_generar_numero2')) {

/**
* Genera y asigna el valor de numero2. Devuelve true si lo asgina.
* A completar en los plugins interesados.
* @param object $documento
* @return boolean
*/
function fs_generar_numero2(&$documento)
{
return false;
}
}



HE CAMBIADO CON :

if (!function_exists('fs_generar_numero2')) {

/**
* Función auxiliar para implementar en los plugins que lo necesiten.
* @param factura_cliente $factura
* @return string
*/
function fs_generar_numero2($factura)
{
$factura->numero2 = '';
}
}

Y sigue cogiendo el numero 2 en la factura, estoy haciendo algo mal?
Se lo que quieres es que prestashop no te mande ese número, lo mismo modificando el plugin de prestashop le decimos que no lo envíe.. quizás eso sería lo más conveniente no?
Puedo hecharle un vistazo a prestashop micro a ver donde lo envía y mandarlo vacío.. pero antes habrá que asegurarse que no lo utilice prestashop micro para nada más internamente.

Saludos
deevando_f74d39 no me molesta que prestashop envie este numero y tampoco me molesta que el albaran tenga ese numero, lo que a mi me molesta es que siempre antes de la modificacion del codigo yo tenia una solucion que este numero no aparezca en la factura (es donde no quiero que aparezca), en las otras como he dicho no me molesta si no más aun me interesa porque asi me doy cuenta que pedido entra de la pagina con prestashop y cual por otras vias ,eso es bueno....asi que puede aparecer en prestashop y en el albaran ...donde no quiero que entre automaticamente es al generar la factura apartir de un albaran.
Pero me repito porque creo que no lo has entendido, antes al entrar aqui:

Plugin: facturación_base
CONTROLLER/VENTAS ALBARAN PHP

Y borrando:
$factura->numero2 = $this->albaran->numero2;

Se solucionaba mi problema, ahora han re -estructurado le codigo y esta opcion ya no existe debido a que ahora han creado un nuevo sistema con functions.php y tiene que ser cambiado de allí, he intentado hacer lo que shawe me ha dicho pero sigue igual como si no habia modificado nada.

O por lo menos espero en que yo haya entendido bien lo que shawe me ha dicho y no habré hecho mal y por eso no funciona.

Por eso shawe si estas por allí dime si he hecho bine lo que he explicado más arriba sobre le functions.php.

Mil gracias
A ver si tengo un hueco después y miro lo que dices, pero lo suyo es que lo tengas en un plugin propio para que no se te modifique eso en otra actualización..
shawe junto con los demás programadores están al 100% con FS2018 y seguro que cuando revise otra vez los mensajes te contesta.. Lo dicho voy a ver si te lo puedo resolver mirando lo que te ha dicho shawe y si no puedo seguro que te contesta.. ;)
Veo que lo hace bien al principio

INSERT INTO facturascli (idasiento,idasientop,idfacturarect,codigo,numero, codigorect,codejercicio,codserie,codalmacen,codpago,coddivisa,fecha,codcliente, nombrecliente,cifnif,direccion,ciudad,provincia,apartado,coddir,codpostal,codpais, codagente,netosindto,neto,dtopor1,dtopor2,dtopor3,dtopor4,dtopor5,totaliva,total,totaleuros, irpf,totalirpf,porcomision,tasaconv,totalrecargo,pagada,anulada,observaciones,hora,numero2, vencimiento,femail,codtrans,codigoenv,nombreenv,apellidosenv,apartadoenv,direccionenv, codpostalenv,ciudadenv,provinciaenv,codpaisenv,idimprenta,numdocs) VALUES (NULL,NULL,NULL,'FAC2017A718','718',NULL,'2017','A','ALG','CONT','EUR','2017-10-26','000001','CLIENTES VARIOS','','','Vélez-Málaga','Málaga','','1','','ESP','1','0','0','0','0','0','0','0','0','0','0','0','0','0','1','0',TRUE,FALSE,'','20:22:30','222','2017-10-26',NULL,NULL,'','','',NULL,'','','','',NULL,NULL,'0');


pero en ese mismo momento hace un update que toma el numero


UPDATE facturascli SET idasiento = NULL, idasientop = NULL, idfacturarect = NULL, codigo = 'FAC2017A718', numero = '718', numero2 = '222', codigorect = NULL, codejercicio = '2017', codserie = 'A', codalmacen = 'ALG', codpago = 'CONT', coddivisa = 'EUR', fecha = '2017-10-26', codcliente = '000001', nombrecliente = 'CLIENTES VARIOS', cifnif = '', direccion = '', ciudad = 'Vélez-Málaga', provincia = 'Málaga', apartado = '', coddir = '1', codpostal = '', codpais = 'ESP', codagente = '1', netosindto = '0', neto = '0', dtopor1 = '0', dtopor2 = '0', dtopor3 = '0', dtopor4 = '0', dtopor5 = '0', totaliva = '0', total = '0', totaleuros = '0', irpf = '0', totalirpf = '0', porcomision = '0', tasaconv = '1', totalrecargo = '0', observaciones = '', pagada = TRUE, anulada = FALSE, hora = '20:22:30', vencimiento = '2017-10-26', femail = NULL, codtrans = NULL, codigoenv = '', nombreenv = '', apellidosenv = '', apartadoenv = NULL, direccionenv = '', codpostalenv = '', ciudadenv = '', provinciaenv = '', codpaisenv = NULL, idimprenta = NULL, numdocs = '0' WHERE idfactura = '777';


por eso siempre te lo pasa..
Voy a ver si te pillo el update para ver como añadirlo a tu plugin como the ha dicho shawe
Fíjate que en el lugar que has pegado el código que te dije "casi sin mirar" ya existe esa función. O una u otra, pero no 2 veces la misma.

Cambia del interior de esa función del archivo original su código, en lugar de pegarlo todo entero tal y como te lo puse.
Buenas,

/// función auxiliar para implementar en los plugins que lo necesiten
if (!function_exists('fs_generar_numero2')) {
function fs_generar_numero2($factura) {
$factura->numero2 = "";
return true;
}
}


Copia esto en functions.php de tu plugin.
solo faltaba un return para que te funcionara la función.
Saludos.
@deevando esa función ya existe en el functions.php por eso le dije de mover el código dentro.
shawe y deevando_f74d39 muchas gracias otra vez por absolutamente todo, por dedicar un poco de vuetro tiempo en ayudarme, significa mucho para mi.
Confirmo que el ultimo codigo que shawe me ha dejado funciona perfectamente, el albarán tiene el numero2 pero cuando se genera la factura allí no aparece, por lo cual todo perfecto (y ahora encuentra los clientes tambien jejejeje)

Ahora si que lo doy por solucionado y en un final por si alguien mas va a mirar esto en un futuro y le interesa hacer esto dejo la solucion final resuelta por shawe:

Entrar en el plugin facturacion_base y buscar functions.php
Dentro del functions.php encontrarán este codigo:

if (!function_exists('fs_generar_numero2')) {

/**
* Genera y asigna el valor de numero2. Devuelve true si lo asgina.
* A completar en los plugins interesados.
* @param object $documento
* @return boolean
*/
function fs_generar_numero2(&$documento)
{
return false;
}
}


Y se tiene que cambiar con este que ha dejado shawe:

/// función auxiliar para implementar en los plugins que lo necesiten
if (!function_exists('fs_generar_numero2')) {
function fs_generar_numero2($factura) {
$factura->numero2 = "";
return true;
}
}


Y con eso todo solucionado :)
Mil gracias.
Creo que me he adelantado o me he equivocado y he entendido mal lo que tenia que hacer porque al querer importar un pedido de prestashop_micro ahora no se lleva el numero 2 en el albaran y raro pero aunque esta importado y hay un albaran asociado a ese pedido pone que en realidad no lo he importado y me deja importarlo 10 veces si quiero pero en ningun momento en prestashop_micro no aparece que se ha importado justo porque falta el numero 2, por ejemplo PS#950.
Yo lo que queria es que al pasar de albaran a factura no se lleve el numero 2 en la factura, pero el albaran tiene que tenerlo porque etsoy viendo que al importar pedidos de prestashop_micro no aparecen importados y no se ponen en verde, que quedan en blanco y no pone que hay un albaran asociado a ese pedido, aunque yo lo haya importado y existe un albaran de ese pedido.
He intentado dejar el codigo anterior y copiar tambien el codigo que shawe me ha dejado, que sean los dos y con eso otra vez se lleva el numero 2 tanto en el albaran como en la factura, como si no habia cambiado nada :)

Nada como veo que todo esto es un lio tan grande borraré manualmente el numero2 de cada factura jejejeje

Mil gracias otra vez.
En un final he probado cambiar el codigo original en solo cambiar la palabra documento con la palabra factura y en lugar de return false he puesto return true y parece que ahora si que el albaran tiene el numero2 y se importa correctamente desde el prestashop_micro y cuando genero la factura allí no esta el numero 2 y tambien encuentra los clientes en el buscador, no estoy segura que esta es la solucion pero lo que he hecho fue esto:

Entrar en el plugin facturacion_base y buscar functions.php
Dentro del functions.php encontrarán este codigo:

if (!function_exists('fs_generar_numero2')) {

/**
* Genera y asigna el valor de numero2. Devuelve true si lo asgina.
* A completar en los plugins interesados.
* @param object $documento
* @return boolean
*/
function fs_generar_numero2(&$documento)
{
return false;
}
}


Cambiado por esto:

if (!function_exists('fs_generar_numero2')) {

/**
* Genera y asigna el valor de numero2. Devuelve true si lo asgina.
* A completar en los plugins interesados.
* @param object $factura
* @return boolean
*/
function fs_generar_numero2(&$factura)
{
return true;
}
}
Despues de verificar con varios pedidos puedo confirmar que si, por fin esta es la solucion (la que he puesto en el mensaje anterior) y claro lo que yo me perdia es que shawe me decias que tengo que cambiar el codigo interno y no simplemente copiar/ pegar , asi que muchisimas gracias y a la vez gracias a deevando_f74d39 por intentar ayudarme tambien.

Ahora ya esta :) prometo que no voy a molestar mas sobre este asunto y ahora si lo podemos dar por resuelto :)

SOLUCIÓN:

Entrar en el plugin facturacion_base y buscar functions.php
Dentro del functions.php encontrarán este codigo:

if (!function_exists('fs_generar_numero2')) {

/**
* Genera y asigna el valor de numero2. Devuelve true si lo asgina.
* A completar en los plugins interesados.
* @param object $documento
* @return boolean
*/
function fs_generar_numero2(&$documento)
{
return false;
}
}


Cambiado por esto:

if (!function_exists('fs_generar_numero2')) {

/**
* Genera y asigna el valor de numero2. Devuelve true si lo asgina.
* A completar en los plugins interesados.
* @param object $factura
* @return boolean
*/
function fs_generar_numero2(&$factura)
{
return true;
}
}


Un abrazo.
[[Cerrado por inactividad]]
¿Problemas con FacturaScripts?
Si tiene problemas con FacturaScripts consulte la sección ayuda o la sección contacto



Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2024 FacturaScripts
0.16919s

Soporte