Ir para conteúdo
  • Cadastre-se

João Paulo F. Bellucci

Membros
  • Total de ítens

    110
  • Registro em

  • Última visita

Tudo que João Paulo F. Bellucci postou

  1. Acabei de baixar os fontes e esta dando este erro ao Instalar. D:\Fontes\Componentes\ACBr\Fontes\ACBrDFe\ACBrDFeOpenSSL.pas(608) Error: E2003 Undeclared identifier: 'X509GetExt' D:\Fontes\Componentes\ACBr\Fontes\ACBrDFe\ACBrDFeSSL.pas(2089) Fatal: F2063 Could not compile used unit 'ACBrDFeOpenSSL.pas' Compilation failure
  2. Valeu Daniel, vou ver aqui, quando sobrar um tempo se mudo as chamadas das DLLs para dinâmico.
  3. Ao gerar o arquivo remessa 400 do SICOOB BANCOOB não esta indo os valores de data do desconto e valor do desconto. Fiz a correção no meu fonte vou deixar em anexo aqui a correção. Qualquer dúvida estou a disposição. ACBrBancoBancoob.zip
  4. Estou tendo problemas para embutir as DLLs do OpenSLL no EXE pois elas estão declaradas estaticamente no projeto fazendo a exigência da instalação das DLLs antes da execução do programa. Está previsto alteração no modo da leitura dessas DLLs para dinâmico?
  5. Acabei de atualizar o trunk2 e esta dando erro ao compilar o SPED. D:\Fontes\Componentes\ACBr\Fontes\ACBrTXT\ACBrSPED\ACBrSPEDPisCofins\ACBrEPCBloco_0_Class.pas(712) Error: E2250 There is no overloaded version of 'IfThen' that can be called with these arguments ACBr_SPED.dpk(67) Fatal: F2063 Could not compile used unit 'ACBrEPCBloco_0_Class.pas' Compilation failure
  6. Ok, vou dar uma olhada no demo. Muito Obrigado.
  7. Boa Tarde, na versão anterior Trunk da NFe exista a possibilidade de selecionar o certificado pela chamada "NFe.Configuracoes.Certificados.SelecionarCertificado" notei que agora no Trunk2 essa função não exite mais. Existe alguma outra maneira de chamar essa função?
  8. De acordo com o Guia nada Prático EFD-PIS/COFINS - Versão 1.20 agora o registro C870 deve conter o campo VL_DESC fiz uma alteração no fonte do ACBr para aceitar este campo. Segue em anexo os fontes com a alteração. Qualquer dúvida estou a disposição. Abraços. PisCofins.zip
  9. Modifica arquivo remessa CNAB400 para preencher os campos de informações de desconto que não estavam sendo informados. Segue o código modificado: { Data do Primeiro Desconto} if ( DataDesconto <> 0 ) then strDataDesconto := FormatDateTime('ddmmyy', DataDesconto) else strDataDesconto := IntToStrZero(0, 6); { Valor do Primeiro Desconto} if ( ValorDesconto <> 0 ) then strValorDesconto := IntToStrZero( Round( ValorDesconto * 100 ), 13) else strValorDesconto := IntToStrZero(0, 13); with ACBrBoleto do begin MensagemCedente:= ''; for I:= 0 to Mensagem.count-1 do MensagemCedente:= MensagemCedente + trim(Mensagem); if length(MensagemCedente) > 40 then MensagemCedente:= copy(MensagemCedente,1,40); wLinha:= '1' + // ID Registro TipoCedente + // Identificação do Tipo de Inscrição do Sacado 01 - CPF 02 - CNPJ padR(onlyNumber(Cedente.CNPJCPF),14,'0') + // Número de Inscrição do Cedente padR(OnlyNumber(Cedente.Agencia), 4, '0') + // Agência padR( Cedente.AgenciaDigito, 1, '0') + // Agência digito padR( OnlyNumber(Cedente.Conta) + // Conta Corrente Cedente.ContaDigito, 9, '0') + // Dígito Conta Corrente padR( '0', 6, '0') + // Número do Convênio de Cobrança do Cedente fixo zeros: "000000" Space(25) + // Brancos padR( NossoNumero + DigitoNossoNumero, 12, '0') + // Nosso Número + //nosso numero com digito IntToStrZero(ifthen(Parcela > 0, Parcela,1),2) + // Número da Parcela: "01" se parcela única '00' + // Grupo de Valor: "00" Space(3) + // Brancos Space(1) + // Indicativo de Mensagem ou Sacador/Avalista: Space(3) + // Brancos IntToStrZero( 0, 3) + // Variação da Carteira: "000" IntToStrZero( 0, 1) + // Conta Caução: "0" IntToStrZero( 0, 5) + // Código de responsabilidade: "00000" IntToStrZero( 0, 1) + // DV do código de responsabilidade: "0" IntToStrZero( 0, 6) + // Numero do borderô: “000000” Space(4) + // Brancos wRespEntrega + // Tipo de Emissão 1-Cooperativa - 2-Cliente padR( trim(Cedente.Modalidade), 2, '0') + // Carteira/Modalidade Ocorrencia + // Ocorrencia (remessa) padL(trim(NumeroDocumento), 10) + // Número do Documento FormatDateTime( 'ddmmyy', Vencimento) + // Data de Vencimento do Título IntToStrZero( Round( ValorDocumento * 100 ), 13) + // Valor do Título IntToStrZero( Banco.Numero, 3) + // Número Banco: "756" padR(OnlyNumber(Cedente.Agencia), 4, '0') + // Prefixo da Agência Cobradora: “0000” padR( Cedente.AgenciaDigito, 1, ' ') + // Dígito Verificador do Prefixo da Agência Cobradora: Brancos padL(aEspecie,2) + // Espécie do Título ATipoAceite + // Identificação FormatDateTime( 'ddmmyy', DataDocumento ) + // 32 Data de Emissão padR(AInstrucao1, 2, '0') + // 33 Primeira instrução (SEQ 34) = 00 e segunda (SEQ 35) = 00, não imprime nada. padR(AInstrucao2, 2, '0') + // 34 Primeira instrução (SEQ 34) = 00 e segunda (SEQ 35) = 00, não imprime nada. IntToStrZero( Round( (ValorMoraJuros * 30) *10000 ), 6) + // Taxa de mora mês IntToStrZero( Round( PercentualMulta * 10000 ), 6) + // Taxa de multa wRespEntrega + // Responsabilidade Distribuição strDataDesconto + // Data do Primeiro Desconto, Preencher com zeros quando não for concedido nenhum desconto. strValorDesconto + // Valor do Primeiro Desconto, Preencher com zeros quando não for concedido nenhum desconto. IntToStrZero( 9 , 1) + // MOEDA 9 BRASIL IntToStrZero( 0, 12) + // Valor IOF / Quantidade Monetária: "0000000000000" IntToStrZero( 0, 13) + // Valor Abatimento TipoSacado + // Tipo de Inscrição do Sacado: 01 - CPF 02 - CNPJ padR(onlyNumber(Sacado.CNPJCPF),14,'0') + // Número de Inscrição do Sacado padL( Sacado.NomeSacado, 40, ' ') + // Nome do Sacado padL( Sacado.Logradouro +' '+ Sacado.Numero,37,' ') + // Endereço Completo padL( Sacado.Bairro,15,' ') + // Endereço Bairro padL( Sacado.CEP,8,' ') + // Endereço CEP padL( Sacado.Cidade,15,' ') + // Endereço cidade padL( Sacado.UF,2,' ') + // Endereço uf padL( trim(MensagemCedente) ,40,' ') + // Observações/Mensagem ou Sacador/Avalista: DiasProtesto + // Número de Dias Para Protesto Space(1) + // Brancos IntToStrZero( aRemessa.Count + 1, 6 ); // Contador de Registros; aRemessa.Text:= aRemessa.Text + UpperCase(wLinha); end; end; ACBrBancoBancoob.zip
  10. Só testei com SAT da DIMEP ainda e não tive problemas. Assim que chegar o kit desenvolvimento Sweda aqui essa semana vou testar.
  11. Ok, qualquer novidade informe aqui neste tópico.
  12. De acordo com o manual do SAT não saiu nenhuma regra diferente para a exibição dos tributos para ele ainda. Estou fazendo o CFe de acordo com a norma do SAT seguindo o modelo. Mas não tenho conhecimento ainda se será alterado para a Lei de "Olho no Imposto".
  13. Erro ao validar o campo CNPJ_CPF quando o mesmo estiver preenchido com CPF. A rotina esta sempre preenchendo com 14 dígitos para resolver tive que altera a função. Antes da correção: Add( LFill('C800') + LFill( COD_MOD,2 ) + LFill( strCOD_SIT ) + LFill( NUM_CFE,6 ) + LFill( DT_DOC, 'ddmmyyyy', booNFCancelada ) + LFill( VL_CFE,0,2, booNFCancelada ) + LFill( VL_PIS,0,2, booNFCancelada ) + LFill( VL_COFINS,0,2, booNFCancelada ) + LFill( CNPJ_CPF, 14, True ) + LFill( NR_SAT,9 ) + LFill( CHV_CFE ) + LFill( VL_DESC,0,2, booNFCancelada ) + LFill( VL_MERC,0,2, booNFCancelada ) + LFill( VL_OUT_DA,0,2, booNFCancelada ) + LFill( VL_ICMS,0,2, booNFCancelada ) + LFill( VL_PIS_ST,0,2, booNFCancelada ) + LFill( VL_COFINS_ST,0,2, booNFCancelada ) ) ; Depois da correção: Add( LFill('C800') + LFill( COD_MOD,2 ) + LFill( strCOD_SIT ) + LFill( NUM_CFE,6 ) + LFill( DT_DOC, 'ddmmyyyy', booNFCancelada ) + LFill( VL_CFE,0,2, booNFCancelada ) + LFill( VL_PIS,0,2, booNFCancelada ) + LFill( VL_COFINS,0,2, booNFCancelada ) + LFill( CNPJ_CPF, 0, True ) + LFill( NR_SAT,9 ) + LFill( CHV_CFE ) + LFill( VL_DESC,0,2, booNFCancelada ) + LFill( VL_MERC,0,2, booNFCancelada ) + LFill( VL_OUT_DA,0,2, booNFCancelada ) + LFill( VL_ICMS,0,2, booNFCancelada ) + LFill( VL_PIS_ST,0,2, booNFCancelada ) + LFill( VL_COFINS_ST,0,2, booNFCancelada ) ) ;
  14. Tive o mesmo problema hoje e constatei que essa função não existe no ACBr é um erro mesmo. Fontes\PCN2\pcnGerador.pas(893) Error: E2003 Undeclared identifier: 'PadLeft'
  15. Acredito eu que você terá que falar om o Marlus da Dimep ele já deve ter passado por esse problema. Infelizmente não sei mais o que pode ser. Assim que você conseguir resolver o problema poste aqui para ficar registrado. []s
  16. Você esta fazendo a associação pelo software da Dimep ou pelo seu? Já tentou enviar novamente a chave publica do seu certificado para a Sefaz?
  17. Está correto o tamanho. Sim gerei pelo exemplo da Sefaz.
  18. Utilizo o certificado A3. Quantos bytes a sua assinatura esta retornando?
  19. Provavelmente a assinatura está sendo gerada errada. Aqui consegui sem problemas. O Certificado enviado para o Sefaz é o mesmo utilizado para gerar a assinatura?
  20. Oi Daniel, Os comandos que não funcionaram foram: Alinhar a direita e os comandos para código de barras 39,128, CODABAR e MSI. As configurações para páginas de código funcionaram sim tudo Ok. []s
  21. Fiz os teste segue as fotos das impressões em anexo. A única que deu problema foi a Bematech TM-4000 TH. Se você olhar os fontes que mandei ela tem tratamento especial para alguns código. Obs: A TM-4000 TH não imprime qrCode então é normal que não funcionou. function TACBrESCPOS.GetCodeBar(CodeBar: TACBrCmdESCPPOSCodeBar; Dados: String): AnsiString; var CmdCodBar:AnsiString; nTam:Integer; begin Case CodeBar of cbEAN8 : CmdCodBar := FCmd.FCodeBarEAN8; cbEAN13 : CmdCodBar := FCmd.FCodeBarEAN13; cbSTD25 : CmdCodBar := FCmd.FCodeBarSTD25; cbINTER25 : CmdCodBar := FCmd.FCodeBarINTER25; cbCODE11 : CmdCodBar := FCmd.FCodeBarCODE11; cbCODE39 : CmdCodBar := FCmd.FCodeBarCODE39; cbCODE93 : CmdCodBar := FCmd.FCodeBarCODE93; cbCODE128 : CmdCodBar := FCmd.FCodeBarCODE128; cbUPCA : CmdCodBar := FCmd.FCodeBarUPCA; cbCODABAR : CmdCodBar := FCmd.FCodeBarCODABAR; cbMSI : CmdCodBar := FCmd.FCodeBarMSI; End; if ( FMarcaImpressora = iDaruma ) then begin Result := CmdCodBar + AnsiString(Dados) + FCmd.FCodeBarFim; end else if ( FMarcaImpressora = iBematech ) then begin if CodeBar in [cbCODE128,cbCODE93] then begin nTam := Length(Dados); Result := CmdCodBar + AnsiChar(Chr(nTam)) + AnsiString(Dados); end else begin Result := CmdCodBar + AnsiString(Dados) + FCmd.FCodeBarFim; end; end else if ( FMarcaImpressora = iEpson ) then begin nTam := Length(Dados)+2; Result := CmdCodBar + AnsiChar(Chr(nTam)) + #123 + #66 + AnsiString(Dados); end; end; []s
  22. Daniel ficou muito legal a ideia parabéns! Não consegui fazer compilar com esse fontes, devo estar fazendo alguma coisa de errado, depois vou tentar com mais tempo. Se tiver alguma dica de como compilar esse trunk2 agradeço. Analisando o código verifiquei alguns problemas que passei aqui e vou te passar. function TACBrEscBematech.ComandoQrCode(ACodigo: AnsiString): AnsiString; var cTam1, cTam2: Integer; begin if (Length(ACodigo) > 255) then begin cTam1 := Length(ACodigo) mod 255; cTam2 := Length(ACodigo) div 255; end else begin cTam1 := Length(ACodigo); cTam2 := 0; end; with fpPosPrinter.ConfigQRCode do begin Result := GS + 'kQ' + // Codigo QRCode ETX + chr(12) + chr(LarguraModulo) + chr(ErrorLevel) + chr(cTam1) + chr(cTam2) + ACodigo; end; end; Sempre quando concatenar um AnsiString não é saudável deixar por conta da linguagem a conversão, pois o comando chr() retorna string e ao concatenar AnsiString com String o Delphi não esta fazendo legal isso, tive problemas na hora de fazer a homologação das impressoras aqui, e tinha hora que o qrCode não funcionava e verifiquei que o problema estava no comando chr() que vinha lixo dependendo do valor. Para solucionar deixei explicito a conversão AnsiString(chr()). []s
×
×
  • 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...