-
Total de ítens
394 -
Registro em
-
Última visita
-
Days Won
1
Tudo que windsoft postou
-
Olá Maiko, boa tarde! A simples consulta não faz a manifestação do destinatário, acredito que na sua aplicação, ao invés de enviar a ciência você talvez esteja enviando a confirmação da operação. Outra possibilidade seria algum outro aplicativo, (talvez do contador do cliente) estar fazendo este procedimento.
- 15 replies
-
- 1
-
-
- distribuição dfe
- aceite
- (e 1 mais)
-
Correção na identificação do motivo da rejeição para Banco do Brasil
um tópico no fórum postou windsoft ACBrBoleto
Ao processar arquivos de retorno do banco do brasil, o componente está informando o motivo da rejeição/complemento da ocorrência incorretamente. Por exemplo: Ao processar o arquivo de retorno anexo, observar que os títulos das linhas 59, 61, 63 e 65 foram pagos em cartório, porém todos os titulos posteriores à este apresentam como motivo "08-Pago em cartório" indevidamente. O problema acontece porque o Result da function abaixo não é inicializado: function TACBrBancoBrasil.CodMotivoRejeicaoToDescricao(const TipoOcorrencia: TACBrTipoOcorrencia; CodMotivo: Integer): String; Por favor enviar a correção para o repositório. ACBrBancoBrasil.pas IEDCBR2871301201913446.ret -
Pelo que percebi só está funcionando com Capicom. Também não consegui utilizar com OpenSSL Se eu conseguir resolver postarei aqui, peço que façam o mesmo.
-
Olá @Gr@c@ Aqui fazemos +/- da seguinte forma: Após o envio, fazemos uma consulta da situação do lote, para ver se o lote foi recebido com sucesso. Depois fazemos a consulta do lote e atualizamos o status de cada NFSe do lote. Segue o trecho de código pra você analisar. if not ( ACBrNFSe1.WebServices.ConsultaSituacao( sProtocolo, IntToStr(iLote) ) ) then raise Exception.Create('Erro na consulta do lote de NFSe. Aguarde alguns instantes e tente novamente.'); // Se a situação do lote for igual a 1-Lote não recebido // Ou 2-Lote não processado, aguarda o processamento slSituacaoLote := StrToSituacaoLoteRPS(bOk, ACBrNFSe1.WebServices.ConsSitLoteRPS.Situacao ); if ( slSituacaoLote in [slrNaoRecibo, slrNaoProcessado] ) then begin raise Exception.Create('Lote ainda não processado.'+#13#10+ ACBrNFSe1.WebServices.ConsSitLoteRPS.aMsg); end; except on E:Exception do begin raise Exception.Create('Lote não processado: '+E.Message); end; end; end; end); // Se o lote foi processado com sucesso ou com erro, // Faz a consulta do Lote para receber os resultados de processamento if ( slSituacaoLote in [slrProcessadoErro, slrProcessadoSucesso] ) then begin if not ( ACBrNFSe1.ConsultarLoteRps( IntToStr(iLote), sProtocolo ) ) then raise Exception.Create('Erro na consulta do lote de NFSe. Aguarde alguns instantes e tente novamente.'); end; // verifica o retorno sNFEsComErro := ''; for i:= 0 to ACBrNFSe1.NotasFiscais.Count - 1 do begin // salvar status do pedido e o novo XML db := TDB.Create(SQLConnection); try try db.CodigoSQL := 'update PEDIDOS P set '+ 'P.NFE_CSTAT = :pStat '; db.LimpaParametros; // SE A NFE FOI AUTORIZADA if ( ACBrNFSe1.NotasFiscais.Items[i].Confirmada ) then begin bNotasAutorizadas := True; db.AddParametro(100,ftInteger); // pega o Link da NFSe sLinkNFSe := ''; NFSe := ACBrNFSe1.NotasFiscais.Items[i].NFSe; sLinkNFSe := ACBrNFSe1.LinkNFSe(StrToIntDef(NFSe.Numero,0), NFSe.CodigoVerificacao ); db.CodigoSQL := db.CodigoSQL + ',P.NFSE_XML = :pXML, '+ 'P.NFE_PROTOCOLO = :pProtocolo, '+ 'P.NUMERO_NF_PED = :pNumero_NF_Ped, '+ 'P.NFSE_LINK = :pNFSe_Link '; ss := TStringStream.Create(ACBrNFSe1.NotasFiscais.Items[i].XMLNFSe, TEncoding.UTF8); try db.AddParametro(ss, ftBlob); finally ss.Free; end; db.AddParametro(ACBrNFSe1.NotasFiscais.Items[i].NFSe.CodigoVerificacao,ftString); db.AddParametro(ACBrNFSe1.NotasFiscais.Items[i].NFSe.Numero,ftString); db.AddParametro(sLinkNFSe,ftString); end else begin db.AddParametro(0,ftInteger); if ( sNFEsComErro = '' ) then sNFEsComErro := 'Nota(s) fiscal(is) não confirmada(s):'; sNFEsComErro := sNFEsComErro + #13+#10+'RPS Nº '+ ACBrNFSe1.NotasFiscais.Items[i].NFSe.IdentificacaoRps.Numero; end; db.CodigoSQL := db.CodigoSQL + 'where ( P.EMPRESA_PED = :pEmpresa_Ped ) '+ 'and ( P.SERIE_NF_PED = :pSerie_NF_Ped ) '+ 'and ( P.NFSE_RPS_NUMERO = :pNFSe_RPS_Numero )'; db.AddParametro(iEmpresa,ftInteger); db.AddParametro(sSerie_NF,ftString); db.AddParametro(StrToIntDef(ACBrNFSe1.NotasFiscais.Items[i].NFSe.IdentificacaoRps.Numero,0),ftInteger); db.Executar;
-
Então não seria este o caso? Ele monta o XML lendo o HTML da consulta pública e assina com o certificado dele (sem validade jurídica)? Aí na validação ele passa pelos requisitos, tem assinatura e tudo mas não é a assinatura do emissor.
-
O segredo não está justamente no "Certificado digital do titular: (SEM VALIDADE JURIDICA) ?
-
Legal @Gr@c@ quando disponibilizarem será uma mão na roda pra recuperarmos dados dos produtos.
-
Estou com o mesmo problema quanto ao & ser convertido para amp; ao invés de & Conseguiu resolver?
-
Talvez uma solução seja usar o portal de pernambuco. http://efisco.sefaz.pe.gov.br/sfi_com_tge/PRConsultarNCM
-
Amigos, após configurar o ACBr.inc para usar as biblioteca MingW {$DEFINE USE_MINGW}, eu consigo compilar e reinstalar o componente normalmente, sem erros, mas ao tentar abrir o Delphi ele me retorna o seguinte erro: não foi possivel carregar acbr_nfe.bpl Os arquivos .bpl estão na pasta, já fiz a desinstalação e instalação novamente e mesmo usando a opção para limpar os arquivos antigos, não funciona. Um detalhe é que se eu comentar a linha {$DEFINE USE_MINGW} novamente, volta a funcionar tudo normalmente. Alguem tem alguma dica?
-
Olá @ALA acredito que seja o caso de empresas que estouraram o teto do simples em 2017 e que foram desenquadradas em 2018 apenas no simples estadual. Nestes casos, basta você alterar o CRT do emitente para 2 e informar os impostos assim como acontece nas empresas do regime normal.
-
Já tive problemas parecidos, não sei se é isso que está acontecendo contigo. Nestes casos, eu abro a imagem no melhor editor de imagens que existe (paint ) e clico em salvar como e salvo uma nova cópia da imagem aí imprime normalmente. Veja se ajuda.
-
Não sei quando à outros dias. Mas hoje o serviço da SEFAZ/SP ficou indisponível por volta das 18:30
-
Segue anexo Juliomar. DemoOBSLonga.pdf
-
Olá @Juliomar Marchetti, a mais correta na minha opinião é esta que eu coloquei anexo, pois não sei se o pessoal do ACBr disponibilizou a versão com as implementações que eu fiz no repositório.
-
Sim amigo, conforme eu falei acima, você precisa atualizar para a versão 3.0 do CTe, os webservices da versão 2.0 foram desativados hoje.
-
Não, a desativação estava marcada para hoje 04/12/2017.
-
Pelo que sei a versão 2.0 do CTe foi desativada hoje.
-
Olá @Marcos Mentz_5837 boa tarde! Tente utilizar o danferetratonovo.fr3 ou este anexo. DANFeRetratoNovo.fr3
-
Remessa Sicoob CNAB400 não informa o número da conta
windsoft replied to windsoft's tópico in ACBrBoleto
Talvez eu não tenha entendido direito. O banco dá a opção de você utilizar CNAB400 ou CNAB240 se no CNAB400 só aceita 8 dígitos para o número da conta, será que existe conta com mais de 8 dígitos? -
Olá Cristiano, boa tarde! Realmente parece que não existe Safra Itaú, que tipo de ajuda você precisa?
-
Remessa Sicoob CNAB400 não informa o número da conta
windsoft replied to windsoft's tópico in ACBrBoleto
Valeu @Agnaldo Prates Como você já tem mais experiência com este banco, no que você acha que impactaria a modificação para 8 do tamanho da conta em ambos os casos? -
Remessa Sicoob CNAB400 não informa o número da conta
windsoft replied to windsoft's tópico in ACBrBoleto
Olá @Fabiano Sehn e @Agnaldo Prates obrigado pela atenção. No CNAB240 funciona corretamente mesmo informando-se tamanho 8, pois já é tratado como 12 ao gerar o arquivo, portanto a solução que postei inicialmente resolve todos os casos sem necessidade de nenhum outra intervenção. Me desculpe @Agnaldo Prates pesquisei, mas não encontrei o tópico. -
Olá bom dia! Estamos homologando o banco Sicoob tanto no CNAB400 quanto CNAB240. Homologamos boletos e remessa CNAB240 perfeitamente, mas a remessa CNAB400 está sendo recusada porque o número da conta não está sendo informada. Observei que há um problema na função "PadLeft" que ao truncar o número da conta "000000007256" ela pega os 8 primeiros dígitos e não os 8 últimos como deveria. Para não mexer na função "PadLeft" que acho que pode causar impacto em outros pontos do projeto, eu alterei o tamanho da conta na unit "ACBrBancoBancoob.pas" para 8 dígitos, que é o tamanho máximo de conta corrente do banco (antes estava 12). Segue a unit para ser disponibilizada a todos. ACBrBancoBancoob.pas
-
Olá @sgeinformatica muito obrigado pela ajuda. Esta linha maior, me atormenta, eu não consegui entender porque ela não finaliza onde deve. Quanto às 2 linhas da primeira página, está correto, isso é devido ao fato de existir um código que "completa" a página para não deixar um espaço em branco. Assim como pode ser visto na segunda página.