Por default en el campo "texto" de la tabla "reciboscli" se almacena la cantidad con letra, pero la manera en que es generada no funciona para México por lo que hay que modificarse. Las modificaciones a realizar son las siguientes:
En el script "tesoreria/scripts/flfactteso.qs"
Se agrega el siguiente código en la función "oficial_generarReciboCli":
En la misma función un poco más abajo se modifica:
Por:
En el archivo "informes/queries/i_facturascli.qry"
Se cambia:
Por:
En las etiquetas select del mismo archivo se agrega el campo "reciboscli.texto" y en las etiquetas from se cambia:
Por:
En el archivo "informes/reports/i_facturascli.kut"
Se manda llamar el campo "reciboscli.texto":
En el script "tesoreria/scripts/flfactteso.qs"
Se agrega el siguiente código en la función "oficial_generarReciboCli":
/* inicio del código agregado. */
// declaración de variables
var redondeado:Number=0;
var centavos:Number=0;
var conletra:String;
var totalconletra:String;
var conletra = util.enLetra(importe); // Cantidad con numero de la parte entera
redondeado = Math.round(importe); // redondea la cantidad al numero entero mas próximo para conocer centavos
if (redondeado < importe){
centavos = importe - redondeado;
centavos = centavos * 100;
}
if (redondeado > importe) {
centavos = redondeado - importe;
centavos = centavos * 100;
}
if (centavos == 0)
{
totalconletra = conletra + " PESOS " + centavos + centavos + "/100 M.N.";
}
else{
totalconletra = conletra + " PESOS " + centavos + "/100 M.N.";
}
/*
Hubiera sido mas sencillo obtener los decimales con util.partDecimal(importe),
pero al usarlo devolvía una bonita violación de segmento:
// var centavos:Number = util.partDecimal(importe);
*/
/* fin del código agregado. */
En la misma función un poco más abajo se modifica:
setValueBuffer("texto", util.enLetraMoneda(importe, divisa)); Por:
setValueBuffer("texto", totalconletra.upper()); /* se usa upper para que muestre el texto mio en mayúscula.*/ En el archivo "informes/queries/i_facturascli.qry"
Se cambia:
<tables>empresa,facturascli,lineasfacturascli,albaranescli</tables> Por:
<tables>empresa,facturascli,lineasfacturascli,albaranescli,reciboscli </tables> En las etiquetas select del mismo archivo se agrega el campo "reciboscli.texto" y en las etiquetas from se cambia:
< from >
empresa,facturascli INNER JOIN lineasfacturascli ON facturascli.idfactura = lineasfacturascli.idfactura
LEFT OUTER JOIN albaranescli ON albaranescli.idalbaran = lineasfacturascli.idalbaran
</from>
Por:
< from >
empresa,facturascli INNER JOIN lineasfacturascli ON facturascli.idfactura = lineasfacturascli.idfactura
INNER JOIN reciboscli ON reciboscli.idfactura = facturascli.idfactura
LEFT OUTER JOIN albaranescli ON albaranescli.idalbaran = lineasfacturascli.idalbaran
</from>
En el archivo "informes/reports/i_facturascli.kut"
Se manda llamar el campo "reciboscli.texto":
<CalculatedField BackgroundColor="255,255,255" BorderColor="0,0,0"
BorderStyle="0" BorderWidth="1" CalculationType="5"
CommaSeparator="0" Currency="32" DataType="0"
DateFormat="11" Field="reciboscli.texto" FontFamily="Verdana"
FontItalic="0" FontSize="10" FontWeight="50"
ForegroundColor="0,0,0" HAlignment="0" Height="20"
NegValueColor="0,0,0" Precision="0" Text="[reciboscli.texto]"
VAlignment="1" Width="410" WordWrap="0"
X="98" Y="28" />