Ir para conteúdo
  • Cadastre-se

vinizioWOW

Membros
  • Total de ítens

    87
  • Registro em

  • Última visita

Tudo que vinizioWOW postou

  1. Bom dia, Ítalo, notei que você atualizou os fontes do componente. Agora ele gera os valores das tag's tudo corretamente, exceto a tag cOrgao, ainda está informando o código da UF de Origem, no meu caso 31 - MG, sendo que deveria-se informar o código da UF do SVC que atende o estado de origem, no meu caso 35 - SP. Segue anexo o XML de evento para apreciação. Grato pela atenção. Atenciosamente: 887045655-ped-evento.xml
  2. Boa noite, Tomei a iniciativa de alterar a procedure TWebServicesBase.DoCTeEnvEvento da unit ACBrCTeWebServices. Gerou o XML de Evento com todos os dados, exceto a tag cOrgao. Ao invéz de preencher com os códigos 35 ou 43 como descrito no manual, ele está preenchendo com o código da UF de origem, no meu caso 31 - MG. Com isso o webservice retorna rejeição. Agradeço a atenção e aguardo comentários do que podemos fazer... EventoCTe := TEventoCTe.Create; EventoCTe.idLote := TCTeEnvEvento(Self).idLote; for i := 0 to TCTeEnvEvento(Self).FEvento.Evento.Count-1 do begin with EventoCTe.Evento.Add do begin infEvento.tpAmb := TpcnTipoAmbiente(FConfiguracoes.WebServices.AmbienteCodigo-1); infEvento.CNPJ := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.CNPJ; infEvento.chCTe := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.chCTe; infEvento.dhEvento := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.dhEvento; infEvento.tpEvento := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.tpEvento; infEvento.nSeqEvento := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.nSeqEvento; case InfEvento.tpEvento of teCancelamento: begin infEvento.detEvento.nProt := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.nProt; infEvento.detEvento.xJust := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.xJust; end; teEncerramento: begin (* infEvento.detEvento.nProt := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.nProt; infEvento.detEvento.dtEnc := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.dtEnc; infEvento.detEvento.cUF := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.cUF; infEvento.detEvento.cMun := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.cMun; *) end; teEPEC: begin //InfEvento.versaoEvento := '1.04'; // InfEvento.TipoEvento := ''; infEvento.detEvento.descEvento := 'EPEC'; InfEvento.cOrgao := 35;//TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.cOrgao; infEvento.detEvento.nProt := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.nProt; infEvento.detEvento.xJust := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.xJust; InfEvento.detEvento.vICMS := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.vICMS; InfEvento.detEvento.vTPrest := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.vTPrest; InfEvento.detEvento.vCarga := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.vCarga; InfEvento.detEvento.toma := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.toma; InfEvento.detEvento.UF := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.UF; InfEvento.detEvento.CNPJCPF := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.CNPJCPF; InfEvento.detEvento.IE := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.IE; InfEvento.detEvento.modal := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.modal; InfEvento.detEvento.UFIni := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.UFIni; InfEvento.detEvento.UFFim := TCTeEnvEvento(Self).FEvento.Evento[i].InfEvento.detEvento.UFFim; end; end; end; end; EventoCTe.GerarXML;
  3. Boa noite, Ainda não Ítalo. Acabei de atualizar os fontes e agora ele tá dando erro de validação acusando que a propriedade xJust está vazia, mas este erro é conseqüência de não estar gerando o arquivo com os dados passados e sim que ele ta gerando o arquivo com dados padrões do componente. O erro acontece na procedure TWebServicesBase.DoCTeEnvEvento da unit ACBrCTeWebServices. Grato pela atenção.
  4. Bom dia Ítalo, Obrigado pela paciência... Sim, debuguei a rotina e todos os valores estão sendo passados, assim como consta no primeiro post do tópico. Resumindo faço a seguinte rotina: ACBrCTe1.Configuracoes.Geral.Salvar := True; ACBrCTe1.Configuracoes.Arquivos.Salvar := True; ACBrCTe1.Configuracoes.Geral.FormaEmissao := teDPEC; ACBrCTe1.Configuracoes.WebServices.UF := 'MG'; // Minha UF de origem ACBrCTe1.Configuracoes.WebServices.Ambiente := StrToTpAmb(Ok,'2'); ... ... with ACBrCTe1.Conhecimentos.Add.CTe do // Gera Xml do CT-e para obter a chave de acesso begin ... Ide.cUF := 'MG'; // Minha UF de origem Ide.tpEmis := teDPEC; ... end; ACBrCTe1.Conhecimentos.SaveToFile(); ACBrCTe1.Conhecimentos.Valida; ... ... ACBrCTe1.EventoCTe.Evento.Clear; with ACBrCTe1.EventoCTe.Evento.Add do begin InfEvento.tpAmb := taHomologacao; if RetornaSVCNacional(StrToInt(Sistema.CT_Codigo_UF)) = teSVCSP then InfEvento.cOrgao := 35 // 35 - SVC São Paulo else InfEvento.cOrgao := 43; // 43 - SVC Rio Grande do Sul} InfEvento.CNPJ := Sistema.CNPJUsr; InfEvento.chCTe := Copy(ACBrCTe1.Conhecimentos.Items[0].CTe.infCTe.ID,4, 44); InfEvento.dhEvento := Now; InfEvento.tpEvento := teEPEC; InfEvento.nSeqEvento := 1; InfEvento.detEvento.xJust := 'Sefaz de origem inoperante.'; InfEvento.detEvento.vICMS := VlrICMS; InfEvento.detEvento.vTPrest := ACBrCTe1.Conhecimentos.Items[0].CTe.vPrest.vTPrest; InfEvento.detEvento.vCarga := ACBrCTe1.Conhecimentos.Items[0].CTe.infCarga.vCarga; InfEvento.detEvento.toma := ACBrCTe1.Conhecimentos.Items[0].CTe.Ide.Toma03.Toma; if ACBrCTe1.Conhecimentos.Items[0].CTe.Ide.Toma03.Toma = tmRemetente then begin InfEvento.detEvento.UF := ACBrCTe1.Conhecimentos.Items[0].CTe.Rem.enderReme.UF; InfEvento.detEvento.CNPJCPF := ACBrCTe1.Conhecimentos.Items[0].CTe.Rem.CNPJCPF; InfEvento.detEvento.IE := ACBrCTe1.Conhecimentos.Items[0].CTe.Rem.IE; end else if ... begin ... end; InfEvento.detEvento.modal := ACBrCTe1.Conhecimentos.Items[0].CTe.Ide.modal; InfEvento.detEvento.UFIni := ACBrCTe1.Conhecimentos.Items[0].CTe.Ide.UFIni; InfEvento.detEvento.UFFim := ACBrCTe1.Conhecimentos.Items[0].CTe.Ide.UFFim; end; ACBrCTe1.EventoCTe.GerarXML; if ACBrCTe1.EnviarEventoCTe(idLote) then // trata retorno... else // Trata Retorno... Grato pela Atenção.
  5. Boa tarde Ítalo, Com relação á propriedade cOrgao, falha nossa... hehehe. Com relação as demais propriedades elas estão sendo passadas conforme o exemplo do primeiro post deste tópico, inclusive eu as pego diretamente do componente através do bloco "ACBrCTe1.Conhecimentos.Items[n].CTe..." entretanto o arquivo XML de evento de está sendo gerado com informações padrões do componente quando ele da um create no evento. Atenciosamente:
  6. Boa tarde, Italo, a atualização do componente deu certinho. Porém agora ao enviar o evento, ele somente me retorna "Rejeição: 226 - Código da UF do Emitente diverge da UF autorizadora", independente da UF que coloco. Segue anexo os XMLs do CT-e e do evento. Grato pela atenção. 31130802421499000136570010000000434000000435-cte.xml 292803999-ped-evento.xml
  7. Bom dia, Alguém pode me dar uma luz com a questão acima? Eu estou tentando gerar o XML do CT-e para pegar a chave de acesso, porém pelo fato de eu estar informando a propriedade tpEmiss como teDPEC, que é o correto, ao salvar ele já está gerando o evento do EPEC, automaticamente pela rotina: TWebServicesBase.DoCTeEnvEvento; //ACBrCTeWebServices.pas Com isso está dando erro na validação dos dados, pois as propriedades da rotina do EPEC não estão sendo preenchidas. Como contornar o problema? Qual a forma certa de gerar o EPEC? 1 - Gerar o XML do CT-e | Gerar e enviar o EPEC | posteriormente enviar o XML do CT-e. 2 - Gerar o XML do CT-e e deixar o componente enviar o EPEC automaticamente | posteriormente enviar o XML do CT-e. Grato a todos...
  8. vinizioWOW

    Rotina Envio Evento Epec

    Boa tarde pessoal, Segue resumo da minha rotina de envio de evento EPEC: ACBrCTe1.Configuracoes.Geral.Salvar := True; ACBrCTe1.Configuracoes.Arquivos.Salvar := True; ACBrCTe1.Configuracoes.Geral.FormaEmissao := teDPEC; ACBrCTe1.Configuracoes.WebServices.UF := 'MG'; // Minha UF de origem ACBrCTe1.Configuracoes.WebServices.Ambiente := StrToTpAmb(Ok,'2'); ... ... with ACBrCTe1.Conhecimentos.Add.CTe do // Gera Xml do CT-e para obter a chave de acesso begin ... Ide.cUF := 'MG'; // Minha UF de origem Ide.tpEmis := teDPEC; ... end; ACBrCTe1.Conhecimentos.SaveToFile(); ACBrCTe1.Conhecimentos.Valida; ... ... ACBrCTe1.EventoCTe.Evento.Clear; with ACBrCTe1.EventoCTe.Evento.Add do begin InfEvento.cOrgao := 31; // aqui é a UF do estado de origem ou a UF do SVCSP/SVCRS? InfEvento.CNPJ := Sistema.CNPJUsr; InfEvento.chCTe := Copy(ACBrCTe1.Conhecimentos.Items[0].CTe.infCTe.ID,4, 44); InfEvento.dhEvento := Now; InfEvento.tpEvento := teEPEC; InfEvento.nSeqEvento := 1; InfEvento.detEvento.xJust := 'Sefaz de origem inoperante.'; InfEvento.detEvento.vICMS := 10.00; InfEvento.detEvento.vTPrest := 100.00; InfEvento.detEvento.vCarga := 1000.00; InfEvento.detEvento.toma := Tomador; InfEvento.detEvento.UF := UFTomador; InfEvento.detEvento.CNPJCPF := CNPJTomador; InfEvento.detEvento.IE := IETomador; InfEvento.detEvento.modal := Modal; InfEvento.detEvento.UFIni := UFIni; InfEvento.detEvento.UFFim := UFFim; end; ACBrCTe1.EventoCTe.GerarXML; if ACBrCTe1.EnviarEventoCTe(idLote) then // trata retorno... else // Trata Retorno... Ao enviar o evento, sempre retorna mensagem que a tag xJust está vazia. Gostaria de confirmar se a sequencia acima está correta e se alguém sabe me falar o porquê de retornar erro da tag xJust sendo que a mesma foi informada. Agradeço a atenção.
  9. Olá boa noite, Alguém tem alguma novidade sobre o erro de retorno abaixo para o estado de Minas Gerais? Erro: Falha na validação dos dados do Envio de Evento '' violates pattern constraint of '[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}'. The element '{http://www.portalfis...nf.br/cte}xJust' with value '' failed to parse. Atenciosamente:
  10. E no caso da série? Existe a necessidade ou obrigatoriedade de mudar o numero de série? Ou ela também pode continuar seguindo a numeração? Atenciosamente: Vinício Rocha Logus Informática Formiga - MG.
  11. Bom dia, Li a Nota Técnica 2012/003 mas ainda assim me surgiu as seguintes dúvidas: 1 - No caso de se transmitir e autorizar um CT-e no ambiente SVCSP, como no meu caso que sou de MG, quando o ambiente normal voltar, eu ainda tenho que transmitir o CT-e para o ambiente de origem? Devo gerar outro CT-e com as mesmas informações, ou usar o mesmo? Ou não é necessário retransmitir visto que os dois ambientes sincronizam suas bases de dados? 2 - Como ficaria a questão do sequencial de numeração dos CT-e's nos dois ambientes? Grato pela atenção de todos. Vinício Rocha Logus Informática Formiga - MG.
  12. Boa tarde aos amigos do fórum. Hoje um cliente meu veio com uma dúvida simples mas que eu não tinha notado. Não sai o número do telefone do emitente no DACTE. É possível inserir essa informação?
×
×
  • 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.