Ir para conteúdo
  • Cadastre-se

Moroni

Membros
  • Total de ítens

    161
  • Registro em

  • Última visita

Tudo que Moroni postou

  1. Oi Italo, agora entendi, estava fazendo confusão realmente. Muito obrigado pelas informações. Att., Rafael Moroni
  2. Bom dia! Ao fazer uma CC-e de um CT-e precisamos alterar as observações do CT-e e segundo o manual do CT-e é possível colocar até 2000 caracteres neste campo. Mas na verdade está aceitando no máximo 500 caracteres. Alguém sabe me dizer se isto procede? Att., Rafael Moroni
  3. Moroni

    Unidade Na Impressão Da Nf-E

    Bom dia! Estamos com um cliente que está utilizando no campo das unidades do produto com seis(caracteres), que é o máximo para ser utilizado segundo o manual e que é o tamanho utilizado no SPED. Na impressão, tanto no QR como no Rave, está imprimindo apenas quatro(4) caracteres. Foram realizadas tanto no QR como no Rave as alterações necessárias para que a impressão mostre os seis(6) caracteres. Estou anexando os fontes necessários para que alguém faça a incorporação no SVN destas alterações. Estou também anexando dois PDFs de NFs teste para a verificação de como ficou o final destas alterações. Obrigado, Rafael Moroni Alteracoes_NFe.rar
  4. Com a atualização do 'andersonh' no tópico problema está resolvido. Obrigado
  5. Bom dia! Estou tentando recuperar a 'DescricaoMotivoRejeicao' do arquivo de retorno, no caso o Banrisul, e está retornando sempre em branco, já tentei de duas formas e não deu certo. cdsMot.FieldByName('motivo').AsString := Titulo.DescricaoMotivoRejeicaoComando[z]; e cdsMot.FieldByName('motivo').AsString := Titulo.DescricaoMotivoRejeicaoComando.Text; O código do motivo da rejeição eu estou conseguindo recuperar normalmente da seguinte forma: cdsMot.FieldByName('cod_mot').AsString := Titulo.MotivoRejeicaoComando[z]; Todos os outros dados do arquivo de retorno estão ok também. Alguém saberia me dizer onde estou errando. Obrigado
  6. Boa tarde! aqui voltou ao normal.
  7. Bom dia! Também estou com clientes com o mesmo erro, estou no RS. Att., Rafael Moroni
  8. Bom dia, a minha dúvida não é bem idêntica a este post, mas é o seguinte: eu posso gerar mais de um CT-e complementar para um mesmo CT-e normal? Moroni
  9. Bom dia! Eu também estou com este problema, só que eu verifiquei que a altura do campo 'qrmObs' está em 42 e na verdade não está sendo impresso a 4ª linha do 'qrmObs'. Eu realizei uma alteração na altura para 45 e ficou ok. Italo, seria possível somente alterar esta altura nos fontes, para 45, aí para que nas próximas atualizações estivess ok? Obrigado, Moroni
  10. Bom dia! Estou realizando a homologação de um cliente para o BB e surgiu uma dúvida sobre juros e multa. Na análise retornada do BB foi informado o seguinte: Instrução de juros: os juros não têm carência para início da cobrança, favor informar que a cobrança será ‘após o vencimento’; Instrução de multa: no arquivo consta que a multa tem 4 dias de carência. Favor informar esta carência nos boletos, ou no arquivo remessa, no campo da data da multa, informar o dia do vencimento do título. Na unit ACBrBoleto.AdicionarMensagensPadroes( Titulo : TACBrTitulo; AStringList: TStrings ) temos o seguinte: if DataMoraJuros <> 0 then AStringList.Add(ACBrStr('Cobrar juros de ' + FormatCurr('R$ #,##0.00',ValorMoraJuros) + ' por dia de atraso para pagamento a partir de ' + FormatDateTime('dd/mm/yyyy',ifthen(Vencimento = DataMoraJuros, IncDay(DataMoraJuros,1),DataMoraJuros)))) else AStringList.Add(ACBrStr('Cobrar juros de ' + FormatCurr('R$ #,##0.00',ValorMoraJuros) + ' por dia de atraso')); end; if PercentualMulta <> 0 then AStringList.Add(ACBrStr('Cobrar Multa de ' + FormatCurr('R$ #,##0.00',ValorDocumento*( 1+ PercentualMulta/100)-ValorDocumento) + ' após o vencimento.')); Para o BB as duas questões acima não estão invertidas? Ou deveriamos ter uma propriedade 'DataMulta' para que possamos testar na multa? Alguma sugestão. Moroni
  11. Oi Juliana, você como Moderadora das rotinas do Boleto tem alguma posição sobre estas questôes? Obrigado, Moroni
  12. Bom dia! Eu gostaria de saber se eu estou fazendo alguma coisa errada ou realmente não foi realizado o commit do novo layout segundo as novas regras do BC. Pois eu já enviei e verifiquei que outros usuários também enviaram alterações sobre estas novas regras e eu ainda não estou com estas versões atualizadas. Inclusive hoje eu apaguei a pasta do ACBr e refiz toda a instalação novamente e continua com a versão sem as alterações necessárias. Ou detalhe, estou tentando fazer a homologação no BB e recebi a seguinte questão: >> Quanto ao Recibo do Sacado: Conforme determina norma do BACEN com base na Lei 12.039/09 é obrigatório informar o endereço completo do beneficiário nesta guia. Incluir. << Eu gostaria de saber se alguém já fez esta alteração. Eu até posso fazer esta alteração, somente gostaria de saber se alguém sabe onde estas informações devem ser inseridas no boleto. Att., Moroni
  13. Boa tarde! Eu utilizo o componente a bastante tempo e a troca de versão anterior não teve nada de tráumatico e acredito que o caminho a seguir é o que foi tomado pelo Italo e equipe que está na ponta de desenvolvimento. Não querendo arrumar confusão nenhum mas a solução que foi adotada é muito boa mesmo. Parabéns para toda a equipe. Att., Rafael Moroni
  14. Bom dia! Mais um detalhe em relação a impressão do DACTE no modo FS-DA, isto depois do CT-e já ter sido autorizado pela SEFAZ: - se a empresa por algum motivo tiver que imprimir novamente o DACTE, este está sendo impresso na forma de um CT-e normal, ou seja, sem o segundo código de barras e sem a observação 'DACTE em Contingência - Impresso em decorrência de problemas técnicos'; Na minha opinião, não achei nada que dissesse ao contrário no MOC, seria imprimir na forma original do DACTE, ou seja, no modo FS-DA. Em função do segundo código de barras fiz a seguinte alteração if FCTe.procCTe.cStat in [100, 101, 110] ---->>>> if FCTe.procCTe.cStat in [101, 110] then begin qrlVariavel1.Enabled := True; qriBarCode2.Enabled := False; if FCTe.procCTe.cStat = 100 then qrlDescricao.Caption := 'PROTOCOLO DE AUTORIZAÇÃO DE USO'; e em função da observação alterei if not (FCTe.procCTe.cStat in [100, 101, 110]) ----->>>> if not (FCTe.procCTe.cStat in [101, 110]) then qrmObs.Lines.Add('DACTE em Contingência - Impresso em decorrência de problemas técnicos.'); end; Abraços, Moroni
  15. Moroni

    Impressão - Fs-Da(Sugestão)

    Boa noite! Estou testando a geração/impressão de CT-e utilizando FS-DA e nos casos em que existem mais de três(3) linhas de observações no CT-e ocorre que na impressão não está sendo impresso a mensagem que é obrigatória : 'DACTE em Contingência - Impresso em decorrência de problemas técnicos.' Obs.: mesmo sendo CT-e normal, está sendo impresso somente as três primeiras linhas das observações. Com isto temos duas opções : 1) a mais fácil, trocar de posição a mensagem obrigatória, ou seja, colocar esta mensagem na primeira linha. No QR, na unit ACBrCTeDACTeQRRetrato colocar a seguinte linha : qrmObs.Lines.Add(StringReplace( FCTe.Compl.xObs, '&lt;BR&gt;', #13#10, [rfReplaceAll,rfIgnoreCase] ) ); após o bloco seguinte : if FCTe.Ide.tpEmis in [teContingencia, teFSDA] then begin // Incluido por Italo em 20/04/2012 if not (FCTe.procCTe.cStat in [100, 101, 110]) then qrmObs.Lines.Add('DACTE em Contingência - Impresso em decorrência de problemas técnicos.'); end; if FCTe.Ide.tpEmis = teDPEC then qrmObs.Lines.Add('DACTE em Contingência - DPEC regularmente recebida pela Receita Federal do Brasil'); 2) a segunda opção e a mais correta seria verificar se existem mais de três(3) linhas nas observações e realizar a impressão de uma segunda folha. Abraços, Rafael Moroni
  16. Bom dia! Eu tentei fazer uma homologação para o Banrisul e recebi como resposta que precisava alterar alguns dizeres no boleto. Procurei no fórum e encontrei a circular 3598 e 3656 do Banco Central referente estas alterações. Parece que para o Fortes já foram realizadas estas alterações, mas eu utilizo o QR e não achei estas alterações. Então ontem realizei as alterações necessárias para o QR. Fiz as alterações conforme um modelo que recebi do Banrisul, não sei se pode ser assim para os outros bancos. Vou anexar as alterações que realizei e vocês podem verificar se pode ou não ser comitadas. Também estou anexando uma alteração numa unit que na verdade eu e o GUILHERMEURUTUN já tinhamos postado aqui mas não foi comitada. Moroni AlteracoesBoletos.zip modelo.pdf
  17. Bom dia! Italo, esquece este post. Ao invés de utilizar as funções do ACBr estou utilizando XMLDocument e consegui resolver todos os meus problemas. Obrigado pela atenção. Moroni
  18. Boa noite Italo! Acredito que eu tenha explicado de uma forma não concisa o meu problema. Sei que o ACBr não tem nenhuma funcionalidade com o webservice de seguradoras. É que eu envio o XML do CT-e, o mesmo que é enviado/autorizado na SEFAZ, para a AT&M que é responsável pelo seguro, ou seja, eu consumo o webservice da AT&M para enviar o XML da seguinte forma: >>> Cte.Conhecimentos.Clear; Cte.Conhecimentos.LoadFromFile(arquivo_xml); resposta_atm := GetATMWebSvrPortType(True).averbaCTe(Cte_Cfg.div_usuario_averbacao, Cte_Cfg.div_senha_averbacao, Cte_Cfg.div_codigo_averbacao, Cte.Conhecimentos.Items[0].XML); <<< É desta maneira que eu envio o XML para a seguradora recebo como resposta um xml que contém um protocolo e atualizo o meu banco de dados normalmente, funciona beleza. Só que quando um CT-e for cancelado eu também preciso enviar o XML de cancelamento(*-ProcCancCte.xml) para a seguradora. Preciso consumir o webservice da seguradora da mesma forma só que com o xml de cancelamento: >>> Cte.Conhecimentos.Clear; Cte.Conhecimentos.LoadFromFile(arquivo_xml_cancelado); // *-ProcCancCte.xml resposta_atm := GetATMWebSvrPortType(True).averbaCTe(Cte_Cfg.div_usuario_averbacao, Cte_Cfg.div_senha_averbacao, Cte_Cfg.div_codigo_averbacao, Cte.Conhecimentos.Items[0].XML); // --> * <<< * --> aqui está me ocorrendo um erro pois não está reconhecendo como um XML Erro : List index out of bonds(0) Gostaria de saber se no ACBr tem alguma forma de faze isto. Att., Rafael Moroni
  19. Oi Wagner, sobre a formatação do CPF do motorista eu também estava com problema, atualizei o ACBr e deu certo. Não sei se é o teu caso, mas o meu resolveu. Moroni
  20. Boa tarde! Estou fazendo a averbação dos Ct-e na seguradora do cliente, ou seja, após eu enviar o XML e receber o retorno da SEFAZ eu também estou enviando o XML para a seguradora consumindo o webservices da própria seguradora. Até sem problemas, ou seja, eu realizo um 'LoadFromFile' do arquivo xml e logo após eu envio este mesmo xml utilizando a função do webservice da seguradora da seguinte forma : ACBrCte.Conhecimentos.Items[0].XML e envio ok. No momento de cancelamento de um CT-e eu também preciso enviar para a seguradora este cancelamento, ou seja, preciso enviar o '-ProcCancCte.xml'. No ACBr tem alguma forma de que eu consiga também enviar direto este xml? Att., Rafael Moroni
  21. Bom dia! Verificando os fontes dos boletos verifiquei que a rotina de retorno do arquivo(CNAB400) do Banrisul ainda não foi implementada. Eu vou precisar desta rotina e gostaria de saber se alguém já está implementando, em caso negativo eu irei realizar esta implementação. Posso???? Att., Rafael Moroni
  22. Boa noite! Estou anexando as units alteradas para realização do commit. Att., Rafael Moroni ACBrBancoBanrisul.pas ACBrBoletoFCQuickFr.pas
  23. Boa tarde! Eu precisei realizar uma impressão de boleto onde as mensagens(instruções) ocupassem toda a largura disponível possível e várias linhas com quebras de linha. Utilizo o layout 'PadrãoEntrega', na parte do 'Recibo do Sacado' estava tudo ok mas no recibo do banco(o último) estava me ocorrendo problemas. ou seja, a largura disponivel era menor. Tive que realizar as seguintes alterações: na unit ACBrBoletoFCQuickFr: txInstrucaoes6_2 : Width = 477 --> 562 e Top = 849 --> 851 txInstrucaoes3 : Width = 477 --> 562 e Top = 614 --> 616 Outro detalhe é na unit ACBrBancoBanrisul: if (DataProtesto = 0) then begin // estava fixo "04" para dias de protesto DataProtesto := IncDay(Vencimento, 4); end; Comentei toda esta parte acima, pois desta forma sempre terá protesto mesmo eu não querendo e isto estava causando erro na consistência com o banco. '000' + // taxa para multa após o vencimento '00' + // dias para multa após vencimento troquei por IntToStrZero(Round(PercentualMulta*10), 3) + // taxa para multa após o vencimento IfThen((DataMoraJuros <> 0) and (DataMoraJuros > Vencimento), padR(IntToStr(DaysBetween(DataMoraJuros, Vencimento)), 2, '0'), '00') + // dias para multa pois estas duas posições estavam fixas mesmo tendo multa para ser cobrado. Att., Rafael Moroni
  24. Moroni

    Personalizar QuickReport

    Bom dia! Gostaria de realizar uma personalização do QR do DACTe pelo meu sistema, por exemplo: PreviewInitialState, PreInitialZoom,PrevShowSearch e PrevShowTumbs. Sei que posso ir no 'ACBrCTeDACTeQRRetrato' e realizar estas alterações, só que na próxima atualização do ACBr eu teria que novamente realizar estas alterações. Com isto posso deixar que o próprio usuário escolha a melhor forma de 'receber' o preview. Não estou conseguindo 'enxergar' estas propriedades para que eu possa realizar a minha própria personalização. Obs.: procurei no fórum alguma coisa refente a isto e não encontrei. Att., Rafael Moroni
  25. Ok, vou trabalhar desta forma então. Obrigado pelas respostas imediatas. Moroni
×
×
  • 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.