Ir para conteúdo
  • Cadastre-se

aocampioni

Membros Pro
  • Total de ítens

    216
  • Registro em

  • Última visita

Community Answers

  1. aocampioni's post in Listagem de eventos NFe com seus códigos was marked as the answer   
    Boa tarde estimado,
    Neste link tem um apanhado geral/mapeado de códigos de erro e de não atendimento das solicitações da NFe/NFCe:
    https://www.oobj.com.br/bc/article/erros-e-rejeições-na-emissão-de-nfe-e-nfce-mapeados-no-oobj-dfe-453.html
    No mais, todo resto se encontra em:
    http://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=tW+YMyk/50s=
    Espero que ajude,
    Até mais
  2. aocampioni's post in Digito da Agencia Santander was marked as the answer   
    Pessoal,
    Eu utilizo o Santander com boleto registrado, remessa e retorno e não estou tendo nenhum problema com as configurações atuais.
    Minhas configurações vão o dígito da agência sim. Eu configurei desta maneira:
    ACBrBoleto.ACBrBoletoFC.DirLogo := sPathImagemBol; ACBrBoleto.ACBrBoletoFC.Filtro := fiNenhum; ACBrBoleto.ACBrBoletoFC.LayOut := TACBrBolLayOut( cmbLayoutBoleto1.ItemIndex ); ACBrBoleto.ACBrBoletoFC.MostrarSetup := true; ACBrBoleto.ACBrBoletoFC.SoftwareHouse := variables._DESENVOLVEDOR; ACBrBoleto.Banco.TipoCobranca := cobSantander ; ACBrBoleto.Banco.Numero := 33; ACBrBoleto.Banco.Digito := 7; ACBrBoleto.Banco.Nome := 'Santander'; ACBrBoleto.Banco.TamanhoMaximoNossoNum := 12; if(length(Trim(sOrientacoesBanco)) > 0) then ACBrBoleto.Banco.OrientacoesBanco.Add(sOrientacoesBanco);   // minha agencia 06980 ACBrBoleto.Cedente.Agencia := sAgencia ; // 0698 ACBrBoleto.Cedente.AgenciaDigito := sAgenciaDig ; // 0 ACBrBoleto.Cedente.Bairro := sBairroCedente; case cmbCaractCob.ItemIndex of 00 : ACBrBoleto.Cedente.CaracTitulo := tcSimples; 01 : ACBrBoleto.Cedente.CaracTitulo := tcVinculada; 02 : ACBrBoleto.Cedente.CaracTitulo := tcCaucionada; 03 : ACBrBoleto.Cedente.CaracTitulo := tcDescontada; 04 : ACBrBoleto.Cedente.CaracTitulo := tcVendor; else ACBrBoleto.Cedente.CaracTitulo := tcSimples; end; ACBrBoleto.Cedente.CEP := sCepCedente; ACBrBoleto.Cedente.Cidade := sCidadeCedente; ACBrBoleto.Cedente.CNPJCPF := sCnpjCedente; ACBrBoleto.Cedente.CodigoCedente := sCodCedente; ACBrBoleto.Cedente.CodigoTransmissao:= sCodigoTransmite; ACBrBoleto.Cedente.Complemento := ''; ACBrBoleto.Cedente.Conta := sContaCorrente; ACBrBoleto.Cedente.ContaDigito := sContaCorrenteDig; ACBrBoleto.Cedente.Logradouro := sLogradouroCedente; ACBrBoleto.Cedente.Convenio := sConvenio; ACBrBoleto.Cedente.Modalidade := sModalidade; ACBrBoleto.Cedente.NumeroRes := ''; ACBrBoleto.Cedente.ResponEmissao := Iif(sBancoEmite='S', tbBancoEmite, tbCliEmite); ACBrBoleto.Cedente.Nome := sNomCedente; ACBrBoleto.Cedente.Telefone := sTelefoneCedente; ACBrBoleto.Cedente.UF := sUFCedente; if(length(trim(removecaracteresesp(ACBrBoleto.Cedente.CNPJCPF))) > 11) then ACBrBoleto.Cedente.TipoInscricao := pJuridica else ACBrBoleto.Cedente.TipoInscricao := pFisica; ACBrBoleto.Cedente.TipoCarteira := Iif(Trim(sRegistrar)='SIM', tctRegistrada, tctSimples); ACBrBoleto.DataArquivo := Date; ACBrBoleto.NomeArqRemessa := FormatDateTime('DDMMYYYYHHMMSS',Now)+'.TXT'; ACBrBoleto.DirArqRemessa := sPathRemessa; ACBrBoleto.DirArqRetorno := sPathRetorno; ACBrBoleto.ImprimirMensagemPadrao := False; ACBrBoleto.LayoutRemessa := Iif(Pos(sLayoutArqRem,'400')>0,c400,c240); ACBrBoleto.LeCedenteRetorno := false; end; E está tudo funcionando ok.
    Até mais,
  3. aocampioni's post in Caixa - Tipo De Carteira was marked as the answer   
    Estimado,
     
    Boa noite, donde você faz menção à:
     
        Titulo := ACBrBoleto.CriarTituloNaLista;     with Titulo do     .................    O seu banco de dados deve tá com o conteúdo inválido para a linha:        Carteira          := CDSContasBCARTEIRA.AsString; // Aqui é que vai a informação 'RG' ou 'SR'.   Dá uma verificada aí no que tá indo nesse campo CDSContasBCARTEIRA.AsString.   E veja também a linha:       OcorrenciaOriginal.Tipo := toRemessaBaixar;   Se você está enviando uma remessa pela primeira vez tem que ser:      OcorrenciaOriginal.Tipo := toRemessaRegistrar;    .. também estaria faltando as tags CodigoMora := '1' e TipoDiasProtesto := diCorridos         Até mais,    
  4. aocampioni's post in Ler Arquivo De Retorno was marked as the answer   
    Boa noite,
    Segue:
    // remessa procedure TForm1.Remessa; var nValorMora : Currency; //.. outros begin ACBrBoleto.ListadeBoletos.Clear; TituloACBr := ACBrBoleto.CriarTituloNaLista; TituloACBr.TipoDiasProtesto := diCorridos; TituloACBr.CarteiraEnvio := Iif(Trim(sBancoEmite)='SIM', tceBanco, tceCedente); TituloACBr.SeuNumero := sConrecSeq; TituloACBr.Aceite := atNao; TituloACBr.NumeroDocumento := sNumNotaFiscal; TituloACBr.Sacado.CNPJCPF := sCpfCnpj; if(length(trim(TituloACBr.Sacado.CNPJCPF)) > 11) then TituloACBr.Sacado.Pessoa := pJuridica else TituloACBr.Sacado.Pessoa := pFisica; TituloACBr.Sacado.Logradouro := sEndereco; TituloACBr.Sacado.Numero := ''; TituloACBr.Sacado.Complemento := ''; TituloACBr.Sacado.Bairro := sBairro; TituloACBr.Sacado.Cidade := sCidade; TituloACBr.Sacado.UF := sEstado; TituloACBr.Sacado.CEP := sCep; TituloACBr.Sacado.Email := sEmail; TituloACBr.Sacado.Fone := sTelefone; TituloACBr.Vencimento := StrToDate(FormatDateTime('dd/mm/yyyy', dDataVencto)); TituloACBr.DataDocumento := StrToDate(FormatDateTime('dd/mm/yyyy', dDataDocto)); TituloACBr.DataProcessamento := StrToDate(FormatDateTime('dd/mm/yyyy', Date)); TituloACBr.ValorDocumento := rValorDocto; TituloACBr.CodigoMora := '1'; TituloACBr.ValorMoraJuros := 0; TituloACBr.DataMoraJuros := 0; if njuromensal>0 then TituloACBr.PercentualMulta := njuromensal; if nMoraDiaria>0 then begin nValorMora:=(TituloACBr.ValorDocumento*(nMoraDiaria/30))/100; if(nValorMora >= 0.01) then begin TituloACBr.ValorMoraJuros := nValorMora; TituloACBr.DataMoraJuros := TituloACBr.Vencimento+1; end; end; if(iDiasProtesto = 0) then TituloACBr.DataProtesto := 0 else TituloACBr.DataProtesto := StrToDate(FormatDateTime('dd/mm/yyyy', TituloACBr.Vencimento+iDiasProtesto) ); TituloACBr.EspecieDoc := 'DM'; TituloACBr.OcorrenciaOriginal.Tipo := toRemessaRegistrar; TituloACBr.Carteira := sCarteira; TituloACBr.LocalPagamento := sLocalPagto; // nosso numero TituloACBr.NossoNumero := sNossoNum; TituloACBr.Instrucao1 := ''; TituloACBr.Instrucao2 := ''; TituloACBr.Parcela := iParc; end; // ler retorno procedure TForm1.Retorno; var i : Integer; begin if OpenDialog1.Execute then begin //Configurar ConfiguracoesACBr; // ACBrBoleto.NomeArqRetorno := OpenDialog1.FileName; ACBrBoleto.LerRetorno; for i := 0 to ACBrBoleto.ListadeBoletos.Count-1 do begin if ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido > 0 then begin SQLAux.Close; SQLAux.SQL.Clear; SQLAux.SQL.Add('update conrec set'); SQLAux.SQL.Add('data_baixa = :pData,'); SQLAux.SQL.Add('valor_pago = :pValor,'); SQLAux.SQL.Add('taxa_cobranca = :pTaxa'); SQLAux.SQL.Add('where nosso_numero = :pNossoNum'); SQLAux.Params.ParamByName('pData').AsDate := ACBrBoleto.ListadeBoletos.Objects[i].DataCredito; SQLAux.Params.ParamByName('pValor').AsFloat := ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido; SQLAux.Params.ParamByName('pNossoNum').AsString:= Copy(ACBrBoleto.ListadeBoletos.Objects[i].NossoNumero,1,ACBrBoleto.Banco.TamanhoMaximoNossoNum); // vir sem o dígito, se quiser SQLAux.Params.ParamByName('pTaxa').AsFloat := ACBrBoleto.ListadeBoletos.Objects[i].ValorDespesaCobranca; SQLAux.ExecSQL(False); end; end; SQLAux.Close; end; end; procedure TForm1.ConfiguracoesACBr; begin ACBrBoleto.ACBrBoletoFC.DirLogo := sPathLogo; ACBrBoleto.ACBrBoletoFC.Filtro := fiNenhum; ACBrBoleto.ACBrBoletoFC.LayOut := lPadrao; ACBrBoleto.ACBrBoletoFC.MostrarSetup:= true; ACBrBoleto.ACBrBoletoFC.SoftwareHouse:= 'SUA EMPRESA'; ACBrBoleto.Banco.TipoCobranca := cobSantander; // escolha o seu tipo de cobrança ACBrBoleto.Banco.Digito := iDigBanco; // 33 ACBrBoleto.Banco.Numero := iBanco; // 7 ACBrBoleto.Banco.Nome := sBanco; // 'Santander'; ACBrBoleto.Banco.TamanhoMaximoNossoNum := iTamNossoNum; // 12 ACBrBoleto.Cedente.CaracTitulo := tcSimples; // simples com registro ACBrBoleto.Cedente.Nome := sNomCedente; ACBrBoleto.Cedente.Telefone := sTelefoneCedente; ACBrBoleto.Cedente.UF := sUFCedente; ACBrBoleto.Cedente.Bairro := sBairroCedente; ACBrBoleto.Cedente.CEP := sCepCedente; ACBrBoleto.Cedente.Cidade := sCidadeCedente; ACBrBoleto.Cedente.CNPJCPF := sCnpjCedente; ACBrBoleto.Cedente.Complemento := ''; ACBrBoleto.Cedente.Conta := sContaCorrente; ACBrBoleto.Cedente.ContaDigito := sContaCorrenteDig; ACBrBoleto.Cedente.Logradouro := sLogradouroCedente; ACBrBoleto.Cedente.NumeroRes := ''; ACBrBoleto.Cedente.Convenio := sConvenio; // ACBrBoleto.Cedente.Modalidade := sModalidade; // ACBrBoleto.Cedente.CodigoCedente := sCodCedente; ACBrBoleto.Cedente.CodigoTransmissao:= sCodigoTransmissao; // no santander tem ACBrBoleto.Cedente.ResponEmissao := Iif(Trim(sBancoEmite)='SIM', tbBancoEmite, tbCliEmite); ACBrBoleto.Cedente.TipoInscricao := pJuridica; ACBrBoleto.Cedente.TipoCarteira := Iif(Trim(sRegistrar)='SIM', tctRegistrada, tctSimples); ACBrBoleto.DataArquivo := Date; ACBrBoleto.NomeArqRemessa := FormatDateTime('DDMMYYYYHHMMSS',Now)+'.TXT'; ACBrBoleto.DirArqRemessa := sPathRemessa; ACBrBoleto.DirArqRetorno := sPathRetorno; ACBrBoleto.ImprimirMensagemPadrao := False; ACBrBoleto.LayoutRemessa := Iif(Pos(sLayoutArqRet,'400')>0,c400,c240); ACBrBoleto.LeCedenteRetorno := true; end; Veja se te ajuda.
     
    Até mais,
     
  5. aocampioni's post in Ajuda Com Santander was marked as the answer   
    Estimado,
     
    Boa tarde. Minhas propriedades estão assim:
     
                TituloACBr.CodigoMora            := '1';             TituloACBr.ValorMoraJuros        := 0;             TituloACBr.DataMoraJuros         := 0;               if njuromensal>0 then // multa por atraso                 TituloACBr.PercentualMulta   := njuromensal; (ex:2%)               if nMoraDiaria>0 then   //(ex:5%)             begin                nValorMora:=(TituloACBr.ValorDocumento*(nMoraDiaria/30))/100;                if(nValorMora >= 0.01) then                begin                    TituloACBr.ValorMoraJuros := nValorMora;                    TituloACBr.DataMoraJuros  := TituloACBr.Vencimento+1;                end;             end;   E é isso. Verifique aí as informações pois aqui está tudo normal. Não visualizei DATAMORAJUROS no seu exemplo e nem o código da mora.    Até mais,
  6. aocampioni's post in Remessa Santander - Complemento Transmissão was marked as the answer   
    Olá,
     
    Boa noite. Não há informação/propriedade para este complemento. Nos meus fontes eu implementei (nota 2 do manual cobrança santander) pois tem clientes muito antigos do Santander/Banespa que já enviavam cobrança via outro sistema e ao começar a enviar pelo nosso começo a gerar rejeição, pois a informação era fixa.
     
    Mas não se preocupe, o seu cliente já deve estar com conta de cobrança nova (com 10 posições), portanto essa informação, que é o último dígito da conta mais o DV o ACBr gera automático pra você dentro do arquivo.
     
    Até mais,
  7. aocampioni's post in Retorno Caixa Econômica Federal, Campo Nosso Número was marked as the answer   
    Pessoal,
     
    Bom dia! Resolvido aqui tá ok, quando a cobrança for cobCaixaSicob e a carteira for simples ou rápida e cadastrado sem registro eu pego o campo NUMERODOCUMENTO senão pego o NOSSONUMERO.
     
    Valeu e até mais,
  8. aocampioni's post in Despesa Com Boleto was marked as the answer   
    Leotelles,
     
    Bom dia! Essa prática já foi proibida pelo Banco Central, segundo a Carta Circular 3.349, que proíbe o repasse da cobrança da tarifa bancária ao pagador (sacado). No arquivo de retorno existe a propriedade ValorDespesaCobranca que revela a você o valor cobrado pela compensação daquele título.
     
    Até mais,
  9. aocampioni's post in Dúvida Cobrança 101 Santander Cnab 240 was marked as the answer   
    Boa noite GAC,
     
    Eu faço dessa maneira:
    // na hora de configurar ACBrBoleto.Banco.TipoCobranca := cobSantander ; ACBrBoleto.Banco.Numero := 33; ACBrBoleto.Banco.Digito := 7; ACBrBoleto.Banco.Nome := 'Santander'; ACBrBoleto.Banco.TamanhoMaximoNossoNum := 12; ACBrBoleto.Cedente.Agencia := '0000'; ACBrBoleto.Cedente.AgenciaDigito := '0'; ACBrBoleto.Cedente.CaracTitulo := tcSimples; ACBrBoleto.Cedente.CNPJCPF := '00000000000000'; ACBrBoleto.Cedente.CodigoCedente := '0000000'; ACBrBoleto.Cedente.CodigoTransmissao:= agencia+digito+000+codcedente; ACBrBoleto.Cedente.Conta := '000000000'; ACBrBoleto.Cedente.ContaDigito := '0'; ACBrBoleto.Cedente.Convenio := ''; ACBrBoleto.Cedente.Modalidade := '101'; ACBrBoleto.Cedente.Nome := 'NOME'; ACBrBoleto.Cedente.Logradouro := 'ENDERECO'; ACBrBoleto.Cedente.Complemento := ''; ACBrBoleto.Cedente.Bairro := 'BAIRRO'; ACBrBoleto.Cedente.CEP := 'CEP'; ACBrBoleto.Cedente.Cidade := 'CIDADE'; ACBrBoleto.Cedente.NumeroRes := ''; ACBrBoleto.Cedente.Telefone := 'FONE'; ACBrBoleto.Cedente.UF := 'UF'; ACBrBoleto.Cedente.ResponEmissao := tbBancoEmite; ACBrBoleto.Cedente.TipoInscricao := pJuridica; ACBrBoleto.Cedente.TipoCarteira := tctRegistrada; ACBrBoleto.DataArquivo := Date; ACBrBoleto.NomeArqRemessa := FormatDateTime('DDMMYYYYHHMMSS',Now)+'.TXT'; ACBrBoleto.DirArqRemessa := 'x:\'; ACBrBoleto.DirArqRetorno := 'x:\'; ACBrBoleto.ImprimirMensagemPadrao := False; ACBrBoleto.LayoutRemessa := c240; ACBrBoleto.LeCedenteRetorno := false; // na hora de gerar var TituloACBr : TACBrTitulo; AStringList: TStrings; ContadorRemessa : Integer; ..... ACBrBoleto.ListadeBoletos.Clear; AStringList := TStringList.Create; TituloACBr := ACBrBoleto.CriarTituloNaLista; AStringList.Clear; // dias de protestos e carteira de envio TituloACBr.TipoDiasProtesto := diCorridos; TituloACBr.CarteiraEnvio := tceBanco; with TituloACBr do begin Sacado.Avalista := ''; Sacado.NomeSacado := 'Fulano de Tal '; Sacado.CNPJCPF := '111.111.111-1'; Sacado.Pessoa := pJuridica; Sacado.Logradouro := 'Rua do Sacado '; Sacado.Numero := ' 123'; Sacado.Complemento := ''; Sacado.Bairro := 'Bairro do Sacado '; Sacado.Cidade := 'Cidade do Sacado'; Sacado.UF := 'SP'; Sacado.CEP := '01001-001'; Sacado.Email := '[email protected]'; Sacado.Fone := '11 1111 1111'; Vencimento := StrToDate('13/04/2015'); DataDocumento := StrToDate('13/04/2015'); DataProcessamento := StrToDate('13/04/2015'); NumeroDocumento := 1; SeuNumero := 1; EspecieDoc := 'DM'; NossoNumero := FormatFloat('000000000000',1); Carteira := '101'; LocalPagamento := 'NA REDE BANCARIA'; Aceite := atNao; ValorDocumento := 1.90; ValorDesconto := 0; DataDesconto := 0; ValorAbatimento := 0; DataAbatimento := 0; ValorDescontoAntDia := 0; if txtJuroMensal.Value>0 then PercentualMulta := txtJuroMensal.Value; CodigoMora := '1'; ValorMoraJuros := 0; DataMoraJuros := 0; if txtMoraDiaria.Value>0 then begin nValorMora:=(ValorDocumento*(txtMoraDiaria.Value/30))/100; if(nValorMora >= 0.01) then begin ValorMoraJuros := nValorMora; DataMoraJuros := Vencimento+1; end; end; if(txtDiasProtesto.AsInteger = 0) then DataProtesto := 0 else DataProtesto := StrToDate(FormatDateTime('dd/mm/yyyy', Vencimento+txtDiasProtesto.AsInteger) ); // mensagens padrão, se for o banco a emitir if(TituloACBr.CarteiraEnvio = tceBanco) then begin if DataProtesto <> 0 then begin if TipoDiasProtesto = diCorridos then AStringList.Add(ACBrStr('Protestar em ' + IntToStr(DaysBetween(Vencimento, DataProtesto))+ ' dias corridos após o vencimento')) else AStringList.Add(ACBrStr('Protestar no ' + IntToStr(DaysBetween(Vencimento, DataProtesto))+ ' dia útil após o vencimento')); end; if ValorMoraJuros <> 0 then begin if DataMoraJuros <> 0 then AStringList.Add(ACBrStr('Cobrar Juros de ' + ifthen(CodigoMora = '2', FloatToStr(ValorMoraJuros) + '%', FormatCurr('R$ #,##0.00',ValorMoraJuros)) + ' por dia de atraso para pagamento a partir de ' + FormatDateTime('dd/mm/yyyy',ifthen(Vencimento = DataMoraJuros, IncDay(DataMoraJuros,1),DataMoraJuros)))) else AStringList.Add(ACBrStr('Cobrar Juros de ' + ifthen(CodigoMora = '2', FloatToStr(ValorMoraJuros) + '%', FormatCurr('R$ #,##0.00',ValorMoraJuros)) + ' por dia de atraso')); end; if PercentualMulta <> 0 then AStringList.Add(ACBrStr('Cobrar Multa de ' + FormatCurr('R$ #,##0.00',ValorDocumento*( 1+ PercentualMulta/100)-ValorDocumento) + ' após o vencimento.')); Mensagem.Text := AStringList.Text + txtInstrucaoCob1.Text + #13+#10 + txtInstrucaoCob2.Text; end else Mensagem.Text := ''; OcorrenciaOriginal.Tipo:= toRemessaRegistrar; Instrucao1 := '00'; Instrucao2 := '00'; Parcela := 1; end; ContadorRemessa := 1; ACBrBoleto.GerarRemessa(ContadorRemessa); Tem alguns edit's no meio mas deve servir pra você adaptar aí. 
     
    Até mais,
  10. aocampioni's post in Como Alimentar Essas Posições Do Arquivo De Remessa Bradesco was marked as the answer   
    Olá,
     
    Não trabalho com Bradesco, mas analisando o fonte aqui é assim:
     
    1) Controle do Participante: campo SEUNUMERO do título 
    2) Condição para emissão : campo ResponEmissao da coleção CEDENTE, se é o cliente emite a propriedade será tbCliEmite, caso seja o banco que emita e processe o registro é tbBancoEmite. Lembrando que se precisar reenviar alguma remessa com este título de novo você deve informar se o banco reemite ou não reemite.
    3) Identificação do tipo de inscrição do pagador: campo Pessoa (pFisica, pJuridica) da coleção SACADO (lembrando que só há 01-CPF, 02-CNPJ e 99-OUTROS, não tem 03 e nem 98.)
     
    Até mais,
×
×
  • 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.