-
Total de ítens
597 -
Registro em
-
Última visita
-
Days Won
3
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Fernando Rodrigo postou
-
peguei os arquivos na pasta do boleto e fiz a alteração
-
qualquer alteração que fizer ele sai em branco, se vc pegar o codigo de barras e alterar 1 cm do que esta ele ja imprime em branco
-
queria colocar a logomarca da empresa no boleto
-
fiz uma alteração no layout do boleto, so que quando vou fazer a impressão ele imprime em branco o boleto se não fizer nenhuma alteração ele imprime normal, conforme as imagens abaixo, alguem ja passou por esse problema ?
-
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
o pessoal do banco pediu o json de envio, so que não sei onde pego ele -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
na unit ACBrBoletoW_BancoBrasil linha 287 o campo abaixo acho que esta com o nome errado pq o retorno do banco esta dizendo um campo e na unit esta passando outra Gerador.wCampo(tcStr, '#33', PrefixTag('textoEnderecoPagador' ), 00, 60, 1, Sacado.Logradouro, DSC_LOGRADOURO); No retorno do banco <ns0:nomeLogradouroBeneficiario>Cliente nao localizado ou sem enderecos validos. </ns0:nomeLogradouroBeneficiario> Estou passando normal os campos Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS'; Sacado.CNPJCPF := '47854871191'; Sacado.Logradouro := 'AV. PIO XII'; Sacado.Numero := '618'; Sacado.Bairro := 'CIDADE JARDIM'; Sacado.Cidade := 'GOIANIA'; Sacado.UF := 'GO'; Sacado.CEP := '74425010'; Gerador.wCampo(tcStr, '#31', PrefixTag('numeroInscricaoPagador' ), 00, 15, 1, OnlyNumber(Sacado.CNPJCPF), DSC_NOME_SACADO); Gerador.wCampo(tcStr, '#32', PrefixTag('nomePagador' ), 00, 60, 1, Sacado.NomeSacado, DSC_NOME_SACADO); Gerador.wCampo(tcStr, '#33', PrefixTag('textoEnderecoPagador' ), 00, 60, 1, Sacado.Logradouro, DSC_LOGRADOURO); Gerador.wCampo(tcStr, '#34', PrefixTag('numeroCepPagador' ), 00, 08, 1, Sacado.Cep, DSC_CEP); Gerador.wCampo(tcStr, '#35', PrefixTag('nomeMunicipioPagador' ), 00, 20, 1, Sacado.Cidade, DSC_CIDADE); Gerador.wCampo(tcStr, '#36', PrefixTag('nomeBairroPagador' ), 00, 20, 1, Sacado.Bairro, DSC_BAIRRO); Gerador.wCampo(tcStr, '#37', PrefixTag('siglaUfPagador' ), 00, 02, 1, Sacado.UF, DSC_UF); Gerador.wCampo(tcStr, '#38', PrefixTag('textoNumeroTelefonePagador' ), 00, 12, 1, Sacado.Fone, DSC_FONE); -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
tem alguns campos que não estão gerando10000000-retorno_registro.xml10000000-registro_boleto.xml Estou passando normal os campos , so que não esta sendo gerado no xml Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS'; Sacado.CNPJCPF := '47854871191'; Sacado.Logradouro := 'AV. PIO XII'; Sacado.Numero := '618'; Sacado.Bairro := 'CIDADE JARDIM'; Sacado.Cidade := 'GOIANIA'; Sacado.UF := 'GO'; Sacado.CEP := '74425010'; Veja o retorno do erro <ns0:nomeLogradouroBeneficiario>Cliente nao localizado ou sem enderecos validos. -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
como faço para pegar esse retorno na função ProcessarRespostaOAuth -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
-registro_boleto.xml10000000-registro_boleto.xml Só é gerado 2 arquivos em anexo, eu falei com outro programador em java ele disse que é gerado um json para enviar para o banco, so que no acbr so gera xml -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
como faço para pegar o json gerado no envio -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
eu peguei a chave J com o cliente e mesmo assim continua o erro, estranho pq no DEMO com os dados de testes roda normal, gera o log e alguns arquivos xml, mas se colocar as minhas credenciais que foi cadatrado na api do banco não roda da erro -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
esse campo ACBrBoleto1.Cedente.CedenteWS.KeyUser onde consigo ele pq no site do banco so tem 3 campos developer_application_key Credenciais OAuth client_id client_secret Quando uso as credenciais conforme arquivo de teste passa normal, mas quando coloco minhas credenciais da o erro acima -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
fiz conforme o arquivo configWebService.txt e não passa de jeito nenhum, da erro no envio e não gera nenhum log para ver o que é -
arquivo remessa santander cnab 240
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
passei como pNenhum e deu certo, valeu -
pessoal , no acbr foi implementado para checagem das placas no padrão Mercosul, alguém tem algum função para fazer essa conversão pegar do padrão atual e converter para o Mercosul ou vise-versa tenho uma base de dados e as placas estão todas antigas e preciso fazer essa conversar
-
arquivo remessa santander cnab 240
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
Dercide tem que informar conforme abaixo pq la na função que retorna o campo esta conforme abaixo, se eu informar pOutras, ele irá gerar o codgio 9 e o banco disse que tem que ser 0, então tem que ser pNenhum function TACBrBancoClass.DefineTipoSacadoAvalista(const ACBrTitulo: TACBrTitulo String; begin with ACBrTitulo do begin case Sacado.SacadoAvalista.Pessoa of pFisica : Result := '1'; pJuridica : Result := '2'; pOutras : Result := '9'; else Result := '0'; end; end; end; Sacado.SacadoAvalista.Pessoa := pNenhum; -
estou começando a implementar o boleto on-line no banco do brasil, e esta dando erro no envio, se alguem conseguiu fazer favor me de um help
-
estou fazendo a validação para o santander cnab 240 e o banco me retornou uma instrução que devera ser alterado, so que olhando os fontes não tem como fazer igual ao banco precisa REGISTRO DETALHE-SEGMENTO Q REMESSA 154-154 Tipode inscrição sacador/avalista: . . SE A INSCRIÇÃO DO CEDENTE FOR CNPJ, O MESMO NÃO NECESSITA DE SACADOR AVALISTA, LOGO, ESTE CAMPO DEVE INFORMA '0', LINHA 4 Para preencher esses campo é feito 2 checagem essa abaixo na unit do banco, so que no componente so aceita pFisica e pJuridica, conforme validação abaixo, como irei informar codigo 0, sendo que so existe esses 2 tipos de inscrição ? {Pegando tipo de pessoa do Sacado} sTipoInscricao := Copy( DefineTipoSacado(ACBrTitulo), 2, 1); {Pegando tipo de pessoa do Avalista} aTipoInscricao:= DefineTipoSacadoAvalista(ACBrTitulo); Essa na unit AcbrBoleto function TACBrBancoClass.DefineTipoSacado(const ACBrTitulo: TACBrTitulo String; begin with ACBrTitulo do begin case Sacado.Pessoa of pFisica : Result := '01'; pJuridica : Result := '02'; else Result := '99'; end; end; end; function TACBrBancoClass.DefineTipoSacadoAvalista(const ACBrTitulo: TACBrTitulo String; begin with ACBrTitulo do begin case Sacado.SacadoAvalista.Pessoa of pFisica : Result := '1'; pJuridica : Result := '2'; pOutras : Result := '9'; else Result := '0'; end; end; end;
-
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
não deu certo, ja alterei e coloquei todas as opções e nenhum passa. -
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
-
homololgação de boleto on-Line BB
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
não gerou nenhum log, eu preenchi os campos para remessa conforme o DEMO e so pedir para enviar e não gerou nenhum log na pasta do DEMO With ACBrBoleto1.CriarTituloNaLista do begin // CriarTituloNaLista; Carteira := '17'; EspecieDoc := '99'; With ACBrBoleto1.Cedente do begin // Cedente.TipoCarteira := tctRegistrada; // Cedente.Modalidade := '19'; {Dados do cedente - Loja} CodigoTransmissao := '11'; TipoInscricao := pJuridica; {CNPJ} CNPJCPF := '04005416000153'; Nome :='Nome Fantasia do Cliente'; CodigoCedente := '4863177'; Convenio := '1014051'; Modalidade := '19'; Logradouro :='aaa'; NumeroRes := ''; Complemento := ''; Bairro := 'aaa'; Cidade := 'aaa'; UF := 'GO'; CEP := '74413050'; Agencia :='1'; AgenciaDigito := '0'; Conta :='xxx'; ContaDigito := '0'; end; LocalPagamento := 'Pagar em qualquer banco'; //MEnsagem exigida pelo bradesco Vencimento := IncMonth(EncodeDate(2020,10,10),I); DataDocumento := EncodeDate(2020,08,10); NumeroDocumento := PadRight(IntToStr(I),8,'0'); EspecieDoc := 'DM'; Aceite := atSim; DataProcessamento := Now; Carteira := '17'; NossoNumero := IntToStrZero(I,8); ValorDocumento := 100.35 * (I+0.5); Sacado.NomeSacado := 'Jose Luiz Pedroso'; Sacado.CNPJCPF := '12345678901'; Sacado.Logradouro := 'Rua da Consolacao'; Sacado.Numero := '100'; Sacado.Bairro := 'Vila Esperanca'; Sacado.Cidade := 'Tatui'; Sacado.UF := 'SP'; Sacado.CEP := '18270000'; ValorAbatimento := 10; DataAbatimento := Vencimento-5; Instrucao1 := '00'; Instrucao2 := '00'; NossoNumero := edtNossoNro.Text; with ACBrBoleto1.Banco do begin TipoCobranca := cobBancoDoBrasil; end; end; ************************** procedure TfrmDemo.btnRegistroClick(Sender: TObject); var SLRemessa: TStringList; i: Integer; begin with ACBrBoleto1 do begin //Banco do Brasil //Dados para Homologaçao Cedente.CedenteWS.ClientID := 'XXXXXX' Cedente.CedenteWS.ClientSecret := 'XXXXX'; Cedente.CedenteWS.Scope := 'cobranca.registro-boletos'; Cedente.CedenteWS.KeyUser := 'XXXX'; //Função de Envio EnviarBoleto; //Verifica Lista com os retornos if ListaRetornoWeb.Count > 0 then begin SLRemessa := TStringList.Create; try for i:= 0 to ListaRetornoWeb.Count -1 do begin //Ler todos os campos da classe Retorno SLRemessa.Add('Cod_Retorno='+ ListaRetornoWeb.CodRetorno + sLineBreak + 'Msg_Retorno='+ ListaRetornoWeb.MsgRetorno + sLineBreak + 'Ori_Retorno='+ ListaRetornoWeb.OriRetorno + sLineBreak + 'HEADER' + sLineBreak + 'Versao='+ ListaRetornoWeb.Header.Versao + sLineBreak + 'Autenticacao=' + ListaRetornoWeb.Header.Autenticacao + sLineBreak + 'Usuario_Servico=' + ListaRetornoWeb.Header.Usuario_Servico + sLineBreak + 'Usuario=' + ListaRetornoWeb.Header.Usuario + sLineBreak + 'Operacao=' + TipoOperacaoToStr(ListaRetornoWeb.Header.Operacao) + sLineBreak + 'Indice=' + IntToStr(ListaRetornoWeb.Header.Indice) + sLineBreak + 'Sistema_Origem=' + ListaRetornoWeb.Header.Sistema_Origem + sLineBreak + 'Agencia=' + IntToStr(ListaRetornoWeb.Header.Agencia) + sLineBreak + 'ID_Origem=' + ListaRetornoWeb.Header.Id_Origem + sLineBreak + 'Data_Hora=' +FormatDateTime('dd/mm/yyyy hh:nn:ss',ListaRetornoWeb.Header.Data_Hora) + sLineBreak + 'ID_Processo=' + ListaRetornoWeb.Header.Id_Processo + sLineBreak + 'DADOS' + sLineBreak + 'Excessao=' +ListaRetornoWeb.DadosRet.Excecao + sLineBreak + 'CONTROLE_NEGOCIAL' + sLineBreak + 'Origem_Retorno=' + ListaRetornoWeb.DadosRet.ControleNegocial.OriRetorno + sLineBreak + 'NSU=' + ListaRetornoWeb.DadosRet.ControleNegocial.NSU + sLineBreak + 'Cod_Retorno=' + ListaRetornoWeb.DadosRet.ControleNegocial.CodRetorno + sLineBreak + 'Msg_Retorno=' + ListaRetornoWeb.DadosRet.ControleNegocial.Retorno + sLineBreak + 'COMPROVANTE' + sLineBreak + 'Data=' + FormatDateTime('dd/mm/yyyy', ListaRetornoWeb.DadosRet.Comprovante.Data) + sLineBreak + 'Hora=' + ListaRetornoWeb.DadosRet.Comprovante.Hora + sLineBreak + 'ID_BOLETO' + sLineBreak + 'Codigo_Barras=' + ListaRetornoWeb.DadosRet.IDBoleto.CodBarras + sLineBreak + 'Linha_Digitavel=' + ListaRetornoWeb.DadosRet.IDBoleto.LinhaDig + sLineBreak + 'Nosso_Numero=' + ListaRetornoWeb.DadosRet.IDBoleto.NossoNum + sLineBreak + 'URL=' + ListaRetornoWeb.DadosRet.IDBoleto.URL + sLineBreak + 'CONSULTA_BOLETO' + sLineBreak + 'Numero_Documento=' + ListaRetornoWeb.DadosRet.TituloRet.NumeroDocumento + sLineBreak + 'Data_Vencimento=' + FormatDateTime('dd/mm/yyyy',ListaRetornoWeb.DadosRet.TituloRet.Vencimento) + sLineBreak + 'Valor=' + CurrToStr(ListaRetornoWeb.DadosRet.TituloRet.ValorDocumento) + sLineBreak ); end; SLRemessa.SaveToFile( PathWithDelim(ExtractFilePath(Application.ExeName))+'RetornoRegistro.txt' ); finally SLRemessa.Free; end; ShowMessage('Retorno Envio gerado em: '+ PathWithDelim(ExtractFilePath(Application.ExeName))+'RetornoRegistro.txt' ); end; end; end; -
fiz o cadastramento no banco do brasil como homologação e estou utilizando o demo para fazer os testes preenche todos os dados e na hora de envio esta dando Erro: 0 Conforme o DEMO so preenchi os dados fornecidos pelo banco with ACBrBoleto1 do begin //Banco do Brasil //Dados para Homologaçao Cedente.CedenteWS.ClientID := 'XXXXXXX'; Cedente.CedenteWS.ClientSecret := XXXXXXX Cedente.CedenteWS.Scope := 'cobranca.registro-boletos'; Cedente.CedenteWS.KeyUser := XXXXXXX //Função de Envio EnviarBoleto;
-
Problema com Distribuição - Erro 12002 - TimeOut
Fernando Rodrigo replied to Gustavo Déo da Silva's tópico in ACBrNFe
estranho pq tenho cliente que funciona 100% e outros da erro em quase todas as notas manifestadas, segundo o pessoal da tecnospeed as notas entram em fila de liberação do xml a manifestação não entra em fila, mas a baixa sim. so que o cliente nosso não quer saber onde é o problema, ele quer funcionando -
publicação de produtos no mercado livre
Fernando Rodrigo replied to Fernando Rodrigo's tópico in Dúvidas não relacionadas ao ACBr
segue o codigo que uso para fazer a publicação se nao entender o codigo me avise case dm_Estoque.Conf_Mercado_LivreANUNCIO.AsInteger of 1 : var_Tipo_Anuncio := 'gold_pro'; 2 : var_Tipo_Anuncio := 'gold_premium'; 3 : var_Tipo_Anuncio := 'gold_special'; 4 : var_Tipo_Anuncio := 'gold'; 5 : var_Tipo_Anuncio := 'silver'; 6 : var_Tipo_Anuncio := 'bronze'; 7 : var_Tipo_Anuncio := 'free'; end; case dm_Estoque.Conf_Mercado_LivreFRETE.AsInteger of 1 : var_tipo_frete := ',"non_mercado_pago_payment_methods": [],"shipping": {"mode": "me2","methods":[],"tags":[]}'; 2 : var_tipo_frete := 'gold_premium'; 3 : var_tipo_frete := 'gold_special'; 4 : var_tipo_frete := 'gold'; end; F_Funcoes.Checa_Estoque(StrToInt(Cod_loja.Text),PesquisaCodigo.value); for x := 1 to 3 do begin case x of 1 : If PesquisaFOTO.AsString <> '' then var_foto := ' "pictures":[ {"source":"' + dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO.AsString ) + '"}'; 2 : If PesquisaFOTO2.AsString <> '' then var_Foto1 := ', {"source":"' + dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO2.AsString ) + '"}'; 3 : if PesquisaFOTO3.AsString <> '' then var_Foto2 := ', {"source":"' + dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO3.AsString ) + '"}'; end; end; if PesquisaCOD_BARRA.AsString <> '' then var_ean := ',{"id":"EAN","value_name":"' + PesquisaCOD_BARRA.AsString + '"}'; if PesquisaCODIGO_CATALAGO.AsString <> '' then var_Catalago := ',{"id": "PART_NUMBER","value_name":" ' + PesquisaCODIGO_CATALAGO.AsString + '"}'; if PesquisaQTDE_EMBALAGEM.AsInteger <> 0 then var_Unidade_Pacote := ',{"id": "UNITS_PER_PACKAGE","value_name":" ' + PesquisaQTDE_EMBALAGEM.AsString + '"}' else var_Unidade_Pacote := ',{"id": "UNITS_PER_PACKAGE","value_name":" ' + '1' + '"}'; if Load_imagem(dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO.AsString ) ) = 0 then var_foto := ''; if Load_imagem(dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO2.AsString ) ) = 0 then var_foto1 := ''; if Load_imagem(dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO3.AsString ) ) = 0 then var_foto2 := ''; if dm_estoque.Conf_Mercado_LivreMENSAGEM.AsString <> '' then var_Obs_Anuncio := '\n\n\n\' + MENSAGEM.Text; // tipo de publicação 1 - publica todos os produtos, principal e produtos do e-commerse // tipo de publicação 2 - publica somente os produtos do e-commerse if dm_Estoque.Conf_Mercado_LivreTIPO_PUBLICACAO.AsInteger = 1 then begin Json := '{"title":"' + UTF8ToWideString ( PesquisaDESCRICAO.Value ) + '",'+ '"category_id":"MLB63581"' + ',' + // Codigo da Categoria '"price":' + TrocaVirgPPto ( FloatToStr( var_Preco_Venda ) ) + ',' + // Preço de Venda '"official_store_id":null, ' + '"currency_id":"BRL",' + // vendas no Brasil '"available_quantity":' + TrocaVirgPPto ( FloatToStr( F_Funcoes.CALCULA_ESTOQUE.FieldByName('SALDO').AsFloat ) ) + ','+ // estoque '"buying_mode":"buy_it_now", '+ '"listing_type_id":"' + var_Tipo_Anuncio + '"' + ',' + // tipo de anuncio '"condition":"new",' + // produto novo '"accepts_mercadopago": "true",'+ // aceita percado pago ? '"description":{"plain_text":"' + AnsiReplaceStr( ARGUMENTO_VENDA.Text,'"','') + var_Obs_Anuncio + '\n"},' + // argumento de venda var_foto + var_foto1 + var_Foto2 +']' + ',' + // fotos '"attributes":[{"id":"model","value_name":"' + PesquisaNOME_GRUPO.AsString + '"},' + // modelo '{"id":"brand","value_name":"' + PesquisaNOME_MARCA.AsString + '"}' + // marca var_Catalago + // Numero da Peça no ML var_Unidade_Pacote + // quantidade na embalagem var_ean + ']' + // codigo de barras var_tipo_frete // tipo de frete +'}'; Json := ReplaceAll(json,''#$D#$A#$D#$A'','\n\n'); Json := ReplaceAll(json,'#$D#$A','\n\n'); JsonToSend := TStringStream.Create( UTF8Encode(Json) ); Resposta_ML := ''; // CONEXÃO COM O ML PARA ATUALIZAÇÃO DE ESTOQUE while Resposta_ML = '' do begin try try Resposta_ML := 'https://api.mercadolibre.com/items?access_token='+ var_Access_token; Resposta_ML := IdHTTP1.Post(Resposta_ML, JsonToSend); // checa se ja foi feito conexão, joPrincipal := TlkJSON.ParseText(TEncoding.ASCII.GetString(TEncoding.ASCII.GetBytes(Resposta_ML))) as TlkJSONobject; if Pos('MLB',VarToStr(joPrincipal.Field['id'].Value)) <> 0 then begin F_Funcoes.Qry := TpFIBQuery.Create(nil); with F_Funcoes.Qry do begin Close; SQL.Clear; Database := dm_Geral.DB; Transaction := dm_Geral.Tr_Db; SQL.Add('Update Produto set produto.CODIGO_ML = :CODIGO_ML'); SQL.Add('where produto.codigo = :CODIGO'); ParamByName('CODIGO').AsInteger := PesquisaCODIGO.AsInteger; ParamByName('CODIGO_ML').AsString := VarToStr(joPrincipal.Field['id'].Value); ExecQuery; dm_Geral.Tr_Db.CommitRetaining; end; FreeAndNil(F_Funcoes.Qry); // tira o objeto da memória With Pesquisa do begin Edit; PesquisaSELECIONADO.AsString := '1'; Post; end; Break; end; except on E: EIdHTTPProtocolException do begin ShowMessage(E.ErrorMessage); end; on E: Exception do begin Resposta_ML := E.Message; if Resposta_ML = 'HTTP/1.1 200 OK' then begin break; end else Resposta_ML := ''; end; end finally end; end; end; -
@Daniel Simoesdeu certo, fico muito grato pela sua ajuda, e tenha um excelente final de semana.
