Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

Timbre fiscal, codigo de error 301

Este es el foro para resolver dudas y hacer comentarios del Codigo Fuente para Delphi de generacion y timbrado que se ofrece aqui en el foro
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
Cerrado
marcoev
Mensajes: 22
Registrado: Lun Sep 13, 2010 10:47 pm

Timbre fiscal, codigo de error 301

Mensaje por marcoev »

Dado, buenos dias, estoy intentando hacer algunas pruebas de timbrado, utilizando el archivo PEM que enviaste junto con los componentes que te compre, en tu aplicacion de ejemplo funciona bien, pero en mi aplicacion me marca Esquema no valido (Codigo 301), cabe mencionar que le cambie el RFC en la empresa que manejo para que sea el mismo que tienes en tu aplicacion, este es MTI0806042N7, el archivo PEM que utilizo se llama CertificadoDemoTimbreFiscalMx.pem, porque me estara regresando este error?

Gracias.
Atte. Marco
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por Dado »

marcoev escribió:Dado, buenos dias, estoy intentando hacer algunas pruebas de timbrado, utilizando el archivo PEM que enviaste junto con los componentes que te compre, en tu aplicacion de ejemplo funciona bien, pero en mi aplicacion me marca Esquema no valido (Codigo 301), cabe mencionar que le cambie el RFC en la empresa que manejo para que sea el mismo que tienes en tu aplicacion, este es MTI0806042N7, el archivo PEM que utilizo se llama CertificadoDemoTimbreFiscalMx.pem, porque me estara regresando este error?

Gracias.
Atte. Marco
Ese error significa que el XML que estas enviando esta mal formado

Como estas pasando el comprobante a mi rutina? mediante un objeto CFD? o lo modificaste para pasarle otro dato
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
marcoev
Mensajes: 22
Registrado: Lun Sep 13, 2010 10:47 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por marcoev »

Si de hecho tenia un error en mi codigo, pues ocasionaba que no se registrara el detalle al CFDI :oops:

Otra pregunta... esta es sobre la generacion del codigo CBB

Código: Seleccionar todo

      
      CodigoDeBarras:=tCodigoDeBarras.Create();
      with CFD.Datos do
        CodigoDeBarras.QRCodeBMP(Emisor.Rfc,Receptor.Rfc,Total,Timbre.Datos.UUID);  {<< Aqui me marca el error}
      codigocbb:=TSTream.Create();
      CodigoDeBarras.BMP.SaveToStream(codigocbb);

      dmDatos.qFacturaCFD.FieldByName('CadenaOriginal').Value := CFD.CadenaOriginalTFD;
      dmDatos.qFacturaCFD.FieldByName('SelloDigitalSAT').Value := Timbre.Datos.SelloSAT;
      dmDatos.qFacturaCFD.FieldByName('UUID').Value := Timbre.Datos.UUID;
      dmDatos.qFacturaCFD.FieldByName('ProveedorSello').Value:=ProveedorTimbre;
      dmDatos.qFacturaCFD.FieldByName('FechaTimbre').AsString := Timbre.Datos.FechaTimbrado;

      (dmDatos.qFacturaCFD.FieldByName('CodigoCBB') As tBlobField).LoadFromStream(codigocbb);
      FreeAndNil(codigocbb);

      dmDatos.qFacturaCFD.Post;
      with dmDatos do
        CodigoDeBarras.Save(path + nombre+'.bmp');

      CodigoDeBarras.Free;
estoy intentando basarme en el codigo de ejemplo que enviaste en la unidad cfdPDF donde haces algo como

Código: Seleccionar todo

			with CFDCopy do
				begin
					CodigoDeBarras.QRCodeBMP(Emisor.Rfc,Receptor.Rfc,Total,Timbre.Datos.UUID);
					Logo.Image := CodigoDeBarras.BMP;
				end;
Segun veo es porque la instancia no esta creada, por lo cual la cree manual CodigoDeBarras:=tCodigoDeBarras.Create();, despues dentro de este componente esta lo siguiente

Código: Seleccionar todo

procedure TCodigoDeBarras.QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
begin
  Total := Format('%10.6f',[StrToFloatDef(Total,0)]);
  Total := DupeString('0',17-length(Total)) + Total;
  QRCode:=TQRCode.Create(nil); //Esta linea la agregue porque me marcaba error en la siguiente, y asi se va hasta donde asigna la imagen al BMP
  QRCode.code := '?re=' + RFCEmisor + '&rr=' + RFCReceptor + '&tt=' + Total + '&id=' + UUID;
  QRCode.Refresh;
  QRCode.paintBarcodeAutoSize(BMP.Canvas);
  QRCode.Free;
end;
Que no se supone que las instancias de QRCode y BMP se crean en la inicializacion de la unidad cfdQRCode? que estoy haciendo mal :s
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por Dado »


CodigoDeBarras:=tCodigoDeBarras.Create(); QUITA ESTE CREATE, EL OBJETO YA ESTA CREADO, YA NO DEBES CREARLO TU
with CFD.Datos do
CodigoDeBarras.QRCodeBMP(Emisor.Rfc,Receptor.Rfc,Total,Timbre.Datos.UUID); {<< Aqui me marca el error}
codigocbb:=TSTream.Create();
CodigoDeBarras.BMP.SaveToStream(codigocbb);
dmDatos.qFacturaCFD.FieldByName('CadenaOriginal').Value := CFD.CadenaOriginalTFD;
dmDatos.qFacturaCFD.FieldByName('SelloDigitalSAT').Value := Timbre.Datos.SelloSAT;
dmDatos.qFacturaCFD.FieldByName('UUID').Value := Timbre.Datos.UUID;
dmDatos.qFacturaCFD.FieldByName('ProveedorSello').Value:=ProveedorTimbre;
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
marcoev
Mensajes: 22
Registrado: Lun Sep 13, 2010 10:47 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por marcoev »

Ya lo removi, de hecho nomas lo puse para verificar si era eso, puesto en Initalize es donde crear los objetas, pero me marca error en el siguiente procedimiento

Código: Seleccionar todo

procedure TCodigoDeBarras.QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
begin
	Total := Format('%10.6f',[StrToFloatDef(Total,0)]);
	Total := DupeString('0',17-length(Total)) + Total;
	QRCode.code := '?re=' + RFCEmisor + '&rr=' + RFCReceptor + '&tt=' + Total + '&id=' + UUID;
	QRCode.Refresh;
	QRCode.paintBarcodeAutoSize(BMP.Canvas); <<[b]Aqui me marca error[/b]
end;
el error que genera es Range Check Error
poliman
Mensajes: 89
Registrado: Jue Dic 30, 2010 8:32 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por poliman »

marcoev escribió:Ya lo removi, de hecho nomas lo puse para verificar si era eso, puesto en Initalize es donde crear los objetas, pero me marca error en el siguiente procedimiento

Código: Seleccionar todo

procedure TCodigoDeBarras.QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
begin
	Total := Format('%10.6f',[StrToFloatDef(Total,0)]);
	Total := DupeString('0',17-length(Total)) + Total;
	QRCode.code := '?re=' + RFCEmisor + '&rr=' + RFCReceptor + '&tt=' + Total + '&id=' + UUID;
	QRCode.Refresh;
	QRCode.paintBarcodeAutoSize(BMP.Canvas); <<[b]Aqui me marca error[/b]
end;
el error que genera es Range Check Error
Hola.

Deshabilita la opcion Range Check Error.

No es un error en tu codigo, solo necesitas desactivar esta comprobacion y funcionara bien.
{$R-}

:)
marcoev
Mensajes: 22
Registrado: Lun Sep 13, 2010 10:47 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por marcoev »

ya le agregue dicha directiva, pero sigue marcando el error :?

Código: Seleccionar todo

unit cfdQRCode;

interface

uses SysUtils, StrUtils, Forms, Graphics, QRCode;

type
TCodigoDeBarras = class
	BMP : TBitMap;
	QRCode : TQRCode;
	procedure QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
end;

var
	CodigoDeBarras: TCodigoDeBarras;

implementation
{$R-}  <<Aqui la puse

procedure TCodigoDeBarras.QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
begin
	Total := Format('%10.6f',[StrToFloatDef(Total,0)]);
	Total := DupeString('0',17-length(Total)) + Total;
	QRCode.code := '?re=' + RFCEmisor + '&rr=' + RFCReceptor + '&tt=' + Total + '&id=' + UUID;
	QRCode.Refresh;
	QRCode.paintBarcodeAutoSize(BMP.Canvas);
end;

initialization
	CodigoDeBarras := TCodigoDeBarras.Create;

	CodigoDeBarras.BMP := TBitmap.create();
	CodigoDeBarras.BMP.height:=200;
	CodigoDeBarras.BMP.width:=200;

	CodigoDeBarras.QRCode := TQRCode.Create(Application);
	CodigoDeBarras.QRCode.marginPixels := 0;

//	CodigoDeBarras.QRCode.backColor := clRed;
end.
La tendre que poner en alguna otra parte?
poliman
Mensajes: 89
Registrado: Jue Dic 30, 2010 8:32 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por poliman »

marcoev escribió:ya le agregue dicha directiva, pero sigue marcando el error :?

Código: Seleccionar todo

unit cfdQRCode;

interface

uses SysUtils, StrUtils, Forms, Graphics, QRCode;

type
TCodigoDeBarras = class
	BMP : TBitMap;
	QRCode : TQRCode;
	procedure QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
end;

var
	CodigoDeBarras: TCodigoDeBarras;

implementation
{$R-}  <<Aqui la puse

procedure TCodigoDeBarras.QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
begin
	Total := Format('%10.6f',[StrToFloatDef(Total,0)]);
	Total := DupeString('0',17-length(Total)) + Total;
	QRCode.code := '?re=' + RFCEmisor + '&rr=' + RFCReceptor + '&tt=' + Total + '&id=' + UUID;
	QRCode.Refresh;
	QRCode.paintBarcodeAutoSize(BMP.Canvas);
end;

initialization
	CodigoDeBarras := TCodigoDeBarras.Create;

	CodigoDeBarras.BMP := TBitmap.create();
	CodigoDeBarras.BMP.height:=200;
	CodigoDeBarras.BMP.width:=200;

	CodigoDeBarras.QRCode := TQRCode.Create(Application);
	CodigoDeBarras.QRCode.marginPixels := 0;

//	CodigoDeBarras.QRCode.backColor := clRed;
end.
La tendre que poner en alguna otra parte?
Revisa el siguiente enlace:
http://www.delphibasics.co.uk/RTL.asp?N ... dCode2=Yes
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por Dado »

Otra solucion definitiva (y talvez hasta la mejor) es que INSTALES EL COMPONENTE QRCode, sigue las instrucciones del "readme.txt", con eso aparece un componente nuevo en la barra de Delphi, ese componente lo puedes arrastrar a tu forma y usarlo mas facilmente
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
marcoev
Mensajes: 22
Registrado: Lun Sep 13, 2010 10:47 pm

Re: Timbre fiscal, codigo de error 301

Mensaje por marcoev »

Precisamente en ese enlace me base para aplicar la directiva, y de hecho uso mucho esa pagina, pues es mas facil y rapido encontrar ayuda ahi que en el mismo delphi que tengo (2010, muy lento pa abrir la ayuda).

Voy a hacer la prueba instalando el componente y te aviso, gracias.
Cerrado