Ir para conteúdo
  • Cadastre-se

Aggille Sistemas de Gestão

Membros
  • Total de ítens

    272
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Aggille Sistemas de Gestão postou

  1. Aggille Sistemas de Gestão

    Consulta

    antes de cancelar uma NF-e, eu costumo consulta ela pra saber se já não está cancacelada.. e reparei que a consulta do ACBR não retornada nada.. então depurei e constatei o seguinte... Na UnitpcnRetConsSitNfe, na linha 204 ( Leitor.rCampo(tcStr, 'cMsg') ) , ele levantava uma Exception, e sempre que tinha exception, a rotina retornava False.. coloquei um ponto de parada pra ver qual o tipo de Exceção que levantava e é do tipo 'Could not convert variant of type (UnicodeString) into type (Integer)'... Pois então... quando ele vai ler essa TAG, na unit pcnLeitor.. ele lê da variável FGrupo que contém '<infProt Id="ID143190000653179"><tpAmb>2</tpAmb><verAplic>RS201904120803</verAplic><chNFe>43190490205691000152550010000491251723293854</chNFe><dhRecbto>2019-04-26T09:12:53-03:00</dhRecbto><nProt>143190000653179</nProt><digVal>RwnbSsvnIY5GEkkzn6Lm+yP3zlk=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso da NF-e</xMotivo></infProt>' na linha 214, ele pega o ConteudoDaTag que está vazio, pois não existe a TAG cMsg...
  2. meu sistema chama a rotina AcbrBoleto.LeRetorno()... o próprio ACBR chama essa função na linha 1157 ( NossoNumero := NossoNumeroSemFormatacaoLerRetorno(ACBrBoleto.Cedente.Convenio, Carteira, Linha); ) da unit AcbrBancoBrasil.. porém é na rotina de leitura do regidtro 240, e no caso meu arquivo é cbr643 que é de 400 posições... Então, fui na linha 1837 ()método LerRetorno400Pos6 ) e substitui NossoNumero := Copy(Linha,63,11); ( ele esta lendo 11 caracteres e é aqui que ocorre o erro porque diz que o máximo é 5..) e substitui por NossoNumero := NossoNumeroSemFormatacaoLerRetorno(ACBrBoleto.Cedente.Convenio, Carteira, Linha); e o retorno é sempre '00000'
  3. oi.. não é dessa forma que entendi.. mas tudo bem.. de qualquer forma o arquivo de retorno está correto...
  4. Oi Juliana... a Exception acontece na Unit AcbrBoleto na linha 1603: wTamNossoNumero:= CalcularTamMaximoNossoNumero(Carteira, wNossoNumero, ACBrBoleto.Cedente.Convenio); if Length(trim(wNossoNumero)) > wTamNossoNumero then raise Exception.Create( ACBrStr('Tamanho Máximo do Nosso Número é: '+ IntToStr(wTamNossoNumero) )); Ali ele compara o tamanho do NossoNumero que leu no arqauivo de retorno com o valor retornado prla funcao CalcularTamMaximoNossoNumero.. e como ela retorna 5 e vem 11 no arquivo, ele levanta a exceção... sds,
  5. Oi Juliana... a função se chama CalcularTamMaximoNossoNumero , imagino que ela retorne o comprimento máximo do campo nosso número.. vou analisar de que forma ela é usada dentro da leitura do arquivo de retorno então.. obrigado..
  6. Bom dia Juliana...obrigado pelo retorno... segue manual de especificações do Banco do Brasil de Novembro de 2018.. na página 17 ( convênio de 6 digitos ), ali fala que o nosso numero deve ter 11 posições.. Do jeito que está no ACBR está tratando como 5.... Fiz a alteração aqui do jeito que falei acima e está funcionando em todos os clientes desde a semana passada.. Mas aguardo uma análise mais profunda... sds, Doc5175Bloqueto.pdf
  7. é possível... também estava pensando nisso..não podemos garantir a qualidade do xmls dos outros... obrigado..
  8. Convênio 148244 padrao cnab 400... Neste convenio de 6 digitos o tamanho do nosso numero deveria de 11... CBR64314161004201912707.ret
  9. Boa tarde Juliana... Lá no tratamento do retorno é chamada essa rotina pra pegar o tamanho do NossoNumero ( que retorna 5 do jeito que estava ). O Nosso Numero dessa carteira vem com 11 caracteres no arquivo de retorno, que gera um erro do acbr, dizendo que o número máximo do nosso número é 5, quando deveria ser 11 devido ao convênio ter 6 digitos. Do jeito que estava não estava conseguindo processar os arquivo de retorno.
  10. Boa tarde.. tenho um convenio no BB que é de 6 posições e carteira 17... No processamento do arquivo de retorno, tenho recebido erro que de o tamanho máximo no nosso número é 5. assim está as Regra.. Meu convenio está caindo na regra em negrito.. quando deveria cair na regra subilinhada, por confirma minha conversa com a área técnica do BB, sempre que o convênio for de 6 posições, o nosso número será de 11 posições... ** Unit AcbrBancoBrasil.PAS ** if (Length(trim(NossoNumero)) > 10) and (((wTamConvenio = 6) and ((wCarteira = '16') or (wCarteira = '18'))) or ((wTamConvenio = 7) and (wCarteira = '18'))) then Result:= 17 else if (wTamConvenio <= 4) then Result := 7 else if ((wTamConvenio > 4) and (wTamConvenio < 6)) or ((wTamConvenio = 6) and ((wCarteira = '12') or (wCarteira = '15') or (wCarteira = '17') or (wCarteira = '18'))) then Result := 5 else if (wTamConvenio = 6) then Result := 11 else if (wTamConvenio = 7) then Result := 10; Inverti para essa forma e funcionou para todas as carteira.. if (Length(trim(NossoNumero)) > 10) and (((wTamConvenio = 6) and ((wCarteira = '16') or (wCarteira = '18'))) or ((wTamConvenio = 7) and (wCarteira = '18'))) then Result:= 17 else if (wTamConvenio <= 4) then Result := 7 else if (wTamConvenio = 6) then Result := 11 else if (wTamConvenio = 7) then Result := 10 else if ((wTamConvenio > 4) and (wTamConvenio < 6)) or ((wTamConvenio = 6) and ((wCarteira = '12') or (wCarteira = '15') or (wCarteira = '17') or (wCarteira = '18'))) then Result := 5 ;
  11. Não acontece em todos os xmls.. está acontecendo nesse e em mais um.. estou analisando pra descobrir o que eles têm de diferente..
  12. Boa tarde.... quando carrego um XML esta dando esse erro..."4- is not a valid integer value'. o erro ocorre na unit pcnLeitor, linha 243.. pelo que percebi ele esta lendo um caracter a menos na data de emissão.. em anexo segue o xml que estou tentando ler e um print do erro.. sds, 43190401357767000135550010000099061000385638-nfe.xml
  13. Também me perguntei sobre isso.... Mas, na esperança que um dia esse serviço melhore, acho que vale o esforço... sds,
  14. Boa tarde... a consulta por CNPJ no SEFAZ já está portada para o ACBRLib ? Grato..
  15. boa tarde... fiz a implementação acima e registrou certo no banco.. algumdos moderadores poderia repessar a alteração pro servidor ? grato...
  16. Segue em anexo a alterção... coloquei um IF na linha 910, verificando se tem instrução 88 ... ACBrBancoBrasil.pas
  17. Conforme o layout do BB, padrão CNAB 400, quando for instrução de negativação, deverá ir na posição 157/158 ou 159/160 ( instrução codificada 1 ou instrução codificada 2 ) a instrução '88' ( conforme nota 09 ). E na posição 392-393 ( Numero de Dias para Protesto ) a quantidade de dias a ser negativado.. Fiz os testes aqui, mas o componente não coloca o campo na posição 392... Segue em anexo o manual para analise.. cbr641.pdf
  18. sei disso e já trato o erro quando é duplicidade... as consultas de notas proprias, vêm todos os eventos, mas as notas emitidas por terceiros nâo vêm.. nem na distribuicaoDFE
  19. Boa tarde... já tentei... tenho inclusive o xml baixado pelo DistribuiçãoDFE e não vêm os eventos... ja fiz desse jeito... baixei pelo DistribuiçãoDFE, carreguei no componente, executei a consulta.. e não vêm os eventos.. se consultar a chave no siete do sefaz vêm certo..
  20. Quando o usuário vai dar Confirmação ou Cancelamento de Operação, durante o processo, pode ocorrer um erro qualquer.. Então quando o usuário faz a mesma operação novamento, ocorre erro de evento duplicado... No XML que baixo do fornecedor não vêm os eventos... Ná algum webservice que liste os eventos de uma NF-e de fornecedor ( que já foi devidamente dada a ciência da operação ) ? Hoje, eu mando o evento, e se retornar 537 ( duplicidade ), sei que a operação deu certo... Mas não há uma forma de buscar os eventos ?
  21. Tem algum evento que ocorre logo apos excluir uma Aba ? tenho uma imagem de fundo no form principal, então, quando não tiver nenhuma aba no TDI, quero colocar ele como visible=false para que mostre a imagem de fundo... coloquei um TImage na propriedade background.. porém quando removo todas as abas, a imagem some.. obrigao..
×
×
  • 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.