Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

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....

Postado

aparentemente vc esta colocando 2 itens numero 1 na NF , ficaria melgor vc postar o xml mesmo

use o Det.clear antes

e depois Det.add para inserir os itens

http://www.rdwtecnologia.com.br/

Rodnei Hernandes Lino

Um pouco ce conhecimento é uma coisa perigosa.

Então é muito. (-Albert Einstein)

Guaíra-SP

Postado

aparentemente vc esta colocando 2 itens numero 1 na NF , ficaria melgor vc postar o xml mesmo

use o Det.clear antes

e depois Det.add para inserir os itens

Ja tentei isso tb, e o erro continua... cfe eu falei antes, a nota só tem 1 item.

Postado

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...

Postado

Bom.. mas... como eu gero um xml sem validar a nota?

acredito que o Italo respondeu isso dizendo

Executando apenas o comando Assinar.

posta o xml gerado

  • Moderadores
Postado

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
  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

  • 2 meses depois ...
Postado

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 !!

  • Este tópico foi criado há 4728 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.