Foros públicos Abanq / Desarrollo de Abanq / IBAN y SWIFT
Autor Mensaje
itecnogest
Miembro
# Publicado: 7 Ene 2010 17:28


Hola a tod@s

Implementar IBAN y SWIFT en la impresión de facturas

Creado dos funciones en el script flfactinfo.qs del modulo de impresiones.


function cuentaIBANFacturaCli(nodo:FLDomNode, campo:String):String {
return this.ctx.oficial_cuentaIBANFacturaCli(nodo, campo);
}
function cuentaSWIFTFacturaCli(nodo:FLDomNode, campo:String):String {
return this.ctx.oficial_cuentaSWIFTFacturaCli(nodo, campo);
}


////////////////////////////////////////////////// /////////////////////////////////


/************************************************* ****************
* Funcion : cuentaIBANFacturaCli
* Descripcion: Recupera cuenta IBAN Cliente o Forma de Pago
*
* Inicio : Enero 2010
* Modificado :
************************************************** ***************/
function oficial_cuentaIBANFacturaCli(nodo:FLDomNode, campo:String):String
{
var util:FLUtil = new FLUtil;
var datosCuenta:String;
var ret:String;
var codCliente:String = nodo.attributeValue("facturascli.codcliente");
var codPago:String = nodo.attributeValue("facturascli.codpago");
var domiciliado:Boolean = util.sqlSelect("formaspago", "domiciliado", "codpago = '" + codPago + "'");
var codCuenta:String;
var tipoCuenta:String;
var datosCuenta:String;

// Si no hay cliente, se busca la forma de pago
if (!codCliente)
tipoCuenta = "formaPago";
else
if (domiciliado)
tipoCuenta = "domiciliado";
else
tipoCuenta = "formaPago";

if (tipoCuenta == "domiciliado") {
codCuenta = util.sqlSelect("clientes", "codcuentadom", "codcliente = '" + codCliente + "'");
if (codCuenta)
datosCuenta = util.sqlSelect("cuentasbcocli", "iban", "codcuenta = " + codCuenta );
}

if (!codCuenta) {
codCuenta = util.sqlSelect("formaspago", "codcuenta", "codpago = '" + codPago + "'");
if (!codCuenta)
return "";
datosCuenta = util.sqlSelect("cuentasbanco", "iban", "codcuenta = " + codCuenta );
}

if (datosCuenta.isEmpty())
return "";
ret = "IBAN " + datosCuenta.substring(0,4) + " " + datosCuenta.substring(4,8) + " " + datosCuenta.substring(8,12) + " " + datosCuenta.substring(12,16) + " " + datosCuenta.substring(16,20) + " " + datosCuenta.substring(20,24);

return ret;
}

/************************************************* ****************
* Funcion : cuentaSWIFTFacturaCli
* Descripcion: Recupera cuenta SWIFT Cliente o Forma de Pago
*
* Inicio : Enero 2010
* Modificado :
************************************************** ***************/
function oficial_cuentaSWIFTFacturaCli(nodo:FLDomNode, campo:String):String
{
var util:FLUtil = new FLUtil;
var datosCuenta:String;
var ret:String;
var codCliente:String = nodo.attributeValue("facturascli.codcliente");
var codPago:String = nodo.attributeValue("facturascli.codpago");
var domiciliado:Boolean = util.sqlSelect("formaspago", "domiciliado", "codpago = '" + codPago + "'");
var codCuenta:String;
var tipoCuenta:String;
var datosCuenta:String;

// Si no hay cliente, se busca la forma de pago
if (!codCliente)
tipoCuenta = "formaPago";
else
if (domiciliado)
tipoCuenta = "domiciliado";
else
tipoCuenta = "formaPago";

if (tipoCuenta == "domiciliado") {
codCuenta = util.sqlSelect("clientes", "codcuentadom", "codcliente = '" + codCliente + "'");
if (codCuenta)
datosCuenta = util.sqlSelect("cuentasbcocli", "swift", "codcuenta = " + codCuenta );
}

if (!codCuenta) {
codCuenta = util.sqlSelect("formaspago", "codcuenta", "codpago = '" + codPago + "'");
if (!codCuenta)
return "";
datosCuenta = util.sqlSelect("cuentasbanco", "swift", "codcuenta = " + codCuenta );
}

if (datosCuenta.isEmpty())
return "";
ret = datosCuenta;
return ret;
}

Llamada desde el archivo de impresion i_facturascli.ar o i_facturascli.kut

Para la impresión del IBAN
FunctionName = "flfactinfo.cuentaIBANFacturaCli" CalculationType=6

Para la impresión del SWIFT
FunctionName = "flfactinfo.cuentaSWIFTFacturaCli" CalculationType=6

Saludos
Jordi Marco

jordi.marco@itecnogest.com
ITECNOGEST S.L.
Silver Partner

Su respuesta

          Sin código BB *¿Ayuda?

 » Usuario  » Contraseña 
 
Para poder publicar su mensaje debe introducir el siguiente código de validación:



  
 
 


miniBB forum software © 2001-2010