-
Total de ítens
670 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Antonio Gomes postou
-
Emissão de Boleto Bancários do Alios via API
Antonio Gomes replied to Jhonlenon Ribeiro's tópico in ACBrBoleto
o manual está onde? -
Só para quebrar o gelo: E ja tem contador dando entrada com xml. A promessa de dar entrada, com codificacao do fornecedor, sem casar codigo de produto com o estoque do cliente, contador nao é para ter acesso disso, vai criar um problema maior. Inventario que nao bate com nada, saida que não é lé com cré...
-
aquele programa que fica aberto tipo sieg nao tem ligado?
-
Trocar ideia, com essa regra de bloqueio, o contador carregou os xmls pelo sieg, ai no meu sistema fica aparecendo sempre, que devo mandar o ultimo nsu gravado, e eu tenho ele gravado. Pergunto, um computador manifesta, baixa o xml, e depois eu não mais teria de fato acesso a isso? Tentei solicitar a partir do nsu zero, dos ultimos, bloqueado 1 hora, espero o tempo, mando de novo, mais 1 hora bloqueado. Não estou em loop. A manifestação é intrigante, aceita fazer.
-
Não foi preciso, pois movendo a linha para cima, a inicialização da diretiva DELPHIXE2_UP foi feita. E o chaveamento {$IFDEF REMOVE_CAST_WARN} não é anulado. Logo, fica faltando apenas o bloco de deprecated, que vou corrigir onde tiver como mexer, e mandar ai para vocês. Entendo que deprecated é trem velho.... Se você analisar bem essa unit, vai ver que ela precisa ser colocada antes ainda, pois tem uma variável BORLAND sendo acionada, e ela ainda não foi inicializada. Veja ai, analisa se precisa subir para linha: 86, o bloco onde faz {$DEFINE BORLAND}, ou seja, na unit anterior já define ela... vai ver o else foi colocado desnecessário (*//////////////// IMPLEMENTAÇÃO ////////////////////*) // Ajusta FreePascal para o modo Delphi //------------------------------------------------------------------------------ {$IFDEF FPC} {$DEFINE USE_UTF8} {$UNDEF BORLAND} {$DEFINE DFE_SEM_INDY} {$DEFINE VCL} {$DEFINE UNICODE} // Lazarus 0.9.26 usa UnicodeString como default para String {$DEFINE DELPHI7} {$DEFINE COMPILER7} {$DEFINE HAS_FORMATSETTINGS} {$DEFINE HAS_REGEXPR} {$DEFINE HAS_INLINE} {$DEFINE HAS_STRICTDELIMITER} {$H+} {$UnDef FMX} {$UnDef FPC3} {$UnDef FPC2} {$IFDEF VER2} {$DEFINE FPC2} {$EndIf} {$IFDEF VER3} {$DEFINE FPC3} {$ENDIF} {$IFDEF FPC3} {$DEFINE HAS_CHARINSET} {$DEFINE SUPPORTS_DEPRECATED_DETAILS} {$UnDef FPC2} {$ENDIF} {$UNDEF REMOVE_CAST_WARN} //Devido a problemas com a mensagem de erro "Message recordind not yet supported" {$ELSE} << {$DEFINE BORLAND} << vem la da unit Acbr_jedi.inc e a chamada dessa unit, por meio do {$I esta abaixo daqui... {$ENDIF}
-
faz um teste no seu, move as linhas: // utilizar para facilitar a manutenção do ACBr.inc, já que ele era uma cópia // da jedi, essa mudança permite uma evolução melhor do arquivo. //------------------------------------------------------------------------------ {$I ACBr_jedi.inc} para altura da linha 119 da unit acbr.inc
-
eu fiquei na duvida agora, pois na unit ACBr_jedi.inc, tem: {------------------------------------------------------------------------------} { DELPHIX_UP from DELPHIX_UP mappings } {------------------------------------------------------------------------------} {$IFDEF DELPHI28_UP} {$DEFINE DELPHIX_ALEXANDRIA_UP} // synonym to DELPHI28_UP {$DEFINE DELPHI27_UP} {$ENDIF} {$IFDEF DELPHI27_UP} {$DEFINE DELPHIX_SYDNEY_UP} // synonym to DELPHI27_UP {$DEFINE DELPHI26_UP} {$ENDIF} {$IFDEF DELPHI26_UP} {$DEFINE DELPHIX_RIO_UP} // synonym to DELPHI26_UP {$DEFINE DELPHI25_UP} {$ENDIF} {$IFDEF DELPHI25_UP} {$DEFINE DELPHIX_TOKYO_UP} // synonym to DELPHI25_UP {$DEFINE DELPHI24_UP} {$ENDIF} {$IFDEF DELPHI24_UP} {$DEFINE DELPHIX_BERLIN_UP} // synonym to DELPHI24_UP {$DEFINE DELPHI23_UP} {$ENDIF} {$IFDEF DELPHI23_UP} {$DEFINE DELPHIX_SEATTLE_UP} // synonym to DELPHI23_UP {$DEFINE DELPHI22_UP} {$ENDIF} {$IFDEF DELPHI22_UP} {$DEFINE DELPHIXE8_UP} // synonym to DELPHI22_UP {$DEFINE DELPHI21_UP} {$ENDIF} {$IFDEF DELPHI21_UP} {$DEFINE DELPHIXE7_UP} // synonym to DELPHI21_UP {$DEFINE DELPHI20_UP} {$ENDIF} {$IFDEF DELPHI20_UP} {$DEFINE DELPHIXE6_UP} // synonym to DELPHI20_UP {$DEFINE DELPHI19_UP} {$ENDIF} {$IFDEF DELPHI19_UP} {$DEFINE DELPHIXE5_UP} // synonym to DELPHI19_UP {$DEFINE DELPHI18_UP} {$ENDIF} {$IFDEF DELPHI18_UP} {$DEFINE DELPHIXE4_UP} // synonym to DELPHI18_UP {$DEFINE DELPHI17_UP} {$ENDIF} {$IFDEF DELPHI17_UP} {$DEFINE DELPHIXE3_UP} // synonym to DELPHI17_UP {$DEFINE DELPHI16_UP} {$ENDIF} {$IFDEF DELPHI16_UP} {$DEFINE DELPHIXE2_UP} // synonym to DELPHI16_UP {$DEFINE DELPHI15_UP} {$ENDIF} Para mim, ela tem que chegar true lá no teste, e não cair no "not", pois não é not... vou dormir, deve ser falta disso.
-
já está assim. nessa parte que voce não endenteu, não poderia nunca desativar a diretiva REMOVE_CAST_WARN, pois repara esse trecho: {$IFNDEF DELPHIXE2_UP} << quando fala delphixe2_up, nao engloba alexandria:? que é acima da Xe2 ? {$IFDEF BORLAND} {$UNDEF REMOVE_CAST_WARN} << desliga ela aqui, pq entrou aqui ? {$ENDIF} {$ENDIF}
-
28, defined ver350. mas essa paradinha ai, achei na unit ldapsend.pas, synapse, pasta \ACBr2wc\Fontes\Terceiros\synalist e nesse site https://wiki.freepascal.org/$warn Inclusive, se seguir a linha de raciocínio dessa unit, reduz um pouco.. analisando o acbr.inc, o meu fica assim // Para Remover Warnings de CAST causados por WideString/String/AnsiString, descomente a linha abaixo. (Apenas Delphi) {$DEFINE REMOVE_CAST_WARN} mas ta entrando nessa linha, e desligando a diretiva que eu coloquei true, lá no instalador: comentei ali, parou as tranqueiras {$IFNDEF DELPHIXE2_UP} {$IFDEF BORLAND} // {$UNDEF REMOVE_CAST_WARN} {$ENDIF} {$ENDIF}
-
Compilação com fontes na uses - Excesso de warnings e hints
um tópico no fórum postou Antonio Gomes Dúvidas Gerais sobre o ACBr
Olá a todos devs do Acbr: Uma compilação simples, mas usando os fontes na library path, tem gerado um tanto quanto de hints e warnings. Variáveis perdidas, sem uso, retornos sem serem atribuídos, enfim, aparece de tudo, o warning do 'DELAYED' é campeão, deprecated (essa deprecated do lado de cá, tudo bem, mas nos fontes que quem mexeu... penso que deveria corrigir, não?), inicializacoes de variaveis, não usadas (never used), variaveis não inicializadas, conversoes de variants -> ansistring, com potencial perda de dados. coisa do tipo: [dcc32 Warning] ACBrBoletoW_Sicredi_API.pas(230): W1000 Symbol 'UTF8Decode' is deprecated: 'Use UTF8ToWideString or UTF8ToString' [dcc32 Warning] JsonsUtilsEx.pas(244): W1057 Implicit string cast from 'TSymbolName' to 'string' [dcc32 Warning] JsonsUtilsEx.pas(273): W1057 Implicit string cast from 'TSymbolName' to 'string' [dcc32 Hint] ACBrCTeWebServices.pas(2032): H2164 Variable 'aEvento' is declared but never used in 'SalvarEventos' [dcc32 Hint] ACBrCTeWebServices.pas(2032): H2164 Variable 'aProcEvento' is declared but never used in 'SalvarEventos' [dcc32 Warning] pnfsEnvLoteRpsResposta.pas(938): W1058 Implicit string cast with potential data loss from 'Variant' to 'AnsiString' [dcc32 Warning] pnfsLerListaNFSe.pas(1342): W1036 Variable 'DataRecebimentoTemp' might not have been initialized [dcc32 Hint] pnfsNFSeR.pas(244): H2077 Value assigned to 'TNFSeR.LerRPS' never used [dcc32 Hint] pnfsNFSeR.pas(5296): H2164 Variable 'vLinha' is declared but never used in 'TNFSeR.LerRPS_Smarapd' [dcc32 Warning] ACBrEscPosEpson.pas(724): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscPosEpson.pas(736): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscPosEpson.pas(750): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscPosEpson.pas(778): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscPosEpson.pas(778): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscPosEpson.pas(779): W1000 Symbol 'LeftStr' is deprecated: 'Moved to the AnsiStrings unit' [dcc32 Warning] ACBrEscPosEpson.pas(782): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscBematech.pas(146): W1057 Implicit string cast from 'AnsiChar' to 'string' [dcc32 Warning] ACBrEscBematech.pas(147): W1057 Implicit string cast from 'AnsiChar' to 'string' [dcc32 Warning] ACBrEscBematech.pas(148): W1057 Implicit string cast from 'AnsiChar' to 'string' [dcc32 Warning] ACBrEscBematech.pas(149): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscBematech.pas(150): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscBematech.pas(150): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscBematech.pas(171): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscBematech.pas(211): W1057 Implicit string cast from 'AnsiChar' to 'string' [dcc32 Warning] ACBrEscBematech.pas(211): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscBematech.pas(244): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscBematech.pas(246): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscBematech.pas(299): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscBematech.pas(307): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscBematech.pas(310): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscBematech.pas(313): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscDaruma.pas(86): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] ACBrEscDaruma.pas(230): W1057 Implicit string cast from 'AnsiChar' to 'string' [dcc32 Warning] ACBrEscDaruma.pas(231): W1057 Implicit string cast from 'AnsiChar' to 'string' [dcc32 Warning] ACBrEscDaruma.pas(232): W1057 Implicit string cast from 'AnsiChar' to 'string' [dcc32 Warning] ACBrEscDaruma.pas(233): W1057 Implicit string cast from 'AnsiString' to 'string' [dcc32 Warning] ACBrEscDaruma.pas(234): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString' [dcc32 Warning] libxml2.pas(2763): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2764): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2765): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2766): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2767): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2768): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2769): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2770): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2771): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2772): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2773): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] libxml2.pas(2774): W1002 Symbol 'DELAYED' is specific to a platform [dcc32 Warning] ACBrCEP.pas(908): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrCEP.pas(909): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrCEP.pas(910): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrCEP.pas(911): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrCEP.pas(960): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrCEP.pas(965): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrCEP.pas(966): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrCEP.pas(967): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Hint] ACBrDFeHttpOpenSSL.pas(215): H2077 Value assigned to 'SSLMethod' never used [dcc32 Warning] ACBrDFeXsXmlSec.pas(652): W1000 Symbol 'LerTagXML' is deprecated: 'Use o método SeparaDados()' [dcc32 Warning] ACBrDFeSSL.pas(845): W1000 Symbol 'FileAge' is deprecated [dcc32 Warning] pcnEnvEventoNFe.pas(193): W1000 Symbol 'ExtrairCNPJChaveAcesso' is deprecated: 'Obsoleta: Use a função ExtrairCNPJCPFChaveAcesso' Em conversa ai com Daniel, sugeriu postar aqui, para todos, e discutir, como poderia ajudar resolver esses contratempos. Grato -
Dúvidas sobre Linha Digitavél Banco Inter
Antonio Gomes replied to Jhonlenon Ribeiro's tópico in ACBrBoleto
funciona sim, eu faço assim: AFrxReport.Variables.Variables[Trim(CDS.FieldByName('VARIAVEL_RPERD').AsString)] := CDS.FieldByName('VALOR_RPERD').AsString; -
Dúvidas sobre Linha Digitavél Banco Inter
Antonio Gomes replied to Jhonlenon Ribeiro's tópico in ACBrBoleto
frxReport1.Clear; frxReport1.Report.Clear; frxDBReceber.RangeBegin := rbFirst; frxDBReceber.RangeEnd := reLast; frxReport1.EnabledDataSets.Clear; frxReport1.DataSets.Clear; frxReport1.DataSets.Add(frxDBReceber); frxReport1.EnabledDataSets.Add(frxDBReceber); ST := TMemoryStream.Create; try if FDSCfgMod.FieldByName('ARQUIVO_CFGBLMOD').IsNull then // Quando for atualizado, em Novembro de 2018, esse campo vai ficar vazio na tabela begin case FDSCfgMod.FieldByName('LAYOUT_CFGBLMOD').AsInteger of 1: TFuncoesSistemaOperacional.LerRecursoDLL('BOLETO_1PP', sNomeDaDLL, ST); 2: TFuncoesSistemaOperacional.LerRecursoDLL('BOLETO_2PP', sNomeDaDLL, ST); 3: TFuncoesSistemaOperacional.LerRecursoDLL('BOLETO_3PP_CARNE', sNomeDaDLL, ST); else // 3 raise Exception.Create('Tipo de Documento: Boleto ou carnê não selecionado na configuração.'); end; end else TBlobField(FDSCfgMod.FieldByName('ARQUIVO_CFGBLMOD')).SaveToStream(ST); ST.Position := 0; frxReport1.LoadFromStream(ST); finally FreeAndNil(ST); end; class procedure TFuncoesSistemaOperacional.LerRecursoDLL(const sNomeRecurso, sNomeDLL: string; out Retorno: TMemoryStream); var RS : TResourceStream; S : string; DLL_Handle: THandle; Aberta : Boolean; begin // Lê recursos armazenados na DLL if (not Assigned(Retorno)) or (Retorno = nil) then raise exception.Create('Retorno para procedimento LerRecursoDLL não definido ou não criado.'); S := ChangeFileExt(sNomeDLL, '.DLL'); DLL_Handle := LoadLibrary(PWideChar(S)); try Aberta := DLL_Handle <> HINSTANCE_ERROR; if not Aberta then raise exception.Create('DLL ' + S + ' não encontrada, favor verificar.'); RS := TResourceStream.Create(DLL_Handle, sNomeRecurso, RT_RCDATA); try if RS.Size <> 0 then Retorno.LoadFromStream(RS); Retorno.Position := 0; finally FreeAndNil(RS); end; finally FreeLibrary(DLL_Handle); end; end; se for exportar para pdf: if frxReport1.PrepareReport(True) then begin // saida em pdf frxPDFExport1.FileName := 'nome do seu pdf aqui'; if not frxReport1.Export(frxPDFExport1) then raise Exception.Create('Erro ao exportar pdf de boleto'); // saida em tela: frxReport1.ShowReport(); end else begin raise Exception.Create('Relatório não preparado.'); end; Linhas dentro do RC da DLL: // -- BOLETOS E CARNÊS BOLETO_1PP RCDATA ".\FastReport\BOLETO_1PP.fr3" BOLETO_2PP RCDATA ".\FastReport\BOLETO_2PP.fr3" BOLETO_3PP_CARNE RCDATA ".\FastReport\BOLETO_3PP_CARNE.fr3" Mas pode dar um loadfromfile direto no fastreport. BOLETO_3PP_CARNE.fr3 BOLETO_1PP.fr3 BOLETO_2PP.fr3 faltou a cereja do boleto. Onde as variaveis recebem os valores do dataset receber procedure TdmImpressaoBoleto.frxRptCarneGetValue(const VarName: string; var Value: Variant); var S : string; VN : string; Cedente : string; DVCedente : string; Qtde : Integer; ValorAberto: Currency; F : TField; DataTemp : string; begin // tem variavel que vem assim: <CODIGO> VN := AnsiUpperCase(VarName); VN := StringReplace(VN, '<', '', []); VN := StringReplace(VN, '>', '', []); if VN = 'MOSTRAR_AVISO_VENCIDO' then begin PosicionaCfgModelo(frxDBReceber.DataSet.FieldByName('CFG_BOLETO_MODELO_REC').AsInteger); Value := (FDSCfgMod.FieldByName('AVISO_PARCELA_ATRASO_CFGBLMOD').AsString = 'S') and (frxDBReceber.DataSet.FieldByName('AVISO_VENCIDO_BOLETO_CLI').AsString = 'S'); end else if VN = 'AVISO_VENCIDO' then begin PosicionaCfgModelo(frxDBReceber.DataSet.FieldByName('CFG_BOLETO_MODELO_REC').AsInteger); Value := ''; if (FDSCfgMod.FieldByName('AVISO_PARCELA_ATRASO_CFGBLMOD').AsString = 'S') and (frxDBReceber.DataSet.FieldByName('AVISO_VENCIDO_BOLETO_CLI').AsString = 'S') then begin Qtde := 0; S := ''; ValorAberto := 0; if CDSReceberAberto.Active then begin {$MESSAGE hint 'tem que testar pelo vencimento, ate quando esta vencido'} CDSReceberAberto.First; while not CDSReceberAberto.Eof do begin ValorAberto := ValorAberto + CDSReceberAberto.FieldByName('VALOR').AsCurrency; if S <> '' then S := S + #13; S := S + TFuncoesNumero.StrZero(CDSReceberAberto.FieldByName('Mes').AsInteger, 2) + '/'; S := S + TFuncoesNumero.StrZero(CDSReceberAberto.FieldByName('ANO').AsInteger, 4) + '-'; S := S + TFuncoesString.PadL(FormatCurr(',0.00', CDSReceberAberto.FieldByName('VALOR').AsCurrency), 7); Inc(Qtde, CDSReceberAberto.FieldByName('CNT_MES_ANO').AsInteger); CDSReceberAberto.Next; end; if Qtde = 0 then begin DataTemp := FormatDateTime('dd/mm/yyyy', frxDBReceber.DataSet.FieldByName('VENCIMENTO_REC').AsDateTime - 1); Value := 'FATURAS VENCIDAS ATÉ ' + DataTemp + ' PAGAS.'#13 + 'OBRIGADO'; end else begin if Qtde <= MaxParcelasAberto then Value := 'FATURAS ANTERIORES ABERTO: '#13 + S else if ValorAberto > 0 then Value := 'FATURAS ANTERIORES ABERTO: '#13 + IntToStr(Qtde) + ' ' + TFuncoesString.PadL(FormatCurr(',0.00', ValorAberto), 7); end; end; end; end else if VN = 'NOVA_PAGINA' then begin PosicionaCfgModelo(frxDBReceber.DataSet.FieldByName('CFG_BOLETO_MODELO_REC').AsInteger); Value := FDSCfgMod.FieldByName('NOVAPAGINA_CFGBLMOD').AsString = 'S' end else if VN = 'FLAGCOMPROVANTE' then Value := False else if VN = 'DOBRA_COM_ENDERECO' then begin PosicionaCfgModelo(frxDBReceber.DataSet.FieldByName('CFG_BOLETO_MODELO_REC').AsInteger); Value := (FDSCfgMod.FieldByName('END_DEST_DOBRAR_CFGBLMOD').AsString = 'S') end else if VN = 'FLAGCARNE' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); Value := (FDSServico.FieldByName('TIPODOCUMENTO_SER').AsInteger = 2); end else if VN = 'FLAGCAPA' then Value := False else if VN = 'DATA_EMISSAO' then Value := fDataEmissaoBoleto else if VN = 'DATA_PROCESSAMENTO' then Value := fDataProcessamento else if (VN = 'BARRA1') then // linha digitavel begin Value := TFuncBoleto.FormatarLinhaDigitavel(frxDBReceber.DataSet.FieldByName('LINHA_DIGITAVEL_BOLETO_REC').AsString); end else if VN = 'BARRA' then Value := frxDBReceber.DataSet.FieldByName('COD_BARRA_BOLETO_REC').AsString else if (VN = 'EMPRESA') or (VN = 'CEDENTE') then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); Value := FDSServico.FieldByName('CEDENTE_NOME_CCR').AsString; end else if VN = 'VENCIMENTO' then Value := frxDBReceber.DataSet.FieldByName('VENCIMENTO_REC').AsDateTime else if VN = 'VALOR' then Value := frxDBReceber.DataSet.FieldByName('VALOR_REC').AsCurrency + frxDBReceber.DataSet.FieldByName('BOLETO_VLR_COBRADO_REC').AsCurrency else if VN = 'NOME' then Value := frxDBReceber.DataSet.FieldByName('NOME_CLI').AsString else if VN = 'ENDERECO' then Value := frxDBReceber.DataSet.FieldByName('ENDERECO_CLI').AsString + ' ' + frxDBReceber.DataSet.FieldByName('NUM_ENDERECO_CLI').AsString + ' ' + frxDBReceber.DataSet.FieldByName('COMPL_END_CLI').AsString else if VN = 'BAIRRO' then Value := frxDBReceber.DataSet.FieldByName('BAIRRO_CLI').AsString else if VN = 'CIDADE' then Value := frxDBReceber.DataSet.FieldByName('CID_CLI').AsString else if VN = 'ESTADO' then Value := frxDBReceber.DataSet.FieldByName('EST_CLI').AsString else if VN = 'CEP' then Value := TFuncoesString.FormataCEP(TFuncoesString.SoNumero(frxDBReceber.DataSet.FieldByName('CEP_CLI').AsString)) else if VN = 'CODIGO' then Value := frxDBReceber.DataSet.FieldByName('CODCLI').AsInteger else if VN = 'EMISSAO' then Value := fDataEmissaoBoleto else if VN = 'DEMONSTRATIVO' then Value := frxDBReceber.DataSet.FieldByName('DEMONSTRATIVO_REC').AsString else if VN = 'TEXTO' then Value := frxDBReceber.DataSet.FieldByName('TEXTO_LIVRE_BOLETO_REC').AsString else if VN = 'BANCO' then begin S := ''; PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); if FDSServico.FieldByName('CAMARA_COMPENSACAO_BAN').AsInteger > 0 then S := TFuncoesNumero.StrZero(FDSServico.FieldByName('CAMARA_COMPENSACAO_BAN').AsInteger, 3); if (S <> '') and (Trim(FDSServico.FieldByName('DV_CAMARA_COMP_BAN').AsString) <> '') then S := S + '-'; S := S + Trim(FDSServico.FieldByName('DV_CAMARA_COMP_BAN').AsString); Value := S; end else if VN = 'ESPECIE' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); Value := Trim(FDSServico.FieldByName('ESPECIE_DOCUMENTO_SER').AsString); end else if VN = 'ESPECIE_MOEDA' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); if FDSServico.FieldByName('NOME_MOEDA_SER').AsString <> '' then Value := FDSServico.FieldByName('NOME_MOEDA_SER').AsString else Value := FDSServico.FieldByName('MOEDA_SER').AsString end else if VN = 'AGENCIA_COD_CEDENTE' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); case FDSServico.FieldByName('IDENTIFICACAO_SER').AsInteger of 1: begin Cedente := Trim(FDSServico.FieldByName('CONTA_CCR').AsString); DVCedente := Trim(FDSServico.FieldByName('DV_CONTA_CCR').AsString); end; 2: begin Cedente := Trim(FDSServico.FieldByName('NUM_CONTRATO_SER').AsString); DVCedente := Trim(FDSServico.FieldByName('DV_CONTRATO_SER').AsString); end; 3: begin Cedente := Trim(FDSServico.FieldByName('CODIGO_CEDENTE_SER').AsString); DVCedente := Trim(FDSServico.FieldByName('DV_CEDENTE_SER').AsString); end; end; Value := FDSServico.FieldByName('AGENCIA_CCR').AsString + ' / ' + Trim(Cedente) + ifThen(DVCedente <> '', '-', '') + DVCedente; end else if VN = 'NUMERO_DOCUMENTO' then Value := frxDBReceber.DataSet.FieldByName('DOCUMENTO_REC').AsString else if VN = 'NOSSO_NUMERO' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); if FDSServico.FieldByName('CAMARA_COMPENSACAO_BAN').AsInteger = 77 then // inter begin var D, V, N: string; N := frxDBReceber.DataSet.FieldByName('NOSSO_NUM_FORMATADO_REC').AsString; V := copy(N, 1, N.Length - 1); D := copy(N, N.Length, 1); Value := FDSServico.FieldByName('AGENCIA_CCR').AsString + '/' + FDSServico.FieldByName('CARTEIRA_SER').AsString + '/' + V + '-' + D; end else Value := frxDBReceber.DataSet.FieldByName('NOSSO_NUM_FORMATADO_REC').AsString; end else if VN = 'ACEITE' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); Value := FDSServico.FieldByName('ACEITE_SER').AsString; end else if VN = 'CARTEIRA' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); Value := FDSServico.FieldByName('CARTEIRA_SER').AsString end else if VN = 'LOCAL_PAGAMENTO' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); Value := FDSServico.FieldByName('LOCAL_PAGAMENTO_SER').AsString end else if VN = 'CEDENTE_CNPJ_CPF' then begin PosicionaServico(frxDBReceber.DataSet.FieldByName('SERVICO_BANCARIO_REC').AsInteger); Value := TFuncoesString.FormataCnpjCpf(FDSServico.FieldByName('CNPJ_CPF_CCR').AsString) end else if VN = 'CEDENTE_ENDERECO' then Value := fSecaoAtual.Empresa.Endereco + ' ' + fSecaoAtual.Empresa.NumeroEndereco + ' ' + fSecaoAtual.Empresa.Bairro + ' ' + TFuncoesString.FormataCEP(fSecaoAtual.Empresa.CEP) + ' ' + fSecaoAtual.Empresa.Cidade.Nome_Cid + '-' + fSecaoAtual.Empresa.Cidade.UF_Cid else if VN = 'CPF' then Value := TFuncoesString.FormataCnpjCpf( ifThen(TFuncoesString.SoNumero(frxDBReceber.DataSet.FieldByName('CPF_CLI').AsString) = '', frxDBReceber.DataSet.FieldByName('CNPJ_CLI').AsString, frxDBReceber.DataSet.FieldByName('CPF_CLI').AsString)) else if VN = 'VALOR_DESCONTO' then Value := 0 // EditValorDesc.Value else if VN = 'OUTROS_VALORES' then Value := 0 else begin F := frxDBReceber.DataSet.FindField(VN); if F <> nil then begin Value := F.AsString; // Limpar conteudo if (VN = 'SACADOR_AVALISTA_REC') or (VN = 'CODIGO_AVALISTA') then begin if VarToStr(Value) = '0' then Value := ''; end else if (VN = 'CNPJ_CPF_AVALISTA') and (VarToStr(Value) <> '') then Value := TFuncoesString.FormataCnpjCpf(Value); end; end; end; -
Dúvidas sobre Linha Digitavél Banco Inter
Antonio Gomes replied to Jhonlenon Ribeiro's tópico in ACBrBoleto
Eu já faço a assim tem tempo, uso o acbrboleto, só para gerar esses dados, a impressão é uma minha, personalizada. O que você precisa fazer é alinhar os dados de código de barras e linha digitável manual no fr3. Coisa fácil de resolver. -
Como pegar o Digito do Nosso Número gerado pelo ACBrBoleto?
Antonio Gomes replied to karlouchoa's tópico in ACBrBoleto
qual banco ? -
Correção unit ACBrBancoBancoob.pas layout 240
Antonio Gomes replied to Sandro Andre Reghelin's tópico in ACBrBoleto
Sandro: Essa modificação já foi solicitada por varios aqui, voce precisa alinhar ela com zero passando para a property DigitoVerificadorAgenciaConta dentro do seu sistema. Nem todas agencias estão nessa versão pedindo o zero. @Juliana Tamizou @Sandro Andre Reghelin Atente para esse topico: Sandro: Se seu manual for novo, 2022, posta para gente por favor aqui, preciso ficar de olho nisso, tenho cliente com isso. Dispara o coração a modificação nessa unit desse banco. kkkk -
@Juliana Tamizouencerra o tópico por favor.
-
ficou bacana, assim pode colocar dm ou mandar 99 mesmo...
-
Voce nao colocou modalidade = 01 Confere se repassou esses dados tudo: Carteira: 1 e modalidade: 01 Cedente.Modalidade := 1 no titulo: ATituloNaLista.Carteira:= 01 Sugestão: https://acbr.sourceforge.io/ACBrMonitor/Particularidades.html