Ir para conteúdo
  • Cadastre-se

dev botao

erro ao enviar XML


josemarmt
  • Este tópico foi criado há 4523 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Caro senhores,

Primeiramente, gostaria de agradecer a todos os responsáveis e participantes deste projeto.

Vamos esclarecer meu problema.

Possuo um cliente que roda um sistema antigo em clipper ainda q funciona perfeitamente. Porém agora preciso fornecer um módulo a parte complementar com a função de gerar o CTe(conhecimento de transporte eletronico). Para tal, utilizei o componente da ACBr q no caso da NFe funciona perfeitamente, já o tenho implantado em vários clientes. No caso do CTe não obtive o mesmo sucesso, tipo quando mando gerar e validar o XML o mesmo é criado perfeitamente, mas quando mando criar e enviar me parece que o arquivo que é enviado é outro sem informação nenhuma contida, já fiz vários debug, mas não consigo identificar o problema.

Antecipadamente agradecido,

Josemar

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Josemar,

Verifique se a sua rotina não esta limpando o conteudo do componente antes de gerar e enviar.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

verifiquei, mas me parece q não ocorre como consta o código abaixo.

botão para gerar:

procedure TfrmDemo_ACBrCTe.btnGerarCTeClick(Sender: TObject);

var

vAux : String;

begin

if not(InputQuery('WebServices Enviar', 'Numero do Conhecimento', vAux))

then exit;

vAux := fmtzero(vAux,6);

gerou := false;

GerarCTe(vAux);

if not gerou then

exit;

ACBrCTe1.Conhecimentos.Items[0].SaveToFile;

ShowMessage('Arquivo gerado em: '+ACBrCTe1.Conhecimentos.Items[0].NomeArq);

MemoDados.Lines.Add('Arquivo gerado em: '+ACBrCTe1.Conhecimentos.Items[0].NomeArq);

MemoResp.Lines.LoadFromFile(ACBrCTe1.Conhecimentos.Items[0].NomeArq);

LoadXML(MemoResp, WBResposta);

PageControl2.ActivePageIndex := 1;

end;

função gerarCTe

procedure TfrmDemo_ACBrCTe.GerarCTe(NumCTe: String);

var

i, j, CodigoMunicipio, Tomador: Integer;

nota1, nota2, xcgcreme, xcgcdest, xcgc, xnummov, xserie, xciffob, xcpfreme, xcpfdest, xcancela, telreme, teldest, dcarga, ciffob : string;

xvalormov, xbasecalc, xicms, xaliquota, vcarga : real;

xdatamov : tdate;

begin

ACBrCTe1.Conhecimentos.Clear;

VKDBFNTX1.Active := true;

VKDBFNTX2.Active := true;

VKDBFNTX3.Active := true;

VKDBFNTX4.Active := true;

VKDBFNTX1.Filtered := false;

VKDBFNTX1.Filter := 'cgc = ' + QuotedStr('10.745.668/0001-11') + ' and numcon = ' + QuotedStr(NumCTe + '/ ');

VKDBFNTX1.Filtered := true;

if VKDBFNTX1.IsEmpty then

begin

showmessage('CTR não encontrado.');

gerou := false;

exit;

end;

VKDBFNTX1.First;

while not VKDBFNTX1.Eof do

begin

VKDBFNTX2.Filtered := false;

VKDBFNTX2.Filter := 'cgc = ' + QuotedStr('10.745.668/0001-11') + ' and numcon = ' + QuotedStr(NumCTe + '/ ');

VKDBFNTX2.Filtered := true;

VKDBFNTX3.Filtered := false;

VKDBFNTX3.Filter := 'cgc = ' + QuotedStr('10.745.668/0001-11') + ' and numcon = ' + QuotedStr(NumCTe + '/ ');

VKDBFNTX3.Filtered := true;

with ACBrCTe1.Conhecimentos.Add.CTe do

begin

xcancela := VKDBFNTX1.fieldbyname('cancela').AsString;

xnummov := '00'+VKDBFNTX2.fieldbyname('conhece').AsString;

xdatamov := VKDBFNTX2.fieldbyname('datacon').AsDateTime;

xvalormov := VKDBFNTX2.fieldbyname('totprest').AsFloat;

xbasecalc := VKDBFNTX2.fieldbyname('basecalc').AsFloat;

xicms := VKDBFNTX2.fieldbyname('icms').AsFloat;

xaliquota := VKDBFNTX2.fieldbyname('aliquota').AsFloat;

xciffob := VKDBFNTX2.fieldbyname('cgcreme').AsString;

xcgcreme := VKDBFNTX2.fieldbyname('cgcreme').AsString;

xcpfreme := VKDBFNTX2.fieldbyname('cpfreme').AsString;

xcgcdest := VKDBFNTX2.fieldbyname('cgcdest').AsString;

xcpfdest := VKDBFNTX2.fieldbyname('cpfdest').AsString;

ciffob := VKDBFNTX2.fieldbyname('ciffob').AsString;

Ide.cUF := CTeUtil.UFtoCUF(edtEmitUF.Text);

Ide.cCT := StrToInt(VKDBFNTX2.fieldbyname('conhece').AsString); //Caso não seja preenchido será gerado um número aleatório pelo componente

Ide.CFOP := StrToInt(copy(VKDBFNTX2.fieldbyname('cfo').AsString,1,1) + copy(VKDBFNTX2.fieldbyname('cfo').AsString,3,3));

Ide.natOp := 'PRESTAÇÃO DE SERVIÇO';

if VKDBFNTX1.fieldbyname('fpago').AsString = 'P' then

Ide.forPag := fpPago // ou Pago

else

Ide.forPag := fpAPagar; // ou APagar

Ide.modelo := '57';

Ide.serie := 0;

Ide.nCT := StrToInt(VKDBFNTX2.fieldbyname('conhece').AsString);

Ide.dhEmi := Now;

Ide.tpImp := tiRetrato;

case rgFormaEmissao.ItemIndex of

0: Ide.tpEmis:=teNormal;

1: Ide.tpEmis:=teContingencia;

2: Ide.tpEmis:=teSCAN;

3: Ide.tpEmis:=teDPEC;

4: Ide.tpEmis:=teFSDA;

end;

if rgTipoAmb.ItemIndex = 0 then

Ide.tpAmb := taProducao //Lembre-se de trocar esta variável quando for para ambiente de produção

else

Ide.tpAmb := taHomologacao; //Lembre-se de trocar esta variável quando for para ambiente de produção

Ide.tpCTe := tcNormal;

Ide.procEmi := peAplicativoContribuinte;

Ide.verProc := '1.0'; //Versão do seu sistema

Ide.modal := mdRodoviario;

Ide.tpServ := tsNormal;

VKDBFNTX4.Filtered := false;

VKDBFNTX4.Filter := 'cgccli = ' + quotedstr(VKDBFNTX2.fieldbyname('cgcreme').AsString) + ' and ' +

'cpfcli = ' + quotedstr(VKDBFNTX2.fieldbyname('cpfreme').AsString);

VKDBFNTX4.Filtered := true;

Ide.cMunIni := VKDBFNTX4.fieldbyname('ibgecli').AsInteger;

Ide.xMunIni := VKDBFNTX4.fieldbyname('cidcli').AsString;

Ide.UFIni := VKDBFNTX4.fieldbyname('ufcli').AsString;

VKDBFNTX4.Filtered := false;

VKDBFNTX4.Filter := 'cgccli = ' + quotedstr(VKDBFNTX2.fieldbyname('cgcdest').AsString) + ' and ' +

'cpfcli = ' + quotedstr(VKDBFNTX2.fieldbyname('cpfdest').AsString);

VKDBFNTX4.Filtered := true;

Ide.cMunFim := VKDBFNTX4.fieldbyname('ibgecli').AsInteger;

Ide.xMunFim := VKDBFNTX4.fieldbyname('cidcli').AsString;

Ide.UFFim := VKDBFNTX4.fieldbyname('ufcli').AsString;

Ide.cMunEnv := 3136702;

Ide.xMunEnv := 'Juiz de Fora';

Ide.UFEnv := 'MG';

Ide.retira := rtSim;

Ide.xdetretira := '';

Tomador := 0;

if ciffob = 'C' then

begin

Ide.Toma03.Toma := tmRemetente;

if trim(xcgcreme) = '' then

xcgcreme := copy(xcpfreme,1,3)+copy(xcpfreme,5,3)+copy(xcpfreme,9,3)+copy(xcpfreme,13,2)

else

xcgcreme := copy(xcgcreme,1,2)+copy(xcgcreme,4,3)+copy(xcgcreme,8,3)+copy(xcgcreme,12,4)+copy(xcgcreme,17,2);

VKDBFNTX4.Filtered := false;

VKDBFNTX4.Filter := 'cgccli = ' + quotedstr(VKDBFNTX2.fieldbyname('cgcreme').AsString) + ' and ' +

'cpfcli = ' + quotedstr(VKDBFNTX2.fieldbyname('cpfreme').AsString);

VKDBFNTX4.Filtered := true;

Ide.Toma4.CNPJCPF := xcgcreme;

end

else

begin

Ide.Toma03.Toma := tmDestinatario;

if trim(xcgcdest) = '' then

xcgcdest := copy(xcpfdest,1,3)+copy(xcpfdest,5,3)+copy(xcpfdest,9,3)+copy(xcpfdest,13,2)

else

xcgcdest := copy(xcgcdest,1,2)+copy(xcgcdest,4,3)+copy(xcgcdest,8,3)+copy(xcgcdest,12,4)+copy(xcgcdest,17,2);

VKDBFNTX4.Filtered := false;

VKDBFNTX4.Filter := 'cgccli = ' + quotedstr(VKDBFNTX2.fieldbyname('cgcdest').AsString) + ' and ' +

'cpfcli = ' + quotedstr(VKDBFNTX2.fieldbyname('cpfdest').AsString);

VKDBFNTX4.Filtered := true;

end;

telreme :=EliminaCaracteres(VKDBFNTX4.fieldbyname('telecli').AsString,'(');

telreme :=EliminaCaracteres(telreme,')');

telreme :=EliminaCaracteres(telreme,'-');

telreme :=EliminaCaracteres(telreme,' ');

Ide.Toma4.Toma :=tmOutros;

Ide.Toma4.IE:=VKDBFNTX4.fieldbyname('inscest').AsString;

Ide.Toma4.xNome:=VKDBFNTX4.fieldbyname('nomecli').AsString;

Ide.Toma4.xFant:=VKDBFNTX4.fieldbyname('nomecli').AsString;

Ide.Toma4.fone:=telreme;

Ide.Toma4.EnderToma.xLgr:=VKDBFNTX4.fieldbyname('endcli').AsString;

Ide.Toma4.EnderToma.nro:=VKDBFNTX4.fieldbyname('numcli').AsString;

Ide.Toma4.EnderToma.xCpl:=VKDBFNTX4.fieldbyname('compcli').AsString;

Ide.Toma4.EnderToma.xBairro:=VKDBFNTX4.fieldbyname('bairrocli').AsString;

Ide.Toma4.EnderToma.cMun:=VKDBFNTX4.fieldbyname('ibgecli').AsInteger;;

Ide.Toma4.EnderToma.xMun:=VKDBFNTX4.fieldbyname('cidcli').AsString;

Ide.Toma4.EnderToma.CEP:=strtoint(copy(VKDBFNTX4.fieldbyname('cepcli').AsString,1,5)+copy(VKDBFNTX4.fieldbyname('cepcli').AsString,7,3));

Ide.Toma4.EnderToma.UF:=VKDBFNTX4.fieldbyname('ufcli').AsString;

Ide.Toma4.EnderToma.cPais:=1058;

Ide.Toma4.EnderToma.xPais:='Brasil';

compl.xCaracAd := '';

compl.xCaracSer := '';

compl.xEmi := '';

compl.fluxo.xOrig := '';

compl.fluxo.xDest := '';

compl.fluxo.xRota := '';

compl.xObs := 'DOCUMENTO EMITIDO POR ME OU EPP OPTANTE PELO SIMPLES NACINAL NAO GERA DIREITO A CREDITO FISCAL - ' +

trim(VKDBFNTX2.fieldbyname('obscon').AsString) + ' ' + trim(VKDBFNTX2.fieldbyname('obscon1').AsString);

Emit.CNPJ := copy(VKDBFNTX2.fieldbyname('cgc').AsString,1,2)+copy(VKDBFNTX2.fieldbyname('cgc').AsString,4,3)+

copy(VKDBFNTX2.fieldbyname('cgc').AsString,8,3)+copy(VKDBFNTX2.fieldbyname('cgc').AsString,12,4)+

copy(VKDBFNTX2.fieldbyname('cgc').AsString,17,2);

Emit.IE:=edtEmitIE.Text;

Emit.xNome:=edtEmitRazao.Text;

Emit.xFant:=edtEmitRazao.Text;

Emit.EnderEmit.xLgr:=edtEmitLogradouro.Text;

Emit.EnderEmit.nro:=edtEmitNumero.Text;

Emit.EnderEmit.xCpl:=edtEmitComp.Text;

Emit.EnderEmit.xBairro:=edtEmitBairro.Text;

Emit.EnderEmit.cMun:=strtoint(edtEmitCodCidade.Text);

Emit.EnderEmit.xMun:=edtEmitCidade.Text;

Emit.EnderEmit.CEP:=strtoint(edtEmitCEP.Text);

Emit.EnderEmit.UF:=edtEmitUF.Text;

Emit.EnderEmit.fone:=edtEmitFone.Text;

VKDBFNTX4.Filtered := false;

VKDBFNTX4.Filter := 'cgccli = ' + quotedstr(VKDBFNTX2.fieldbyname('cgcreme').AsString) + ' and ' +

'cpfcli = ' + quotedstr(VKDBFNTX2.fieldbyname('cpfreme').AsString);

VKDBFNTX4.Filtered := true;

Rem.CNPJCPF:=xcgcreme;

Rem.xNome:=VKDBFNTX4.fieldbyname('nomecli').AsString;

Rem.xFant:=VKDBFNTX4.fieldbyname('nomecli').AsString;

Rem.EnderReme.xLgr:=VKDBFNTX4.fieldbyname('endcli').AsString;

Rem.EnderReme.nro:=VKDBFNTX4.fieldbyname('numcli').AsString;

Rem.EnderReme.xCpl:=VKDBFNTX4.fieldbyname('compcli').AsString;

Rem.EnderReme.xBairro:=VKDBFNTX4.fieldbyname('bairrocli').AsString;

Rem.EnderReme.cMun:=VKDBFNTX4.fieldbyname('ibgecli').AsInteger;

Rem.EnderReme.xMun:=VKDBFNTX4.fieldbyname('cidcli').AsString;

Rem.EnderReme.CEP:=strtoint(copy(VKDBFNTX4.fieldbyname('cepcli').AsString,1,5)+copy(VKDBFNTX4.fieldbyname('cepcli').AsString,7,3));

Rem.EnderReme.UF:=VKDBFNTX4.fieldbyname('ufcli').AsString;

Rem.EnderReme.cPais:=1058;

Rem.EnderReme.xPais:='Brasil';

Rem.CNPJCPF := xcgcreme;

Rem.IE:=VKDBFNTX4.fieldbyname('inscest').AsString;

telreme :=EliminaCaracteres(VKDBFNTX4.fieldbyname('telecli').AsString,'(');

telreme :=EliminaCaracteres(telreme,')');

telreme :=EliminaCaracteres(telreme,'-');

telreme :=EliminaCaracteres(telreme,' ');

Rem.fone:=telreme;

if trim(xcgcdest) = '' then

xcgcdest := copy(xcpfdest,1,3)+copy(xcpfdest,5,3)+copy(xcpfdest,9,3)+copy(xcpfdest,13,2)

else

xcgcdest := copy(xcgcdest,1,2)+copy(xcgcdest,4,3)+copy(xcgcdest,8,3)+copy(xcgcdest,12,4)+copy(xcgcdest,17,2);

VKDBFNTX4.Filtered := false;

VKDBFNTX4.Filter := 'cgccli = ' + quotedstr(VKDBFNTX2.fieldbyname('cgcdest').AsString) + ' and ' +

'cpfcli = ' + quotedstr(VKDBFNTX2.fieldbyname('cpfdest').AsString);

VKDBFNTX4.Filtered := true;

Dest.CNPJCPF:=xcgcdest;

Dest.xNome:=VKDBFNTX4.fieldbyname('nomecli').AsString;

Dest.EnderDest.xLgr:=VKDBFNTX4.fieldbyname('endcli').AsString;

Dest.EnderDest.nro:=VKDBFNTX4.fieldbyname('numcli').AsString;

Dest.EnderDest.xCpl:=VKDBFNTX4.fieldbyname('compcli').AsString;

Dest.EnderDest.xBairro:=VKDBFNTX4.fieldbyname('bairrocli').AsString;

Dest.EnderDest.cMun:=VKDBFNTX4.fieldbyname('ibgecli').AsInteger;

Dest.EnderDest.xMun:=VKDBFNTX4.fieldbyname('cidcli').AsString;

Dest.EnderDest.CEP:=strtoint(copy(VKDBFNTX4.fieldbyname('cepcli').AsString,1,5)+copy(VKDBFNTX4.fieldbyname('cepcli').AsString,7,3));

Dest.EnderDest.UF:=VKDBFNTX4.fieldbyname('ufcli').AsString;

Dest.EnderDest.cPais:=1058;

Dest.EnderDest.xPais:='Brasil';

Dest.CNPJCPF := xcgcdest;

Dest.IE:=VKDBFNTX4.fieldbyname('inscest').AsString;

teldest :=EliminaCaracteres(VKDBFNTX4.fieldbyname('telecli').AsString,'(');

teldest :=EliminaCaracteres(teldest,')');

teldest :=EliminaCaracteres(teldest,'-');

teldest :=EliminaCaracteres(teldest,' ');

Dest.fone:=teldest;

Dest.locEnt.CNPJCPF := xcgcdest;

Dest.locEnt.xNome:=VKDBFNTX4.fieldbyname('nomecli').AsString;

Dest.locEnt.xLgr:=VKDBFNTX4.fieldbyname('endcli').AsString;

Dest.locEnt.nro:=VKDBFNTX4.fieldbyname('numcli').AsString;

Dest.locEnt.xCpl:=VKDBFNTX4.fieldbyname('compcli').AsString;

Dest.locEnt.xBairro:=VKDBFNTX4.fieldbyname('bairrocli').AsString;

Dest.locEnt.cMun:=VKDBFNTX4.fieldbyname('ibgecli').AsInteger;

Dest.locEnt.xMun:=VKDBFNTX4.fieldbyname('cidcli').AsString;

Dest.locEnt.UF:=VKDBFNTX4.fieldbyname('ufcli').AsString;

vcarga := 0;

dcarga := '';

VKDBFNTX3.First;

while not VKDBFNTX3.Eof do

begin

with Rem.InfNF.Add do

begin

dcarga := VKDBFNTX3.fieldbyname('natureza').AsString;

serie := VKDBFNTX3.fieldbyname('snf').AsString;

nDoc := VKDBFNTX3.fieldbyname('nf').AsString;

dEmi := VKDBFNTX3.fieldbyname('dtnf').AsDateTime;

nCFOP := VKDBFNTX3.fieldbyname('cfop').AsInteger;

vNF := RoundTo(VKDBFNTX3.fieldbyname('valor').AsFloat, -2);

vProd := RoundTo(VKDBFNTX3.fieldbyname('valor').AsFloat, -2);

nPeso := RoundTo(VKDBFNTX3.fieldbyname('pesocon').AsFloat, -2);

vcarga := RoundTo(VKDBFNTX3.fieldbyname('valor').AsFloat, -2);

end;

VKDBFNTX3.Next;

end;

vPrest.vTPrest := RoundTo(VKDBFNTX2.fieldbyname('totprest').AsFloat, -2);

vPrest.vRec := RoundTo(VKDBFNTX2.fieldbyname('totprest').AsFloat, -2);

with vPrest.comp.Add do

begin

xNome:='Frete Peso';

vComp:=RoundTo(VKDBFNTX2.fieldbyname('fretepes').AsFloat, -2);

end;

with vPrest.comp.Add do

begin

xNome:='Frete Valor';

vComp:=RoundTo(VKDBFNTX2.fieldbyname('freteval').AsFloat, -2);

end;

with vPrest.comp.Add do

begin

xNome:='Frete Volume';

vComp:=RoundTo(VKDBFNTX2.fieldbyname('fretevol').AsFloat, -2);

end;

ACBrCTe1.Conhecimentos.Add.CTe.Imp.ICMS.ICMSSN.indSN := 1;

Imp.ICMS.SituTrib := cst41;

Imp.ICMS.ICMS45.CST := cst41;

infCarga.vCarga := vcarga;

infCarga.proPred := dcarga;

with infCarga.InfQ.Add do

begin

cUnid := uKg;

tpMed := 'Kg';

qCarga := RoundTo(VKDBFNTX2.fieldbyname('peso').AsFloat, -2);

end;

Rodo.RNTRC:='12365109' ;

Rodo.dPrev:=(Date+1);

Rodo.Lota:=ltNao;

end;

VKDBFNTX1.Next;

end;

gerou := true;

end;

Grato a todos.

Link para o comentário
Compartilhar em outros sites

fiz assim e funcionou

ACBrCTe1.Conhecimentos.Items[0].SaveToFile;

s := ACBrCTe1.Conhecimentos.Items[0].NomeArq;

acbrcte1.Conhecimentos.Clear;

Acbrcte1.Conhecimentos.LoadFromFile(s);

acbrcte1.Enviar(StrToInt(vAux));

porém estou ainda com uma mensagem de erro

585 Rejeição: IE Emitente não autorizada a emitir CT-e para o modal informado.

sendo q esta tudo liberado para a fase de testes, homologação como pode ver no email recebido

Prezados,

Boa tarde.

Informamos o credenciamento como emissor de CT-E do estabelecimento informado no formulário encaminhado, e que o ambiente de homologação já foi liberado para o mesmo.

Seguem os endereços dos WebService de homologação do CT-e de MG:

https://hcte.fazenda.mg.gov.br/cte/serv ... ncelamento

https://hcte.fazenda.mg.gov.br/cte/serv ... utilizacao

https://hcte.fazenda.mg.gov.br/cte/services/CteRecepcao

https://hcte.fazenda.mg.gov.br/cte/serv ... etRecepcao

https://hcte.fazenda.mg.gov.br/cte/serv ... tusServico

https://hcte.fazenda.mg.gov.br/cte/services/CteConsulta

Caso queiram liberar o ambiente de produção para os estabelecimentos já cadastrados e em fase de testes no ambiente de homologação, favor encaminhar um e-mail solicitando a liberação e informando os dados dos estabelecimentos (Razão Social, Inscrição Estadual e CNPJ) pelo menos 24h antes da data prevista para início da emissão do CT-e em produção.

Att.

Equipe SPED

Secretaria de Estado de Fazenda de Minas Gerais

SRE/SAIF/DIEF/Divisão de Escrituração Digital

-------------------------

vou testar sua sugestão e retorno o resultado

valeu, []

Agradecidamente,

Josemar

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Josemar,

Estude os fragmentos de código disponibilizados juntamente com o programa exemplo, pasta: ...\Exemplos\ACBrCTe

Você vai notar que a procedure para envio de Lote é a mesma proposta pelo Janis, e esta funcionando.

São fragmentos da minha aplicação que esta rodando em ambiente de produção a mais de 1 ano.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

UBERLÂNDIA-MG, 22 de dezembro de 2011.

Prezado Josemar,

Conforme sugestão anterior, esqueça temporariamente nos testes a linha:

// ACBrCTe1.Conhecimentos.Items[0].SaveToFile;

e substitua por:

ACBrCTe1.Conhecimentos.Valida; // Que cria o arquivo XML, Assina e Valida !!!

ACBrCTe1.Enviar(1); // Número do Lote ( use sempre 1, e não necessariamente o Número do CTe Ide.nCTe

No algorítmo que você postou, onde você está ASSINANDO o XML ?!

Lembrando que o método Valida CRIA, ASSINA e VALIDA o XML...

Estou com mais de 100.000 CTes Autorizados com o ACBrCTe. Pode ficar tranquilo quanto aos algorítmos para o Schema 1.03, e estamos aguardando a SEFAZ-MG entrar em sintonia com o 1.04, que ainda apresenta problemas com alteração na chave e retornos de Protocolos.

Atenciosamente,

Janis Peters Grants.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4523 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...