Clipper On Line • Ver Tópico - Delphi: Le DBF e CRIA o XML e TXT para NFE 2.0

Delphi: Le DBF e CRIA o XML e TXT para NFE 2.0

Discussão sobre outras linguagens de programação.

Moderador: Moderadores

 

Delphi: Le DBF e CRIA o XML e TXT para NFE 2.0

Mensagempor softcia » 15 Abr 2011 17:52

Boa tarde, Amigos,

Criei um projeto em Delphi que le perfeitamente o DBF do Clipper. E se as tabelas possuirem todas as informações é possivel gerar a NFE 2.0,
e ainda validando e assinando o XML. Depois exportar para o Programa Emissor gratuito para fazer a sua validação, Assinatura, Transmissao e
Impressão da NFE.
O projeto ainda envia email DO XML E PDF.

Ele utiliza o Componente ACBRNFE2 para gerar e validar o XML.

Se alguem precisar. Mande um arquivo zipado com as tabelas: Que gero um demo com suas tabelas.

Mario Moreira
softcia@hotmail.com
softciasma@hotmail.com
softcia@gmail.com

EXEMPLO:
procedure tGerarNFEACBR20.GerarNFe(NumNFe: string);var

  orig: string;
  CST: string;
  modBC: string;
  pRedBC: double;
  vBC: double;
  pICMS: double;
  vICMS: double;
  modBCST: string;
  pMVAST: double;
  pRedBCST: double;
  vBCST: double;
  pICMSST: double;
  vICMSST: double;
  UFST: string;
  pBCop: double;
  vBCSTRet: double;
  vICMSSTRet: double;
  motDesICMS: string;
  vBCSTDest: double;
  vICMSSTDest: double;
  pCredSN: double;
  vCredICMSSN: double;
  QPROD: INTEGER;
  NF_OBS: string;
  nf_fis: string;

  resultB: string;

//   orig   Origem da mercadoria
//   CST   Tributação do ICMS
//   modBC   Modalidade de determinação da BC do ICMS
//   pRedBC   Percentual da Redução de BC
//   vBC   Valor da BC do ICMS
//   pICMS   Alíquota do imposto
//   vICMS   Valor do ICMS
//   modBCST   Modalidade de determinação da BC do ICMS ST
//   pMVAST   Percentual da margem de valor Adicionado do ICMS ST
//   pRedBCST   Percentual da Redução de BC do ICMS ST
//   vBCST   Valor da BC do ICMS ST
//   pICMSST   Alíquota do imposto do ICMS ST
//   vICMSST   Valor do ICMS ST
//   UFST   UF para qual é devido o ICMS ST
//   pBCop   Percentual da BC operação própria
//   vBCSTRet   Valor da BC do ICMS Retido Anteriormente
//   vICMSSTRet   Valor do ICMS Retido Anteriormente
//   motDesICMS   Motivo da desoneração do ICMS
//   vBCSTDest   Valor da BC do ICMS ST da UF destino
//   vICMSSTDest   Valor do ICMS ST da UF destino
//   pCredSN   Alíquota aplicável de cálculo do crédito (Simples Nacional)
//   vCredICMSSN   Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (SIMPLES NACIONAL)

begin
  with ACBrNFe1.NotasFiscais.Add.NFe do
  begin
    Ide.cNF := StrToInt(NumNFe); //Caso não seja preenchido será gerado um número aleatório pelo componente

// dados das tabelas DBFs.

    NOSDAD01.Close;
    NOSDAD01.SQL.Clear;
    nosdad01.SQL.ADD('SELECT * FROM ' + QUOTEDSTR(RESULSQL + '\NOSDAD01.DBF'));
    NOSDAD01.SQL.ADD(' WHERE CP01 = ' + QUOTEDSTR(STRZERO(StrToInt(NumNFe), 6)));
    NOSDAD01.Open;

{    NOSDAD01.Locate('CP01', STRZERO(StrToInt(NumNFe), 6), [loCaseInsensitive, loPartialKey]);
    NOSDAD01.Filter := 'CP01 = ' + QUOTEDSTR(STRZERO(StrToInt(NumNFe), 6));
    nosdad01.Filtered := TRUE;}

    NATNF01.SQL.CLEAR;
    NATNF01.SQL.ADD('SELECT * FROM ' + QUOTEDSTR(RESULSQL + '\NATNFI01.DBF'));
    NATNF01.SQL.Add(' WHERE CP01 = ' + QUOTEDSTR(nosdad01CP07.AsString));
    NATNF01.Open;

    //NATNF01.Locate('CP01', nosdad01CP07.AsString, [loCaseInsensitive, loPartialKey]);

    Ide.natOp := NATNF01CP02.AsString;

{   NOSDAD01.Locate('CP01', STRZERO(StrToInt(NumNFe), 6), [loCaseInsensitive, loPartialKey]);
    NOSDAD01.Filter := 'CP01 = ' + QUOTEDSTR(STRZERO(StrToInt(NumNFe), 6));
    nosdad01.Filtered := TRUE;}

    CONDPG01.Locate('CP01', nosdad01CP08.AsString, [loCaseInsensitive, loPartialKey]);

// Preenchimento do componente  com os campos DBF das tabelas.

    Ide.indPag := ipOutras;
    if CONDPG01CP02.AsString = 'AV' then
      Ide.indPag := ipVista;
    if CONDPG01CP02.AsString = 'AP' then
      Ide.indPag := ipPrazo;

    Ide.modelo := 55;
    Ide.serie := EMPRESASERIENFE.AsInteger;
    Ide.nNF := StrToInt(NumNFe);
    Ide.dEmi := nosdad01CP05.AsDateTime;
    Ide.dSaiEnt := nosdad01CP06.AsDateTime;
    Ide.hSaiEnt := nosdad01CP06.AsDateTime;
    Ide.tpNF := tnSaida;

    if ((COPY(NATNF01CP04.AsString, 1, 1) = '1') or (COPY(NATNF01CP04.AsString, 1, 1) = '2') or (COPY(NATNF01CP04.AsString, 1, 1) = '3')) then
      Ide.tpNF := tnEntrada
    else
      Ide.tpNF := tnSaida;

    Ide.tpEmis := teNormal;
    if EMPRESAAMBIENTE.AsString = '1' then
      Ide.tpAmb := taProducao
    else
      Ide.tpAmb := taHomologacao; //Lembre-se de trocar esta variável quando for para ambiente de produção

    Ide.verProc := EMPRESAVERSAO.AsString; // '2.0.7'; //Versão do seu sistema
    Ide.cUF := NotaUtil.UFtoCUF('RS');
    Ide.cMunFG := StrToInt('4316907');
    Ide.finNFe := fnNormal;
    ide.procEmi := peContribuinteAplicativoFisco;
Nota de Moderação:
Pablo César: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
softcia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 4
Data de registro: 26 Out 2010 08:27
Cidade/Estado: Santa Maria RS
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Delphi: Le DBF e CRIA o XML e TXT para NFE 2.0

Mensagempor sygecom » 26 Abr 2011 00:01

Se for gratuito post o link de download. Se não for gratuito qual a vantagem sobre o AcbrNfeMonitor ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes




Retornar para Outras linguagens de programação

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 18 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro