Ir para conteúdo
  • Cadastre-se

ROGERIO EDVAR DE SOUZA

Membros
  • Total de ítens

    117
  • Registro em

  • Última visita

Tudo que ROGERIO EDVAR DE SOUZA postou

  1. Boa tarde... * Estou implementando minha aplicação que utiliza ACBrECF para trabalhar com NFCe, para isto estou utilizando os componentes da imagem anexada abaixo (fiz este resumo para facilitar pra mim). * Só que estou com uma dificuldade: Após simular uma "queda de energia", não consigo recuperar as propriedades da NFCe aberta, com seus devidos itens (imagina um CARRINHO de COMPRAS em um SUPERMERCADO com um CAIXA com 100 itens já passados, CAI a ENERGIA e VOLTA, e o NOBREAK está com DEFEITO) * Fiz o seguinte teste, com o programa "C:\ACBR\Exemplos\ACBrSerial\ACBrECF\Delphi\ECFTeste.dpr" que tenho alterado... (a) Abri um "cupom" (ACBrECF.AbreCupom) para iniciar a NFCe (b) Vendi um ITEM (c) AQUI simulo a "queda de energia", então DESATIVEI o ACBrECF e REATIVEI ACBrECF1.Desativar ; ACBrECF1.Ativar ; (d) Tento "Subtotalizar", já ocorre o erro "List Index of Bounds(0)" Observação: CASO eu não desative e reative o objeto, funciona tudo PERFEITAMENTE, posso imprimir a DANFe da NFCe certinho, com desconto, sem desconto no item, com 1 ou mais itens... tudo correto Abaixo as conexões dos componentes ACBr que fiz no meu sistema :
  2. Boa tarde... (podem fechar o tópico) ... - Consegui fazer a alteração, utilizei um software "Superfinder" para encontrar onde tinha sido feita a impressão da REDUÇÃO Z Virtual. - Segue abaixo a alteração, dando minha pequena contribuição ao Fórum, evitando que RZ seja impressa, - Basta substituir o evento dentro de : C:\ACBR\Fontes\ACBrSerial\ACBrECFVirtual.pas pelo que alterei abaixo // 16/04/2029.Carlos : Redução Z da CLASSE VIRTUAL alterada : // Casos: // (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI // ... // (2) Reiniciando valores sem impressão: Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então, // emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora // ... // (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então, // emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora // ... // Units extras que precisei : WIndows{Mb_Ok}, Forms{Appliaction}, Controls{mrNo} , // ... procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ; var A: Integer ; begin GravaLog( ComandoLOG ); // (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI if Estado = estBloqueada then Begin // Como era: raise EACBrECFERRO.Create(ACBrStr('Dia já foi fechado. Redução Z já emitida')) ; // fpEstado := estLivre ; fpDia := now ; Exit; End; // Se o estado não for LIVRE nem for REQUER REDUÇÃO Z : if not (Estado in [estLivre,estRequerZ]) then Begin raise EACBrECFERRO.create(ACBrStr('O Estado não é "LIVRE" Cancele o último Documento')) ; End; // (2) Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então, // emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora if Estado=estRequerZ then Application.MessageBox( 'Clique em [Ok] para iniciar Novo dia de Movimento', 'Leia com Atenção', MB_OK + MB_IconInformation ); // (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então, // emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora if Estado=estLivre then Begin If Application.MessageBox( Pchar( '* Redução Z Virtual - Sem Impressão *'+#13+#13+#13+ 'Reiniciar dia de Movimento ?'+#13+#13+ '[Sim] = Leitura X Virtual será reiniciada;'+#13+ '[Não] = Leitura X Virtual continuará acumulando valores;'), 'Responda com Atenção', MB_YESNO + MB_DefButton2 + Mb_IconQuestion )=MrNo then Exit; End; // try ZeraCupom; fpReducoesZ := fpReducoesZ + 1 ; // ReducaoZVirtual( DataHora ); Local que ocorreria a impressão { Como ERA : if fpEstado = estRequerZ then begin fpEstado := estLivre ; fpDia := now ; end else fpEstado := estBloqueada ; } fpEstado := estLivre ; fpDia := now ; fpNumCER := 0; fpVendaBruta := 0; fpTotalDescontosICMS := 0; fpTotalDescontosISSQN := 0; fpTotalAcrescimosICMS := 0; fpTotalAcrescimosISSQN := 0; fpCNFCancelados := 0; fpCNFCanceladosTotal := 0; fpCuponsCancelados := 0; fpCuponsCanceladosTotalICMS := 0; fpCuponsCanceladosTotalISSQN := 0; fpCuponsCanceladosEmAberto := 0; fpCuponsCanceladosEmAbertoTotalICMS := 0; fpCuponsCanceladosEmAbertoTotalISSQN := 0; For A := 0 to fpAliquotas.Count - 1 do fpAliquotas[A].Total := 0 ; For A := 0 to fpFormasPagamentos.Count - 1 do fpFormasPagamentos[A].Total := 0 ; For A := 0 to fpComprovantesNaoFiscais.Count - 1 do begin fpComprovantesNaoFiscais[A].Total := 0 ; fpComprovantesNaoFiscais[A].Contador := 0 ; end; For A := 0 to fpRelatoriosGerenciais.Count - 1 do fpRelatoriosGerenciais[A].Contador := 0 ; AbreDia; // AbreDocumento ; parte da impressão except LeArqINI ; raise ; end ; end; // procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ;
  3. Boa tarde... ( podem fechar o tópico ) - Consegui fazer a alteração, utilizei um software "Superfinder" para encontrar onde tinha sido feita a impressão da REDUÇÃO Z Virtual. - Segue abaixo a alteração, dando minha pequena contribuição ao Fórum, evitando que RZ seja impressa, - Basta substituir o evento dentro de : C:\ACBR\Fontes\ACBrSerial\ACBrECFVirtual.pas pelo que alterei abaixo // 16/04/2029.Carlos : Redução Z da CLASSE VIRTUAL alterada : // Casos: // (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI // ... // (2) Reiniciando valores sem impressão: Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então, // emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora // ... // (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então, // emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora // ... // Units extras que precisei : WIndows{Mb_Ok}, Forms{Appliaction}, Controls{mrNo} , // ... procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ; var A: Integer ; begin GravaLog( ComandoLOG ); // (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI if Estado = estBloqueada then Begin // Como era: raise EACBrECFERRO.Create(ACBrStr('Dia já foi fechado. Redução Z já emitida')) ; // fpEstado := estLivre ; fpDia := now ; Exit; End; // Se o estado não for LIVRE nem for REQUER REDUÇÃO Z : if not (Estado in [estLivre,estRequerZ]) then Begin raise EACBrECFERRO.create(ACBrStr('O Estado não é "LIVRE" Cancele o último Documento')) ; End; // (2) Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então, // emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora if Estado=estRequerZ then Application.MessageBox( 'Clique em [Ok] para iniciar Novo dia de Movimento', 'Leia com Atenção', MB_OK + MB_IconInformation ); // (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então, // emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora if Estado=estLivre then Begin If Application.MessageBox( Pchar( '* Redução Z Virtual - Sem Impressão *'+#13+#13+#13+ 'Reiniciar dia de Movimento ?'+#13+#13+ '[Sim] = Leitura X Virtual será reiniciada;'+#13+ '[Não] = Leitura X Virtual continuará acumulando valores;'), 'Responda com Atenção', MB_YESNO + MB_DefButton2 + Mb_IconQuestion )=MrNo then Exit; End; // try ZeraCupom; fpReducoesZ := fpReducoesZ + 1 ; // ReducaoZVirtual( DataHora ); Local que ocorreria a impressão { Como ERA : if fpEstado = estRequerZ then begin fpEstado := estLivre ; fpDia := now ; end else fpEstado := estBloqueada ; } fpEstado := estLivre ; fpDia := now ; fpNumCER := 0; fpVendaBruta := 0; fpTotalDescontosICMS := 0; fpTotalDescontosISSQN := 0; fpTotalAcrescimosICMS := 0; fpTotalAcrescimosISSQN := 0; fpCNFCancelados := 0; fpCNFCanceladosTotal := 0; fpCuponsCancelados := 0; fpCuponsCanceladosTotalICMS := 0; fpCuponsCanceladosTotalISSQN := 0; fpCuponsCanceladosEmAberto := 0; fpCuponsCanceladosEmAbertoTotalICMS := 0; fpCuponsCanceladosEmAbertoTotalISSQN := 0; For A := 0 to fpAliquotas.Count - 1 do fpAliquotas[A].Total := 0 ; For A := 0 to fpFormasPagamentos.Count - 1 do fpFormasPagamentos[A].Total := 0 ; For A := 0 to fpComprovantesNaoFiscais.Count - 1 do begin fpComprovantesNaoFiscais[A].Total := 0 ; fpComprovantesNaoFiscais[A].Contador := 0 ; end; For A := 0 to fpRelatoriosGerenciais.Count - 1 do fpRelatoriosGerenciais[A].Contador := 0 ; AbreDia; // AbreDocumento ; parte da impressão except LeArqINI ; raise ; end ; end; // procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ;
  4. Boa tarde... ( podem fechar o tópico ) - Consegui fazer a alteração, utilizei um software "Superfinder" para encontrar onde tinha sido feita a impressão da REDUÇÃO Z Virtual. - Segue abaixo a alteração, dando minha pequena contribuição ao Fórum, evitando que RZ seja impressa, - Basta substituir o evento dentro de : C:\ACBR\Fontes\ACBrSerial\ACBrECFVirtual.pas pelo que alterei abaixo // 16/04/2029.Carlos : Redução Z da CLASSE VIRTUAL alterada : // Casos: // (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI // ... // (2) Reiniciando valores sem impressão: Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então, // emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora // ... // (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então, // emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora // ... // Units extras que precisei : WIndows{Mb_Ok}, Forms{Appliaction}, Controls{mrNo} , // ... procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ; var A: Integer ; begin GravaLog( ComandoLOG ); // (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI if Estado = estBloqueada then Begin // Como era: raise EACBrECFERRO.Create(ACBrStr('Dia já foi fechado. Redução Z já emitida')) ; // fpEstado := estLivre ; fpDia := now ; Exit; End; // Se o estado não for LIVRE nem for REQUER REDUÇÃO Z : if not (Estado in [estLivre,estRequerZ]) then Begin raise EACBrECFERRO.create(ACBrStr('O Estado não é "LIVRE" Cancele o último Documento')) ; End; // (2) Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então, // emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora if Estado=estRequerZ then Application.MessageBox( 'Clique em [Ok] para iniciar Novo dia de Movimento', 'Leia com Atenção', MB_OK + MB_IconInformation ); // (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então, // emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora if Estado=estLivre then Begin If Application.MessageBox( Pchar( '* Redução Z Virtual - Sem Impressão *'+#13+#13+#13+ 'Reiniciar dia de Movimento ?'+#13+#13+ '[Sim] = Leitura X Virtual será reiniciada;'+#13+ '[Não] = Leitura X Virtual continuará acumulando valores;'), 'Responda com Atenção', MB_YESNO + MB_DefButton2 + Mb_IconQuestion )=MrNo then Exit; End; // try ZeraCupom; fpReducoesZ := fpReducoesZ + 1 ; // ReducaoZVirtual( DataHora ); Local que ocorreria a impressão { Como ERA : if fpEstado = estRequerZ then begin fpEstado := estLivre ; fpDia := now ; end else fpEstado := estBloqueada ; } fpEstado := estLivre ; fpDia := now ; fpNumCER := 0; fpVendaBruta := 0; fpTotalDescontosICMS := 0; fpTotalDescontosISSQN := 0; fpTotalAcrescimosICMS := 0; fpTotalAcrescimosISSQN := 0; fpCNFCancelados := 0; fpCNFCanceladosTotal := 0; fpCuponsCancelados := 0; fpCuponsCanceladosTotalICMS := 0; fpCuponsCanceladosTotalISSQN := 0; fpCuponsCanceladosEmAberto := 0; fpCuponsCanceladosEmAbertoTotalICMS := 0; fpCuponsCanceladosEmAbertoTotalISSQN := 0; For A := 0 to fpAliquotas.Count - 1 do fpAliquotas[A].Total := 0 ; For A := 0 to fpFormasPagamentos.Count - 1 do fpFormasPagamentos[A].Total := 0 ; For A := 0 to fpComprovantesNaoFiscais.Count - 1 do begin fpComprovantesNaoFiscais[A].Total := 0 ; fpComprovantesNaoFiscais[A].Contador := 0 ; end; For A := 0 to fpRelatoriosGerenciais.Count - 1 do fpRelatoriosGerenciais[A].Contador := 0 ; AbreDia; // AbreDocumento ; parte da impressão except LeArqINI ; raise ; end ; end; // procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ;
  5. Boa tarde... Foi dada uma dica para Criar classe herdada de TACBrECFVirtualNaoFiscalClass sobrescrevendo método da RedZ, p/não imprimir RZ... Não estamos conseguindo. Alguém já conseguiu fazer isto ? Obrigado!
  6. Obrigado... a Juliana moveu um tópico meu, sobre o assunto da redução z, porque parece que alguns desenvolvedores criaram uma opção para este caso. Abraços! rs... agora que vi... escrevei até errado... nunca vi cliente nosso utilizar LEITURA X ou REDUÇÃO Z a não ser pela "obrigatoriedade"... rs... Novamente desculpe-nos.
  7. Então, pedimos desculpas e não desejamos que isto vire "discussão" (que venho percebendo que está virando, como se fôssemos "diferentes" ou não tivéssemos experiência alguma na área), Apenas digo que faz 16 anos que trabalhamos com automação comercial, temos poucos clientes por estarmos no sul de MG, em cidade bem pequena mas por nós já passou mais de 400 clientes(atualmente temos 140 fixos mensalistas) e sinceramente não vi uso algum, talvez porque nosso sistema tenha um fechamento de caixa automático, feito via relatório gerencial, que reinicia MESMO o fluxo de CAIXA em uma tela específica do sistema, ao sair e reentrar no sistema e se logar como OUTRO FUNCIONÁRIO. (isto desde há primeira versão do sistema que nós criamos). Então, nossos clientes, digo e repito, nunca vi NENHUM utilizar LEITURA X ou RELATÓRIO GERENCIAL. Mesmo assim agradeço por compartilhar sua experiência, a nossa é diferente devido a esta parte diferente do nosso sistema. Obrigado...
  8. Bom dia... Como vou trabalhar com NFCe, meus clientes não vão ter acesso a REDUÇÃO Z e nem a LEITURA X, pois não vejo necessidade ALGUMA disto ; O que desejo é mudar o VALOR DO COO ATUAL, pois este, como disse, "do nada" estava mais ou menos no 20 DE REPENTE reiniciou ... ... ( se tiverem necessidade de qualquer tipo de relatório, monto um específico para eles, pois tenho 140 clientes mensalistas, mais ou menos, nunca vi nenhum utilizar a REDUÇÃOZ ou a LEITURA X a não ser por OBRIGATORIEDADE do GOVERNO, quando usando ECF )
  9. Olá , Juliana... como faço isto ? (mover para área aberta?) Você consegue fazer isto pra mim ? ... Ah... algo que está ocorrendo também... Ontem saiu a redução z automaticamente ao "ativer o componente",... e hoje SEM NENHUMA VENDA... saiu novamente... Obrigado!
  10. Bom dia... - Já abri um tópico sobre este assunto mas não consegui uma resposta que me satisfizesse. - Estou contribuindo com a comunidade( e não vamos parar, pois os componentes ACBr são maravilhosos ) e creio eu que é de interesse de todos que transformaram ou estão transformando sua aplicação PAF que utiliza ACBrECF em aplicação que também pode gerar o ACBrNFCe. - Como evitar que, ao ativar o objeto ACBrECF, saia "inesperadamente" uma REDUÇÃO Z ou mesmo que EXIJA esta impressão visto que, isto NÃO É uma exigência do cliente que utiliza NFCe e tenho certeza que os clientes reclamarão de tal "impressão obrigatória". Por favor, me explique qual é a melhor forma de corrigir isto (tentei inicialmente alterar o arquivo .ini manualmente, ACHEI que tinha dado certo mas não tinha. Obrigado...
  11. Ok, MAS qual campo que altera o valor inicial do COO ? Pois eu alterei aqui e não deu certo. Achei super estranho, eu não sei o que ocorreu, o COO já estava no número 20, mais ou menos, de repente voltou ao 1. E não consigo, nem mudando o .ini, mudar este valor (inclusive procurei no .ini o valor do COO atual e não vi nenhum valor que "bate" com ele). Obrigado...
  12. Bom dia... Tem algum pequeno exemplo de como mudar a "posição do COO atual" ( não utilizarei nos clientes REDUÇÃO Z, LEITURA X virtuais... ) usando o "QuandoLerArquivoINI" ... ? Obrigado!
  13. Obrigado pelo auxílio... Somente necessito agora retirar a impressão da redução z, que pensei que tinha conseguido mas não consegui nada. Ao mudar para o "dia seguinte" fica saindo uma redução z "fake" ao utilizar NFCe. O que nenhum cliente meu utilizará E TENHO certeza que ainda achará ruim conosco esta "obrigatoriedade sem sentido". Vou alterar via evento "QuandoFecharDocumento" ... fiz o teste e deu certo. Assim eu faço conforme minha aplicação. procedure TF_Prin_ACBr_Param_ECF.ACBrECFVirtualNFCe1QuandoFecharDocumento(NFe: TNFe); Begin NFe.nIde.cNF := 25;
  14. Bem. Vou ser mais claro então na minha pergunta... Veja a questão que breve minha empresa passará : Vamos dizer que vou trocar o sistema de um cliente, que JÁ UTILIZA NFCe, e desejo colocar o meu sistema que utiliza ACBrNFCe com ACBrECF, conectados. No cliente, por exemplo, NOSSO SISTEMA tem que iniciar, o "COO" - do ACBrECF Virtual ( que gerará o NÚM.DOCUMENTO do NFCe ) 102, número de série 2. Como eu faria para instalar o NOSSO SISTEMA no CLIENTE e ele iniciar sua primeira NFCe com estes números de documento, neste exemplo? Obrigado, Carlos A.Ferreira.S. / Rogério E. Souza - Ferreira & Souza Informática Ltda
  15. Boa tarde... ( estava até então funcionando certo já o ACBrECF com ACBrECFVirtualNFCe para emissões de teste de NFCe ) - Do nada o COO do ACBrECF com ACBrECFVirtualNFCe reiniciou, nos meus testes no ambiente de Homologação de NFCe. - Agora, toda NFCe que emito logicamente está dando duplicada, pois o Número da NFCe está começando novamente, com base no COO do componente ACBrECF (pelo que compreendi) - Tentei alterar MANUALMENTE o valor do campo "NumCupom", do cabeçalho "Variaveis", do arquivo que fica na propriedade "ACBrECFVirtualNFCe1.NomeArqIni", mas de NADA ADIANTOU Como corrigir, setando da maneira que eu desejo ? Obrigado,...
  16. Desculpe, na realidade o segundo print que te enviei foi de uma NFCe que tinha aqui, não do real gerado inicialmente, pois pensei que nem iria notar... rs... mas muitíssimo obrigado... já deu tudo certo (o primeiro print foi verdadeiro mas foi desfocado...)
  17. *Muitíssimo obrigado !!! Valeu!!! Deu certo* ... (Pode fechar o tópico) Então fica a explicação para quem ler este tópico... para que a propriedade ACBrNFe.Enviar(... uncione de acordo, configure assim : Para ACBrNFe ACBrNFe1.DANFE := ACBrNFeDANFeRL1; Para ACBrNFCe ACBrNFe1.DANFE := ACBrNFeDANFCeFortes1; ou ACBrNFe1.DANFE := ACBrNFeDANFeESCPOS1;
  18. Boa tarde... Estou gerando uma NFe e não uma NFCe ... daí ao usar o método : "ACBrNFe1.Enviar(1,True)" ... ele gera um DANFE de NFCe ... Veja ... é um NFe ... ACBrNFe1.Configuracoes.Geral.ModeloDF = moNFe; Entendeu ?
  19. Bom dia... ... Esta semana atualizamos o ACBr e os Schemas... daí passou a EXIBIR ERRADAMENTE, nos clientes o PREVIEW da NFCe(DANFE com QRCode) ao Usar o método de ACBrNFe1.Enviar(1,True) ... Nossas configurações estão assim : ACBrNFe1.Configuracoes.Geral.ModeloDF = moNFe; ACBrNFe1.Configuracoes.Geral.VersaoQRCode =veqr200; (testamos também o veqr100 mas continua errado) ACBrNFe1.Configuracoes.Geral.VersaoDF = ve400 ; ... O que poderia ser ?... ... Obrigado!
  20. Muitíssimo obrigado pela ajuda de todos vocês... Se alguém quiser "comentar mais algo"... tudo bem... Senão... podem fechar o tópico... Até...!
  21. E se for para eu implementar o método ACBrECFVirtualNFCe1QuandoFecharDocumento(NFe: TNFe); Posso fazer como abaixo ? With NFe do begin // INÍCIO : *************** DADOS DO CABEÇALHO/IDENTIFICADOR da NFCe *************** InfAdic.infCpl := ''; InfAdic.infAdFisco := ''; Transp.modFrete := mfSemFrete; // NFC-e não pode ter FRETE Ide.cNF := E_NumNFe ; //Caso não seja preenchido será gerado um número aleatório pelo componente Ide.natOp := 'VENDA'; Ide.indPag := E_IndicadorPagamento; // TpcnIndicadorPagamento = (ipVista, ipPrazo, ipOutras, ipNenhum); Ide.modelo := 65 ; Ide.serie := E_Serie ; Ide.nNF := E_NumNFe; // Ide.dEmi := now; Ide.dSaiEnt := now; Ide.hSaiEnt := now; Ide.tpNF := tnSaida; // FIXO... NFCe será sempre SAÍDA ... TpcnTipoNFe = (tnEntrada, tnSaida); // Ide.tpEmis := E_TipoEmissao ; // TpcnTipoEmissao = (teNormal, teContingencia, teSCAN, teDPEC, teFSDA, teSVCAN, teSVCRS, teSVCSP, teOffLine); Ide.tpAmb := E_TipoAmbiente ; // TpcnTipoAmbiente = (taProducao, taHomologacao); // Ide.cUF := UFtoCUF( E_Dest_UF ); // UFtoCUF( Lb_EmitUF.Caption ) ; Ide.cMunFG := StrToInt(Ret_CodMun_IBGE ) ; // cód do MUNICÍPIO ... do DESTINATÁRIO ... // Ide.finNFe := E_FinalidadeNFe ; // TpcnFinalidadeNFe = (fnNormal, fnComplementar, fnAjuste, fnDevolucao); Ide.tpImp := E_TipoImpressao; // tiNFCe... TpcnTipoImpressao = (tiSemGeracao, tiRetrato, tiPaisagem, tiSimplificado, tiNFCe, tiMsgEletronica); Ide.indFinal := E_ConsumidorFinal; // cfConsumidorFinal... TpcnConsumidorFinal = (cfNao, cfConsumidorFinal); ... NÃO é ao CONSUMIDOR FINAL se for VENDA OFFLine Ide.indPres := E_PresencaComprador ; // PresencaComprador... TpcnPresencaComprador = (pcNao, pcPresencial, pcInternet, pcTeleatendimento, pcEntregaDomicilio, pcPresencialForaEstabelecimento, pcOutros); // // FINAL : *************** DADOS DO CABEÇALHO/IDENTIFICADOR da NFCe *************** // INÍCIO : *************** DADOS DO EMITENTE( Estabelecimento USUÁRIO do SOFTWARE ) *************** // Ide.dhCont := date; // Ide.xJust := 'Justificativa Contingencia'; // // Caso exista inclusão de serviços na NFe If Const_ExisteServicoNaNota=True then Emit.IM := Ret_IM Else Emit.IM := ''; // Preencher no caso de existir serviços na nota // Emit.CNAE := Ret_CNAE_Fiscal ; Emit.CNPJCPF := Ret_CNPJ ; Emit.IE := Ret_IE ; // // Segundo explicado por ROGÉRIO, pelo SKYPE, dia 28/03/2019, às 9:27h // este é Inscrição Estadual Substituição Tributaria, (PARA O NOSSO CASo NÃO TEM) Emit.IEST := ''; // Emit.xNome := Ret_RazSoc ; Emit.xFant := Ret_Nom_Fant ; Emit.EnderEmit.fone := Ret_Fone ; // // Envia CEP com TRAÇOS, aqui RETORNA SOMENTE NÚMERO e transforma em INTEGER para carregar o campo ... Ret_CEP := Retorna_Numeros(Ret_CEP); If Ret_CEP='' then Emit.EnderEmit.CEP := 0 Else Emit.EnderEmit.CEP := StrToInt(Ret_CEP) ; // 18270170; // Emit.EnderEmit.xLgr := Ret_Logradouro ; Emit.EnderEmit.nro := Ret_Numero ; Emit.EnderEmit.xCpl := Ret_Complemento ; Emit.EnderEmit.xBairro := Ret_Bairro ; Emit.EnderEmit.cMun := StrToInt( Ret_CodMun_IBGE ); Emit.EnderEmit.xMun := Ret_Cidade ; Emit.EnderEmit.UF := Ret_UF ; Emit.enderEmit.cPais := 1058 ; Emit.enderEmit.xPais := 'BRASIL' ; // // TpcnCRT = (crtSimplesNacional, crtSimplesExcessoReceita, crtRegimeNormal); // CRT = RegimeNormal (DÉBITO e CRÉDITO) // CRT = SimplesNacional (OPTANTE PELO SIMPLES) // CRT = Simples ExcessoReceita (NUNCA USAMOS) If Eh_Simples_Nacional_periodo( ZROQry_Livre_Farm, now ) then Emit.CRT := crtSimplesNacional Else Emit.CRT := crtRegimeNormal ; // // FINAL : *************** DADOS DO EMITENTE( Estabelecimento USUÁRIO do SOFTWARE ) *************** // INÍCIO : *************** DADOS DO DESTINATÁRIO *************** // Dest.IE := xxxx //NFC-e não aceita IE Dest.CNPJCPF := E_Dest_CNPJCPF ; // '05481336000137'; Dest.ISUF := ''; // Dest.xNome := E_Dest_xNome_RazSoc ; // 'D.J. COM. E LOCAÇÃO DE SOFTWARES LTDA - ME'; Dest.EnderDest.Fone := E_Dest_EnderDest_Fone ; // '1533243333'; // // Envia CEP com TRAÇOS, aqui RETORNA SOMENTE NÚMERO e transforma em INTEGER // para carregar o campo ... E_Dest_EnderDest_CEP := Retorna_Numeros(E_Dest_EnderDest_CEP); If E_Dest_EnderDest_CEP='' then Dest.EnderDest.CEP := 0 Else Dest.EnderDest.CEP := StrToInt(E_Dest_EnderDest_CEP) ; // 18270170; // Dest.EnderDest.xLgr := E_Dest_EnderDest_xLgr ; // 'Rua Coronel Aureliano de Camargo'; Dest.EnderDest.nro := E_Dest_EnderDest_nro ; // '973'; Dest.EnderDest.xCpl := E_Dest_EnderDest_xCpl ; // '' Dest.EnderDest.xBairro := E_Dest_EnderDest_xBairro ; // 'Centro'; // // Envia CÓD.MUNIC, aqui RETORNA SOMENTE NÚMERO e transforma em INTEGER para carregar o campo ... E_Dest_EnderDest_cMun := Retorna_Numeros(E_Dest_EnderDest_cMun); If E_Dest_EnderDest_cMun='' then Dest.EnderDest.cMun := 0 Else Dest.EnderDest.cMun := StrToInt( E_Dest_EnderDest_cMun ) ; // 3554003; // Dest.EnderDest.xMun := E_Dest_EnderDest_xMunl ; // 'Tatuí'; Dest.EnderDest.UF := E_Dest_EnderDest_UF ; // 'SP'; Dest.EnderDest.cPais := 1058 ; Dest.EnderDest.xPais := 'BRASIL' ; // FINAL : *************** DADOS DO DESTINATÁRIO *************** //Use os campos abaixo para informar o endereço de retirada quando for diferente do Remetente/Destinatário { Retirada.CNPJCPF := ''; Retirada.xLgr := ''; Retirada.nro := ''; Retirada.xCpl := ''; Retirada.xBairro := ''; Retirada.cMun := 0; Retirada.xMun := ''; Retirada.UF := '';} //Use os campos abaixo para informar o endereço de entrega quando for diferente do Remetente/Destinatário { Entrega.CNPJCPF := ''; Entrega.xLgr := ''; Entrega.nro := ''; Entrega.xCpl := ''; Entrega.xBairro := ''; Entrega.cMun := 0; Entrega.xMun := ''; Entrega.UF := '';} end; // with NFe do
  22. Entendi... estou REALMENTE CONFUSO com o "método" add... é como se fosse um "vetor" e a cada "add" coloca uma nova posição ... blz...
  23. Boa tarde... Muitíssimo obrigado pela explicação... Eu achei estranho mesmo o "add", suspeitando ser um método e não uma propriedade mas, como vi o ":=" ... pensei estar errado... .... Com sua explicação fiz o seguinte código, descobrindo que o "xNome" fica na posição "1" e o "CNPJCPF" ficou na posição "2"... Achei também estranho ficar em "items" ... mas tudo bem, deu certo... Abraços!!! ACBrNFe1.NotasFiscais.Add.NFe.Dest.xNome := 'D.J. COM. E LOCAÇÃO DE SOFTWARES LTDA - ME' ; ACBrNFe1.NotasFiscais.Add.NFe.Dest.CNPJCPF := '84782595620'; For V_N:=0 TO 100 Do Begin try If (Trim(ACBrNFe1.NotasFiscais.Items[V_N].NFe.Dest.xNome))<>'' then showmessage('Propriedades ALTERADA : '+#13+#13+ 'xNome['+ IntToStr(V_N) +'] = '+ ACBrNFe1.NotasFiscais.Items[V_N].NFe.Dest.xNome ); If (Trim(ACBrNFe1.NotasFiscais.Items[V_N].NFe.Dest.CNPJCPF))<>'' then showmessage('Propriedades ALTERADA : '+#13+#13+ 'CNPJCPF['+ IntToStr(V_N) +'] = '+ ACBrNFe1.NotasFiscais.Items[V_N].NFe.Dest.CNPJCPF ); Except End; End; Esqueci de falar... pode fechar o tópico...
  24. Bom dia... Pode parecer algo "bobo" pois faz mais de 20 anos que programo em DELPHI, mas não estou compreendendo o que está ocorrendo. Vejam as linhas ABAIXO : Begin ... (tem o carregamento de outras inúmeras propriedades aqui...) ... ACBrNFe1.NotasFiscais.Add.NFe.Dest.xNome := 'D.J. COM. E LOCAÇÃO DE SOFTWARES LTDA - ME' ; ACBrNFe1.NotasFiscais.Add.NFe.Dest.CNPJCPF := '84782595620'; showmessage('Propriedades ALTERADA : '+#13+#13+ 'CNPJCPF = '+ ACBrNFe1.NotasFiscais.Add.NFe.Dest.CNPJCPF +#13+ 'xNome = ' + ACBrNFe1.NotasFiscais.Add.NFe.Dest.xNome ); End Estranhamente , a propriedade dá como se Não tivesse sido alterada (veja o Anexo) ( apesar do DANFE da NFCe estar emitindo corretamente, eu preciso recuperar estas propriedades no meu sistema... como fazer ? )
  25. Olhei em outro tópico a resposta... Adicionando esta linha evitou o erro : ACBrNFe1.Configuracoes.Geral.VersaoQRCode:=veqr200;  Obrigado!
×
×
  • 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.