
jaidomini
Membros-
Total de ítens
70 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que jaidomini postou
-
Bom dia, Eu fiz o desenvolvimento completo do Banco Sofisa Itau como contribuição para o ACBr e mandei a unit para vocês colocarem no SVN, porém atualizei o ACBR semana passada deu problema no cliente que usa este CNAB, na remessa e retorno. Olhei a unit, e não esta igual a minha, faltando centenas de linhas de codigo, vou anexar novamente ai vcs colocam no lugar da que esta hoje, porque a minha esta validada e homologada corretamente, inclusive com TODOS os codigos de ocorrâncias tratadas. Para se ter ideia, a unit ACBrBancoSofisaItau.pas do SVN esta com 33KB a minha tem 43KB Obrigado Jaisson ACBrBancoSofisaItau.pas
-
Faltou a unit IPM.Provider.pas Incluir o override no final das 2 funções para que funcione o "virtual" IPM.Provider.pas
-
Segue arquivo alterado. Linha 295 e 296 incluído "virtual" no final da linha. ACBrNFSeXProviderBase.pas
-
Acabei de fazer o teste, era isso mesmo, faltou o "virtual" para chamar a função "CondicaoPagToStr" da unit "IPM.Provider.pas"
-
Bom dia Teve uma alteração na unit IPM.GravarXML.pas na função GerarFormaPagamento. Vi que se trata de organização do código fonte, porém a função FpAOwner.CondicaoPagToStr está buscando na unit ACBrNFSeXProviderBase.pas e não na própria unit IPM.GravarXML.pas Dessa forma a opção cpAPrazo está vindo com o valor 3 e não o valor 2, dessa forma não consegue transmitir a NFSe Obrigado Jaisson
-
Olá, a prefeitura de Conselheiro Lafayete atualizou para a versão 2.02, faz algum tempo já, fiz a alteração no ini, compilei com o arquivo "Compila_RES.BAT" para atualizar gerar o rc/res, deste forma consegui transmitir NFSe. Nome=Conselheiro Lafaiete UF=MG Provedor=Betha Versao=2.02 ProRecepcionar=http://e-gov.betha.com.br/e-nota-contribuinte-ws/nfseWS HomRecepcionar=http://e-gov.betha.com.br/e-nota-contribuinte-test-ws/nfseWS Obrigado. Jaisson
-
Esta função faz o ajuste automático da largura da coluna em até 100px, quando chega a 100 é inserido espaço em branco a cada 19 caractres para que o fortes faça a quebra com o WordWrap. Antes de chamar a função imprimir do ACBRNFe, chame esta procedure DanfeFortesAjustaQuebraLinha. Atenção, depois que chamar esta procedure não exporte xml, pois a Tag cProd foi modificada. Att Jaisson procedure DanfeFortesAjustaQuebraLinha; var i, iNota: Integer; begin if ACBrNFe1.DANFE=DanfeFortes1 then if DanfeFortes1.TipoDANFE = tiRetrato then begin DanfeFortes1.LarguraCodProd := 61; if ACBrNFe1.NotasFiscais.Count>0 then for iNota := 0 to ACBrNFe1.NotasFiscais.Count-1 do for i := 0 to ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Count-1 do begin if Length(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd) > 11 then if (DanfeFortes1.LarguraCodProd < (Length(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd)-11) * 5.3 + 61) then begin DanfeFortes1.LarguraCodProd := Trunc((Length(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd)-11) * 5.3 + 61); if DanfeFortes1.LarguraCodProd > 100 then begin DanfeFortes1.LarguraCodProd := 100; ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd := Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,1,19) + ' '+ Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,20,19) + ' '+ Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,39,19) + ' '+ Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,58,19); //tem no max 60 carac o codigo end; end; end; end; end;
-
Boa Tarde. Não sei exatamente o que vc fez na parte de retorno, mas pra mim funciona o retorno pefeitamente. Antes de realizar o retorno, faça isso ACBrBoleto1.Banco.TipoCobranca := cobBancoSofisaItau Dessa forma a unit que vai fazer a leitura do retorno é a ACBrBancoSofisaItau.pas Vi que vc anexou ACBrBancoItau.pas sendo que a leitura do Banco Sofisa itaú é feita pela unit ACBrBancoSofisaItau.pas
-
Boa tarde, por nada! Obrigado a vcs também que fazem um esforço enorme! Eu passei onde modifiquei, porque não está 100% atualizado com as últimas modificações do SVN, de qualquer maneira segue anexo. Por isso que passei os pontos em que foram ajustados, que foram poucos. ACBrBoleto.pas
-
Bom dia Já configurei várias vezes Sicredi, e a agência é sempre com 4 casas e o dígito da agência, no caso o posto com 2 casas. DigitoVerificadorAgenciaConta não preencho. Sobre o nosso numero, eu passo um código que crio para cada boleto e o Acbr se encarrega de formatar ele, exemplo: 5775
-
Bom dia Como não tem o layout do Sofisa quando o parceiro é Itaú(hoje tem com o Santander), eu desenvolvi no padrão do ACBr. - Já ajustei TODOS os códigos de rejeições conforme layout - Para imprimir o boleto, eles pedem para seguir o manual do Itaú, então é só falar que é Itaú que o boleto imprime certinho Boleto.Banco.TipoCobranca := cobItau - Utilizam carteira 109 - Na conta corrente e codigo cedente e convenio, tem que colocar o código do cedente que eles passam, nunca a conta corrente. - O codigo da empresa no banco, utilizei do campo CodigoTransmissao pois ele é parecido com o codigo de transmissao que o Santander utiliza. Ex deste codigo: "000000099999CVE341" Alterações em em ACBrBoleto.pas 1) TACBrTipoCobranca = acrescentar: cobBancoSofisaItau 2) ACBrBancoSofisaItau no uses 3) function GetTipoCobranca 637: begin if StrToInt(Carteira) = 109 then Result := cobBancoSofisaItau else Result := cobBancoSofisaSantander; end; 4) SetTipoCobranca cobBancoSofisaItau : fBancoClass := TACBrBancoSofisaItau.Create(Self); {637} Obrigado Jaisson LayoutSofisa.zip ACBrBancoSofisaItau.pas
-
Ajuste no Sicoob unit ACBrBancoBancoob para Passar no Validador
jaidomini replied to jaidomini's tópico in ACBrBoleto
Verdade, tem no header do lote também, mas o ACBR já faz aquilo que comentei, deixa em branco Então também resolveria deixando DigitoVerificadorAgenciaConta := '0' Porque no lote o acbr já segue o manual. Realmente, o pessoa que elaborou o manual deixou 2 regras para o mesmo campo. Abraço. -
Ajuste no Sicoob unit ACBrBancoBancoob para Passar no Validador
jaidomini replied to jaidomini's tópico in ACBrBoleto
Bom Dia. Link para envio de arquivo para validar https://www.sicoob.com.br/web/sicoob/validador-cnab Link do arquivo em XLS do layout (quer está de acordo com o link) https://www.sicoob.com.br/documents/3068856/0/layout-cnab-240.xls/5bfadf52-4278-3d28-0b69-b09b467aad45?t=1614120550911 Eu entendo o que o Antonio comentou, porém se no manual fala que tem que vir assim, já era melhor deixar fixo para não ficar gerando tópicos de dúvidas aqui e ajudar os próximos a não passar um tempo analisando, e o tempo que eu usei pra fazer isso já seja útil para o próximo. O layout da forma que está, para quem já passou pela homologação funciona, porém, para quem vai começar a emitir e precisa passar pela homologação, não passa. layout-cnab-240.xls ACBrBancoBancoob.pas -
Ajuste no Sicoob unit ACBrBancoBancoob para Passar no Validador
um tópico no fórum postou jaidomini ACBrBoleto
Boa Tarde Apesar do layout já funcionar em alguns clientes em produção, novos clientes não passam pela homologação no validador por causa de 2 campos que estão exigindo conteúdo em branco em um e zero no outro, fiz a alteração da unit e passou 100% pelo validador, o manual também pede isso. unit ACBrBancoBancoob; GerarRegistroHeader240 Antes (Linha) PadRight(Convenio, 20, ' ') + // 33 a 52 - Brancos - Alteração para passar no validador Depois space(20 ) + // 33 a 52 - Brancos - Alteração para passar no validador Antes (Linha) PadRight(DigitoVerificadorAgenciaConta, 1, ' ')+ // 72 - Dígito verificador Ag/Conta (zero) Depois '0' + // 72 - Dígito verificador Ag/Conta (zero) Att Jaisson -
Sicredi - Validador do CNAB não está aceitando caracter especial na Mensagem
jaidomini replied to jaidomini's tópico in ACBrBoleto
Eu fiz isso no meu software, porém deixei a sugestão porque outros terão o problema. Att Jaisson -
Sicredi - Validador do CNAB não está aceitando caracter especial na Mensagem
um tópico no fórum postou jaidomini ACBrBoleto
Bom dia, unit ACBrBoleto procedure AdicionarMensagensPadroes Quase no final da procedure, adicionei 2 linhas, logo após o código da DataLimitePagto. if DataLimitePagto <> 0 then begin if DataLimitePagto > Vencimento then AStringList.Add(ACBrStr('Não Receber após ' + IntToStr(DaysBetween(Vencimento, DataLimitePagto))+ ' dias')) else AStringList.Add(ACBrStr('Não Receber após o Vencimento')); end; if Banco.TipoCobranca = cobSicred then AStringList.Text := TiraAcentos(AStringList.Text); Obrigado Jaisson -
Boa tarde, no arquivo do centi.Provider que fiz o upload já tinha consegui consultar, eu tinha corrigido o consultar da mesma forma que vc tinha corrigido o gerar para outra pessoa, com a alteração que vc pediu também deu certo a consulta, porém em ambas as situação tenho que "extrair" a NFSe do XML para visualizar na DANFE, conforme código abaixo. if Pos('<ListaNfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) > 0 then xmlDaNFSE := Copy(ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno, Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno), Pos('</Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) + 7{<Nfse>} - Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno)) else xmlDaNFSE := ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno;
-
@Italo Giurizzato Junior, consegui resolver, emissão e consultar por RPS. O cancelamento não testei, mas segui o mesmo raciocínio que foi a correção que você fez para gerar a NFSe. Agora uma coisa importante, quando ele faz o consulta, o xml que vem no XMLRetorno vem com aquela tag <ListaNfse> isso acaba impedindo de visualizar a NFSe, fiz um código simples para extrair apenas o XML da NFSe e consegui imprimir a DANFE if Pos('<ListaNfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) > 0 then xmlDaNFSE := Copy(ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno, Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno), Pos('</Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) + 7{<Nfse>} - Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno)) else xmlDaNFSE := ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno; Segue contribuição em anexo. Centi.Provider.pas
-
Bom dia. A cidade de Neropolis trocou do Sigep para o Centi, atualizei o ini e o .res com as informações abaixo e consegui transmitir, porém a consulta do RPS está dando o erro citado no Título. ACBrNFSeX - Atualizado ontem 09/03/22 Nome=Neropolis UF=GO Provedor=Centi Versao=2.02 ProRecepcionar=https://api.centi.com.br/nfe/gerar/go/neropolis ProConsultarNFSeRps=https://api.centi.com.br/nfe/consultar/rps/go/neropolis ProCancelarNFSe=https://api.centi.com.br/nfe/cancelar/go/neropolis ProGerarNFSe=https://api.centi.com.br/nfe/gerar/go/neropolis ; HomRecepcionar=https://api.centi.com.br/nfe/gerar/homologacao/go/neropolis HomConsultarNFSeRps=https://api.centi.com.br/nfe/consultar/homologacao/rps/go/neropolis HomCancelarNFSe=https://api.centi.com.br/nfe/cancelar/homologacao/go/neropolis HomGerarNFSe=https://api.centi.com.br/nfe/gerar/homologacao/go/neropolis ; ProLinkURL=https://api.centi.dev.br/portal/nfse/go/neropolis/%CodVerif% HomLinkURL=https://api.centi.dev.br/portal/nfse/go/neropolis/%CodVerif% Anexei os arquivos envolvidos na consulta Obrigado. 17NFS-comp-nfse.xml 17NFS-comp-nfse-soap.xml 17NFS-con-nfse-rps.xml 17NFS-con-nfse-rps-soap.xml
-
Americana suspendeu o SmarAPD, está usando o TIPLAN que por sinal funciona muito bem aqui! Minha propria empresa emite via ACBr. Utilizo: ACBrNFSe1.NotasFiscais.GerarNFSe; Depois: ACBrNFSe1.Enviar(Numero do Lote, False); Lembrando que o que p Italo disse, vamos ter que atualizar para o ACBRNFSEX