Ir para conteúdo
  • Cadastre-se

dev botao

Duvida com erro.


MagnoCosta
  • Este tópico foi criado há 4526 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia a todos...

Estou com 1 duvida...

Estou enviando a nota dessa forma:

try

NFe.NotasFiscais.Clear;

NFe.NotasFiscais.Add.NFe... {e assim por seguinte com todos os campos}

NFe.WebServices.StatusServico.Executar;

NFe.NotasFiscais.Valida;

NFe.Enviar({num do lote});

except

mmoErros.Lines.Add('Alertas: '+ NFe.NotasFiscais.Items[0].Alertas);

mmoErros.Lines.Add('Mensagens: '+ NFe.NotasFiscais.Items[0].Msg);

NFe.NotasFiscais.Clear;

end

e estou gerendo de propósito um erro.. no caso de inscriçao invalida... esse codigo ai fica num timer .. ele cai no except certinho ...

Ao executar novamente a inserção da mesma nota o erro passa a ser:

'Falha na validação dos dados da nota 424

'1' é uma chave duplicada da restrição '{http://www.portalfiscal.inf.br/nfe}pk_nItem' da identidade unique.

'.

Como se o componente nao tivesse sido limpo, mas na passagem anterior passou em "NFe.NotasFiscais.Clear", isso nao deveria "zerar" o componente?

Atenciosamente.

Magno

Link para o comentário
Compartilhar em outros sites

  • Moderadores

'1' é uma chave duplicada da restrição '{http://www.portalfiscal.inf.br/nfe}pk_nItem' da identidade unique.

Isso quer dizer que tem mais de um item com o numero do item 1, verifique nos produtos da nota o número do item: "Prod.nItem"

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde a todos,

a linha: NFe.NotasFiscais.Clear;

não da a garantia que todos os campos do componente será limpado.

Note que existe uma lista para os itens de produtos, portanto deve-se usar o clear para limpar esta lista também.

exemplo:

Det.Clear

with Det.Add do

begin

Prod.nItem := i;

(...)

Espero ter ajudado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia a todos...

Estou com 1 duvida...

Estou enviando a nota dessa forma:

try

NFe.NotasFiscais.Clear;

NFe.NotasFiscais.Add.NFe... {e assim por seguinte com todos os campos}

NFe.WebServices.StatusServico.Executar;

NFe.NotasFiscais.Valida;

NFe.Enviar({num do lote});

except

mmoErros.Lines.Add('Alertas: '+ NFe.NotasFiscais.Items[0].Alertas);

mmoErros.Lines.Add('Mensagens: '+ NFe.NotasFiscais.Items[0].Msg);

NFe.NotasFiscais.Clear;

end

e estou gerendo de propósito um erro.. no caso de inscriçao invalida... esse codigo ai fica num timer .. ele cai no except certinho ...

Ao executar novamente a inserção da mesma nota o erro passa a ser:

'Falha na validação dos dados da nota 424

'1' é uma chave duplicada da restrição '{http://www.portalfiscal.inf.br/nfe}pk_nItem' da identidade unique.

'.

Como se o componente nao tivesse sido limpo, mas na passagem anterior passou em "NFe.NotasFiscais.Clear", isso nao deveria "zerar" o componente?

Atenciosamente.

Magno

Tentando reenviar a mesma nota....

Link para o comentário
Compartilhar em outros sites

Se alguem quiser fazer a simulação... é assim..

1º , eu alterei a unit do projeto acbr q coloca fixo o cnpj pra "999999..." colocando um cpf que retorna erro...

2º, os dados vem do banco de dados... la tem a nota, por exemplo, 406 , com status 0..

ai num timer ele pegar essa nota e faz a inserção no componente.. e envia... isso num try except.. como gera um except devido ao retorno da receita, cai no excpt onde faz a limpeza do componente (ou deveria fazer -> "notasfiscais.clear"), até ai tudo bem.. depois o timer executa novamente... e a mesma nota que deu erro é gereada novamente.. e entao da o erro como se tivesse 2 itens .. dando a entender que o componente nao foi limpo da nota passada...

Sei la se consegui explicar...

Só um momento que vou gerar o xml...

Link para o comentário
Compartilhar em outros sites

  • Moderadores

tente fazer isso:

try

NFe.NotasFiscais.Clear;

NFe.NotasFiscais.Add.NFe... {e assim por seguinte com todos os campos}

NFe.WebServices.StatusServico.Executar;

NFe.NotasFiscais.Valida;

NFe.Enviar({num do lote});

except

mmoErros.Lines.Add('Alertas: '+ NFe.NotasFiscais.Items[0].Alertas);

mmoErros.Lines.Add('Mensagens: '+ NFe.NotasFiscais.Items[0].Msg);

NFe.NotasFiscais.Clear;

ACBrNFe.NotasFiscais.Items[0].NFe.Det.Clear;

end;

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Consultores

No segundo XML gerado consta o item 1 duas vezes.

Esta claro para mim que o comando Clear não esta sendo executado, existe algum Bug na sua aplicação que esta ocorrendo isso.

Pois na minha aplicação o usuário registra as vendas, e depois em um outro form, ele seleciona um ou mais vendas que deseja a emissão da NFe, é normal ele solicitar a emissão de mais de uma NFe e esse problema nunca ocorreu e mesmo que ocorre rejeição de alguma NFe, ele realiza as correções necessárias na tela de lançamento de venda e depois volta ao form de emissão e pede para emitir novamente.

Esse problema relatado por você nunca ocorreu no meu sistema.

Mais uma vez eu digo, tem alguma coisa errada que faz com que o Clear não esta sendo executado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Bons dias a todos .

Eu tambem estou tendo este erro (exemplo : voce emite a nota numero 1 . Se emitir a nota numero 2 utilizando o numero 1 (por engano ) ela voltara da SEFAZ como duplicada. Então, o arquivo XML da nota numero 1 é sobrescrito, ficando identico ao da nota numero 2.

Como paliativo, eu faço um backup de toda nota ao ser emitida. Dessa forma , tenho sempre o XML original, pois não permito sobrescrever o backup.

Mas eu queria mesmo resolver o ERRO, que não descobri ainda onde esta.

´Código que utilizo atualmente para gerar a nota e enviar :

procedure TFrmPrincipal.GerarNota1Click(Sender: TObject);

var

Temp : String ; // Servirá para " limpar" os campos com caracteres estranhos

GuardaChave, NItem : Integer;

S, NomeArq : String;

begin

{ Valida todos os campos obrigatórios da Nota - somente preenchimento }

If DBEdtRazao.Text = '' then

begin

ShowMessage ('Campo < Razão Social > deve ser preenchido');

Abort;

end;

If DBEdtRua.Text = '' then

begin

ShowMessage ('Campo < Rua > deve ser preenchido');

Abort;

end;

If DBEdtNumero.Text = '' then

begin

ShowMessage ('Campo < Numero > deve ser preenchido');

Abort;

end;

If DBEdtBairro.Text = '' then

begin

ShowMessage ('Campo < Bairro > deve ser preenchido');

Abort;

end;

If DBEdtCnpj.Text = '' then

begin

ShowMessage ('Campo < CPF/CNPJ > deve ser preenchido');

Abort;

end;

If DBEdtCodIbge.Text = '' then

begin

ShowMessage ('Campo < Cod.Ibge > deve ser preenchido');

Abort;

end;

If DBEdtIe.Text = '' then

begin

ShowMessage ('Campo < Inscr.Estadual > deve ser preenchido');

Abort;

end;

If DBEdtCidade.Text = '' then

begin

ShowMessage ('Campo < Cidade > deve ser preenchido');

Abort;

end;

If DBEdtRua.Text = '' then

begin

ShowMessage ('Campo < Estado > deve ser preenchido');

Abort;

end;

AcbrNfe1.NotasFiscais.Clear;

MemoObs.Lines.Clear;

AcbrNfe1.Configuracoes.Certificados.NumeroSerie := '1234567890123456';

with ACBrNFe1.NotasFiscais.Add.NFe do

begin

Ide.tpEmis := teNormal;

Ide.cNF := 1; // Se for 0 gera número aleatório

Ide.natOp := ComboNatOperacao.Text ;

If ComboaVista.ItemIndex = 0 then

Ide.indPag := ipVista

Else if Comboavista.ItemIndex = 1 then

Ide.indPag := ipPrazo;

Ide.modelo := 55;

Ide.serie := 1;

Ide.nNF := StrtoInt (EdtNumeroNota.text) ;

Ide.dEmi := StrtoDate (MaskDataemissao.Text);

Ide.dSaiEnt := StrtoDate (MaskDataEntrega.Text);

Ide.hSaiEnt := Now;

If comboSaida.ItemIndex = 0 then

Ide.tpNF := tnEntrada

Else

if comboSaida.ItemIndex = 1 then

Ide.tpNF := tnSaida;

If Radiogroup1.ItemIndex = 0 then

begin

Ide.tpAmb := taProducao;

AcbrNfe1.Configuracoes.WebServices.Ambiente := taProducao;

end

Else

If Radiogroup1.ItemIndex = 1 then

begin

Ide.tpAmb := taHomologacao;

AcbrNfe1.Configuracoes.WebServices.Ambiente := taHomologacao;

end;

Ide.verProc := '1.0.0.0'; //Versão deste sistema

Ide.cUF := 35 ; // NotaUtil.UFtoCUF(edtEmitUF.Text); (S.Paulo == 35 )

Ide.cMunFG := 3506003 ; // = Bauru = StrToInt(form1.edtEmitCodCidade.Text);

Ide.finNFe := fnNormal;

{ Posteriormente, substituir estes dados por outros utilizando Tabela/Emitente }

Emit.CNPJCPF := '12345678901234' ;

Emit.IE := '123456789012' ;

Emit.xNome := 'NOME DA EMPRESA' ;

Emit.xFant := 'NOME FANTASIA' ;

Emit.EnderEmit.fone := '14 33333333' ;

Emit.EnderEmit.CEP := 17064852 ; //

Emit.EnderEmit.xLgr := 'MINHA RUA ' ;

Emit.EnderEmit.nro := '10-10' ;

Emit.EnderEmit.xBairro := 'DISTR. INDUSTRIAL III' ;

Emit.EnderEmit.cMun := 3506003 ;

Emit.EnderEmit.xMun := 'BAURU' ;

Emit.EnderEmit.UF := 'SP' ;

Emit.enderEmit.cPais := 1058;

Emit.enderEmit.xPais := 'BRASIL';

Emit.IEST := '';

Emit.IM := ''; // Preencher no caso de existir serviços na nota

Emit.CNAE := ''; // Verifique na cidade do emissor da NFe se é permitido

// a inclusão de serviços na NFe

Emit.CRT := crtRegimeNormal;

Dest.CNPJCPF := Dm.QryClientescic.AsString;

if not Dm.QryClientes.FieldByName('InscEstadual').IsNull then

begin

Temp := Dm.QryClientes.FieldByName('InscEstadual').Value;

Temp := StringReplace(Temp,'.','',[rfReplaceAll]);

Temp := StringReplace(Temp,'-','',[rfReplaceAll]);

if Length(Dest.CNPJCPF) <> 11 then

Dest.IE := Temp;

end;

Dest.ISUF := '';

if not Dm.QryClientesRazao.IsNull then

Dest.xNome := Dm.QryClientesRazao.AsString;

if not Dm.QryClientes.FieldByName('Telefone').IsNull then

begin

Temp := Dm.QryClientestelefone.AsString;

Temp := StringReplace(Temp,' ','',[rfReplaceAll]);

Temp := StringReplace(Temp,'(','',[rfReplaceAll]);

Temp := StringReplace(Temp,')','',[rfReplaceAll]);

Temp := StringReplace(Temp,'-','',[rfReplaceAll]);

Dest.EnderDest.Fone := Temp;

end;

if not Dm.QryClientesCEP.IsNull then

begin

Temp := Dm.QryClientesCEP.AsString;

Temp := StringReplace(Temp,'.','',[rfReplaceAll]);

Temp := StringReplace(Temp,'-','',[rfReplaceAll]);

Dest.EnderDest.CEP := StrToInt(Temp);

end;

if not Dm.QryClientesEndereco.IsNull then

begin

Temp := Dm.QryClientesEndereco.AsString;

Temp := StringReplace(Temp,',','',[rfReplaceAll]);

Temp := StringReplace(Temp,':',' ',[rfReplaceAll]);

Dest.EnderDest.xLgr := Temp ; // Dm.QryClientesEndereco.AsString;

end;

Dest.EnderDest.nro := Dm.QryClientesNumero.AsString;

Dest.EnderDest.xCpl := '';

Dest.EnderDest.xBairro := Dm.QryClientesBairro.AsString;

Dest.EnderDest.cMun := Dm.QryClientesCodIbge.AsVariant;

Dest.EnderDest.xMun := Dm.QryClientesCidade.AsString;

Dest.EnderDest.UF := Dm.QryClientesUF.AsString;

Dest.EnderDest.cPais := 1058;

Dest.EnderDest.xPais := 'BRASIL';

//Adicionando Produtos

NItem := 1;

Dm.CDSPedidos.First;

While not Dm.CDSPedidos.Eof do

begin

with Det.Add do

begin

Prod.nItem := NItem ; // Número sequencial, para cada item deve ser incrementado

Prod.cProd := Dm.CDSPedidosCodProduto.AsString;

Prod.cEAN := '' ; { obrigatorio a partir de julho/2011

caso haja uso cód. de barras .. '1234567890123';}

Prod.xProd := Dm.CDSPedidosProduto.AsString; //'Descrição do Produto';

Prod.NCM := '19021900'; // Tabela NCM disponível na net

Prod.EXTIPI := '';

if ComboNatOperacao.ItemIndex = 0 then

Prod.CFOP := '5101' // venda de mercadoria - tem icms

else

if ComboNatOperacao.ItemIndex = 1 then

Prod.CFOP := '5904' // remessa para venda fora - nao tem icms

else

if ComboNatOperacao.ItemIndex = 2 then

Prod.CFOP := '1904'; // retorno // nao tem icms

if ComboNatOperacao.ItemIndex = 3 then

Prod.CFOP := '5910'; // bonificacoes - tem icms

if ComboEmbalagem.ItemIndex = 0 then

Prod.uCom := 'UN'

else

if ComboEmbalagem.ItemIndex = 1 then

Prod.uCom := 'CX' ;

Prod.qCom := Dm.CdsPedidosQtdeVendida.AsInteger;

Prod.vUnCom := Dm.CDSPedidosValorUnit.AsFloat ;

Prod.vUnCom := Dm.CDSPedidosValorUnit.AsFloat;

Prod.vProd := Dm.CDSPedidosValorTotalProd.AsFloat;

Prod.cEANTrib := '';

Prod.uTrib := Prod.uCom ; // 'UN';

Prod.qTrib := Prod.qCom;

Prod.vUnTrib := Prod.vUnCom;

Prod.vFrete := 0;

Prod.vSeg := 0;

if EdtDesconto.Text <> '' then

Prod.vDesc := StrtoInt (EdtDesconto.Text)

Else

Prod.vDesc := 0;

infAdProd := '' ; // Informação Adicional do Produto';

with Imposto do

begin

with ICMS do

begin

if (ComboNatOperacao.ItemIndex = 0) or

(ComboNatOperacao.ItemIndex = 3) then

begin

CST := cst20; // esta CST PAGA impostos ...

ICMS.orig := oeNacional;

ICMS.modBC := dbiValorOperacao;

ICMS.vBC := Dm.CDSPedidosValorTotalProd.AsFloat - (Dm.CDSPedidosValorTotalProd.AsFloat * 41.67 /100);

ICMS.pICMS := 12;

ICMS.vICMS := Icms.vBC * 12 / 100;

ICMS.pMVAST := 0;

ICMS.pRedBCST:= 0;

ICMS.vBCST := 0;

ICMS.pICMSST := 0;

ICMS.vICMSST := 0;

ICMS.pRedBC := 41.67;

end;

{ Caso seja Remessa p/ propria empresa, ou retorno de caminhoes ...}

if (ComboNatOperacao.ItemIndex = 1) or

(ComboNatOperacao.ItemIndex = 2) then

begin

CST := cst40; // Esta CST não paga impostos ...

ICMS.orig := oeNacional;

ICMS.modBC := dbiValorOperacao;

ICMS.vBC := 0; // CDSProdPedidoTotalProduto.AsFloat - (CDSProdPedidoTotalProduto.AsFloat * 41.67 /100);

ICMS.pICMS := 0; // 12;

ICMS.vICMS := 0; // Icms.vBC * 12 / 100;

ICMS.pMVAST := 0;

ICMS.pRedBCST:= 0;

ICMS.vBCST := 0;

ICMS.pICMSST := 0;

ICMS.vICMSST := 0;

ICMS.pRedBC := 0; // 41.67;

end;

end;

with IPI do

begin

CST := ipi99 ;

clEnq := '';

CNPJProd := '';

cSelo := '';

qSelo := 0;

cEnq := '';

vBC := 0;

qUnid := 0;

vUnid := 0;

pIPI := 0;

vIPI := 0;

end;

with II do

begin

vBc := 0;

vDespAdu := 0;

vII := 0;

vIOF := 0;

end;

with PIS do

begin

if (ComboNatOperacao.ItemIndex = 0) or (ComboNatOperacao.ItemIndex = 3) then

begin

CST := pis02; // CST : Código de situação tributária 02-paga, 07- nao paga

PIS.vBC := Dm.CDSPedidosValorTotalProd.AsFloat;

PIS.pPIS := 0.65;

PIS.vPIS := Dm.CDSPedidosValorTotalProd.AsFloat * 0.65 /100;

PIS.qBCProd := 0;

PIS.vAliqProd := 0;

end;

if (ComboNatOperacao.ItemIndex = 1) or (ComboNatOperacao.ItemIndex = 2)then

begin

CST := pis07;

PIS.vBC := 0; // CDSProdPedidoTotalProduto.AsFloat;

PIS.pPIS := 0; // 0.65;

PIS.vPIS := 0; // CDSProdPedidoTotalProduto.AsFloat * 1.65 /100;

PIS.qBCProd := 0;

PIS.vAliqProd := 0;

end;

end;

with PISST do

begin

vBc := 0;

pPis := 0;

qBCProd := 0;

vAliqProd := 0;

vPIS := 0;

end;

with COFINS do

begin

if (ComboNatOperacao.ItemIndex = 0) or (ComboNatOperacao.ItemIndex = 3) then

begin

CST := cof02;

COFINS.vBC := Dm.CDSPedidosValorTotalProd.AsFloat;

COFINS.pCOFINS := 3;

COFINS.vCOFINS := Dm.CDSPedidosValorTotalProd.AsFloat * 3 / 100;

COFINS.qBCProd := 0;

COFINS.vAliqProd := 0;

end;

if (ComboNatOperacao.ItemIndex = 1) or (ComboNatOperacao.ItemIndex = 2) then

begin

CST := cof07;

COFINS.vBC := 0; // CDSProdPedidoTotalProduto.AsFloat;

COFINS.pCOFINS := 0; // 3;

COFINS.vCOFINS := 0; // CDSProdPedidoTotalProduto.AsFloat * 7.6 / 100;

COFINS.qBCProd := 0;

COFINS.vAliqProd := 0;

end;

end;

with COFINSST do

begin

vBC := 0;

pCOFINS := 0;

qBCProd := 0;

vAliqProd := 0;

vCOFINS := 0;

end;

end;

end ;

NItem := NItem + 1;

Dm.CDSPedidos.Next; // Final do while ..;

end;

if (ComboNatOperacao.ItemIndex = 0) or (ComboNatOperacao.ItemIndex = 3) then

begin

Total.ICMSTot.vBC := Valtot - (Valtot * 41.67 /100);

Total.ICMSTot.vICMS := Total.ICMSTot.vBC / 100 * 12;

Total.ICMSTot.vBCST := 0;

Total.ICMSTot.vST := 0;

Total.ICMSTot.vProd := Valtot;

Total.ICMSTot.vFrete := 0;

Total.ICMSTot.vSeg := 0;

Total.ICMSTot.vDesc := 0;

Total.ICMSTot.vII := 0;

Total.ICMSTot.vIPI := 0;

Total.ICMSTot.vPIS := Valtot * 0.65 / 100 ; // Total.ICMSTot.vBC * 0.65 /100;

Total.ICMSTot.vCOFINS := Valtot * 3 /100;

Total.ICMSTot.vOutro := 0;

Total.ICMSTot.vNF := Valtot ;

Total.ISSQNtot.vServ := 0;

Total.ISSQNTot.vBC := 0;

Total.ISSQNTot.vISS := 0;

Total.ISSQNTot.vPIS := 0;

Total.ISSQNTot.vCOFINS := 0;

end;

if (ComboNatOperacao.ItemIndex = 1) or (ComboNatOperacao.ItemIndex = 2)then

begin

Total.ICMSTot.vBC := 0; // Valtot - (Valtot * 41.67 /100);

Total.ICMSTot.vICMS := 0; // Total.ICMSTot.vBC / 100 * 12;

Total.ICMSTot.vBCST := 0;

Total.ICMSTot.vST := 0;

Total.ICMSTot.vProd := Valtot;

Total.ICMSTot.vFrete := 0;

Total.ICMSTot.vSeg := 0;

Total.ICMSTot.vDesc := 0;

Total.ICMSTot.vII := 0;

Total.ICMSTot.vIPI := 0;

Total.ICMSTot.vPIS := 0; // Total.ICMSTot.vBC * 0.65 /100;

Total.ICMSTot.vCOFINS := 0; // Valtot * 3 /100;

Total.ICMSTot.vOutro := 0;

Total.ICMSTot.vNF := Valtot ;

Total.ISSQNtot.vServ := 0;

Total.ISSQNTot.vBC := 0;

Total.ISSQNTot.vISS := 0;

Total.ISSQNTot.vPIS := 0;

Total.ISSQNTot.vCOFINS := 0;

end;

IcmsTotal := 0; // Total.ICMSTot.vICMS;

Total.retTrib.vRetPIS := 0;

Total.retTrib.vRetCOFINS := 0;

Total.retTrib.vRetCSLL := 0;

Total.retTrib.vBCIRRF := 0;

Total.retTrib.vIRRF := 0;

Total.retTrib.vBCRetPrev := 0;

Total.retTrib.vRetPrev := 0;

Transp.modFrete := mfContaEmitente;

Transp.Transporta.CNPJCPF := '';

Transp.Transporta.xNome := '';

Transp.Transporta.IE := '';

Transp.Transporta.xEnder := '';

Transp.Transporta.xMun := '';

Transp.Transporta.UF := '';

Transp.retTransp.vServ := 0;

Transp.retTransp.vBCRet := 0;

Transp.retTransp.pICMSRet := 0;

Transp.retTransp.vICMSRet := 0;

Transp.retTransp.CFOP := '';

Transp.retTransp.cMunFG := 0;

Transp.veicTransp.placa := '';

Transp.veicTransp.UF := '';

Transp.veicTransp.RNTC := '';

with Transp.Vol.Add do

begin

qVol := TotalVolumes;

esp := '.' ; // 'Especie ';

marca := '.' ; // 'Marca';

nVol := '.' ; // 'Numero';

pesoL := PesoLiquidoTotal; //Dm.CdsPedidosPesoLiquido.AsFloat;

pesoB := PesoBrutoTotal ; // Dm.CDSPedidosPesoBruto.AsFloat;

//Lacres do volume. Pode ser adicionado vários

//Lacres.Add.nLacre := '';

end;

Cobr.Fat.nFat := EdtFatura.Text; // 'Numero da Fatura';

Cobr.Fat.vOrig := Dm.CdsPedidosValorUnit.AsFloat * Dm.CdsPedidosQtdeVendida.AsInteger; // 100 ;

Cobr.Fat.vDesc := 0 ;

Cobr.Fat.vLiq := Cobr.Fat.vOrig; // 100 ;

with Cobr.Dup.Add do

begin

vDup := Valtot; // 100;

end;

if CheckBox1.Checked then

begin

{ Inclui uma quebra de linha antes do alerta }

MemoObs.Lines.Add(#13 + #10 + 'NAO RECEBENDO BOLETO ATE 3 DIAS ANTES DO VENCIMENTO, FAVOR LIGAR 14 33333333. NAO DISPENSAMOS JUROS. '+

'SUJEITO A PROTESTO. (C. CIVIL, ART. 389 E LEI 9.492/97). FAVOR CONSULTAR O DDA.');

end;

If MemoObs.Text <> '' then

InfAdic.infCpl := MemoObs.Lines.Text

else

InfAdic.infCpl := '';

InfAdic.infAdFisco := '';

with InfAdic.obsCont.Add do

begin

xCampo := '.' ; // ObsCont';

xTexto := '.' ; // Texto';

end;

with InfAdic.obsFisco.Add do

begin

xCampo := '.' ; // ObsFisco';

xTexto := '.' ; // Texto';

end;

exporta.UFembarq := '';;

exporta.xLocEmbarq := '';

compra.xNEmp := '';

compra.xPed := '';

compra.xCont := '';

end;

ACBrNFe1.NotasFiscais.Assinar;

ACBrNFe1.NotasFiscais.Items[0].SaveToFile;

ShowMessage('Arquivo gerado em: '+ACBrNFe1.NotasFiscais.Items[0].NomeArq);

NomeArq := ACBrNFe1.NotasFiscais.Items[0].NomeArq;

NomeArq := Copy (NomeArq, 26, 52);

If not FileExists ('\\Servidor\D\Nota Eletronica\Backup\' + NomeArq) then

AcbrNfe1.NotasFiscais.SaveToFile('\\Servidor\D\Nota Eletronica\Backup\' + NomeArq);

AcbrNfe1.Enviar(1);

AcbrNfe1.NotasFiscais.Clear;

end;

Obrigado pessoal !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4526 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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 conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.