PDA

Ver la Versión Completa : Problema Hasar 330f


valpmia
22-02-2007, 19:17:26
hola chicos a ver si me pueden dar una mano con esto antes de que prenda fuego todo
arme un soft muy sencillo para imprimir facturas a, b y remitos con un impresor hasar 330f
resulta q me imprime facturas b y remitos sin problema alguno
pero cuando debe imprimir A queda muda, no devuelve siquiera error
les paso una parte del codigo a ver si me dan una idea de donde meti la pata

...se elije de un combob a, b o remito y se le asigna el valor a una variable
fac1.Insert;
aux3:= fac1idfac.Value;
fac1fechavta.Value:= date;
fac1nombrec.Value:= edit2.Text;
fac1contado.Value:= true;
fac1ctacte.Value:= false;
fac1pagada.Value:=true;
//Abrir Puerto
hasar1.Modelo:=8;
hasar1.Puerto:=1;
while hasar1.HuboStatPrn do
begin
hasar1.EnviarStatPrn;
end;
if tipoiva.Text= 'Consumidor Final' then
resiva:=CONSUMIDOR_FINAL
else
if tipoiva.Text= 'Monotributo' then
resiva:=MONOTRIBUTO
else
if tipoiva.Text='No Responsable' then
resiva:=NO_RESPONSABLE
else
if tipoiva.Text='Responsable Exento' then
resiva:=RESPONSABLE_EXENTO
else
if tipoiva.Text='Responsable Inscripto' then
resiva:=RESPONSABLE_INSCRIPTO
else
resiva:=RESPONSABLE_NO_INSCRIPTO;
hasar1.Comenzar;
hasar1.TratarDeCancelarTodo;
//metiendo datos cliente
if tipodni.Text='CUIT' then
tpodoc:=TIPO_CUIT
else
if tipodni.Text='CI' then
tpodoc:=TIPO_CI
else
if tipodni.Text='DNI' then
tpodoc:=TIPO_DNI
else
if tipodni.Text='LE' then
tpodoc:=TIPO_LE
else
if tipodni.Text='LC' then
tpodoc:=TIPO_LC
else
if tipodni.Text='PASAPORTE' then
tpodoc:=TIPO_PASAPORTE
else
tpodoc:=TIPO_NINGUNO;
numdoc:= edit6.Text;
domic:=edit3.Text;
hasar1.PrecioBase:=true;
hasar1.DatosCliente(edit2.Text,numdoc,tpodoc,resiva,domic);
//abrir el comprobante dependiento del tipo de fac
if facturita = 'Remito' then
hasar1.AbrirComprobanteNoFiscalHomologado(REMITO,strtoint(fac1idfac.Text));
if facturita = 'A' then
Hasar1.AbrirComprobanteFiscal(FACTURA_A)
else
hasar1.AbrirComprobanteFiscal(FACTURA_B);

//Grabar Items segun comprobante
if tipofactura.Text = 'Remito' then
hasar1.ImprimirItemEnRemito(articulo, cantidad)
else
if tipofactura.Text ='A' then
begin //1
iva:=21;
hasar1.ImprimirItem(articulo, cantidad, monto, iva, 0 );
end //1
else
begin //2
iva:=21;
hasar1.ImprimirItem(articulo, cantidad, monto, iva, 0)
end; //2
y continua...

tulio
23-02-2007, 12:51:42
Hola valpmia

yo tuve el mismo problema, que impimia tickes B y remitos pero los ticket A no salian. El problema era que al cuit lo mandaba como un dato tipo numerico y hay que mandarlo string, asi que lo puse entre comillas y andubo 10 puntos.
Otra cosa que puede ser que no imprima el ticket A es porque el cuit no sea correcto, ya que el impresor tiene adentro una rutina de validacion de cuit.

EJ. '23-2587496-9'

saludos

tulio

valpmia
23-02-2007, 13:17:24
Gracias Tulio seguro que es lo de la validacion del cuit porq me dejo imprimir algunas facturas con un cuit 27********7 por ejmplo pero no asi con otros
seguramente cuenta los digitios ingresados
yo pense que era lo de el tipo integer o string, pero me asegure de leer el formato del procedure (menos mal) y ahi decia string asi que lo paso como tal
var numdoc:string
numdoc:= edit6.Text;
gracias por el dato, seguro q estabamos metiendo un cuit invalido
saludos