Ir para conteúdo
  • Cadastre-se

Leandro Miler Santana

Membros
  • Total de ítens

    267
  • Registro em

  • Última visita

Tudo que Leandro Miler Santana postou

  1. Boa tarde a todos. Hoje começaram problemas estranhos na validação dos XMLs. Ele autoriza mas não consegue gravar o protocolo no arquivo XML. Está acontecendo em vários clientes. Será que é alguma problema no Sefaz ou alguma mudança ? Uso ACBRCTE Alguém também esta´com problemas?
  2. Bom dia caros amigos. Desde ontem estou com problemas na geração do MDFe de alguns clientes. Rejeição ANTT informado inexistente. Mas aí consultamos no site, e o ANTT existe e está correto. Como devemos proceder nesta situação ? Será que tem algo que posso mudar no sistema que não fiz ? e pode estar afetando isso ? Quem puder, me ajude. Obrigado.
  3. Pessoal CAPICOM não roda mais. Somente OpenSSL ou Wincrypt
  4. Pessoal, boa noite. Estou passando pelo mesmo problema, e tentando fazer as alterações. Pelo que pesquisei com amigos vão algumas dicas aí. até agora é o seguinte. CAPICOM - Não funciona mais. Tem que configurar a leitura do certificado para o modo OpenSSL ou Wincrypt. OpenSSL - Só roda com certificado A1. WinCrypt - Roda certificado A1 ou A3 , mas acima do Windows 7 (sp1) em diante. (Tem que atualizar o Windows 7, senão não vai rodar) Abaixo desta versão em nenhum Windows roda, somente OpenSSL.. Nestas e opões, a geração fica independente da configuração do Internet Explorer Tem que atualizar o ACBr ultima versão, Se usa o Fortes Report, lembre de atualizar o Fortes report antes do Acbr Abra o Exemplo (demo) de emissao do CTE, e teste as opções de leitura do certificado eletronico. Agora com estas novas formas de ler o certificado, basta colocar o nome do certificado e a senha. Postei um arquivo que meu amigo Jeter me enviou. Estou quebrando a cabeça também. Ainda não conclui. Qualquer descoberta ou detalhe importante, continuem este post. Boa sorte amigos. NFe40 - Certificados e TLS12.pdf
  5. Na minha opinião eu acho que não tenha esta possibilidade, pois o CTe é um documento fiscal do qual o maior objetivo é a geração de impostos para os estados brasileiros, cujo a amarração principal é a Inscrição Estadual. Talvez o que você terá que fazer é pegar um Certificado Eletrônico de algum cliente para trabalhar no ambiente de homologação.
  6. Na realidade, o objetivo de não existir mais os dados do motorista no CTe é realmente para forçar a emissão do MDFe. Ouvi falar que transportes feitos dentro do mesmo estado não sei se é somente estado de São Paulo, não existe fiscalização, mas se for atravessar entre estados será necessário apresentar o MDFe.
  7. Ricardodaitx Colocou Dacte.MostrarPreview := false; ? Dacte.MostrarStatus := false; ?
  8. Eu tenho um cliente que usa a seguradora Porto Seguro, e uma das soluções de integração foi, criar um e-mail conjugado entre a transportadora e a Porto seguro, pode ser no Gmail. Este e-mail tanto a transportadora e a Porto terão acesso a senha. E todo CTe emitido, é enviado um xml para este e-mail. Assim resolvemos facilmente a integração. Verifique com o pessoal se podem fazer desta forma.
  9. Nessa situação eu faço diferente. Criei uma rotina no sistema que faz o seguinte e pra mim funciona. 1) Abre um FileDialog para o usuário escolher o arquivo XML que ja está gravado (mas nao autorizado) no proprio computador. E carrego o XML do CTE nao autorizado para o componente ; var sSubstitui, sArquivo, sPathdoArquivo, vChave: String; begin if trim(dm1.NotaARQUIVO.AsString) <> '' then begin if not(InputQuery('Caminho já existe ', 'Substitui ? SIM ou NAO ?', sSubstitui)) then exit; end else sSubstitui := 'SIM'; if UpperCase(sSubstitui) = 'SIM' then Begin vChave := dm1.NotaCHAVECTE.AsString; OpenDialog1.Title := 'Selecione o CTe'; OpenDialog1.DefaultExt := '-cte.xml'; sArquivo := vChave + '-cte.xml'; if FileExists(sArquivo) then OpenDialog1.FileName := sArquivo; OpenDialog1.Filter := 'Arquivos CTe (*-cte.xml)|*-cte.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*'; // OpenDialog1.InitialDir := CTE.Configuracoes.Geral.PathSalvar; OpenDialog1.InitialDir := dm1.CadFilPATHCTE2.AsString; if OpenDialog1.Execute() then begin sPathdoArquivo := OpenDialog1.FileName; dm1.Nota.Edit; dm1.NotaARQUIVO.AsString := trim(sPathdoArquivo); dm1.Nota.Post; end end 2) Depois disso pego a chave do CTe baseado no nome do XML e Consulto a Chave sArquivo := dm1.NotaARQUIVO.AsString; if sArquivo <> '' then begin s1 := RightStr(sArquivo, 52); sNovaChave := LeftStr(s1, 44); end; if sNovaChave <> dm1.NotaCHAVECTE.AsString then if dm1.NotaCHAVECTE.AsString <> '' then showmessage('A chave não confere com o arquivo XML, favor verificar !!!'); if not(InputQuery('Nova Chave ', 'Digite a Nova Chave ?', sNovaChave)) then exit; if sNovaChave <> '' then begin if Length(sNovaChave) < 44 then begin showmessage('Chave foi digitada errada !!'); end else begin if (CTE.Configuracoes.Certificados.NumeroSerie = '') then // se nao tiver certificado busque begin sCertificado := CTE.SSL.SelecionarCertificado; CTE.Configuracoes.Certificados.NumeroSerie := sCertificado; end; Screen.Cursor := HourGlassCursor; // PathMensal := CTE.Configuracoes.Arquivos.GetPathCTe (dm1.NotaCDATA.AsDateTime); //CTE.Configuracoes.Arquivos.PathSalvar := PathMensal; CTE.WebServices.Consulta.CTeChave := sNovaChave; CTE.WebServices.Consulta.Executar; MemoResp.Lines.Text := UTF8Encode(CTE.WebServices.Consulta.RetWS); memoRespWS.Lines.Text := UTF8Encode(CTE.WebServices.Consulta.RetornoWS); LoadXML(MemoResp, WBResposta); iProtINI := Pos('<nProt>', MemoResp.Lines.Text) + 7; iProtFIM := Pos('</nProt>', MemoResp.Lines.Text); iProtSIZE := iProtFIM - iProtINI; sProtocolo := Copy(MemoResp.Lines.Text, iProtINI, iProtSIZE); if dm1.NotaCHAVECTE.AsString = '' then // se a chave tiver em branco begin dm1.Nota.Edit; if sProtocolo <> '' then dm1.NotaPROTOC.AsString := sProtocolo; dm1.NotaCHAVECTE.AsString := sNovaChave; dm1.Nota.Post; end; if dm1.NotaPROTOC.AsString = '' then // se protocolo tiver em branco adiciona begin dm1.Nota.Edit; dm1.NotaPROTOC.AsString := sProtocolo; dm1.NotaCHAVECTE.AsString := sNovaChave; dm1.Nota.Post; end; CTE.Conhecimentos.ImprimirPDF; // atualiza o PDF Screen.Cursor := crDefault; end;
  10. Verifique se a tag no seu componente Visual, não está marcada para versão 2.0. Pode ser que no desenvolvimento do projeto você setou esta opção, e em algum lugar do seu sistema ele ainda esteja puxando o dado configurado em tempo de design.
  11. Coloca como "Não Contribuinte" que vai funcionar. faça o teste.
  12. Bom dia. Ele chega a solicitar o certificado ? Ele consegue passar pelos Schemas ? Da uma debugada no seu sistema e verifica em qual opção está ocorrendo o suposto travamento
  13. Boa tarde, Eu li a respeito deste assunto, que realmente está em discussão se o integrante do Simples Nacional seria obrigado ou não gerar estas informações. Agora por enquanto não temos outra opção. Quando existe esta situação, ou você coloca as informações nestes campos e gera o CTe, ou então não gera o CT-e. Diga a ele que estamos nas mãos do SEFAZ. E não temos o controle sobre esta decisão. Isso pode vir a mudar algum dia, mas ninguém sabe quando.
  14. Verifique se está sendo enviado um XML de pedido de cancelamento no padrão 2.0. Revise seu código e confirma que o XML de pedido de cancelamento está na versão 3.0. Um detalhe importante, é que não importa se o CTE foi gerado no 2.0. Agora pra cancelar tem que usar o padrão 3.0. Toda troca de informação com o Sefaz se tratando de CTe tem que ser no padrão 3.0 Talvez seja isso.
  15. Faz o seguinte. Aproveita que o Fortes Report é gratuito, e instale-o. Depois instale o Acbr com a opção do Fortes Report também eE faça os testes nele. Atualizei meu Acbr ontem, eu uso o Fortes, está funcionando perfeitamente. Pra isso você não vai precisar escrever nenhuma linha de programação.
  16. Ninguém sabe tanto que não possa aprender e nem tao pouco que não posso ensinar. Disponha. Temos que compartilhar nossas experiencias.
  17. Pelo que sei, os dados do tomador do serviço pode ser qualquer CNPJ mesmo que este não seja personagem do transporte em sí. Você pode colocar qualquer tomador de CNPJ. Não necessariamente precisa ser o Remetente. Mas neste caso, o ideal seria você consultar um contador para sanar esta dúvida.
  18. var sFiltro :string; fVBCUFFIM,fPFCPUFFIM,fPICUFFIM,fPICINTER,fPICPART: double; fICMSFundoCombateaPobreza,fICMS_Destino,fICMS_Origem:double; fBaseICMS, fValorDIFAL, fPercPobrezaDestino : double; fValorPobrezaDestino:double; fAliquotaInternaDestino,fAliquotaDIFAL,fAliquotaInterestadual:double; fPercentualPartilhaOrigem,fPercentualPartilhaDestino,fValorICMS_Origem, fValorICMS_Destino :double; begin inherited; // calcula base de cálculo - pega do total do CTE fBaseICMS := dm1.NotaCTOTAL.AsFloat; // Encontra percentual do FCP do uf destino if dm1.FCP.Locate('UF',dm1.NotaCOL_UF.AsString,[loPartialKey]) then Begin fPercPobrezaDestino := dm1.FCPFCP.AsFloat; // percentual de pobreza uf destino fAliquotaInternaDestino := dm1.FCPPERC_ICMS.AsFloat; // percentual icms da uf destino End; // Encontra PERCENTUAL PROVISORIO DE PARTILHA ENTRE OS ESTADOS sFiltro := 'ORI_COL= '+QuotedStr(dm1.NotaCOL_UF.AsString)+' AND ORI_ENT ='+QuotedStr(dm1.NotaENT_UF.AsString)+''; ShowMessage(sfiltro); dm1.ICMS2.Close; dm1.ICMS2.Filter := sFiltro; dm1.ICMS2.Open; if not dm1.ICMS2.Eof then fAliquotaInterestadual := dm1.ICMS2ALIQ.AsFloat; // percentual da aliquota interestadual fValorPobrezaDestino := (fBaseICMS * fPercPobrezaDestino )/ 100; fAliquotaDIFAL := fAliquotaInternaDestino - fAliquotaInterEstadual; fValorDIFAL := (fBaseICMS * fAliquotaDIFAL)/100; fPercentualPartilhaDestino := 0.6; // percentual partilha da uf destino 2017 fPercentualPartilhaOrigem := 0.4; // apos o falculo da difal - faz a partilha 2017 - 40% origem fValorICMS_Origem := fValorDIFAL * fPercentualPartilhaOrigem; // 40%origem fValorICMS_Destino := fValorDIFAL * fPercentualPartilhaDestino; // atualiza campos dbVBCUFFIM.Text := FloatToStr(fBaseICMS); dbPFCPUFFIM.Text := FloatTostr(fPercPobrezaDestino); dbPICUFFIM.Text := FloatToStr(fAliquotaInternaDestino); dbPICPART.Text := FloatToStr(fPercentualPartilhaDestino*100); dbPICINTER.Text := FloatToStr(fAliquotaInterestadual); dbVFCPUFFIM.Text := FloatToStr(fValorPobrezaDestino); dbVICUFINI.Text := FloatToStr(fValorICMS_Origem); dbVICUFFIM.Text := FloatToStr(fValorICMS_Destino);
  19. Olá David Bandeira, No meu sistema acabei criando os 8 campos exigidos no grupo de partilha e implementei o cálculo das alíquotas automaticamente para ajudar os clientes. Fazendo isso, resolvi o problema. Vou postar aqui os cálculos que fiz dos campos criados
  20. Ola Amanda Antunes, Para o Globalizado, o tem que ser colocado o destinatário os mesmos dados do emissor do CTe, com a única diferença do campo Razão Social tem que estar descrito como "Diversos" . Então verifica se este sistema não assume automaticamente como Globalizado, quando o Destinatário for o mesmo do CNPJ do Emissor do CTE. Neste caso nem seria necessário uma TAG específica pra isso. Talvez ele faça isto. Não custa tentar.
  21. Erick, você por acaso salvou o ACBr antes de fazer a atualização. Se fez, retorne a copia antiga e compile o programa, para verificar se o problema está no Acbr ou no seu sistema. Lembre-se antes de instalar o antigo novamente, execute o ApagaACBr
  22. Consegui resolver o problema. Atualizando corretamente a pasta PATHPDF e PATHCTE o componente é inteligente para salvar na pasta definida o pdf, e depois quando for enviar email do pdf, ele busca exatamente onde foi gerado. Tudo funcionando graças a Deus Obrigado a todos.
  23. Boa noite. Caros amigos programadores, atualizei meu sistema para o CTE 3.0 e está funcionando tudo perfeitamente, só que notei um problema. O sistema não consegue localizar o arquivo PDF quando envia o email. Percebi que agora os PDF dos CTEs estão sendo salvos na pasta \PDF\ANOMES\nomedoarquivopdf e antes nao era assim. Analisando o componente de envio de email no pdf, percebo que ele busca o PDF de outro caminho (do padrao antigo) e obviamente nao encontra pois o PDF nao é salvo no mesmo lugar como era antigamente Só pra salientar, os pdfs dos CTEs eram gerados na pasta PDF e nao tinha subpastas de Ano/Mes. Ja mudei varias configuraçãos do pathpdf, pathcte, mas não obtive sucesso Alguem pode me ajudar ? Vejam o trecho do componente buscando o path padrão if (EnviaPDF) then begin if Assigned(DACTE) then begin DACTE.ImprimirDACTEPDF(CTe); NomeArq := PathWithDelim(DACTE.PathPDF) + NumID + '-cte.pdf'; AnexosEmail.Add(NomeArq); end; Me desculpem se estou fazendo algo errado. Peço ajuda de vocês Desde já agradeço muito todo este movimento mutuo.
×
×
  • 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.