Ir para conteúdo
  • Cadastre-se

AlexandreADC

Membros
  • Total de ítens

    175
  • Registro em

  • Última visita

Tudo que AlexandreADC postou

  1. Beleza, fiz tudo certo só que daí começa a reclamar de outras units [DCC Fatal Error] ACBrUtil.pas(2150): E2411 Unit ACBrCTeConfiguracoes in package ACBr_CTe refers to unit ACBrUtil which is not found in any package. Packaged units must refer only to packaged units vou fazer o mesmo schema com todos erros que irão acontecer... Nem que todas as units fiquem independentes e cada uma tenha todos os outros pacotes inclusos dentro deles... hehe Mas obrigado, com isso já veio uma luz no fim do túnel!
  2. eu já vi o tópico viewtopic.php?f=6&t=1298 Mas nem mudando a ordem de compilação não resolveu...
  3. Obrigado Italo, então logo poderei usufruir dos componentes para nosso sistema. Agradeço pelo trabalho feito. E parabenizo pela sua dedicação.
  4. Boa tarde pessoal, a empresa onde trabalho está migrando do Delphi 2010 ao XE, utilizamos a emissão de NF-e e CT-e do Projeto ACRr. Mas ninguém conseguiu corrigir o erro que se dá ao compilar os Packages referentes ao DACTE e DANFE, nos quais apresentam sempre o mesmo erro: [DCC Fatal Error] ACBrMSXML2_TLB.pas(19986): E2411 Unit ACBrNFeConfiguracoes in package ACBr_NFe2 refers to unit ACBrMSXML2_TLB which is not found in any package. Packaged units must refer only to packaged units e [DCC Fatal Error] ACBrMSXML2_TLB.pas(19986): E2411 Unit ACBrCTeConfiguracoes in package ACBr_CTe refers to unit ACBrMSXML2_TLB which is not found in any package. Packaged units must refer only to packaged units Já tentamos comentar algumas linhas do ACBr.inc Nós usamos o Capicom e não usamos OpenSSL. Projeto já foi alterado para ser compilado com o Rave90. Alguém passou pelo mesmo tipo de erro? Obrigado.
  5. AlexandreADC

    Nova versão Cte 1.04

    Bom dia caros amigos! Gostaria de saber se já está em desenvolvimento ou se já está desenvolvido ou quando começarão a desenvolver as modificações componente para atender as mudanças que foram feitas no schema da versão 1.04 do Conhecimento de Transporte eletrônico. Atenciosamente, Alexandre De Carli
  6. obrigado ao(s) desenvolvedores que traduziram as mensagens de saída do CTe... Ajudou um montão!
  7. Fico muito agradecido pelos créditos moisés... O link é permanente, nunca vai mudar. Não se preocupe.
  8. Bem... Deixo explicar melhor, ontem eu estava com pressa e não deu... Essa rotina foi feita para traduzir a mensagem de excessão que retorna após ser executado CTe.Conhecimentos.Valida. É manipulação de String pura, vai ser difícil de entender o código, até pra mim... Porque exige muitos "Copy" e "Pos". Espero que seja útil para vocês! Obrigado!
  9. Gente, fiz uma rotina para deixar ao usuário + fácil a visualização da causa da não validação. seguem as fontes da rotina: Mas antes coloque um componente do tipo TXMLDocument com nome de XMLDoc, e selecione o FileName colocando o shema cteTiposBasico_v1.03.xsd!!! Quem estiver disposto a melhorar esta função seria muito bem vindo. E se possível compartilhar com os demais! A função TagToNameTag retorna a descrição, da Tag dentro do Schema...
  10. O Grande problema é que eu nem sequer passo algum valor para o ferroSub e DCL e o componente reclama o não preenchimento dele no comando "Validar"... Cheguei a comentar o código de alimentação mas o problema continua... Alguma sugestão? Código: // if (Filtra_Numeros(cdsFerrovarioCNPJ.AsString)<>'') or (cdsFerrovarioRAZSOCIAL_NOME.AsString <> '') or // (cdsFerrovarioCOD_FERROVIA_SUBSTITUTA.AsString <> '') or (cdsFerrovarioINSCE.AsString <> '') // then begin // // Ferrov.ferroSub.CNPJ := Filtra_Numeros(cdsFerrovarioCNPJ.AsString); // Ferrov.ferroSub.cInt := // cdsFerrovarioCOD_FERROVIA_SUBSTITUTA.AsString; // Ferrov.ferroSub.IE := cdsFerrovarioINSCE.AsString; // Ferrov.ferroSub.xNome := cdsFerrovarioRAZSOCIAL_NOME.AsString; // // Ferrov.ferroSub.EnderFerro.xLgr := cdsFerrovarioLOGRADOURO.AsString; // Ferrov.ferroSub.EnderFerro.nro := // cdsFerrovarioENDER_NUMERO.AsString; // Ferrov.ferroSub.EnderFerro.xCpl := // cdsFerrovarioCOMPLEMENTO.AsString; // Ferrov.ferroSub.EnderFerro.xBairro := cdsFerrovarioBAIRRO.AsString; // Ferrov.ferroSub.EnderFerro.cMun := // cdsFerrovarioMUNICIPIO_IBGE.AsInteger; // Ferrov.ferroSub.EnderFerro.xMun := // cdsFerrovarioMUNICIPIO_NOME.AsString; // Ferrov.ferroSub.EnderFerro.CEP := StrToIntDef // (Filtra_Numeros(cdsFerrovarioCEP.AsString), 0); // Ferrov.ferroSub.EnderFerro.UF := cdsFerrovarioMUNICIPIO_UF.AsString; // end; // if not cdsDCL.IsEmpty then // begin // cdsDCL.DisableControls; // cdsDCL.First; // while not cdsDCL.Eof do // begin // with Ferrov.DCL.Add do // begin // serie := cdsDCLSERIE_DCL.AsString; // nDCL := IntToStr(cdsDCLNUMERO_DCL.AsInteger); // dEmi := cdsDCLDT_EMISSAO.AsDateTime; // qVag := cdsDCLQUANT_VAGOES.AsInteger; // pCalc := cdsDCLPESO.AsCurrency; // vTar := cdsDCLVLR_TARIFA.AsCurrency; // vFrete := cdsDCLVLR_FRETE.AsCurrency; // vSAcess := cdsDCLVLR_SERVICOS_ACESSORIOS.AsCurrency; // vTServ := cdsDCLVLR_TOTAL_SERVICO.AsCurrency; // idTrem := cdsDCLID_TREM.AsString; // // if not cdsVagoesDCL.IsEmpty then // begin // cdsVagoesDCL.DisableControls; // cdsVagoesDCL.First; // while not cdsVagoesDCL.Eof do // begin // with detVagDCL.Add do // begin // nVag := cdsVagoesDCLNUM_VAGAO.AsInteger; // cap := cdsVagoesDCLCAP_TONELADAS.AsCurrency; // tpVag := cdsVagoesDCLTP_VAGAO.AsString; // pesoR := cdsVagoesDCLPESO_REAL.AsCurrency; // pesoBC := // cdsVagoesDCLPESO_BASE_CALC_FRETE.AsCurrency; // // if not cdsLacresDCL.IsEmpty then // begin // cdsLacresDCL.DisableControls; // cdsLacresDCL.First; // while not cdsLacresDCL.Eof do // begin // with lacDetVagDCL.Add do // begin // lacDetVagDCL.Items[k].nLacre := // cdsLacresDCLNUMERO_LACRE.AsString; // cdsLacresDCL.Next; // end; // end; // cdsLacresDCL.EnableControls; // end; // // if not cdsContainersDCL.IsEmpty then // begin // cdsContainersDCL.DisableControls; // cdsContainersDCL.First; // while not cdsContainersDCL.Eof do // begin // with contDCL.Add do // begin // nCont := // cdsContainersDCLNUMERO_CONTAINER.AsString; // dPrev := // cdsContainersDCLDT_PREV_ENTREGA // .AsDateTime; // cdsContainersDCL.Next; // end; // end; // cdsContainersDCL.EnableControls; // end; // cdsVagoesDCL.Next; // end; // end; // cdsVagoesDCL.EnableControls; // end; // // end; // cdsDCL.Next; // Inc(i); // end; // cdsDCL.EnableControls; // end; if not cdsvagoes.IsEmpty then begin cdsvagoes.DisableControls; cdsvagoes.First; while not cdsvagoes.Eof do begin with Ferrov.detVag.Add do begin nVag := cdsVagoesNUM_VAGAO.AsInteger; cap := cdsVagoesCAP_TONELADAS.AsCurrency; tpVag := cdsVagoesTP_VAGAO.AsString; pesoR := cdsVagoesPESO_REAL.AsCurrency; pesoBC := cdsVagoesPESO_BASE_CALC_FRETE.AsCurrency; if not cdsVagoesLacres.IsEmpty then begin cdsVagoesLacres.DisableControls; cdsVagoesLacres.First; while not cdsVagoesLacres.Eof do begin with lacDetVag.Add do begin nLacre := cdsVagoesLacresNUMERO_LACRE.AsString; cdsVagoesLacres.Next; end; end; cdsVagoesLacres.EnableControls; end; if not cdsVagoesContainers.IsEmpty then begin cdsVagoesContainers.DisableControls; cdsVagoesContainers.First; while not cdsVagoesLacres.Eof do begin with contVag.Add do begin nCont := cdsVagoesContainersNUMERO_CONTAINER.AsString; dPrev := cdsVagoesContainersDT_PREV_ENTREGA.AsDateTime; cdsVagoesLacres.Next; end; end; cdsVagoesLacres.EnableControls; end; cdsvagoes.Next; end; end; cdsvagoes.EnableControls; end; Mas ele passa no código referente ao DetVag
  11. O Grande problema é que eu nem sequer passo algum valor para o ferroSub e DCL e o componente reclama o não preenchimento dele no comando "Validar"... Cheguei a comentar o código de alimentação mas o problema continua... Alguma sugestão? // if (Filtra_Numeros(cdsFerrovarioCNPJ.AsString)<>'') or (cdsFerrovarioRAZSOCIAL_NOME.AsString <> '') or // (cdsFerrovarioCOD_FERROVIA_SUBSTITUTA.AsString <> '') or (cdsFerrovarioINSCE.AsString <> '') // then begin // // Ferrov.ferroSub.CNPJ := Filtra_Numeros(cdsFerrovarioCNPJ.AsString); // Ferrov.ferroSub.cInt := // cdsFerrovarioCOD_FERROVIA_SUBSTITUTA.AsString; // Ferrov.ferroSub.IE := cdsFerrovarioINSCE.AsString; // Ferrov.ferroSub.xNome := cdsFerrovarioRAZSOCIAL_NOME.AsString; // // Ferrov.ferroSub.EnderFerro.xLgr := cdsFerrovarioLOGRADOURO.AsString; // Ferrov.ferroSub.EnderFerro.nro := // cdsFerrovarioENDER_NUMERO.AsString; // Ferrov.ferroSub.EnderFerro.xCpl := // cdsFerrovarioCOMPLEMENTO.AsString; // Ferrov.ferroSub.EnderFerro.xBairro := cdsFerrovarioBAIRRO.AsString; // Ferrov.ferroSub.EnderFerro.cMun := // cdsFerrovarioMUNICIPIO_IBGE.AsInteger; // Ferrov.ferroSub.EnderFerro.xMun := // cdsFerrovarioMUNICIPIO_NOME.AsString; // Ferrov.ferroSub.EnderFerro.CEP := StrToIntDef // (Filtra_Numeros(cdsFerrovarioCEP.AsString), 0); // Ferrov.ferroSub.EnderFerro.UF := cdsFerrovarioMUNICIPIO_UF.AsString; // end; // if not cdsDCL.IsEmpty then // begin // cdsDCL.DisableControls; // cdsDCL.First; // while not cdsDCL.Eof do // begin // with Ferrov.DCL.Add do // begin // serie := cdsDCLSERIE_DCL.AsString; // nDCL := IntToStr(cdsDCLNUMERO_DCL.AsInteger); // dEmi := cdsDCLDT_EMISSAO.AsDateTime; // qVag := cdsDCLQUANT_VAGOES.AsInteger; // pCalc := cdsDCLPESO.AsCurrency; // vTar := cdsDCLVLR_TARIFA.AsCurrency; // vFrete := cdsDCLVLR_FRETE.AsCurrency; // vSAcess := cdsDCLVLR_SERVICOS_ACESSORIOS.AsCurrency; // vTServ := cdsDCLVLR_TOTAL_SERVICO.AsCurrency; // idTrem := cdsDCLID_TREM.AsString; // // if not cdsVagoesDCL.IsEmpty then // begin // cdsVagoesDCL.DisableControls; // cdsVagoesDCL.First; // while not cdsVagoesDCL.Eof do // begin // with detVagDCL.Add do // begin // nVag := cdsVagoesDCLNUM_VAGAO.AsInteger; // cap := cdsVagoesDCLCAP_TONELADAS.AsCurrency; // tpVag := cdsVagoesDCLTP_VAGAO.AsString; // pesoR := cdsVagoesDCLPESO_REAL.AsCurrency; // pesoBC := // cdsVagoesDCLPESO_BASE_CALC_FRETE.AsCurrency; // // if not cdsLacresDCL.IsEmpty then // begin // cdsLacresDCL.DisableControls; // cdsLacresDCL.First; // while not cdsLacresDCL.Eof do // begin // with lacDetVagDCL.Add do // begin // lacDetVagDCL.Items[k].nLacre := // cdsLacresDCLNUMERO_LACRE.AsString; // cdsLacresDCL.Next; // end; // end; // cdsLacresDCL.EnableControls; // end; // // if not cdsContainersDCL.IsEmpty then // begin // cdsContainersDCL.DisableControls; // cdsContainersDCL.First; // while not cdsContainersDCL.Eof do // begin // with contDCL.Add do // begin // nCont := // cdsContainersDCLNUMERO_CONTAINER.AsString; // dPrev := // cdsContainersDCLDT_PREV_ENTREGA // .AsDateTime; // cdsContainersDCL.Next; // end; // end; // cdsContainersDCL.EnableControls; // end; // cdsVagoesDCL.Next; // end; // end; // cdsVagoesDCL.EnableControls; // end; // // end; // cdsDCL.Next; // Inc(i); // end; // cdsDCL.EnableControls; // end; if not cdsvagoes.IsEmpty then begin cdsvagoes.DisableControls; cdsvagoes.First; while not cdsvagoes.Eof do begin with Ferrov.detVag.Add do begin nVag := cdsVagoesNUM_VAGAO.AsInteger; cap := cdsVagoesCAP_TONELADAS.AsCurrency; tpVag := cdsVagoesTP_VAGAO.AsString; pesoR := cdsVagoesPESO_REAL.AsCurrency; pesoBC := cdsVagoesPESO_BASE_CALC_FRETE.AsCurrency; if not cdsVagoesLacres.IsEmpty then begin cdsVagoesLacres.DisableControls; cdsVagoesLacres.First; while not cdsVagoesLacres.Eof do begin with lacDetVag.Add do begin nLacre := cdsVagoesLacresNUMERO_LACRE.AsString; cdsVagoesLacres.Next; end; end; cdsVagoesLacres.EnableControls; end; if not cdsVagoesContainers.IsEmpty then begin cdsVagoesContainers.DisableControls; cdsVagoesContainers.First; while not cdsVagoesLacres.Eof do begin with contVag.Add do begin nCont := cdsVagoesContainersNUMERO_CONTAINER.AsString; dPrev := cdsVagoesContainersDT_PREV_ENTREGA.AsDateTime; cdsVagoesLacres.Next; end; end; cdsVagoesLacres.EnableControls; end; cdsvagoes.Next; end; end; cdsvagoes.EnableControls; end; Mas ele passa no código referente ao DetVag
  12. AlexandreADC

    Validação dos Campos

    Amigos, estou tendo problemas para validação dos campos no Modal Ferroviário... Pelo que consta no Manual do CTe os dados da Ferrovia Substituída e dos vagões DCL não são obrigatórios. Mas no "Validar" do componente segue a mensagem de erro... Content for element '{http://www.portalfiscal.inf.br/cte}ferrov' is incomplete according to the DTD/Schema. Expecting: {http://www.portalfiscal.inf.br/cte}ferroSub, {http://www.portalfiscal.inf.br/cte}DCL, {http://www.portalfiscal.inf.br/cte}d.... Quando eu alimento o componente, eu coloquei 1 condição para ele não inserir nada nos campos do componente referentes a esses dados... E agora? Coloco como obrigatório o preenchimento para o cliente ou é erro em meu código?
  13. Envio para o servidor SCAN não está implementada? Retorno Exceção: URL não disponível para o Estado solicitado. No componente estava o UF como PR e tipo de envio como servidor SCAN
  14. Aham... Já consegui enviar novamente! Obrigado pela ajuda!
  15. Italo, eu estava focado na NF-e e em outros problemas e resolvi checar melhor o meu emissor da Cte para confirmar que estava tudo certo... Mas não consegui enviar NENHUM conhecimento para a receita... 225-Rejeição: Falha no Schema XML do CT-e Já tentei de tudo... Tentei mandar com dados diferentes... Atualizar os schemas, cadastrar mais dados para o conhecimento... Enfim... O componente valida o CTe, mas a SEFAZ não. Estes são os XMLs que o componente gerou durante uma tentativa de envio... Download - Mediafire. Obrigado pela atenção!
  16. Outra coisa... Você está usando do jeito errado a procedure "Add" no seu caso teria que ser usado: Pois cada vez que você usa DM.ACBrCTe1.Conhecimentos.Add.Ide.forPag (por exemplo), ele adiciona +1 conhecimento de transporte ao seu componente
  17. Bem... Quanto ao FileCtrl, é uma warning que seu delphi emite pois esta Unit usa elementos do Windows e não pode rodar em outra plataforma... E aos 2 erros abaixo, você tem que adicionar a Unit: "pcnConversao" na cláusula uses do seu código... E também certifique-se que seu pacote do ACBr está atualizado! Espero ter ajudado!
  18. Ok! Eu imaginava que o próprio componente se encarregaria de gerar e manter ele... Obrigado pela informação!
  19. Acredito que é por causa da função "LocCTeW.GerarXml;" no assinar ;s
  20. Caros amigos, eu encontrei um grande problema com a geração do XML do CT-e. Percebi que a cada função que executo, seja ele: CTe.Conhecimentos.GerarCTe; (que realmente gera o código), o CTe.Conhecimentos.Assinar; e depois CTe.Conhecimentos.Valida; está trocando a chave (CTe.Conhecimentos.Items[0].CTe.infCTe.ID) do CTe, mais pra frente dá uma grande dor de cabeça, pois o arquivo XML é salvo no disco no "Assinar" perde a chave que tinha na procedure "Validar" (setando então outra em seu lugar)... O código que fiz para gerar, assinar e validar é o seguinte: // cria o XML no componente try CTe.Conhecimentos.GerarCTe; except on Exc: Exception do begin Application.MessageBox( 'Falha ao Gerar o XML. Verifique mensagens de retorno', 'Atenção', MB_ICONERROR); rtfMsgRetorno.Clear; rtfMsgRetorno.Lines.Add(Exc.Message); lblEtapa1.Visible := True; Img1Nao.Visible := True; // Img XML gerado Exit; end; end; try CTe.Conhecimentos.Assinar; except on Exc: Exception do begin Application.MessageBox( 'Falha na Assinatura do XML. Verifique mensagens de retorno' , 'Atenção', MB_ICONERROR); rtfMsgRetorno.Clear; rtfMsgRetorno.Lines.Add(Exc.Message); Img3Nao.Visible := True; Exit; end; end; ChaveDV := CTe.Conhecimentos.Items[0].CTe.infCTe.ID; rtfMsgRetorno.Lines.Add('Chave de Acesso do CT-e: ' + ChaveDV); // caso der erro no procedimento validar, retorna excecao try CTe.Conhecimentos.Valida; except on Exc: Exception do begin Application.MessageBox( 'Falha de Validação do XML. Verifique mensagens de retorno' , 'Atenção', MB_ICONERROR); rtfMsgRetorno.Clear; rtfMsgRetorno.Lines.Add(Exc.Message); Img4Nao.Visible := True; Exit; end; end; ************************************************************************************************************** Em que lugar eu errei? Obrigado pela atenção!
  21. Olá italojjr, eu peguei os exemplos de lá mesmo... Só que eu não costumo usar tanto o with pois depois de um tempo o código vai ficando sujo pois já não se sabe quem é dono de qual propriedade Ainda mais quando tem quase mais de 500 properties para aliementar... Obrigado mesmo assim!
  22. ahhh... Ok! Entendi! Essa função está um pouco confusa por causa disso... Obrigado pela ajuda!
  23. pessoal, estou uma grande dúvida sobre as variáveis e tipos que são alimentadas no componente da CT-e. A property Add. adiciona mais um registro para os casos de x-n? Ou seja, se eu fizer: InfCTeComp.Add.vPresComp.compComp.Add.xNome := cdsComplementadoDetNOME_COMPONENTE.AsString; InfCTeComp.Add.vPresComp.compComp.Add.vComp := cdsComplementadoDetVLR_COMPONENTE.AsCurrency; ele irá adicionar apenas 1 registro com os 2 valores certo? Mas se por algum caso eu tenha uma condição em que ele não passe em uma das Tags no Add Exemplo: InfCTeComp.Add.vPresComp.compComp.Add.xNome := cdsComplementadoDetNOME_COMPONENTE.AsString; e depois eu faça outro InfCTeComp.Add.vPresComp.compComp.Add.xNome := cdsComplementadoDetNOME_COMPONENTE.AsString; InfCTeComp.Add.vPresComp.compComp.Add.vComp := cdsComplementadoDetVLR_COMPONENTE.AsCurrency; o vComp vai estar no 1° ou 2° registro do componente? Os dois são sincronizados automaticamente? Obrigado!
  24. Muito obrigado Italo! Isso diminui minhas preocupações
  25. AlexandreADC

    Atualizações do ACBr

    Olá caros amigos, tenho uma duvida na questão de quais fontes estão sendo alteradas durante correções ou melhorias do ACBrCTe, é que atualmente uso o Pacote NFe2, mas o changelog do CTe está referenciando o PCN, o qual o pacote da NFe2 não é associada... Posso atualizar o Pacote do CTe que está na pasta da NFe2 sem problemas? Agradeço desde já!
×
×
  • 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...