GAVOHA Postado 7 Abril Postado 7 Abril Senhores, Preciso fazer essa inclusão no meu emissor de NFSe. Tentei usar esse exemplo, mas sem sucesso: (não sei ao certo se são os corretos - com certeza fiz algo errado mas nao estou localizando o erro) [dcc32 Error] uFuncoes.pas(206): E2003 Undeclared identifier: 'NotaFiscal' uses ACBrNFeNotasFiscais, ACBrNFe.Classes; \\... var NotaF: NotaFiscal; IBSCBSTot: TIBSCBSTot; begin NotaF := ACBrNFe.NotasFiscais.Add; IBSCBSTot := NotaF.Total.IBSCBSTot; IBSCBSTot.vBCIBSCBS := 100; IBSCBSTot.gIBS.vIBS := 100; IBSCBSTot.gIBS.vCredPres := 100; IBSCBSTot.gIBS.vCredPresCondSus := 100; IBSCBSTot.gIBS.gIBSUFTot.vDif := 100; IBSCBSTot.gIBS.gIBSUFTot.vDevTrib := 100; IBSCBSTot.gIBS.gIBSUFTot.vIBSUF := 100; IBSCBSTot.gIBS.gIBSMunTot.vDif := 100; IBSCBSTot.gIBS.gIBSMunTot.vDevTrib := 100; IBSCBSTot.gIBS.gIBSMunTot.vIBSMun := 100; NotaF.Total.vNFTot := 100; //Demais dados... end; e esse uses ACBrNFeNotasFiscais, ACBrNFe.Classes; \\... var NotaF: NotaFiscal; IBSCBSTot: TIBSCBSTot; begin NotaF := ACBrNFe.NotasFiscais.Add; IBSCBSTot := NotaF.Total.ISTot; IBSCBSTot.vBCIBSCBS := 100; IBSCBSTot.gCBS.vDif := 100; IBSCBSTot.gCBS.vDevTrib := 100; IBSCBSTot.gCBS.vCBS := 100; IBSCBSTot.gCBS.vCredPres := 100; IBSCBSTot.gCBS.vCredPresCondSus := 100; NotaF.Total.vNFTot := 100; //Demais dados... end; Esse é objetivo
Consultores Juliomar Marchetti Postado 14 Abril Consultores Postado 14 Abril Em 07/04/2026 at 09:37, GAVOHA disse: Tentei usar esse exemplo, mas sem sucesso: (não sei ao certo se são os corretos - com certeza fiz algo errado mas nao estou localizando o erro) [dcc32 Error] uFuncoes.pas(206): E2003 Undeclared identifier: 'NotaFiscal' não está achando a uses que tem a declaração dessa classe Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
GAVOHA Postado 22 Abril Autor Postado 22 Abril Em 14/04/2026 at 15:36, Juliomar Marchetti disse: não está achando a uses que tem a declaração dessa classe Obrigado por responder..! Quais devo declarar?
Consultores Juliomar Marchetti Postado 22 Abril Consultores Postado 22 Abril Em 07/04/2026 at 09:37, GAVOHA disse: [dcc32 Error] uFuncoes.pas(206): E2003 Undeclared identifier: 'NotaFiscal' olha ele quer ver essa classe que está na unit abaixo tu sempre pode usar a pesquisa do código fonte pra achar as classes Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
GAVOHA Postado 22 Abril Autor Postado 22 Abril 2 horas atrás, Juliomar Marchetti disse: olha ele quer ver essa classe que está na unit abaixo tu sempre pode usar a pesquisa do código fonte pra achar as classes ...desculpe a ignorancia.. mas indififere se for ACBrNFSeX ou ACBrNFSe?
Consultores Juliomar Marchetti Postado 22 Abril Consultores Postado 22 Abril 1 hora atrás, GAVOHA disse: ...desculpe a ignorancia.. mas indififere se for ACBrNFSeX ou ACBrNFSe? agora que falou notei uma coisa. tu escreveu no subforum NFSe , suas units e seu código estão de NFe. olhe bem. então sim tem diferença e tente não misturar os dois componentes tenha units e metodos separados Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
GAVOHA Postado 22 Abril Autor Postado 22 Abril 3 minutos atrás, Juliomar Marchetti disse: agora que falou notei uma coisa. tu escreveu no subforum NFSe , suas units e seu código estão de NFe. olhe bem. então sim tem diferença e tente não misturar os dois componentes tenha units e metodos separados Eu achei que seria apenas acrescentar no mesmo código e emissão da NFSe as informações referentes a ibs e cbs. Que seria apenas calcular e informar junto ao Total, por exemplo: // Cálculo IBS/CBS with CondicaoPagamento.Parcelas.New do begin Parcela := '1'; DataVencimento := Date + (30 * 1); Valor := (Servico.Valores.ValorLiquidoNfse / CondicaoPagamento.QtdParcela); vlr_ := Valor; end; vlr_ := vlr_ + DM.qryNFMestreIRRF.AsCurrency; ibs_ := RoundTo((vlr_ * 0.001), -2); cbs_ := RoundTo((vlr_ * 0.009), -2); IBSCBSTot.vBCIBSCBS := vlr_; IBSCBSTot.gIBS.vIBS := ibs_; IBSCBSTot.gCBS.vCBS := cbs_; Muito errado?
Consultores Juliomar Marchetti Postado 22 Abril Consultores Postado 22 Abril 1 hora atrás, GAVOHA disse: Eu achei que seria apenas acrescentar no mesmo código e emissão da NFSe as informações referentes a ibs e cbs. Que seria apenas calcular e informar junto ao Total, por exemplo: // Cálculo IBS/CBS with CondicaoPagamento.Parcelas.New do begin Parcela := '1'; DataVencimento := Date + (30 * 1); Valor := (Servico.Valores.ValorLiquidoNfse / CondicaoPagamento.QtdParcela); vlr_ := Valor; end; vlr_ := vlr_ + DM.qryNFMestreIRRF.AsCurrency; ibs_ := RoundTo((vlr_ * 0.001), -2); cbs_ := RoundTo((vlr_ * 0.009), -2); IBSCBSTot.vBCIBSCBS := vlr_; IBSCBSTot.gIBS.vIBS := ibs_; IBSCBSTot.gCBS.vCBS := cbs_; Muito errado? mas tu está usando NFSe ou NFe? pois cada um é um documento fiscal diferente Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
GAVOHA Postado 22 Abril Autor Postado 22 Abril 28 minutos atrás, Juliomar Marchetti disse: mas tu está usando NFSe ou NFe? pois cada um é um documento fiscal diferente NFSe
Consultores Juliomar Marchetti Postado 22 Abril Consultores Postado 22 Abril ótimo então agora vai ao exemplo em trunk2/exemplos/ACbrDFe/ACBrNFSeX/Delphi e é com o componente TACBrNFSeX lembrando tu emite o DPS(ou RPS) envia ao projeto nacional ou ao provedor e eles retornam a NFSE dito isso é no exemplo que temos: Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
GAVOHA Postado 23 Abril Autor Postado 23 Abril 14 horas atrás, Juliomar Marchetti disse: ótimo então agora vai ao exemplo em trunk2/exemplos/ACbrDFe/ACBrNFSeX/Delphi e é com o componente TACBrNFSeX lembrando tu emite o DPS(ou RPS) envia ao projeto nacional ou ao provedor e eles retornam a NFSE dito isso é no exemplo que temos: Beleza.. Ficou assim: procedure TDMNF.GerarNOta(pNumNF: integer); var vNumLote, vServicos, sFuncao, sValor, sDescricaoNota, sNomeSetor : String; vValorISS: Double; vRetido: boolean; iCodigoSetor : integer; IBSCBSTot: TIBSCBSTot; vlr_, ibs_, cbs_: Double; begin vRetido := False; vServicos := EmptyStr; vNumLote := DM.qryNFMestreID.AsString.Trim; try with ACBrNFSe do begin NotasFiscais.Clear; NotasFiscais.NumeroLote := vNumLote; with NotasFiscais.New.NFSe do begin IdentificacaoRps.Numero := IntToStr(pNumNF); IdentificacaoRps.Serie := '1'; // NumeroLote := vNumLote; // trRPS, trNFConjugada, trCupom; IdentificacaoRps.Tipo := trRPS; DataEmissao := now; Competencia := Now; NaturezaOperacao := no1; // retNenhum, retMicroempresaMunicipal, retEstimativa, retSociedadeProfissionais, retCooperativa, retMicroempresarioIndividual, retMicroempresarioEmpresaPP ); IncentivadorCultural := snnao; if DM.qryEmpresaNotaFiscalRegimeTributario.Value = 3 then RegimeEspecialTributacao := retNenhum else RegimeEspecialTributacao := retMicroempresarioEmpresaPP ; if DM.qryEmpresaNotaFiscalRegimeTributario.Value = 3 then OptanteSimplesNacional := snNao else OptanteSimplesNacional := snSim; //--------------- TIPO DE AMBIENTE === Producao := snSim; //--------------- StatusRps := srNormal; //---- IBPT Servico.FonteCargaTributaria := 'IBPT'; Servico.PercentualCargaTributaria := 16.23; Servico.ValorCargaTributaria := DM.qryNFMestreIBPT.AsCurrency; //---- Servico.Valores.ValorServicos := dm.qryNFMestreSubtotal.AsCurrency; Servico.Valores.ValorDeducoes := 0; Servico.Valores.ValorPis := dm.qryNFMestrePIS.AsCurrency ; Servico.Valores.ValorCofins := dm.qryNFMestreCOFINS.AsCurrency ; Servico.Valores.ValorInss := 0 ; Servico.Valores.ValorIr := dm.qryNFMestreIRRF.AsCurrency ; Servico.Valores.ValorCsll := dm.qryNFMestreCSLL.AsCurrency ; if DM.qryNFMestreISS.Value > 0 then vRetido := true else vRetido := false; if vRetido = True then begin Servico.Valores.IssRetido := stRetencao; Servico.ResponsavelRetencao := rtTomador; end else Servico.Valores.IssRetido := stNormal; 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; Servico.Valores.Aliquota := DM.qryNFClienteDadosNFPorcentagemISS.Value; if Servico.Valores.IssRetido = stNormal then begin if OptanteSimplesNacional = snSim then vValorISS := 0 else vValorISS := (Servico.Valores.BaseCalculo * Servico.Valores.Aliquota) / 100; Servico.Valores.ValorIss := vValorISS; Servico.Valores.ValorIssRetido := 0.00; end else begin vValorISS := ACBrUtil.RoundABNT(Servico.Valores.BaseCalculo * Servico.Valores.Aliquota, 2) / 100; Servico.Valores.ValorIssRetido := vValorISS; Servico.Valores.ValorIss := vValorISS; end; 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; Servico.ItemListaServico := '06491' ;// '5134'; //-- CFOP da Funcao Servico.ResponsavelRetencao := rtPrestador; // Codigo do Municipio Servico.CodigoMunicipio := '3550308'; Servico.CodigoTributacaoMunicipio := DM.qryEmpresaNotaFiscalCodTribMun.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 := DM.qryEmpresaNotaFiscalCodTribMun.Value; //--Dados Detalhe DM.ListarNotaFiscalDetalhe(DM.qryListaNFNumeroNF.Value); DM.qryNFDetalhe.First; sDescricaoNota := ''; sNomeSetor := ''; iCodigoSetor := Dm.qryNFMestreIDSetor.Value; if iCodigoSetor > 0 then begin DM.ListarSetor(iCodigoSetor); sNomeSetor := '/ SETOR ' +DM.qrySetorDescricao.Text ; end; sDescricaoNota := 'SERVICOS PRESTADOS ' + sNomeSetor +#13+#13 ; sDescricaoNota := sDescricaoNota + 'VENCIMENTO ' + dm.qryNFMestreDtVencimento.Text + #13+#13; sDescricaoNota := sDescricaoNota + 'VALOR LIQ ' + FormatFloat('0.00', dm.qryNFMestreTotal.AsFloat)+#13+#13; sDescricaoNota := sDescricaoNota + 'VALOR APROXIMADO DOS TRIBUTOS / FONTE IBPT CHAVE OC3829 - TRIBUTAÇÃO FEDERAL 13,45% E TRIBUTAÇÃO MUNICIPAL 2,78%' + #13; // CNAE Servico.CodigoCnae := ACBrUtil.OnlyNumber(DM.qryEmpresaNotaFiscalCNAE.AsString); Servico.Discriminacao := '"' + sDescricaoNota + '"'; Servico.ItemServico.Add.Descricao := '"' + sDescricaoNota + '"'; vServicos := DM.qryNFMestreSubtotal.AsString.Trim + #13 + #10; // Dados do Prestador Prestador.IdentificacaoPrestador.Cnpj := ACBrUtil.OnlyNumber(DM.qryEmpresaCNPJ.Value); Prestador.IdentificacaoPrestador.InscricaoMunicipal := ACBrUtil.OnlyNumber(DM.qryEmpresaInscEstadual.Value); // Para o provedor ISSDigital deve-se informar também: Prestador.cUF := 3550308; // Tomador Tomador.IdentificacaoTomador.CpfCnpj := ACBrUtil.OnlyNumber(TiraPontos(DM.qryNFClienteCNPJ.AsString.Trim)); Tomador.IdentificacaoTomador.InscricaoMunicipal := ACBrUtil.OnlyNumber(TiraPontos(DM.qryNFClienteIM.AsString.Trim)); Tomador.RazaoSocial := DM.qryNFClienteRazao.AsString.Trim; Tomador.Endereco.Endereco := DM.qryNFClienteENDERECO.AsString.Trim; Tomador.Endereco.Numero := DM.qryNFClienteNumEndereco.AsString.Trim; Tomador.Endereco.Complemento := DM.qryNFClienteCOMPLEMENTO.AsString.Trim; Tomador.Endereco.Bairro := DM.qryNFClienteBAIRRO.AsString.Trim; Tomador.Endereco.CodigoMunicipio := '3550308'; Tomador.Endereco.UF := DM.qryNFClienteUF.AsString.Trim; Tomador.Endereco.CodigoPais := 1058; Tomador.Endereco.xPais := 'BRASIL'; Tomador.Endereco.CEP := ACBrUtil.OnlyNumber(DM.qryNFClienteCEP.AsString.Trim); Tomador.IdentificacaoTomador.CpfCnpj := ACBrUtil.OnlyNumber(TiraPontos(DM.qryNFClienteCNPJ.AsString.Trim)); Tomador.IdentificacaoTomador.InscricaoEstadual := ACBrUtil.OnlyNumber(DM.qryNFClienteIE.AsString.Trim); Tomador.Contato.Telefone := ACBrUtil.OnlyNumber(DM.qryNFClienteTel1.AsString.Trim); Tomador.Contato.Email := DM.qryNFClienteEmail.AsString.Trim; Tomador.AtualizaTomador := snNao; Tomador.TomadorExterior := snNao; CondicaoPagamento.QtdParcela := 1; CondicaoPagamento.Condicao := cpAVista; with CondicaoPagamento.Parcelas.New do begin Parcela := '1'; DataVencimento := Date + (30 * 1); Valor := (Servico.Valores.ValorLiquidoNfse / CondicaoPagamento.QtdParcela); vlr_ := Valor; end; // Cálculo IBS/CBS vlr_ := vlr_ + DM.qryNFMestreIRRF.AsCurrency; ibs_ := RoundTo((vlr_ * 0.001), -2); cbs_ := RoundTo((vlr_ * 0.009), -2); IBSCBSTot.vBCIBSCBS := vlr_; IBSCBSTot.gIBS.vIBS := ibs_; IBSCBSTot.gCBS.vCBS := cbs_; end; end; frmListaNotaFiscal.MemoDados.Lines.Add('NFSe montada com sucesso.'); except on E: Exception do begin frmListaNotaFiscal.MemoDados.Lines.Add('Erro ao montar NFSe: ' + E.Message); GravarLogErro(E.Message); end; end; end; ...mas não consegui enviar e não estou conseguindo achar o erro
GAVOHA Postado 23 Abril Autor Postado 23 Abril Vendo outros post por aqui.. corrigi alguns campos. Mas agora permanece o seguinte erro: Mensagem: Erro de Validação: --> 1871 - Element 'IBSCBS': This element is not expected. Expected is one of ( CodigoCEI, MatriculaObra, MunicipioPrestacao, NumeroEncapsulamento, ValorTotalRecebido ). //--- Reforma trib tentativa 2 IBSCBS.finNFSe := fnfsRegular; IBSCBS.indFinal := ifNao; IBSCBS.cIndOp := '100301'; IBSCBS.tpOper := togNenhum; IBSCBS.tpEnteGov := tcgNenhum; IBSCBS.valores.trib.gIBSCBS.CST := cst000; IBSCBS.valores.trib.gIBSCBS.cClassTrib := '000001'; IBSCBS.valores.trib.gIBSCBS.cCredPres := cpNenhum; IBSCBS.valores.trib.gIBSCBS.gTribRegular.CSTReg := cstNenhum; IBSCBS.valores.trib.gIBSCBS.gTribRegular.cClassTribReg := ''; //-- Fim tentativa 2
GAVOHA Postado 24 Abril Autor Postado 24 Abril Alguém poderia me ajudar ou me informar onde posso ter mais informações sobre essas mudanças?
GAVOHA Postado 27 Abril Autor Postado 27 Abril Em 22/04/2026 at 20:07, Juliomar Marchetti disse: ótimo então agora vai ao exemplo em trunk2/exemplos/ACbrDFe/ACBrNFSeX/Delphi e é com o componente TACBrNFSeX lembrando tu emite o DPS(ou RPS) envia ao projeto nacional ou ao provedor e eles retornam a NFSE dito isso é no exemplo que temos: Eu consigo emitir a NFSe normalmente, mas quando acrescento os iten de CBS / IBS me retorna erro. Refis o código com base nos modelos que vi aqui no forum e dúvida de outros colegas, mas continua a não reconhecer vBCIBS, pAliqIBS, vIBS, vBCCBS, pAliqCBS, vCBS, vTotReceb Por favor, o que estou fazendo de errado? GerarNota3.txt
GAVOHA Postado 5 Maio Autor Postado 5 Maio Por favor, alguém poderia me dar uma luz? (mais uma vez infelizmente não tenho ajuda do contador da empresa do meu cliente)
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora