Ir para conteúdo
  • Cadastre-se

carlosmarian

Membros
  • Total de ítens

    235
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que carlosmarian postou

  1. Olá, Alguma novidade sobre este assunto? Vi que existe a tag "vTotTrib" filha da tag´s "ICMS" e "ICMSComp". Será que é só somar os ICMS.ICMSXX.vICMS e colocar no ICMS.vTotTrib e somar os ICMSComp.ICMSXX.vICMS colocar no ICMS.vTotTrib?? Terá que imprimir isso no DACTE? at+++
  2. Bom dia Regys... Até onde entendi então ao invés de somar todos os impostos(icms, ipi, pis, ....) incidente no item ou no total da nota, poderia somente aplicar este percentual (definido por NCM) em cima de cada item? Ou eu estou totalmente errado ? ate+
  3. Olá Italo, Só um comentário referente ao código que trata do CT-e Complementar, na classe "TImpComp" possui um atributo "ICMSComp" do tipo "TICMSComp", não poderíamos ajusta-lo para ser do tipo "TICMS". Isso pq na definição do schema as duas tags são do mesmo tipo, e no ACBr ficamos com duas classes iguais. Obrigado pela atenção. Até mais.
  4. Olá, vc conseguiu resolver o problema? acho que vc estava preenchendo do xml de forma errada, faltou a tag "InfCTeComp". at+
  5. Acredito que nada irá mudar até a reunião do GT em maio.
  6. Muito obrigado, tenho agendado para atualização do ACBr aqui na empresa na segunda metade do mês de Maio, ai já vou testar isso tbm. at++
  7. with ACBrNFe do begin DownloadNFe.Download.CNPJ := '000.000.000/00000-01'; DownloadNFe.Download.tpAmb:= 1; DownloadNFe.Download.Chaves.Clear; DownloadNFe.Download.Chaves.Add; DownloadNFe.Download.Chaves.Items[GNFe.DownloadNFe.Download.Chaves.Count-1].chNFe := '42000000000000000000000000000000000'; Download; for indContador := 0 to ACBrNFe.WebServices.DownloadNFe.retDownloadNFe.retNFe.Count - 1 do begin strPathArquivo := ACBrNFe.Configuracoes.Arquivos.PathNFe + PastaNFeTemp + '\' + ACBrNFe.WebServices.DownloadNFe.retDownloadNFe.retNFe.Items[indContador].chNFe + '-nfe.xml'; ACBrNFe.NotasFiscais.Clear; try ACBrNFe.NotasFiscais.LoadFromFile(strPathArquivo); except on E: Exception do Raise Exception.Create('Arquivo XML da NF-e inválido.'+ E.Message); end; //Ai na teoria é só ler os atributos. //..... end; end; t+
  8. Sim, o pior é que passa no validador. Eu ainda não tinha me deparado com um xml assim, a princípio consegui contornar mas acho estranho. Acredito que isso não seja comum, senão outras pessoas já teriam comentado aki no fórum.
  9. Olá, um cliente recebeu um xml(gerado por ferramenta de terceiro) onde os atributos estavam delimitados por aspas simples e não aspas duplas. Por este motivo o componente do ACBr não esta conseguindo lei o XML. Exemplo: Ao invés de estar assim: <nfeProc versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe"> O XML foi montado assim: <nfeProc versao='2.00' xmlns='http://www.portalfiscal.inf.br/nfe'> Para contornar este problema antes de ler eu estou trocando os caracteres do arquivo antes de chamar a leitura do xml, será que não teria um outra forma? at+
  10. Olá, tive retorno do banco referente ao código de transmissão. A alteração resolveu este problema. Mas agora o cliente alega que estamos tendo uma critica no retorno, referente ao código do banco, vou verificar o que posso estar fazendo de errado. ACBrBancoSantander.pas
  11. Olá, tive retorno do banco referente ao código de transmissão. A alteração resolveu este problema, em anexo correção. Mas agora o cliente alega que estamos tendo uma critica no retorno, referente ao código do banco, vou verificar o que posso estar fazendo de errado. at++
  12. Mas vc já implementou o cancelamento por evento? Exemplo no site do Regys: http://www.regys.com...ando-o-acbrnfe/
  13. Correto, Mas eu vejo que a versão não deveria ser de escolha do usuário pq ela é definida de acordo com a data final, correto? E isso poderia gerar criticas(no meu caso esta gerando) caso o usuário esqueça de informar ou revisar este atributo. at++
  14. Olá, tive relatos de alguns cliente que ao efetuar o cancelamento estão recebendo critica referente a data. e esta crítica ocorre de forma aleatória, e eu não conseguia identificar o motivo, então isso pode ajudar neste caso? at+
  15. Olá, Existe alguma rotina no componente que retorne a versão do layout (TACBrVersaoLeiaute) do arquivo que será gerado com base no período informado? Algo do tipo: ... if( data <01/01/2008) then vlVersao100 else if( data >01/01/2008 and data < 01/01/2009) then vlVersao101 else if( data >01/01/2009 and data < 01/01/2010) then vlVersao102 .... Pergunto isso pq hj a geração desta informação fica sob responsabilidade da rotina que alimenta os dados, e que deve saber qual versão deve ser usada em qual período. Com isso (a versão) é uma regra já definida (com base nos períodos) vejo que isso não deveria ser informado durante o carregamento dos dados e sim gerado pelo componente de acordo com o período informado. at+
  16. Olá, estou efetuando mais alguns ajustes e vou encaminhar para nova Homologação. Vou ajustar para usar "padR" nos 3 casos e assim que tiver o retorno do banco eu repasso o resultado, OK? at+
  17. Olá, Recebi uma critica do banco Santander referente ao campo "Código de Transmissão" (Posição 18 até 37), e critica informado que o valor existente na capa difere dos valores dos itens. Ao avaliar o código, verifiquei que ao gerar a capa ele usa "padR" e para gerar as demais linhas é usado "padL", desta forma gera um valor diferente. procedure TACBrBancoSantander.GerarRegistroHeader400(NumeroRemessa : Integer; aRemessa: TStringList); var wLinha: String; begin vTotalTitulos:= 0; with ACBrBanco.ACBrBoleto.Cedente do begin wLinha:= '0' + // ID do Registro '1' + // ID do Arquivo( 1 - Remessa) 'REMESSA' + // Literal de Remessa '01' + // Código do Tipo de Serviço padL( 'COBRANCA', 15 ) + // Descrição do tipo de serviço padR( CodigoTransmissao, 20, '0') + // Codigo da Empresa no Banco padL( Nome, 30) + // Nome da Empresa '033'+ padL('SANTANDER', 15) + // Código e Nome do Banco(237 - Bradesco) FormatDateTime('ddmmyy',Now) + // Data de geração do arquivo + brancos StringOfChar( '0', 16) + Space(275)+ '000' + // Nr. Sequencial de Remessa + brancos IntToStrZero(1,6); // Nr. Sequencial de Remessa + brancos + Contador aRemessa.Text:= aRemessa.Text + UpperCase(wLinha); end; end; ... procedure TACBrBancoSantander.GerarRegistroTransacao400(ACBrTitulo :TACBrTitulo; aRemessa: TStringList); var ... with ACBrBoleto do begin wLinha:= '1' + // ID Registro IfThen(Length(Cedente.CNPJCPF) > 12,'02','01') + padR(trim(OnlyNumber(Cedente.CNPJCPF)),14,'0') + padL(trim(Cedente.CodigoTransmissao),20,'0') + padL( SeuNumero ,25,' ') + Copy(NossoNumero,6,7) + DigitoNossoNumero + ... wLinha:= UpperCase(wLinha); for I := 0 to Mensagem.count-1 do wLinha:= wLinha + sLineBreak + '2' + space(16) + padL(Cedente.CodigoTransmissao,20,'0') + Space(10) + '01' + ... Eu acredito que o correto seria usar a formatação com "padR" em todos os casos. At+
  18. Olá, estou tendo o seguinte retorno: "CoInitialize não foi chamado, ClassID: {91D221C4-0CD4-461C-A728-01D509321556}" quando chama o método "TCertificadosConf.GetCertificado" at+
  19. Olá, Recebi um retorno do banco Santader referente a data de Mora e Juros. Segundo a crítica, o campo DataMoraJuros deve ser preenchido com zeros caso seja inferior a data de Vencimento(Vencimento). Vi que no código o campo DataMoraJuros tem tratamento para colocar zero caso for inferior a 01/01/2000, será que vale a pena complementar esta validação verificando se a data é inferior ao vencimento? Então no método "function TACBrBancoSantander.GerarRegistroTransacao400" Hj esta assim: ... Result:= '1' + // ID Registro IfThen(Length(Cedente.CNPJCPF) > 12,'02','01') + padR(trim(OnlyNumber(Cedente.CNPJCPF)),14,'0') + padL(trim(Cedente.CodigoTransmissao),20,'0') + padL( SeuNumero ,25,' ') + Copy(NossoNumero,6,7) + DigitoNossoNumero + IfThen(DataAbatimento < EncodeDate(2000,01,01), '000000',FormatDateTime( 'ddmmyy', DataAbatimento)) + ' '+IfThen(PercentualMulta > 0,'4','0') + IntToStrZero( round( PercentualMulta * 100 ), 4) + '00'+StringOfChar( '0', 13)+space(4) + IfThen(DataMoraJuros < EncodeDate(2000,01,01)) , '000000',FormatDateTime( 'ddmmyy', DataMoraJuros)) + .... Ficaria assim: Result:= '1' + // ID Registro IfThen(Length(Cedente.CNPJCPF) > 12,'02','01') + padR(trim(OnlyNumber(Cedente.CNPJCPF)),14,'0') + padL(trim(Cedente.CodigoTransmissao),20,'0') + padL( SeuNumero ,25,' ') + Copy(NossoNumero,6,7) + DigitoNossoNumero + IfThen(DataAbatimento < EncodeDate(2000,01,01), '000000',FormatDateTime( 'ddmmyy', DataAbatimento)) + ' '+IfThen(PercentualMulta > 0,'4','0') + IntToStrZero( round( PercentualMulta * 100 ), 4) + '00'+StringOfChar( '0', 13)+space(4) + IfThen((DataMoraJuros < EncodeDate(2000,01,01)) or {**PONTO DE AJUSTE**} (DataMoraJuros <= Vencimento)) , '000000',FormatDateTime( 'ddmmyy', DataMoraJuros)) + Alguma sugestão? Obrigado.
  20. Olá, implementei o processamento dos NF-e(geração, assinatura, envio e impressão) usando Thread. eu estava tendo um problema ao buscar os certificados, e verifiquei que no método "TCertificadosConf.GetCertificado" da unit ACBrCTeConfiguracoes, existe a chamada "CoInitialize(nil)" com o comentário "PERMITE O USO DE THREAD". Coloquei este mesmo código "CoInitialize(nil);" no método "TCertificadosConf.GetCertificado" da unit "ACBrNFeConfiguracoes" e o erro parou de ocorrer. isso é correto? obrigado pela atenção.
  21. Olá, ele concatena o tipo do evento(110111) + a sequencia. at+
  22. Desculpa, agora que vi que já esta False por padrão. at+
  23. Olá, foi definida algum propriedade para controle deste progressbar? é que no meu caso eu estou imprimindo os boletos usando uma thread e este progress esta gerado falha. at++
  24. Olá, é que no NT do cancelamento por evento ele só para dos retornos 128, 135 e 136 por isso tive a dúvida de se realmente poderia vir algum outro status. at+
  25. Olá, Neste exemplo somente trata se o evento for 135, mas eu posso ter retorno de status igual a 151 tbm? at+
×
×
  • 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...