Ir para conteúdo
  • Cadastre-se

Rodrigo Cardilo

Membros Pro
  • Total de ítens

    251
  • Registro em

  • Última visita

Tudo que Rodrigo Cardilo postou

  1. Galera de MG, Vou explicar como resolvi. Eu fui no SIARE. Segui os passos do credenciamento conforme explica no manual http://www.sped.fazenda.mg.gov.br/spedmg/export/sites/spedmg/cte/downloads/Manual_Credenciamento_CTe_Julho2017.pdf. Na hora de liberar (tem que esperar as 2 horas) vai perguntar o tipo de modal. Eu marquei rodoviário e CTE-OS. A contabilidade antes só tinha marcado CTE-OS e não estava funcionando. Pode ser coincidência mas agora tá funcionando normalmente. Espero ter ajudado.
  2. Oi amigos, Estou com um problema na emissão de CTE-OS, Até dezembro eu enviava sem problemas. Porém fui enviar hoje e apareceu a mensagem Rejeicao: Versao informada para o modal nao suportada. Eu já conferi o xml de trás pra frente e não achei problema algum. Estou postando caso alguém possa me ajudar, fico agradecido. 0-env-lot.xml 0-pro-lot.xml
  3. Segue como resolvi: (Faça as adaptações ao seu projeto) Eu tenho um procedure onde habilito ou não as propriedades do componente: procedure TFRC_CTE.LerConfiguracao; var Ok: Boolean; StreamMemo: TMemoryStream; begin DM1.ACBrCTe1.Configuracoes.Certificados.NumeroSerie := DM1.TB99840NUMSERIE.Value; DM1.ACBrCTe1.Configuracoes.Certificados.Senha := DM1.TB99840SENHA_CERTIFICADO.Value; case DM1.TB99840FORMAEMISSAOCTE.Value of 1: DM1.ACBrCTe1.Configuracoes.Geral.FormaEmissao := teNormal; 8: DM1.ACBrCTe1.Configuracoes.Geral.FormaEmissao := teSVCSP; end; case DM1.TB99840SALVAR.Value of 0: DM1.ACBrCTe1.Configuracoes.Geral.Salvar := False; 1: DM1.ACBrCTe1.Configuracoes.Geral.Salvar := True; end; // rotina adicionada para salvar pasta mensal DM1.ACBrCTe1.Configuracoes.Arquivos.Salvar := True; DM1.ACBrCTe1.Configuracoes.Geral.Salvar := True; DM1.ACBrCTe1.Configuracoes.WebServices.Salvar := True; DM1.ACBrCTe1.Configuracoes.Arquivos.EmissaoPathCTe := True; DM1.ACBrCTe1.Configuracoes.Arquivos.SepararPorMes := True; DM1.ACBrCTe1.Configuracoes.Arquivos.AdicionarLiteral := True; DM1.ACBrCTe1.Configuracoes.Arquivos.PathSalvar := IncludeTrailingPathDelimiter(DM1.TB99840PATHCTE.Value); DM1.ACBrCTe1.Configuracoes.Arquivos.PathCTe := IncludeTrailingPathDelimiter(DM1.TB99840PATHCTE.Value); DM1.ACBrCTe1.Configuracoes.Arquivos.PathInu := IncludeTrailingPathDelimiter(DM1.TB99840PATHCTE.Value); DM1.ACBrCTe1.Configuracoes.Arquivos.PathEvento := IncludeTrailingPathDelimiter(DM1.TB99840PATHCTE.Value); DM1.ACBrCTe1.Configuracoes.Arquivos.PathSchemas := ExtractFilePath(Application.ExeName) + '\SchemasCte'; DM1.ACBrCTe1.DACTe.PathPDF := PastaMensalCTe(DtInicial, 'PDF'); DM1.ACBrCTe1.Configuracoes.WebServices.UF := DMG.TB99100UF.Value; DM1.ACBrCTe1.Configuracoes.WebServices.Ambiente := StrToTpAmb(Ok, DM1.TB99840AMBIENTECTE.AsString); if DM1.ACBrCTe1.DACTe <> nil then begin DM1.ACBrCTe1.DACTe.Logo := DM1.TB99840LOGO.Value; DM1.ACBrCTeDACTeRL1.Logo := DM1.TB99840LOGO.Value; case DM1.TB99840DACTE.Value of 1: DM1.ACBrCTe1.DACTe.TipoDACTe := tiRetrato; 2: DM1.ACBrCTe1.DACTe.TipoDACTe := tiPaisagem; end; case DM1.TB99840VISUALIZADACTE.Value of 0: DM1.ACBrCTe1.DACTe.MostrarPreview := False; 1: DM1.ACBrCTe1.DACTe.MostrarPreview := True; end; end; case DM1.TB99840EMAILAUTO.Value of 0: EmailAuto := False; 1: EmailAuto := True; end; end; Daí criei uma procedure para ativar ou desativar os campos que "atrapalham" o local de salvar o pdf procedure TFRC_CTE.ConfigPDF(Liga: Boolean); begin with DM1.ACBrCTe1 do begin Configuracoes.Arquivos.OrdenacaoPath.Clear; Configuracoes.Arquivos.AdicionarLiteral := Liga; Configuracoes.Arquivos.Salvar := Liga; Configuracoes.Arquivos.SepararPorAno := False; Configuracoes.Arquivos.SepararPorCNPJ := False; Configuracoes.Arquivos.SepararPorDia := False; Configuracoes.Arquivos.SepararPorMes := Liga; Configuracoes.Arquivos.SepararPorModelo := False; end; end; Agora ficou fácil. Toda vez que vou gerar o pdf antes eu chamo a procedure ConfigPDF(False); Depois de gerar o pdf eu chamo a procedure novamente : ConfigPDF(True) ; Lembrando que pra geração de e-mail deve ser feito a mesma coisa. Espero ter ajudado.
  4. Boa tarde amigos, Atualizei os fontes hoje e estou tentando salvar o pdf. Antes eu fazia da seguinte forma. Dentro da pasta do anomes (201710) eu criava uma pasta PDF e lá salvava o arquivo normalmente. A propriedade pastapdf do dacte ficava por exemplo: C:\Sistema\ArqCte\201710\PDF Isso já bastava para salvar automaticamente nessa pasta Porém depois de atualizar eu continuo alimentando o componente com o mesmo path mas agora salva na seguinte pasta: C:\Sistema\ArqCTE\201710\PDF\CTeOS. Uma alternativa que eu percebi alterar a propriedade AdicionarLiteral para False porém isso vai atrapalhar o local para salvar o xml. Alguém sabe me dizer porque foi mudado isso no componente e como voltar como era antes? Grato
  5. Bom dia amigos, Preciso de programador free-lance com experiência em Delphi e Firebird (Datasnap, Dbxpress, firedac e ACBR) Caso alguém esteja interessado favor entrar em contato pelo skype cardilo ou pelo email [email protected] Obrigado.
  6. Cara, é só seguir esse modelo que funciona. with seg.Add do begin if RadioGroup5.ItemIndex = 0 then respSeg := rsEmitente else respSeg := rsTomadorServico; end; with seg.Add do begin CNPJ := trim(cxTextEdit21.Text); xSeg := copy(trim(cxTextEdit19.Text), 1, 30); //CNPJCPF := trim(cxTextEdit21.Text); nApol := copy(trim(cxTextEdit20.Text), 1, 20); with aver.Add do begin nAver := '9988444'; end; end; Estou enviando sem problema.
  7. nAver não pode ser zero. Usei a seguinte regra: Na NT 2017.002 há o seguinte: 4. Orientações de Preenchimento Informações da averbação do seguro (modal rodoviário): 1.Em caso de sucesso na comunicação entre transportador e seguradora, o campo número da averbação (nAver) poderá ser preenchido com o protocolo gerado pela seguradora. 2.Em caso de falha na integração entre transportadora e o sistema da seguradora da carga, poderá ser preenchida a tag do número da averbação (nAver) com a sequência 99999.
  8. Estou fazendo dessa maneira. A maioria das seguradoras que não tem o sistema integrado me retornaram dizendo que só geram o numero de averbação no mês subsequente da emissão dos ctes.
  9. Bom dia Bruno, Você não prefere utilizar essas configurações pelo banco de dados? Fica mais simples e fácil de alterar. Eu tenho cliente que possuem carteira de até 5 bancos ao mesmo tempo e funciona perfeitamente. Fica a dica. Abraço
  10. Galera, desculpe minha ignorância mas procurei vários exemplos no google para fazer esse método e não consegui achar nada que se enquadre em minha estrutura DataSnap (Firedac no servidor e DBX no cliente). Alguém aí tem alguma idéia ou um exemplo de como consigo fazer esse método? Grato
  11. Entendi.. Vou pesquisar esse método e tentar aqui.. Obrigado a todos pelas dicas.
  12. Amigo xyberx, eu imaginei que seria isso, mas na tecnologia firedac não tenho a mínima noção de como acionar o commit após o comando. Você sabe de algum exemplo que possa me explicar melhor o uso do commit? Grato desde já
  13. Galera, Estou tentando criar um servidor com firedac e os clientes com datasnap dbx. Tudo funciona perfeitamente. O único problema é quando tento enviar um comando sql para apagar registros via clientdataset. Segue o exemplo: CDS.CommandText := 'DELETE FROM TABELA WHERE CONTROLE = 1' ; CDS.Execute ; Não acontece o esperado, ou seja, não apagou o registro correspondente. Somente apagou o registro quando eu fechei a aplicação. Minha pergunta é: Existe alguma outra forma de resolver esse problema utilizando algum outro componente Firedac ou somente se eu mudar toda minha estrutura cliente? Grato desde já,
  14. O campo inscrição estadual não aceita RG. Vide página 181 e 182 do Manual (http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=URCYvjVMIzI=)
  15. Utilize a opção SVC-SP. Sugiro ler melhor sobre o assunto de contigência no portal MG http://portalcte.fazenda.mg.gov.br/.
  16. Algum moderador pode olhar esse problema por favor?
  17. Boa tarde, O Código de Mora/Juros do Sicoob (Bancoob) está errado no fonte: Segundo o manual deles os códigos corretos seriam 0 - Isento; 1 - Valor por dia; 2 - Taxa Mensal Estou enviando o o arquivo fonte alterado e o manual para atualização o SVN. // Codigo Anterior constructor TACBrBancoob.create(AOwner: TACBrBanco); begin inherited create(AOwner); fpDigito := 0; fpNome := 'SICOOB'; fpNumero := 756; fpTamanhoMaximoNossoNum := 7; fpTamanhoCarteira := 1; fpTamanhoConta := 8; fpCodigosMoraAceitos:= '123'; end; // Código Alterado constructor TACBrBancoob.create(AOwner: TACBrBanco); begin inherited create(AOwner); fpDigito := 0; fpNome := 'SICOOB'; fpNumero := 756; fpTamanhoMaximoNossoNum := 7; fpTamanhoCarteira := 1; fpTamanhoConta := 8; fpCodigosMoraAceitos:= '012'; end; Grato, ACBrBancoBancoob.pas Layouts+para+troca+de+informações+01072015 (1) BANCOOB COM REGISTRO.xls
  18. Oi Arnaldo, Eu tive um problema parecido a um tempo atrás. O que eu fiz foi o seguinte. Filtrei os registros na tabela depois utilizei a rotina abaixo e deu certinho. // Depois de filtrar os registros Tabela.First ; While Not Tabela.Eof do begin GeraBoleto ; // rotina que adiciona os dados no componente ACBRBoleto ACBrBoletoFCFortes1.NomeArquivo := 'NomedoArquivo.pdf' ; ACBrBoleto1.GerarPDF ; Tabela.Next; end ; Atenciosamente,
  19. Bom dia, Estou mandando anexo layout alterado e diminuído caso queira aproveitar. (Fortes Report) O Boleto de impressão "normal" eu também alterei. Atc, ACBrBoletoFCFortesFr.pas ACBrBoletoFCFortesFr.dfm
  20. Oi amigos, Eu criei uma rotina chamada gravacedente sempre antes de gerar o boleto ou a remessa e funciona perfeitamente. Segue exemplo do código: procedure TDM1.GravaCedenteCobranca(CodCarteira: integer); begin // Grava Configurações do Cedente e Cobrança ACBrBoleto1.ListadeBoletos.Clear; DM1.TB03600.Refresh; DM1.TB03600.Locate('CONTROLE', CodCarteira, []); with ACBrBoleto1 do begin case DM1.TB03600BANCO.Value of 1: Banco.TipoCobranca := cobBancoDoBrasil; 104: Banco.TipoCobranca := cobCaixaEconomica; 237: Banco.TipoCobranca := cobBradesco; 341: Banco.TipoCobranca := cobItau; 756: begin Banco.TipoCobranca := cobBancoob; Cedente.Modalidade := '01'; end; end; Cedente.Agencia := DM1.TB03600AGENCIA.Value; Cedente.AgenciaDigito := ' '; if DM1.TB03600DIGAGENCIA.Value <> '' then Cedente.AgenciaDigito := DM1.TB03600DIGAGENCIA.Value; Cedente.Conta := DM1.TB03600CONTA.Value; Cedente.ContaDigito := DM1.TB03600DIGCONTA.Value; Cedente.Nome := DM1.TB03600NOMECEDENTE.Value; Cedente.Logradouro := DM1.TB03600ENDCEDENTE.Value; Cedente.NumeroRes := DM1.TB03600ENDNUMCEDENTE.Value; Cedente.Cidade := DM1.TB03600CIDADECEDENTE.Value; Cedente.Bairro := DM1.TB03600BAIRROCEDENTE.Value; Cedente.UF := DM1.TB03600UFCEDENTE.Value; Cedente.CEP := DM1.TB03600CEPCEDENTE.Value; if Length(FRC_Funcoes.DesformataCNPJ_CPF(DM1.TB03600CPFCEDENTE.Value)) = 11 then Cedente.TipoInscricao := pFisica else if Length(FRC_Funcoes.DesformataCNPJ_CPF(DM1.TB03600CPFCEDENTE.Value)) = 14 then Cedente.TipoInscricao := pJuridica; Cedente.CNPJCPF := FRC_Funcoes.DesformataCNPJ_CPF(DM1.TB03600CPFCEDENTE.Value); Cedente.CodigoCedente := DM1.TB03600CODCEDENTE.Value; Cedente.Convenio := DM1.TB03600CONVENIO.AsString; // Cedente.Modalidade := DM1.TB03600MODALIDADE.Value; ACBrBoletoFC.DirLogo := ExtractFilePath(Application.ExeName) + '\Boleto'; Cedente.ResponEmissao := tbCliEmite; case DM1.TB03600TIPOIMPRESSAO.Value of 1: ACBrBoletoFC.LayOut := lPadrao; 2: ACBrBoletoFC.LayOut := lFatura; 3: ACBrBoletoFC.LayOut := lCarne; 99: Cedente.ResponEmissao := tbBancoEmite; end; Cedente.CaracTitulo := tcSimples; case DM1.TB03600TIPOMOD.Value of 1: Cedente.CaracTitulo := tcSimples; 2: Cedente.CaracTitulo := tcVinculada; 3: Cedente.CaracTitulo := tcCaucionada; 4: Cedente.CaracTitulo := tcDescontada; 5: Cedente.CaracTitulo := tcVendor; end; if DM1.TB03600CNAB.Value = 240 then LayoutRemessa := c240 else LayoutRemessa := c400; end; end;
  21. Amigos, De forma não explicada consegui enviar. Os parâmetros que utilizei foram: CSOSN: 102 idDest: 2=Operação interestadual; ndFinal: 0=Normal; indIEDest: 9=Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS. A UF do destinatário era SP e a do remetente era MG Uma dica que já tinha visto a um tempo atrás: Fiquem atento ao CSOSN. Segundo a regra não se pode utilizar 101 ou 201 para não contribuintes. Isso pode acarretar problemas. Mas sinceramente não sei porque aconteceu o problema justamente hoje. Notei que o sistema estava lento para receber os dados do retorno da nota fiscal. Creio que pode estar havendo alguma falha no sistema. No mais qualquer novidade aviso vocês. Boa sorte
  22. Bom dia, Meu sistema que até ontem, 30/06/2016 emitia notas para fora da minha UF normalmente hoje começou a dar o mesmo erro citado pelo amigo Ariboni. A diferença é que os dados informados por mim são diferentes: O meu cliente e Simples Nacional, o destinatario tem CPF , 9 = Nao Contribuinte; 1 = Consumidor Final ; 2 = Interestadual ; o CFOP = 6101 e CST = 101. Alguém sabe dizer se mudou alguma regra a partir de 01/07? Grato 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.