Ir para conteúdo
  • Cadastre-se

Quality Automação

Membros Pro
  • Total de ítens

    175
  • Registro em

  • Última visita

Tudo que Quality Automação postou

  1. Bom dia Juliana. Estou passando por uma dificuldade na leitura de um retorno do Banco do Brasil. Tenho uma conta com Carteira 17 e convenio composto por 6 Números. Na leitura do retorno o componente capta o nosso numero pela seguinte função: NossoNumero := Copy(Linha,63,11) No meu caso ele retorna 18916368669 Pelo que entendo esse nosso numero tem o convenio + numero do titulo. Só que ao setar o valor do nosso numero ele faz a validação e me retorna um exceção falando que o tamanho do nosso numero é 5. Eu entendo que ele seria sim desse tamanho caso na captura não pegue o convenio, tanto que para liberar aqui deixei da seguinte forma no componente: NossoNumero := Copy(Linha,63,11).Replace(ACBrBoleto.Cedente.Convenio,''); Vou anexar o arquivo de retorno aqui para se for possível dar uma avaliada e ver se e necessário uma correção em uma das funções. Muito Obrigado. CBR64348332806201612149.ret
  2. Bom dia. 1 – ESTRUTURA DO NÚMERO BANCÁRIO (NOSSO NÚMERO) E E E E E N N N N N D Onde: EEEEE = Código do Cliente no Banco (Nº. do Range) Código numérico a ser fornecido pelo Banco por ocasião do início dos testes. Este código tem amarração cadastral com a conta de cobrança, portanto deverão ser obtidos tantos códigos quantos forem às contas de cobrança a serem utilizadas para a Cobrança Diretiva ou após utilizar todos os números sequenciais do documento. NNNNN = Número sequencial do documento / título. Uso a critério do cliente e quando utilizar todos, deve solicitar um novo número Range. D = Dígito verificador de segurança. É calculado pelo Módulo 11, com pesos de 2 a 7 da direita para a esquerda. Pagina 13. Olhei no manual mais fui na logica. Se tem uma verificação se o nosso numero e maior que 6 então não tem logica limitar um nosso numero com 5 dígitos. Aguardo o retorno. cobbarra.pdf
  3. Tambem estou passando pelo mesmo problema. No meu caso preciso de utilizar o nosso numero com 10 dígitos. Acredito que a validação esta errada, pois tem um lugar da classe que tem o seguinte codigo: if (ACBrTitulo.Carteira = 'CSB') or (ACBrTitulo.Carteira = '1') then begin if Length(ACBrTitulo.NossoNumero) < 6 then wNossoNumero:= PadLeft(trim(ACBrTitulo.ACBrBoleto.Cedente.Convenio),5,'0') + RightStr(ACBrTitulo.NossoNumero,5) else wNossoNumero:= RightStr(ACBrTitulo.NossoNumero,10); Modulo.CalculoPadrao; Modulo.MultiplicadorFinal := 7; Modulo.Documento := wNossoNumero; Modulo.Calcular; Result := RightStr(wNossoNumero,10) + AnsiString(IntToStr(Modulo.DigitoFinal)); end else Result :=ACBrTitulo.NossoNumero + '-' + CalcularDigitoVerificador(ACBrTitulo); Como não posso ter um nosso numero com 10 dígitos???? Para funcionar precise alterar a função CalcularTamMaximoNossoNumero function TACBrBancoHSBC.CalcularTamMaximoNossoNumero( const Carteira: String; NossoNumero : String = ''): Integer; begin Result := fpTamanhoMaximoNossoNum; if (trim(Carteira) = '') then raise Exception.Create(ACBrStr('Banco HSBC requer que a carteira seja '+ 'informada antes do Nosso Número.')); if (trim(Carteira) = 'CSB') or (trim(Carteira) = '1') then begin Result := 10; fpTamanhoMaximoNossoNum := 10; end; end; Se for possível fazer o commit dessa alteração.
  4. Bom dia. Precisei fazer uma alteração na leitura do retorno também. Segue o commit para analise. commit.diff
  5. Eu não disse que o Acbr não confiável. Sem problemas mas olhei no Trunk2 e o código permanece da mesma forma preciso de ajuda para ser feito o commit.
  6. Boa Tarde. Passei por um problema na leitura do retorno do banco do brasil com carteira 17. 1º Foi preciso Alterar a sequencia da leitura da carteira. Coloquei antes do nosso numero, pois ao ler o nosso numero ele exigia a carteria. Antes: 1544 NossoNumero := Copy(Linha,64,17); 1555 Carteira := Copy(Linha,107,2); Depois: 1554 Carteira := Copy(Linha,107,2); 1555 NossoNumero := Copy(Linha,64,17); 2º No SetNossoNumero o projeto faz algumas validações do tamanho do nosso numero, ai que esta o problema no retorno o nosso numero vem de um tamanho diferente do calculado pelo projeto. O problema esta que no nosso numero que vem da remessa esta com o convenioCedente ai foi preciso retirar o convenio. 1555 NossoNumero := Copy(Linha,64,17).Replace(rConvenioCedente,''); Preciso que desse commit. ValorRecebido := StrToFloatDef(Copy(Linha,254,13),0)/100; ValorMoraJuros := StrToFloatDef(Copy(Linha,267,13),0)/100; ValorOutrosCreditos := StrToFloatDef(Copy(Linha,280,13),0)/100; - NossoNumero := Copy(Linha,64,17); Carteira := Copy(Linha,107,2); + NossoNumero := Copy(Linha,64,17).Replace(rConvenioCedente,''); + ValorDespesaCobranca := StrToFloatDef(Copy(Linha,182,07),0)/100; //--Anderson: Valor tarifa ValorOutrasDespesas := StrToFloatDef(Copy(Linha,189,13),0)/100; Anexei para facilitar. commit
  7. Segue o Arquivo como Solicitado ACBrNFeUtil.pas ACBrNFeUtil.pas
  8. Precisei fazer uma alteração no ACBrNFeUtil incluindo uma URL para consulta de Cadastro no ES Mas não tenho permissão para o commit. Como faço para solicitar esse commit? Index: Fontes/ACBrNFe2/ACBrNFeUtil.pas =================================================================== --- Fontes/ACBrNFe2/ACBrNFeUtil.pas (revision 7184) +++ Fontes/ACBrNFe2/ACBrNFeUtil.pas (working copy) @@ -100,6 +100,7 @@ class function GetURLCE(AAmbiente: Integer; ALayOut: TLayOut; AModeloDF: TpcnModeloDF = moNFe; AVersaoDF: TpcnVersaoDF = ve200): WideString; //atualizado 2.0 Homologação e Produção class function GetURLGO(AAmbiente: Integer; ALayOut: TLayOut; AModeloDF: TpcnModeloDF = moNFe; AVersaoDF: TpcnVersaoDF = ve200): WideString; //atualizado 2.0 Homologação e Produção class function GetURLMT(AAmbiente: Integer; ALayOut: TLayOut; AModeloDF: TpcnModeloDF = moNFe; AVersaoDF: TpcnVersaoDF = ve200): WideString; //atualizado 2.0 Homologação e Produção + class function GetURLES(AAmbiente: Integer; ALayOut: TLayOut; AModeloDF: TpcnModeloDF = moNfe; AVersaoDF: TpcnVersaoDF = ve200) : WideString; class function GetURLMS(AAmbiente: Integer; ALayOut: TLayOut; AModeloDF: TpcnModeloDF = moNFe; AVersaoDF: TpcnVersaoDF = ve200): WideString; //atualizado 2.0 Homologação e Produção class function GetURLMG(AAmbiente: Integer; ALayOut: TLayOut; AModeloDF: TpcnModeloDF = moNFe; AVersaoDF: TpcnVersaoDF = ve200): WideString; //atualizado 2.0 Homologação e Produção class function GetURLPR(AAmbiente: Integer; ALayOut: TLayOut; AModeloDF: TpcnModeloDF = moNFe; AVersaoDF: TpcnVersaoDF = ve200): WideString; //atualizado 2.0 Homologação e Produção @@ -928,7 +929,12 @@ 53: Result := NotaUtil.GetURLSVRS(AAmbiente,ALayOut, AModeloDF, AVersaoDF); //DF // 32: Result := NotaUtil.GetURLSVAN(AAmbiente,ALayOut, AModeloDF, AVersaoDF); //ES - 32: Result := NotaUtil.GetURLSVRS(AAmbiente,ALayOut, AModeloDF, AVersaoDF); //ES + 32:begin //ES + if ALayOut = LayNfeCadastro then + Result := NotaUtil.GetURLES(AAmbiente,ALayOut,AModeloDF) + else + Result := NotaUtil.GetURLSVRS(AAmbiente,ALayOut, AModeloDF); + end; 52: Result := NotaUtil.GetURLGO(AAmbiente,ALayOut, AModeloDF, AVersaoDF); //GO // 21: Result := NotaUtil.GetURLSVAN(AAmbiente,ALayOut, AModeloDF, AVersaoDF); //MA @@ -2631,6 +2637,17 @@ end; end; +class function NotaUtil.GetURLES(AAmbiente: Integer; ALayOut: TLayOut; + AModeloDF: TpcnModeloDF; AVersaoDF: TpcnVersaoDF): WideString; +begin + if AModeloDF = moNFe then + begin + case ALayOut of + LayNfeCadastro : Result := DFeUtil.SeSenao(AAmbiente=1, 'https://app.sefaz.es.gov.br/ConsultaCadastroService/CadConsultaCadastro2.asmx,https://app.sefaz.es.gov.br/ConsultaCadastroService/CadConsultaCadastro2.asmx'); + end; + end; +end; + class function NotaUtil.GetURLQRCode(const AUF : Integer; AAmbiente : TpcnTipoAmbiente; AchNFe, AcDest: String; AdhEmi: TDateTime;
  9. Boa Tarde. Já li muitas paginas no forum e estou com duvida em qual função usar para enviar o evento de Manifestação do Destinatario da NFE. Se for possivel alguem me ajudar.
×
×
  • 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.