Peguei o exemplo de demonstração, e fui gerar a Nota Fiscal e deu a mensagem de erro. Alguém poderia da uma força.
"IS NOT A VALID FLOATING POINT VALUE"
with ACBrNFSe1 do
begin
NotasFiscais.NumeroLote:= '1';
NotasFiscais.Transacao := True;
with NotasFiscais.Add.NFSe do
begin
IdentificacaoRps.Numero := FormatFloat('#########0', StrToInt(NumNFSe));
// Para o provedor ISS.NET em ambiente de Homologação mudar a série para '8'
IdentificacaoRps.Serie := 'UNICA';
// TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );
IdentificacaoRps.Tipo := trRPS;
DataEmissao := Now;
(*
TnfseNaturezaOperacao = ( no1, no2, no3, no4, no5, no6, no7,
no50, no51, no52, no53, no54, no55, no56, no57, no58, no59,
no60, no61, no62, no63, no64, no65, no66, no67, no68, no69,
no70, no71, no72, no78, no79,
no101, no111, no121, no201, no301,
no501, no511, no541, no551, no601, no701 );
*)
NaturezaOperacao := no1;
// TnfseRegimeEspecialTributacao = ( retNenhum, retMicroempresaMunicipal, retEstimativa, retSociedadeProfissionais, retCooperativa, retMicroempresarioIndividual, retMicroempresarioEmpresaPP );
// RegimeEspecialTributacao := retNenhum;
RegimeEspecialTributacao := retEstimativa;
// TnfseSimNao = ( snSim, snNao );
OptanteSimplesNacional := snNao;
// TnfseSimNao = ( snSim, snNao );
IncentivadorCultural := snNao;
// TnfseSimNao = ( snSim, snNao );
// snSim = Ambiente de Produção
// snNao = Ambiente de Homologação
Producao := snNao;
// TnfseStatusRPS = ( srNormal, srCancelado );
Status := srNormal;
// Somente Os provedores Betha, FISSLex e SimplISS permitem incluir no RPS
// a TAG: OutrasInformacoes os demais essa TAG é gerada e preenchida pelo
// WebService do provedor.
OutrasInformacoes := 'Pagamento a Vista';
// Usado quando o RPS for substituir outro
// RpsSubstituido.Numero := FormatFloat('#########0', i);
// RpsSubstituido.Serie := 'UNICA';
// TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );
/// RpsSubstituido.Tipo := trRPS;
Servico.Valores.ValorServicos := 1685.50;
Servico.Valores.ValorDeducoes := 0.00;
Servico.Valores.ValorPis := 0.00;
Servico.Valores.ValorCofins := 0.00;
Servico.Valores.ValorInss := 0.00;
Servico.Valores.ValorIr := 0.00;
Servico.Valores.ValorCsll := 0.00;
// TnfseSituacaoTributaria = ( stRetencao, stNormal, stSubstituicao );
// stRetencao = snSim
// stNormal = snNao
// Neste exemplo não temos ISS Retido ( stNormal = Não )
// Logo o valor do ISS Retido é igual a zero.
Servico.Valores.IssRetido := stNormal;
Servico.Valores.ValorIssRetido := 0.00;
Servico.Valores.OutrasRetencoes := 0.00;
Servico.Valores.DescontoIncondicionado := 0.00;
Servico.Valores.DescontoCondicionado := 0.00;
Servico.Valores.BaseCalculo := Servico.Valores.ValorServicos -
Servico.Valores.ValorDeducoes -
Servico.Valores.DescontoIncondicionado;
// No caso do provedor Ginfes devemos informar a aliquota já dividida por 100
// para outros provedores devemos informar por exemplo 3, mas ao fazer o calculo
// do valor do ISS devemos dividir por 100
Servico.Valores.Aliquota := 2;
// Valor do ISS calculado multiplicando-se a base de calculo pela aliquota
ValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota / 100;
// A função RoundTo5 é usada para arredondar valores, sendo que o segundo
// parametro se refere ao numero de casas decimais.
// exemplos: RoundTo5(50.532, -2) ==> 50.53
// exemplos: RoundTo5(50.535, -2) ==> 50.54
// exemplos: RoundTo5(50.536, -2) ==> 50.54
Servico.Valores.ValorIss := ValorISS -2;
Servico.Valores.ValorLiquidoNfse := Servico.Valores.ValorServicos -
Servico.Valores.ValorPis -
Servico.Valores.ValorCofins -
Servico.Valores.ValorInss -
Servico.Valores.ValorIr -
Servico.Valores.ValorCsll -
Servico.Valores.OutrasRetencoes -
Servico.Valores.ValorIssRetido -
Servico.Valores.DescontoIncondicionado -
Servico.Valores.DescontoCondicionado;
// TnfseResponsavelRetencao = ( ptTomador, rtPrestador );
Servico.ResponsavelRetencao := ptTomador;
Servico.ItemListaServico := '14.01';
// Para o provedor ISS.NET em ambiente de Homologação
// o Codigo CNAE tem que ser '6511102'
// Servico.CodigoCnae := '123'; // Informação Opcional
Servico.CodigoTributacaoMunicipio := '3314799';
Servico.Discriminacao := 'discriminacao I;discriminacao II';
// Para o provedor ISS.NET em ambiente de Homologação
// o Codigo do Municipio tem que ser '999'
Servico.CodigoMunicipio := dba.qryEmpresa.FieldByName('EMPRESA_COD_MUNICIPIO').AsString;;
// Informar A Exigibilidade ISS para fintelISS [1/2/3/4/5/6/7]
Servico.ExigibilidadeISS := exiExigivel;
// Informar para Saatri
Servico.CodigoPais := 1058; // Brasil
Servico.MunicipioIncidencia := StrToIntDef(dba.qryEmpresa.FieldByName('EMPRESA_COD_MUNICIPIO').AsString, 0);
// Somente o provedor SimplISS permite infomar mais de 1 serviço
with Servico.ItemServico.Add do
begin
Descricao := 'SERVICO 1';
Quantidade := 1;
ValorUnitario := 15.00;
end;
//EMPRESA_ID, EMPRESA_NOME, EMPRESA_ENDERECO, EMPRESA_COMPLEMENTO, EMPRESA_BAIRRO, EMPRESA_CIDADE, EMPRESA_CEP, EMPRESA_ESTADO, EMPRESA_TELEFONE, EMPRESA_FAX, EMPRESA_EMAIL, EMPRESA_HOMEPAGE, EMPRESA_SMTP, EMPRESA_FTP, EMPRESA_DIRFOTOS, EMPRESA_USER, EMPRESA_PASS, EMPRESA_CNPJ, EMPRESA_CRECI, EMPRESA_RESPONSAVEL, EMPRESA_CPF, EMPRESA_LOGOTIPO, EMPRESA_NOME1, EMPRESA_NOME2, EMPRESA_NOME3, EMPRESA_NOME4, EMPRESA_NOME5, EMPRESA_TELEFONE1)
Prestador.Cnpj := dba.qryEmpresa.FieldByName('EMPRESA_CNPJ').AsString;
Prestador.InscricaoMunicipal := dba.qryEmpresa.FieldByName('EMPRESA_INSCRICAO').AsString;
// Para o provedor ISSDigital deve-se informar também:
Prestador.Senha := 'senha';
Prestador.FraseSecreta := 'frase secreta';
Prestador.cUF := 33;
PrestadorServico.Endereco.CodigoMunicipio := dba.qryEmpresa.FieldByName('EMPRESA_COD_MUNICIPIO').AsString;
PrestadorServico.RazaoSocial := dba.qryEmpresa.FieldByName('EMPRESA_NOME').AsString;
Tomador.IdentificacaoTomador.CpfCnpj := dba.qryEmpresa.FieldByName('EMPRESA_CNPJ').AsString; // '99999999000191';
Tomador.IdentificacaoTomador.InscricaoMunicipal := dba.qryEmpresa.FieldByName('EMPRESA_INSCRICAO').AsString; // '17331600';
Tomador.RazaoSocial := dba.qryEmpresa.FieldByName('EMPRESA_NOME').AsString; // 'INSCRICAO DE TESTE';
Tomador.Endereco.Endereco := 'RUA PRINCIPAL';
Tomador.Endereco.Numero := '100';
Tomador.Endereco.Complemento := 'APTO 11';
Tomador.Endereco.Bairro := 'CENTRO';
Tomador.Endereco.CodigoMunicipio := '999'; //edtCodCidade.Text;
Tomador.Endereco.UF := 'SP'; //edtEmitUF.Text;
Tomador.Endereco.CodigoPais := 1058; // Brasil
Tomador.Endereco.CEP := '14400-520'; //edtEmitCEP.Text;
//Provedor Equiplano é obrigatório o pais e IE
Tomador.Endereco.xPais := 'BRASIL';
Tomador.IdentificacaoTomador.InscricaoEstadual := '123456';
Tomador.Contato.Telefone := '1122223333';
Tomador.Contato.Email := '
[email protected]';
// Usado quando houver um intermediario na prestação do serviço
// IntermediarioServico.RazaoSocial := 'razao';
// IntermediarioServico.CpfCnpj := '00000000000';
// IntermediarioServico.InscricaoMunicipal := '12547478';
// Usado quando o serviço for uma obra
// ConstrucaoCivil.CodigoObra := '88888';
// ConstrucaoCivil.Art := '433';
end;
NotasFiscais.GerarNFSe;
NotasFiscais.GravarXML(ExtractFileDir(application.ExeName)+NotasFiscais.NumeroLote+'-NFe.xml');
end;