Ir para conteúdo
  • Cadastre-se

Antonio Gomes

Membros
  • Total de ítens

    898
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Antonio Gomes postou

  1. MG: Produção: Até dia 21/09, a url de consulta estava URL-ConsultaNFCe_2.00=http://nfce.fazenda.mg.gov.br/portalnfce A partir desse dia, está gerando a rejeição, a url foi alterada para <urlChave>https://portalsped.fazenda.mg.gov.br/portalnfce</urlChave> Isso vai ser mudado mesmo ou trocaram por engano, a do QR code está correta. Até dia 21/09 <infNFeSupl> <qrCode>https://portalsped.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml?p=</qrCode> <urlChave>http://nfce.fazenda.mg.gov.br/portalnfce</urlChave> </infNFeSupl> Apos 21/09 <infNFeSupl> <qrCode>https://portalsped.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml?p=</qrCode> <urlChave>https://portalsped.fazenda.mg.gov.br/portalnfce</urlChave> </infNFeSupl>
  2. ACbr não, mas não é dificil fazer.
  3. Dica: Vai pela API, é muito prático, o boleto sai na hora.
  4. IfThen(MultaValorFixo,'1','2') + // Cocidgo da Multa 1- Cobrar Multa Valor Fixo / 2- Percentual / 0-Não cobrar multa Juros, vc escolhe, entre ser percentual ou valor, voce colocou os 2 ali... olha como eu faço.; Titulo := FuncBoleto.ACBrBoleto.CriarTituloNaLista; TFuncBoleto.AtribuirDadosAoTitulo(Titulo, IBQryServBanc, IBDSPai.FieldByName('DATA_BOR').AsDateTime, IBDSPai.FieldByName('REM_OCORRENCIA_BOR').AsInteger, IBDSReceber.FieldByName('DOCUMENTO_REC').AsString, IBDSReceber.FieldByName('BOLETO_REC').AsString, // IBDSReceber.FieldByName('DV_BOLETO_REC').AsString, IBDSReceber.FieldByName('VENCIMENTO_REC').AsDateTime, 1, 1, IBDSReceber.FieldByName('EMPRESA_REC').AsInteger, IBDSReceber.FieldByName('TIPO').AsString, IBDSReceber.FieldByName('CODIGO_REC').AsLargeInt, IBDSReceber.FieldByName('AI_AGRUP_BOLETO_REC').AsLargeInt, (IBDSReceber.FieldByName('VALOR_REC').AsCurrency + IBDSReceber.FieldByName('BOLETO_VLR_COBRADO_REC').AsCurrency), IBDSReceber.FieldByName('FISJUR_CLI').AsString, CnpjCpf, TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('NOME_CLI').AsString), TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('ENDERECO_CLI').AsString), IBDSReceber.FieldByName('NUM_ENDERECO_CLI').AsString, TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('COMPL_END_CLI').AsString), TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('BAIRRO_CLI').AsString), TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('NOMCID').AsString), IBDSReceber.FieldByName('ESTCID').AsString, TFuncoesString.SoNumero(IBDSReceber.FieldByName('CEP_CLI').AsString), IBDSReceber.FieldByName('EMAIL_COBRANCA_CLI').AsString, IBDSReceber.FieldByName('TELEFONE_CLI').AsString, TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('NOME_AVALISTA').AsString), CnpjCpfAvalista, TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('ENDERECO_AVALISTA').AsString), IBDSReceber.FieldByName('NUM_END_AVALISTA').AsString, TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('COMPL_END_AVALISTA').AsString), TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('BAIRRO_AVALISTA').AsString), TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('NOME_CID_AVALISTA').AsString), IBDSReceber.FieldByName('UF_CID_AVALISTA').AsString, TFuncoesString.SoNumero(IBDSReceber.FieldByName('CEP_AVALISTA').AsString), IBDSReceber.FieldByName('EMAIL_AVALISTA').AsString, IBDSReceber.FieldByName('TELEFONE_AVALISTA').AsString, IBDSReceber.FieldByName('IE_AVALISTA').AsString, TFuncoesString.AnsiParaAscii(IBDSReceber.FieldByName('TEXTO_LIVRE_BOLETO_REC').AsString)); { inicio tratamento de juros/multa/desconto } Titulo.ValorDesconto := 0; Titulo.CodigoDesconto := cdSemDesconto; // , cdValorFixo Titulo.TipoDesconto := tdNaoConcederDesconto; if (IBDSReceber.FieldByName('CONCEDER_DESCONTO_ATE_REC').AsString = 'S') and ((IBDSReceber.FieldByName('VLR_DESCONTO_ATE_REC').AsCurrency > 0) or (IBDSReceber.FieldByName('PERC_DESCONTO_BOLETO_REC').AsCurrency > 0)) then begin { tdNaoConcederDesconto, tdValorFixoAteDataInformada, tdPercentualAteDataInformada, tdValorAntecipacaoDiaCorrido, tdValorAntecipacaoDiaUtil, tdPercentualSobreValorNominalDiaCorrido, tdPercentualSobreValorNominalDiaUtil, tdCancelamentoDesconto); } if IBQryServBanc.FieldByName('REM_DESCONTO_VP_SER').AsString = 'P' then begin Titulo.ValorDesconto := IBDSReceber.FieldByName('PERC_DESCONTO_BOLETO_REC').AsCurrency; Titulo.TipoDesconto := tdPercentualAteDataInformada; end else if IBQryServBanc.FieldByName('REM_DESCONTO_VP_SER').AsString = 'V' then begin Titulo.ValorDesconto := IBDSReceber.FieldByName('VLR_DESCONTO_ATE_REC').AsCurrency; Titulo.TipoDesconto := tdValorFixoAteDataInformada; end; if Titulo.ValorDesconto > 0 then begin Titulo.CodigoDesconto := cdValorFixo; Titulo.DataDesconto := IBDSReceber.FieldByName('CONSIDERAR_DESC_ATE_REC').AsDateTime; end; end; Titulo.DataMoraJuros := Titulo.Vencimento + 1; Titulo.DataMulta := Titulo.Vencimento + 1; Titulo.CodigoMoraJuros := cjIsento; // cjValorDia, cjTaxaMensal, // indicação de multa, valor fixo só se for por valor Titulo.MultaValorFixo := (IBQryServBanc.FieldByName('REM_MULTA_VP_SER').AsString = 'F'); if IBQryServBanc.FieldByName('REM_MULTA_VP_SER').AsString = 'P' then begin Titulo.PercentualMulta := IBDSReceber.FieldByName('PERC_MULTA_BOLETO_REC').AsCurrency; Titulo.CodigoMulta := cmPercentual; end else if IBQryServBanc.FieldByName('REM_MULTA_VP_SER').AsString = 'F' then begin if IBDSReceber.FieldByName('MULTA_VALORFIXO_REC').AsCurrency > 0 then Titulo.PercentualMulta := IBDSReceber.FieldByName('MULTA_VALORFIXO_REC').AsCurrency else Titulo.PercentualMulta := IBDSReceber.FieldByName('MULTA_CALC_REC').AsCurrency; Titulo.CodigoMulta := cmValorFixo; end; { Santander 1 = Valor por dia - Informar no campo o valor/dia a mora a ser cobrada. 2 = Taxa Mensal - Informar no campo taxa mensal o percentual a ser aplicado sobre valor do titulo que será calculado por dia de atraso. 3 = Isento 4 = Utilizar comissão permanência do Banco por dia de atraso 5 = Tolerância valor por dia (cobrar juros a partir de) 6 = Tolerância taxa mensal (cobrar juros a partir de) * Para o código igual 4, o campo “taxa mensal” não deverá conter informação. } { Juro: 0-Isento (Usado p/Banco) 1-Valor por Dia (Usado p/Banco) 2-Taxa Mensal (Usado p/Banco) 3-Valor Mensal (Usado p/Banco) 4-Taxa Diaria V-Valor (Usado p/Pag Fácil) P-Percentual (Usado p/Pag Fácil) } if IBQryServBanc.FieldByName('COD_MORAJUROS_REMESSA_SER').AsString <> '' then Titulo.CodigoMora := IBQryServBanc.FieldByName('COD_MORAJUROS_REMESSA_SER').AsString; // Indicacao de mora de juros cjValorDia, cjTaxaMensal, cjIsento, cjValorMensal, cjTaxaDiaria if IBQryServBanc.FieldByName('REM_JURO_VP_SER').AsString = '1' then begin Titulo.ValorMoraJuros := IBDSReceber.FieldByName('JURO_CALC_REC').AsCurrency; Titulo.CodigoMoraJuros := cjValorDia; end else if IBQryServBanc.FieldByName('REM_JURO_VP_SER').AsString = '2' then // taxa mensal begin // 'JURO_CALC_MES_FIN' > valor por mes // santander 33 Titulo.ValorMoraJuros := IBDSReceber.FieldByName('PERC_JURO_BOLETO_REC').AsCurrency; Titulo.CodigoMoraJuros := cjTaxaMensal; CorrigirTaxaMensalBanco33 := true; PercentualJurosUsado := IBDSReceber.FieldByName('PERC_JURO_BOLETO_REC').AsCurrency; end else if IBQryServBanc.FieldByName('REM_JURO_VP_SER').AsString = '3' then // Valor Mensal begin Titulo.ValorMoraJuros := IBDSReceber.FieldByName('JURO_CALC_REC').AsCurrency; Titulo.CodigoMoraJuros := cjValorMensal; end else if IBQryServBanc.FieldByName('REM_JURO_VP_SER').AsString = '4' then // taxa diaria begin Titulo.ValorMoraJuros := IBDSReceber.FieldByName('PERC_JURO_BOLETO_REC').AsCurrency / 30; Titulo.ValorMoraJuros := TFuncoesNumero.RoundDCurrency(Titulo.ValorMoraJuros, 2); Titulo.CodigoMoraJuros := cjTaxaDiaria; end; ----------------------------- class procedure TFuncBoleto.AtribuirDadosAoTitulo( var ATituloNaLista : TACBrTitulo; AQryServico : TDataSet; ADataEmissaoTituloDataDocumento: TDate; Rem_Ocorrencia_Remban: Integer; ADocumentoRec : string; ANumeroSlip, ADVSlip : string; AVencimento: TDate; ATotalParcelas, AParcela: Integer; AEmpresaRec : Integer; ATipoAgrupamento : string; AAutoIncRec : Int64; AAutoIncAgrupamento : Int64; AValor : Currency; AFisicaJuridica, ACnpjCpf, ANome, AEndereco, ANumeroEndereco, AComplementoEndereco, ABairro, ACidade, AUF, ACEP, AEmail, ATelefone, AAvalista, ACnpjCpfAvalista, ALogradouroAvalista, ANumeroEnderecoAvalista, AComplementoAvalista, ABairroAvalista, ACidadeAvalista, AUFAvalista, ACepAvalista, AEmailAvalista, ATelefoneAvalista, AInscricaoNrAvalista, AObsTextoCedente: string ); var L: Integer; begin ATituloNaLista.EspecieDoc := AQryServico.FieldByName('ESPECIE_DOCUMENTO_SER').AsString; // banco inter 77 ATituloNaLista.UsoBanco := AQryServico.FieldByName('USO_BANCO_SER').AsString; if AQryServico.FieldByName('ACEITE_SER').AsString = 'S' then ATituloNaLista.Aceite := atSim else ATituloNaLista.Aceite := atNao; ATituloNaLista.LocalPagamento := AQryServico.FieldByName('LOCAL_PAGAMENTO_SER').AsString; if AQryServico.FieldByName('TIPODOCUMENTO_SER').AsInteger = 2 then ATituloNaLista.TipoImpressao := tipCarne else ATituloNaLista.TipoImpressao := tipNormal; // ATituloNaLista.Moeda := QryServico.FieldByName('MOEDA_SER').AsString; ATituloNaLista.Carteira := AQryServico.FieldByName('CARTEIRA_SER').AsString; if AQryServico.FieldByName('RESPONSABILIDADE_ENVIO_SER').AsInteger = 1 then ATituloNaLista.CarteiraEnvio := tceBanco else // 0 zero ATituloNaLista.CarteiraEnvio := tceCedente; // read fCarteiraEnvio write fCarteiraEnvio default tceCedente; ATituloNaLista.TotalParcelas := ATotalParcelas; ATituloNaLista.Parcela := AParcela; ATituloNaLista.DataAbatimento := 0; ATituloNaLista.DataBaixa := 0; ATituloNaLista.DataCredito := 0; ATituloNaLista.DataDesconto := 0; ATituloNaLista.DataMoraJuros := 0; ATituloNaLista.DataOcorrencia := 0; ATituloNaLista.DataProtesto := 0; ATituloNaLista.PercentualMulta := 0; ATituloNaLista.ValorAbatimento := 0; ATituloNaLista.ValorDesconto := 0; ATituloNaLista.ValorDespesaCobranca := 0; ATituloNaLista.ValorIOF := 0; ATituloNaLista.ValorMoraJuros := 0; ATituloNaLista.ValorOutrasDespesas := 0; ATituloNaLista.ValorOutrosCreditos := 0; ATituloNaLista.MultaValorFixo := (AQryServico.FieldByName('REM_MULTA_VP_SER').AsString = 'F'); ATituloNaLista.DataDocumento := ADataEmissaoTituloDataDocumento; ATituloNaLista.DataProcessamento := Now; ATituloNaLista.NossoNumero := ANumeroSlip; // Não pode somar o DV aqui ATituloNaLista.Vencimento := AVencimento; ATituloNaLista.NumeroDocumento := ADocumentoRec; ATituloNaLista.DescricaoMotivoRejeicaoComando.Clear; ATituloNaLista.MotivoRejeicaoComando.Clear; if (ATituloNaLista.ACBrBoleto.Banco.Numero = 104) and (ATituloNaLista.ACBrBoleto.LayoutRemessa = c240) then // caixa - nojento - 19 ATituloNaLista.NumeroDocumento := ATituloNaLista.ACBrBoleto.Banco.MontarCampoNossoNumero(ATituloNaLista); if AQryServico.FieldByName('REM_PROTESTAR_SER').AsInteger = 1 then begin ATituloNaLista.DataProtesto := AVencimento + AQryServico.FieldByName('REM_PROTESTAR_APOS_XDIAS_SER').AsInteger; ATituloNaLista.TipoDiasProtesto := diCorridos; // , diUteis end else begin ATituloNaLista.DataProtesto := 0; ATituloNaLista.TipoDiasProtesto := diUteis; end; // baixar if AQryServico.FieldByName('REM_BAIXAR_DEVOLVER_SER').AsInteger = 1 then begin ATituloNaLista.DataBaixa := AVencimento + AQryServico.FieldByName('REM_DIAS_BAIXAR_SER').AsInteger; ATituloNaLista.DataLimitePagto := AVencimento + AQryServico.FieldByName('REM_DIAS_BAIXAR_SER').AsInteger; end else begin ATituloNaLista.DataBaixa := 0; end; ATituloNaLista.SeuNumero := TFuncBoleto.GerarSeuNumeroAML( (AQryServico.FieldByName('BOLETO_ELETRONICO_SER').AsString = 'S'), AEmpresaRec, AAutoIncRec, AAutoIncAgrupamento); (* 0=Registrar remessa {Gerar primeira remessa} 1=Baixar {Pedido de Baixa} 2=Conceder Abatimento {Concessão de Abatimento} 3=Cancelar Abatimento {Cancelamento de Abatimento concedido} 4=Alterar Vencimento {Alteração de vencimento} 5=Alterar Numero Controle {Alteração de seu número} 6=Protestar {Pedido de protesto} 7=Cancelar Instrucao Protesto Baixa {Sustar protesto e baixar} 8=Cancelar Instrucao Protesto {Sustar protesto e manter na carteira} 9=Outras Ocorrencias {Alteração de Outros Dados} *) case Rem_Ocorrencia_Remban of 0: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaRegistrar; 1: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaBaixar; 2: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaConcederAbatimento; 3: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaCancelarAbatimento; 4: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaAlterarVencimento; 5: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaAlterarNumeroControle; 6: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaProtestar; 7: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaCancelarInstrucaoProtestoBaixa; 8: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaCancelarInstrucaoProtesto; 9: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaOutrasAlteracoes; else Raise Exception.Create('Código de ocorrência: ' + Rem_Ocorrencia_Remban.ToString + ' inválida.'); end; ATituloNaLista.ValorDocumento := AValor; if AFisicaJuridica = 'J' then ATituloNaLista.Sacado.Pessoa := pJuridica else if AFisicaJuridica = 'F' then ATituloNaLista.Sacado.Pessoa := pFisica else ATituloNaLista.Sacado.Pessoa := pOutras; ATituloNaLista.Sacado.CNPJCPF := ACnpjCpf; ATituloNaLista.Sacado.NomeSacado := ANome; ATituloNaLista.Sacado.Logradouro := AEndereco; ATituloNaLista.Sacado.Complemento := AComplementoEndereco; ATituloNaLista.Sacado.Numero := ANumeroEndereco; ATituloNaLista.Sacado.Bairro := ABairro; ATituloNaLista.Sacado.CEP := ACEP; ATituloNaLista.Sacado.Cidade := ACidade; ATituloNaLista.Sacado.UF := AUF; ATituloNaLista.Sacado.Email := AEmail; ATituloNaLista.Sacado.Fone := ATelefone; // Avalista L := Length(TFuncoesString.SoNumero(ACnpjCpfAvalista)); if (L > 0) and (L <= 11) then ATituloNaLista.Sacado.SacadoAvalista.Pessoa := pFisica else if L > 11 then ATituloNaLista.Sacado.SacadoAvalista.Pessoa := pJuridica else ATituloNaLista.Sacado.SacadoAvalista.Pessoa := pNenhum; // santanter, deu erro ATituloNaLista.Sacado.Avalista := AAvalista; ATituloNaLista.Sacado.SacadoAvalista.CNPJCPF := ACnpjCpfAvalista; ATituloNaLista.Sacado.SacadoAvalista.NomeAvalista := AAvalista; ATituloNaLista.Sacado.SacadoAvalista.Logradouro := ALogradouroAvalista; ATituloNaLista.Sacado.SacadoAvalista.Numero := ANumeroEnderecoAvalista; ATituloNaLista.Sacado.SacadoAvalista.Complemento := AComplementoAvalista; ATituloNaLista.Sacado.SacadoAvalista.Bairro := ABairroAvalista; ATituloNaLista.Sacado.SacadoAvalista.Cidade := ACidadeAvalista; ATituloNaLista.Sacado.SacadoAvalista.UF := AUFAvalista; ATituloNaLista.Sacado.SacadoAvalista.CEP := ACepAvalista; ATituloNaLista.Sacado.SacadoAvalista.Email := AEmailAvalista; ATituloNaLista.Sacado.SacadoAvalista.Fone := ATelefoneAvalista; ATituloNaLista.Sacado.SacadoAvalista.InscricaoNr := AInscricaoNrAvalista; ATituloNaLista.Mensagem.Text := AObsTextoCedente; ATituloNaLista.Informativo.Text := ''; // Não pode passar, senao vai como valor para remessa, posicao 157 a 158 no cnab400 sicoob ATituloNaLista.Instrucao1 := ''; ATituloNaLista.Instrucao2 := ''; ATituloNaLista.Instrucao3 := ''; end; Sugestão, olhar na pasta do componente, particularidades, nem tudo que se vê, pode usar para o banco em questão. \ACBr2wc\Fontes\ACBrBoleto\Particularidades.pdf
  5. quando gera a segunda linha, indica que voce informa multa e juros em percentual. Atente para esse bloco no fonte do acbr //Registro Complemento Detalhe - Multa if PercentualMulta > 0 then begin inc( iSequencia ); wLinhaMulta:= '2' + // Tipo de registro - 2 OPCIONAL – COMPLEMENTO DETALHE - MULTA IfThen(MultaValorFixo,'1','2') + // Cocidgo da Multa 1- Cobrar Multa Valor Fixo / 2- Percentual / 0-Não cobrar multa ifThen((DataMulta > 0), FormatDateTime('ddmmyyyy', DataMulta), Poem_Zeros('',8)) + // Data da Multa 9(008) IntToStrZero( round(PercentualMulta * 100 ), 13) + // Valor/Percentual 9(013) space(371) + // Complemento IntToStrZero(iSequencia , 6); // Sequencial aRemessa.Add(UpperCase(wLinhaMulta)); end;
  6. Isso aqui não está errado? ACBrBoleto1.Cedente.Agencia := agenciaDigito[0]; << somente uma posição ? if (Length(agenciaDigito)>1) then ACBrBoleto1.Cedente.AgenciaDigito := agenciaDigito[1]; << ?? contaDigito:=Split(QCobreBemXCONTA_CORRENTE_COBREBEMX.Value, '-'); ACBrBoleto1.Cedente.Conta := contaDigito[0]; << ?? if (Length(contaDigito)>1) then ACBrBoleto1.Cedente.ContaDigito := contaDigito[1]; ou isso é vetor assim: agenciadigito[1..2] of string ?
  7. entao, as vezes, mudou algo no manual, que precisa ser tratado de acordo com a versão. Tipo, um campo que antes nao era usado, agora é, o manual, com essa versao sua, e o anterior, nao tem nada diferente ?
  8. o que foi mudado? posta o manual...
  9. Por hora, perdi um tempo olhando o modelo que tem no pacote, o WideBarRatio está incorreto nos modelos que voce falou, por isso não lê, a barra fina não saiu fina, mas bem larga, assemelhando com o modelo barcode 3 de 9. O leitor não entende ele mesmo. Faça o teste com esses arquivos que alterei por favor. BoletoFR.fr3 BoletoPIX.fr3 BoletoPrestacaoServicos.fr3 BoletoUniprime.fr3 Boleto.fr3 BoletoCarne.fr3 BoletoFatura.fr3
  10. Não sei se ajuda, mas depende bem da impressora, jato é dor de cabeça, laser ja fica melhor. Mas, na impressão, como não uso esse modelo do pacote acbr, mas chamo no ato da boleta, a minha propria solução, atente para olhar, se o código de barras seu, está com os seguintes parametros: TFrxBarcodeView: Heigth: 1,34 ou maior TestLine = False CalcCheckSum = False Bartype = bcCode_2_5_interleaved WideBarRatio = 3 Zoom = 0,96 a 1,2 (maximo, senao fica largo demais)
  11. Acbr ate onde sei, so BB. dá uma olhada, acho que está sendo criado pelo raniery https://github.com/valterpatrick/TRscPix/blob/main/Source/Classes/uRscPix.PSP.pas Pergunta: Você quer fazer o boleto hibrido?
  12. Dica: Registra o numero do bordero de saida, e não permita enviar novamente, se tiver ja vinculado em um bordero de remessa. No filtro da SQL, pega so título sem vincular a bordero, codigo = 0.
  13. olha no manual do banco, se aceita barra no seunumero, eu geralmente, passo ai, o id unico do meu receber, sem caracteres estranhos, como barra: 12094/1 posicoes: copy(Linha,38,25); do arquivo de retorno
  14. CodOcorrencia := StrToIntDef(IfThen(copy(Linha,109,2) = ' ','00',copy(Linha,109,2)),0); nessa posicao que pega a ocorrencia e na 319 os motivos, em blocos de 2
  15. Voce colocou na remessa o campo seunumero, não aquele nosso numero que sai no boleto, mas o campo 038 a 062
  16. geralmente, no aplicativo deles, voce olha isso, mas de cara, ja tem umas coisas chatas, que eles rejeitam. Alem de dados, titulo vencido emissao apos o vencimento falta de endereco falta de cep posta a remessa aqui, as vezes a gente olhando, consegue lhe ajudar.
  17. o fi, ai no caso e o bancoob
  18. bug no seu sistema, gerei um agora e nao saiu assim. qual versao do delphi é?
  19. Tecnospeed tenta vender direto a solução aqui no meu email, pq ta largando
  20. a agencia 0010 ? para mim so tem a de bh nao, 0019
  21. tem esse campo em dois locais, vc viu ? header do lote e do arquivo, sugiro voce criar no seu sistema rapaz, esse pessoal nao sabe o que pede. Header do arquivo: seq 12.0 => Dígito Verificador da Ag/Conta: Preencher com zeros Header do lote: Seq 16.1 => Dígito Verificador da Ag/Conta: Preencher com espaços em branco
  22. voce nao deve alimentar a variavel convenio para esse banco, a carteira deles roda com agencia e conta e codigo do cedente sobre a DigitoVerificadorAgenciaConta, sugiro voce criar o campo no seu sistema, pois para outra versao isso vai falhar. Sugiro ler o particularidades, dentro da pasta Fontes\AcbrBoleto
  23. se for fast report, voce consegue sim. Desenha a impressao do pedido em meia folha, cria a impressao do boleto, no restante, ao imprimir, muda o modo de impressão para "Juntar paginas pequenas", e em imprimir na folha, bota A4, funciona que o cliente fica rindo de orelha a orelha. Nota, eu não tenho isso pronto, no caso, eu uso apenas para pedido, não tive essa necessidade ainda. Mas sei que dá certo. Isso é usado no cliente meu hoje, para sair duas vias, sem precisar mandar cortar a folha A4 na gráfica. O funcionario corta, se for uma pagina do pedido apenas. Se for mais de uma, atenção naquele "agrupar" ali... Ex:
  24. vc pode usar o acbr e criar o seu webservice para devolver isso, recebendo json, xml, qq outra forma. procure por: Horse, Restdataware. Se foi bem o que entendi...
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...