Jump to content

dev botao

aCBrCIOT opGravarVeiculo


Go to solution Solved by Italo Giurizzato Junior,
  • Este tópico foi criado há 1642 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores

Boa noite Luiz,

Antes de executar o método Enviar, você esta configurando o componente corretamente?

Sugiro você estudar o código do programa exemplo.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Membros Pro

Bom dia Ítalo,

Obs: Só não consegui encontrar os schemas na pasta de schemas em exemplos, seria isso?

Sim estou seguindo o exemplo: Configurações:

  ACBrCIOT1.SSL.UseCertificateHTTP := false;
  with ACBrCIOT1.Configuracoes.Geral do
  begin
    SSLLib        := ACBrCIOT1.Configuracoes.Geral.SSLLib;
    SSLCryptLib   := ACBrCIOT1.Configuracoes.Geral.SSLCryptLib;
    SSLHttpLib    := ACBrCIOT1.Configuracoes.Geral.SSLHttpLib;
    SSLXmlSignLib := ACBrCIOT1.Configuracoes.Geral.SSLXmlSignLib;
    ACBrCIOT1.SSL.SSLType := LT_TLSv1_2;

    Salvar           := true;
    ExibirErroSchema := true;
    RetirarAcentos   := true;
    FormatoAlerta    := vFormatoAlerta;
    FormaEmissao     := TpcnTipoEmissao(cbFormaEmissao.ItemIndex);
    VersaoDF         := TVersaoCIOT(cbVersaoDF.ItemIndex);
    Integradora      := StrToIntegradora(Ok, cbbIntegradora.text);

    edtUsuarioWebService.Text := 'usuario@ks';
    edtSenhaWebService.Text   := 'usuario#ks';
    edtHashIntegrador.Text    := '4c0e6531-dc14-49bb-874d-041415b874e7';
    Usuario          := edtUsuarioWebService.Text;
    Senha            := edtSenhaWebService.Text;
    HashIntegrador   := edtHashIntegrador.Text;
  end;

  with ACBrCIOT1.Configuracoes.WebServices do
  begin
    UF         := UFOrigem;
    if rgTipoAmb.ItemIndex = 0 then
       Ambiente   := taProducao
    else
       Ambiente   := taHomologacao;
    Visualizar := true;
    Salvar     := true;
    AjustaAguardaConsultaRet := true;
    if NaoEstaVazio(edtAguardar.Text)then
      AguardarConsultaRet := ifThen(StrToInt(edtAguardar.Text) < 1000, StrToInt(edtAguardar.Text) * 1000, StrToInt(edtAguardar.Text))
    else
      edtAguardar.Text := IntToStr(AguardarConsultaRet);
    if NaoEstaVazio(edtTentativas.Text) then
      Tentativas := StrToInt(edtTentativas.Text)
    else
      edtTentativas.Text := IntToStr(Tentativas);
    if NaoEstaVazio(edtIntervalo.Text) then
      IntervaloTentativas := ifThen(StrToInt(edtIntervalo.Text) < 1000, StrToInt(edtIntervalo.Text) * 1000, StrToInt(edtIntervalo.Text))
    else
      edtIntervalo.Text := IntToStr(ACBrCIOT1.Configuracoes.WebServices.IntervaloTentativas);
    TimeOut   := 5000;
  end;

  with ACBrCIOT1.Configuracoes.Arquivos do
  begin
    Salvar           := true;
    AdicionarLiteral := true;
    EmissaoPathCIOT  := true;
    SepararPorCNPJ   := true;
    SepararPorModelo := true;
    PathSchemas      := 'C:\Gintran\Programa\Schemas\CIOT';
    if not DirectoryExists('C:\Gintran\Programa\CIOT') then
       ForceDirectories('C:\Gintran\Programa\CIOT');
    PathCIOT         := 'C:\Gintran\Programa';
    PathSalvar       := PathMensal;
  end;

 

Edited by Luiz Carlos de Lima
Link to comment
Share on other sites

  • Consultores

Bom dia Luiz,

O eFrete não disponibilizou os Schemas, logo indica a mesma pasta de schemas do CT-e ou da NF-e.

A rotina que configura o componente esta sendo executada antes da realização do envio?

No programa exemplo ocorre o mesmo erro?

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Membros Pro

O problema estava na configuração. Agora está dando Certificado não encontrato. Não entendi porque tenho que informar certificado, Sendo que estou apenas fazendo testes e não tenho nenhum certificado cadastrado junto ao eFrete. Eles me passaram usuario, senha e Hash para testes. Alguma dica ou é melhor ver com o eFrete?

Link to comment
Share on other sites

  • Consultores

Boa tarde Luiz,

Se não me falha a memória em ambiente de homologação é possível realizar todos os testes sem a necessidade do certificado digital.

Neste caso você não deve informar o numero de serie, senha, caminho ou conteúdo do arquivo PFX ao configurar o componente.

Veja no programa exemplo, que existe uma linha que determina se o certificado vai ser utilizado ou não.

  // Não for informado nenhuma informação a respeito do certificado
  // o componente será configurado para não carregar o certificado.
  ACBrCIOT1.SSL.UseCertificateHTTP := (edtCaminho.Text <> '') or
                              (edtSenha.Text <> '') or (edtNumSerie.Text <> '');

 

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Membros Pro
Agora, Italo Jurisato Junior disse:

Boa tarde Luiz,

Se não me falha a memória em ambiente de homologação é possível realizar todos os testes sem a necessidade do certificado digital.

Neste caso você não deve informar o numero de serie, senha, caminho ou conteúdo do arquivo PFX ao configurar o componente.

Veja no programa exemplo, que existe uma linha que determina se o certificado vai ser utilizado ou não.


  // Não for informado nenhuma informação a respeito do certificado
  // o componente será configurado para não carregar o certificado.
  ACBrCIOT1.SSL.UseCertificateHTTP := (edtCaminho.Text <> '') or
                              (edtSenha.Text <> '') or (edtNumSerie.Text <> '');

 

Pois é o que entendi. Fiz das duas formas abaixo, e continua dando o erro.

  ACBrCIOT1.SSL.UseCertificateHTTP := (edtCaminho.Text <> '') or (edtSenha.Text <> '') or (edtNumSerie.Text <> '');

  ACBrCIOT1.SSL.UseCertificateHTTP := false;

 

Link to comment
Share on other sites

  • Membros Pro

Boa tarde Ítalo,

Não cheguei a fazer teste com o exemplo, criei uma formulário usando a estrutura do exemplo. Mas pode ser que o problema é porque não estou fazendo login, e parece que se não usar certificado é necessário fazer login. Vou fazer mais testes. Grato pela atenção.

 

  • Like 1
Link to comment
Share on other sites

  • Membros Pro

Boa tarde Ítalo,

Ao fazer Operacao  opLogin  independente de estar informando a integradora como iNone, ieFrete, iRepom..., o retorno é sempre o mesmo. Considerando que para testes fiz parceria com o eFrete, não deveria retonar um erro quando informar  Integradora diferente de ieFrete. Anexei XMLs separando os iNone e ieFrete. O retorno dos dados são sempre os mesmos também.

 

Retorno do Envio
Versão...........: 1
Sucesso..........: true
Protocolo Serviço: 459123

Token........................: 95-91-54-5D-9F-78-E4-31-38-F1-D4-6F-3F-96-B7-C4-A4-0F-A1-11
Código Identificação Operação:
Data.........................: 30/12/1899
Protocolo....................:
Data Retificação.............: 30/12/1899
Quantidade Viagens...........: 0
Quantidade Pagamentos,.......: 0
Id Pagamento Cliente.........:

20200504164130-res-iNone-Login-soap.xml 20200504164129-ped-iNone-Login-soap.xml 20200504163648-ped-ieFrete-Login-soap.xml 20200504163648-res-ieFrete-Login-soap.xml

Link to comment
Share on other sites

  • Consultores

Boa tarde Luiz,

Verifica se todos os fontes foram atualizados, veja se não tem nenhum com uma bolinha vermelha em seu ícone em especial os do CIOT.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Membros Pro

Boa tarde Ítalo,

Foram todas atualizadas sim.

Veja bem, noformulário exemplo não esta dando o erro, ele esta ocorrendo no meu formulário, começou com a atualização.

Em pcnCIOTW

function TCIOTWClass.GerarXml: Boolean;
begin
  Result := False;
  raise EACBrDFeException.Create(ClassName + '.GerarXml, não implementado');
end;

 

Link to comment
Share on other sites

  • Consultores
  • Solution

Bom dia Luiz,

Se no programa exemplo mesmo com a atualização dos fontes funciona sem nenhum problema, por outro lado na sua aplicação ocorre erro, com certeza a configuração do componente na sua aplicação não esta correta ou esta incompleta.

Como o erro se refere a geração do XML, você configurou corretamente a propriedade de configuração chamada: Integradora?

Ela tem que esta com o valor: eFrete.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Consultores

Boa noite Luiz,

Não entendo o motivo de você configurar o componente com um valor diferente de ieFrete para o Integrador, sendo que o componente no momento só trabalha com o eFrete.

Quanto ao iRepom e iPanCard, caso você deseja colaborar com o projeto,  implementando um deles ficaremos agradecido.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.