O problema era o campo cUF, estava vazio...
contudo, obrigado,
Leão
No botão Criar e Enviar, existe este procedimento conforme o demo, inclusive o mesmo
não funciona.
Creio que falta algo sobre validar, assinar e transmtir.
procedure TFormNFe_gerar.btnCriarEnviarClick(Sender: TObject);
var
vAux, vNumLote : String;
begin
ACBrNFe1.NotasFiscais.Clear;
if DNF.SITUACAO.Conteudo='Autorizada' then
begin
ShowMessage('NF-e, já autorizada não pode excluir...');
XNumEdit1.SetFocus;
end;
if DNF.SITUACAO.Conteudo='Cancelada' then
begin
ShowMessage('NF-e, cancelada não pode re-inviar, faça consulta...');
XNumEdit1.SetFocus;
end;
if DNF.NUMERO_NFE.Conteudo<>'' then
begin
ShowMessage('NF-e, contém chave, não pode re-inviar, faça consulta...');
XNumEdit1.SetFocus;
end;
vAux:=XNumEdit1.Text;
vNumLote:='1';
if not(InputQuery('WebServices Enviar', 'Numero da Nota', vAux)) then
exit;
if not(InputQuery('WebServices Enviar', 'Numero do Lote', vNumLote)) then
exit;
vNumLote := OnlyNumber(vNumLote);
if Trim(vNumLote) = '' then
begin
MessageDlg('Número do Lote inválido.',mtError,[mbok],0);
exit;
end;
// ACBrNFe1.NotasFiscais.Clear;
{ACBrNFe1.NotasFiscais.GerarNFe;
ACBrNFe1.NotasFiscais.Assinar;
ACBrNFe1.NotasFiscais.Valida;
ACBrNFe1.WebServices.Envia();
}
// ACBrNFe1.NotasFiscais.GerarNFe(vAux);
GerarNFe(vAux);
{ try
ACBrNFe1.NotasFiscais.Assinar;
except on e: Exception do
ShowMessage('Assinatura inválida! '+ e.Message);
end;
}
// ACBrNFe1.Enviar(1,false);
ACBrNFe1.Enviar(vNumLote);
// ACBrNFe1.Enviar(StrToInt(vNumLote));
if ACBrNFe1.WebServices.Retorno.cStat = 105 then // Lote em processamento
begin
repeat
Application.MessageBox('Envio da NFE - Lote em processamento.' +#13 + 'Aguarde 5 minutos e Clique em OK !!!', 'Leão Informática', MB_OK);
ACBrNFe1.WebServices.Retorno.Recibo := ACBrNFe1.WebServices.Enviar.Recibo;
until ACBrNFe1.WebServices.Retorno.Executar;
end;
if ACBrNFe1.WebServices.Retorno.cStat = 100 then // Autorizado o uso da NF-e
begin
TabGlobal.DNF.Filtro.Clear;
TabGlobal.DNF.Filtro.Add('NF = '+IntToStr(DNF.NF.Conteudo));
TabGlobal.DNF.Filtro.Add('AND MODELO = '+#39+DNF.MODELO.Conteudo+#39);
TabGlobal.DNF.Filtro.Add('AND SERIE = '+#39+DNF.SERIE.Conteudo+#39);
TabGlobal.DNF.AtualizaSql;
if not TabGlobal.DNF.Eof then
begin
DNF.Modifica;
DNF.SITUACAO.Conteudo :='Autorizada';
DNF.RECIBO_NFE.Conteudo :=ACBrNFe1.WebServices.Retorno.Recibo;
DNF.NUMERO_NFE.Conteudo :=ACBrNFe1.WebServices.Retorno.ChaveNFe;
DNF.NUMERO_PROTOCO.Conteudo:=ACBrNFe1.WebServices.Retorno.Protocolo;
DNF.CSTAT.Conteudo :='100';
DNF.Salva;
end;
TabGlobal.DNF.Filtro.Clear;
TabGlobal.DNF.AtualizaSql;
end;
MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS);
memoRespWS2.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS);
LoadXML(MemoResp, WBResposta);
MemoDados.Lines.Add('');
MemoDados.Lines.Add('Envio NFe');
MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb));
MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic);
MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat));
MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF));
MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo);
MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg));
MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg);
MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo);
MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo);
// MemoDados.Lines.Add('cStat: '+ ACBrNFe1.WebServices.Retorno.NFeRetorno);
ACBrNFe1.NotasFiscais.Clear;
end;
Por favor, alguém pode ajudar, Não consigo gerar nem o xml.
Obrigado e aguardo
Leão
**************[ a função GerarNFe - com informações da nf-e]****************
procedure TFormNFe_gerar.GerarNFe(NumNFe : String);
var
CamposResultado_cliente,CamposResultado_prod,CamposResultado_transp,CamposResultado_cfop:variant;
vconte:integer;
docnpj1,docnpj2:string;
begin
{ if ComboBox1_pagto.ItemIndex=0 then xforma:='0';
if ComboBox1_pagto.ItemIndex=1 then xforma:='1';
if ComboBox1_pagto.ItemIndex=2 then xforma:='2';
}
PTabela(TabGlobal.DClientes,['CODIGO'],[DNF.COD_CLIENTE.Conteudo],
['SUFRAMA','OUTRAS_OBS1'],CamposResultado_cliente);
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
Ide.natOp := RemoveAcentos(DNF.NOME_CFOP.Conteudo);//'VENDA PRODUCAO DO ESTAB.';
If ComboBox1_pagto.ItemIndex = 0 then
Ide.indPag := ipVista
Else if ComboBox1_pagto.ItemIndex = 1 then
Ide.indPag := ipPrazo
Else If ComboBox1_pagto.ItemIndex = 2 then
Ide.indPag := ipOutras;
Ide.modelo := StrToInt(DNF.MODELO.Conteudo); //55;
Ide.serie := StrToInt(DNF.SERIE.Conteudo); //1;
Ide.nNF := DNF.NF.Conteudo; //StrToInt(NumNFe);
Ide.dEmi := DNF.EMISSAO.Conteudo; //Date;
Ide.dSaiEnt := DNF.DATA_SAIDA.Conteudo;// Date;
Ide.hSaiEnt := Now;
if DNF.SAIDA_ENTRADA.Conteudo='S' then //,'1','0')
Ide.tpNF := tnSaida
else
Ide.tpNF := tnEntrada;
if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=1 then
Ide.tpEmis := teNormal
else if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=2 then
Ide.tpEmis := teContingencia
else if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=3 then
Ide.tpEmis := teSCAN
else if TabGlobal.DConf_NFe.FORMA_EMIS_NF.Conteudo=4 then
Ide.tpEmis := teDPEC;
if TabGlobal.DConf_NFe.IDENTIF_AMBIENTE.Conteudo=1 then
Ide.tpAmb := taProducao //Lembre-se de trocar esta variável quando for para ambiente de produção
else
Ide.tpAmb := taHomologacao;
Ide.verProc := '1.0.0.0'; //Versão do seu sistema
Ide.cUF := NotaUtil.UFtoCUF(TabGlobal.DConf_NFe.COD_UF.Conteudo);//NotaUtil.UFtoCUF(edtEmitUF.Text);
Ide.cMunFG := StrToInt(TabGlobal.DConf_NFe.COD_CIDADE.Conteudo);//StrToInt(edtEmitCodCidade.Text);
if TabGlobal.DConf_NFe.FINALIDADE_EMISSAO_NF.Conteudo='1' then
Ide.finNFe := fnNormal
else if TabGlobal.DConf_NFe.FINALIDADE_EMISSAO_NF.Conteudo='2' then
Ide.finNFe := fnComplementar
else if TabGlobal.DConf_NFe.FINALIDADE_EMISSAO_NF.Conteudo='3' then
Ide.finNFe := fnAjuste;
//Para NFe referenciada use os campos abaixo
{ with Ide.NFref.Add do
begin
refNFe := ''; //NFe Eletronica
RefNF.cUF := 0; // |
RefNF.AAMM := ''; // |
RefNF.CNPJ := ''; // |
RefNF.modelo := 1; // |- NFe Modelo 1/1A
RefNF.serie := 1; // |
RefNF.nNF := 0; // |
RefNFP.cUF := 0; // |
RefNFP.AAMM := ''; // |
RefNFP.CNPJCPF := ''; // |
RefNFP.IE := ''; // |- NF produtor Rural
RefNFP.modelo := ''; // |
RefNFP.serie := 1; // |
RefNFP.nNF := 0; // |
RefECF.modelo := ECFModRef2B; // |
RefECF.nECF := ''; // |- Cupom Fiscal
RefECF.nCOO := ''; // |
end;
}
Emit.CNPJCPF := TabGlobal.DConf_NFe.CNPJ.Conteudo; //edtEmitCNPJ.Text;
Emit.IE := TabGlobal.DConf_NFe.INSCR_EMPRESA.Conteudo; //edtEmitIE.Text;
Emit.xNome := TabGlobal.DConf_NFe.RAZAO_SOCIAL.Conteudo; //edtEmitRazao.Text;
Emit.xFant := TabGlobal.DConf_NFe.NOME_FANTASIA.Conteudo; //edtEmitFantasia.Text;
Emit.EnderEmit.fone := TabGlobal.DConf_NFe.TELEFONE.Conteudo; //edtEmitFone.Text;
Emit.EnderEmit.CEP := StrToInt(TabGlobal.DConf_NFe.CEP.ValorString); //StrToInt(edtEmitCEP.Text);
Emit.EnderEmit.xLgr := TabGlobal.DConf_NFe.ENDERECO.Conteudo; //edtEmitLogradouro.Text;
Emit.EnderEmit.nro := TabGlobal.DConf_NFe.END_NR.Conteudo;// edtEmitNumero.Text;
Emit.EnderEmit.xCpl := TabGlobal.DConf_NFe.COMPL_ENDE.Conteudo; //edtEmitComp.Text;
Emit.EnderEmit.xBairro := TabGlobal.DConf_NFe.BAIRRO.Conteudo; //edtEmitBairro.Text;
Emit.EnderEmit.cMun := StrToInt(TabGlobal.DConf_NFe.COD_CIDADE.Conteudo);// StrToInt(edtEmitCodCidade.Text);
Emit.EnderEmit.xMun := TabGlobal.DConf_NFe.CIDADE.Conteudo; //edtEmitCidade.Text;
Emit.EnderEmit.UF := TabGlobal.DConf_NFe.UF.Conteudo; //edtEmitUF.Text;
Emit.enderEmit.cPais := StrToInt(TabGlobal.DConf_NFe.COD_PAIS.conteudo); //1058;
Emit.enderEmit.xPais := TabGlobal.DConf_NFe.NOME_PAIS.Conteudo; //'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
if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='1' then
Emit.CRT := crtSimplesNacional
else if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='2' then
Emit.CRT := crtSimplesExcessoReceita
else if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='3' then
Emit.CRT := crtRegimeNormal;
//Para NFe Avulsa preencha os campos abaixo
{ Avulsa.CNPJ := '';
Avulsa.xOrgao := '';
Avulsa.matr := '';
Avulsa.xAgente := '';
Avulsa.fone := '';
Avulsa.UF := '';
Avulsa.nDAR := '';
Avulsa.dEmi := now;
Avulsa.vDAR := 0;
Avulsa.repEmi := '';
Avulsa.dPag := now; }
Dest.CNPJCPF := DNF.CNPJ_CPF.Conteudo; //'05481336000137';
Dest.IE := DNF.INSCR_EST.Conteudo;// '687138770110';
if not VarIsNull(CamposResultado_cliente[0]) then
Dest.ISUF :=CamposResultado_cliente[0]
else
Dest.ISUF := '';
Dest.xNome := DNF.NOME_CLIENTE.Conteudo; //'D.J. COM. E LOCAÇÃO DE SOFTWARES LTDA - ME';
Dest.EnderDest.Fone := DNF.FONE.Conteudo; //'1532599600';
Dest.EnderDest.CEP := StrToInt(DNF.CEP.Conteudo); //18270410;
Dest.EnderDest.xLgr := ''; //'Praça Anita Costa';
Dest.EnderDest.nro := ''; //0034';
Dest.EnderDest.xCpl := '';
Dest.EnderDest.xBairro := DNF.BAIRRO.Conteudo; //'Centro';
Dest.EnderDest.cMun := StrToInt(DNF.COD_MUNIC.Conteudo);// 3554003;
Dest.EnderDest.xMun := DNF.MUNICIPIO.Conteudo; //'Tatuí';
Dest.EnderDest.UF := DNF.UF.Conteudo; //'SP';
Dest.EnderDest.cPais := 1058;
Dest.EnderDest.xPais := 'BRASIL';
//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 := '';}
vconte:=0;
//Adicionando Produtos
DNF_ITENS.First;
while not DNF_ITENS.Eof do
begin
with Det.Add do
begin
vconte:=vconte + 1;
Prod.nItem := vconte; //1; // Número sequencial, para cada item deve ser incrementado
Prod.cProd := DNF_ITENS.COD_PRODUTO.ValorString; //'123456';
Prod.cEAN := DNF_ITENS.COD_BARRA.ValorString; //'1234567890123';
Prod.xProd := DNF_ITENS.NOME_PRODUTO.Conteudo; //'Descrição do Produto';
Prod.NCM := DNF_ITENS.NCM.Conteudo; //'12345678'; // Tabela NCM disponível em
Prod.EXTIPI := '';
Prod.CFOP := DNF_ITENS.COD_CFOP2.ValorString; //'5101';
Prod.uCom := DNF_ITENS.UNID.Conteudo; //'UN';
Prod.qCom := DNF_ITENS.QUANTIDADE.Conteudo; // 1 ;
Prod.vUnCom := DNF_ITENS.PRECO_UNITARIO.Conteudo; //100;
Prod.vProd := DNF_ITENS.TOTAL.Conteudo; //100 ;
Prod.cEANTrib := '';
Prod.uTrib := DNF_ITENS.UNID.Conteudo; //'UN';
Prod.qTrib := DNF_ITENS.QUANTIDADE.Conteudo; //1;
Prod.vUnTrib := DNF_ITENS.PRECO_UNITARIO.Conteudo; //100;
if (vconte=1) and
(DNF.VALOR_FRETE.Conteudo>0) then
Prod.vFrete := DNF.VALOR_FRETE.Conteudo
else
Prod.vFrete :=0;
if (vconte=1) and
(DNF.VALOR_SEGURO.Conteudo>0) then
Prod.vSeg := DNF.VALOR_SEGURO.Conteudo
else
Prod.vSeg := 0;
Prod.vDesc := DNF_ITENS.VALOR_DESC.Conteudo;
infAdProd :='';// 'Informação Adicional do Produto';
//Declaração de Importação. Pode ser adicionada várias através do comando Prod.DI.Add
{ with Prod.DI.Add do
begin
nDi := '';
dDi := now;
xLocDesemb := '';
UFDesemb := '';
dDesemb := now;
cExportador := '';
with adi.Add do
begin
nAdicao := 1;
nSeqAdi := 1;
cFabricante := '';
vDescDI := 0;
end;
end;
}
//Campos para venda de veículos novos
{ with Prod.veicProd do
begin
tpOP := toVendaConcessionaria;
chassi := '';
cCor := '';
xCor := '';
pot := '';
Cilin := '';
pesoL := '';
pesoB := '';
nSerie := '';
tpComb := '';
nMotor := '';
CMT := '';
dist := '';
RENAVAM := '';
anoMod := 0;
anoFab := 0;
tpPint := '';
tpVeic := 0;
espVeic := 0;
VIN := '';
condVeic := cvAcabado;
cMod := '';
end;
}
//Campos específicos para venda de medicamentos
{ with Prod.med.Add do
begin
nLote := '';
qLote := 0 ;
dFab := now ;
dVal := now ;
vPMC := 0 ;
end; }
//Campos específicos para venda de armamento
{ with Prod.arma.Add do
begin
nSerie := 0;
tpArma := taUsoPermitido ;
nCano := 0 ;
descr := '' ;
end; }
//Campos específicos para venda de combustível(distribuidoras)
{ with Prod.comb do
begin
cProdANP := 0;
CODIF := '';
qTemp := 0;
CIDE.qBCprod := 0 ;
CIDE.vAliqProd := 0 ;
CIDE.vCIDE := 0 ;
ICMS.vBCICMS := 0 ;
ICMS.vICMS := 0 ;
ICMS.vBCICMSST := 0 ;
ICMS.vICMSST := 0 ;
ICMSInter.vBCICMSSTDest := 0 ;
ICMSInter.vICMSSTDest := 0 ;
ICMSCons.vBCICMSSTCons := 0 ;
ICMSCons.vICMSSTCons := 0 ;
ICMSCons.UFcons := '' ;
end;}
with Imposto do
begin
with ICMS do
begin
PTabela(TabGlobal.DProdutos,['CODIGO'],[DNF_ITENS.COD_PRODUTO.Conteudo],
['COD_FABRICA','CLASSIF_FISCAL','ORIGEM_MERC','UNIDADE','PERC_AGREGAR','TRIBUTADO',
'CHASSI','COR_MONTADORA','COR_DESCR','POTENCIA_MOTO','CM3_POTENCIA','SERIAL_MOTOR',
'TIPO_COMB','NUMERO_MOTOR','CMKG','DISTANCIA_EIXO','RENAVAM','ANOMODELO','ANOFABR',
'TIPO_PINTURA','TIPO_VEIC','ESPECIE_VEIC','CONDI_VIN','COND_VEIC','COD_MAR_MOD',
'TIPO_OPER','PESO_LIQUIDO','PESO_BRUTO','TRIB_OUTRO'],CamposResultado_prod);
// 25 26 27 28
{ Para o Simples Nacional você deve informar o CRT da empresa...
Código:
Emit.CRT := crtSimplesNacional
... e usar CSOSN (101, 102, 103, 201, 202, 203, 300, 400, 500 ou 900) para os produtos, ao invés do CST...
CSOSN := csosn101;
Sérgio
}
//empresa 3-Normal
if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='3' then
begin
if DNF_ITENS.COD_CST_TRIB.Conteudo='00' then
begin
CST := cst00; //cst00;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then
ICMS.modBC := dbiValorOperacao
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then
ICMS.modBC := dbiPauta
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then
ICMS.modBC := dbiPrecoTabelado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100;
ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18;
ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := 0;
ICMS.pRedBCST:= 0;
ICMS.vBCST := 0;
ICMS.pICMSST := 0;
ICMS.vICMSST := 0;
ICMS.pRedBC := 0;
end; //fim 00
//cst10
if DNF_ITENS.COD_CST_TRIB.Conteudo='10' then
begin
CST := cst10;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then
ICMS.modBC := dbiValorOperacao
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then
ICMS.modBC := dbiPauta
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then
ICMS.modBC := dbiPrecoTabelado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100;
ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18;
ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18;
//Mod.Det.BC.ICMS.ST
if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='0' then
ICMS.modBCST := dbisPrecoTabelado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='1' then
ICMS.modBCST := dbisListaNegativa
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='2' then
ICMS.modBCST := dbisListaPositiva
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='3' then
ICMS.modBCST := dbisListaNeutra
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='4' then
ICMS.modBCST := dbisMargemValorAgregado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS_ST.Conteudo='5' then
ICMS.modBCST := dbisPauta;
if CamposResultado_prod[4]>0 then
ICMS.pMVAST := CamposResultado_prod[4] //0;
else
ICMS.pMVAST := 0;
ICMS.pRedBCST:= TabGlobal.DNF_ITENS.PREDBCST.Conteudo;
ICMS.vBCST := DNF_ITENS.BASE_SUBST.Conteudo;
ICMS.pICMSST := 0;
ICMS.vICMSST := DNF_ITENS.VALOR_SUBST.Conteudo;
ICMS.pRedBC := 0;
end; //fim cst 10
//cst20
if DNF_ITENS.COD_CST_TRIB.Conteudo='20' then
begin
CST := cst20;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then
ICMS.modBC := dbiValorOperacao
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then
ICMS.modBC := dbiPauta
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then
ICMS.modBC := dbiPrecoTabelado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100;
ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18;
ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := 0;
ICMS.pRedBCST:= 0;
ICMS.vBCST := 0;
ICMS.pICMSST := 0;
ICMS.vICMSST := 0;
ICMS.pRedBC := 0;
end; //fim 20
//cst 40
if DNF_ITENS.COD_CST_TRIB.Conteudo='40' then
begin
CST := cst40; //cst00;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := 0;
ICMS.pICMS := 0;
ICMS.vICMS := 0;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := 0;
ICMS.pRedBCST:= 0;
ICMS.vBCST := 0;
ICMS.pICMSST := 0;
ICMS.vICMSST := 0;
ICMS.pRedBC := 0;
end; //fim 40
//cst 41
if DNF_ITENS.COD_CST_TRIB.Conteudo='41' then
begin
CST := cst41;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := 0;
ICMS.pICMS := 0;
ICMS.vICMS := 0;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := 0;
ICMS.pRedBCST:= 0;
ICMS.vBCST := 0;
ICMS.pICMSST := 0;
ICMS.vICMSST := 0;
ICMS.pRedBC := 0;
end; //fim 41
//cst 50
if DNF_ITENS.COD_CST_TRIB.Conteudo='50' then
begin
CST := cst50;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := 0;
ICMS.pICMS := 0;
ICMS.vICMS := 0;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := 0;
ICMS.pRedBCST:= 0;
ICMS.vBCST := 0;
ICMS.pICMSST := 0;
ICMS.vICMSST := 0;
ICMS.pRedBC := 0;
end; //fim 50
//cst 51
if DNF_ITENS.COD_CST_TRIB.Conteudo='51' then
begin
CST := cst51;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then
ICMS.modBC := dbiValorOperacao
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then
ICMS.modBC := dbiPauta
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then
ICMS.modBC := dbiPrecoTabelado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100;
ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18;
ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18;
ICMS.pMVAST := 0;
ICMS.pRedBCST:= 0;
ICMS.vBCST := 0;
ICMS.pICMSST := 0;
ICMS.vICMSST := 0;
ICMS.pRedBC := 0;
end; //fim 51
//cst 60
if DNF_ITENS.COD_CST_TRIB.Conteudo='60' then
begin
CST := cst60;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then
ICMS.modBC := dbiValorOperacao
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then
ICMS.modBC := dbiPauta
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then
ICMS.modBC := dbiPrecoTabelado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100;
ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18;
ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18;
ICMS.pMVAST := 0;
ICMS.pRedBCST:= 0;
ICMS.vBCST := DNF_ITENS.BASE_SUBST.Conteudo;
ICMS.pICMSST := 0;
ICMS.vICMSST := DNF_ITENS.VALOR_SUBST.Conteudo;
ICMS.pRedBC := 0;
end; //fim 60
//cst 70
if DNF_ITENS.COD_CST_TRIB.Conteudo='70' then
begin
CST := cst70;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
ICMS.orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
ICMS.orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
ICMS.orig := oeEstrangeiraAdquiridaBrasil;
//Modalidade de determinação BC do ICMS
if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='0' then
ICMS.modBC := dbiValorOperacao
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='1' then
ICMS.modBC := dbiPauta
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='2' then
ICMS.modBC := dbiPrecoTabelado
else if TabGlobal.DConf_NFe.MODALI_DET_BC_ICMS.Conteudo='3' then
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := DNF_ITENS.BASE_ICMS.Conteudo; //100;
ICMS.pICMS := DNF_ITENS.ALIQ_ICMS.Conteudo; //18;
ICMS.vICMS := DNF_ITENS.VALOR_ICMS.Conteudo; //18;
if CamposResultado_prod[4]>0 then
ICMS.pMVAST := CamposResultado_prod[4] //0;
else
ICMS.pMVAST := 0;
ICMS.pRedBCST:= TabGlobal.DNF_ITENS.PREDBCST.Conteudo;
ICMS.vBCST := DNF_ITENS.BASE_SUBST.Conteudo;
ICMS.pICMSST := 0;
ICMS.vICMSST := DNF_ITENS.VALOR_SUBST.Conteudo;
ICMS.pRedBC := 0;
end; //fim 70
end; //fim empresa normal
//empresa 1-Simples Nacional
if TabGlobal.DConf_NFe.REGIME_TRIBUTARIO.Conteudo='1' then
begin
if DNF_ITENS.COD_CST_SIM_NAC.Conteudo='101' then
begin
CSOSN := csosn101;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
orig := oeEstrangeiraAdquiridaBrasil;
pCredSN :=DNF_ITENS.PCREDSN.Conteudo;
vCredICMSSN :=DNF_ITENS.VCREDICMSSN.Conteudo;
end; //fim 101
if DNF_ITENS.COD_CST_SIM_NAC.Conteudo='102' then
begin
CSOSN := csosn102;
if DNF_ITENS.ORIGEM_MERC.Conteudo='0' then
orig := oeNacional
else if DNF_ITENS.ORIGEM_MERC.Conteudo='1' then
orig := oeEstrangeiraImportacaoDireta
else if DNF_ITENS.ORIGEM_MERC.Conteudo='2' then
orig := oeEstrangeiraAdquiridaBrasil;
end; //fim 102
{ CSOSN201 - Preencher e calcular os campos:
Orig
CSOSN
modBCST
pMVAST
pRedBCST
vBCST
pICMSST
vICMSST
pCredSN
vCredICMSSN
CSOSN900 - Preencher e calcular os campos:
Orig
CSOSN
modBC
vBC
pRedBC
pICMS
vICMS
modBCST
pMVAST
pRedBCST
vBCST
pICMSST
vICMSST
pCredSN
vCredICMSST
}
end; //fim empresa simples nacional
end;
with IPI do
begin
if (TabGlobal.DConf_NFe.CST_IPI.Conteudo='00') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='49') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='50') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='99') then
begin
if (DNF_ITENS.VALOR_IPI.Conteudo>0) and
(DNF_ITENS.PRECO_UNITARIO.Conteudo>0) and
(DNF_ITENS.ALIQ_IPI.Conteudo>0) and
(DNF_ITENS.TOTAL.Conteudo>0) then
begin
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='00' then CST := ipi00;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='49' then CST := ipi49;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='50' then CST := ipi50;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='99' then CST := ipi99;
clEnq := '';
CNPJProd := '';
cSelo := '';
qSelo := 0;
cEnq := '999'; //Código de Enquadramento Legal do IPI 999
vBC := DNF_ITENS.TOTAL.Conteudo;
qUnid := 0;
vUnid := 0;
pIPI := DNF_ITENS.ALIQ_IPI.Conteudo;
vIPI := DNF_ITENS.VALOR_IPI.Conteudo;
end;
end; //ipi com valores
//ipi sem valores
if (TabGlobal.DConf_NFe.CST_IPI.Conteudo='01') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='02') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='04') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='05') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='51') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='52') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='53') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='54') or
(TabGlobal.DConf_NFe.CST_IPI.Conteudo='55') then
begin
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='01' then CST := ipi01;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='02' then CST := ipi02;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='04' then CST := ipi04;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='05' then CST := ipi05;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='51' then CST := ipi51;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='52' then CST := ipi52;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='53' then CST := ipi53;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='54' then CST := ipi54;
if TabGlobal.DConf_NFe.CST_IPI.Conteudo='55' then CST := ipi55;
clEnq := '';
CNPJProd := '';
cSelo := '';
qSelo := 0;
cEnq := '999'; //Código de Enquadramento Legal do IPI 999
vBC := 0;
qUnid := 0;
vUnid := 0;
pIPI := 0;
vIPI := 0;
end;
{ CST := ipi99 ;
clEnq := '';
CNPJProd := '';
cSelo := '';
qSelo := 0;
cEnq := ''; //Código de Enquadramento Legal do IPI 999
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 TabGlobal.DConf_NFe.CST_PIS.Conteudo='01' then
begin
CST := pis01; //EditPis.Text; //
PIS.vBC :=DNF_ITENS.TOTAL.Conteudo; //
PIS.pPIS :=TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo; //
PIS.vPIS :=iif(TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo>0,((TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100),'0'); //
PIS.qBCProd := 0;
PIS.vAliqProd := 0;
PIS.vPIS := 0;
end;
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='02' then
begin
CST := pis02; //EditPis.Text; //
PIS.vBC :=DNF_ITENS.TOTAL.Conteudo; //
PIS.pPIS :=TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo; //
PIS.vPIS :=iif(TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo>0,((TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100),'0'); //
PIS.qBCProd := 0;
PIS.vAliqProd := 0;
PIS.vPIS := 0;
end;
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='03' then
begin
CST := pis03; //EditPis.Text; //
PIS.vBC :=DNF_ITENS.TOTAL.Conteudo; //
PIS.pPIS :=TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo; //
PIS.vPIS :=iif(TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo>0,((TabGlobal.DConf_NFe.ALIQ_PIS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100),'0'); //
PIS.qBCProd := 0;
PIS.vAliqProd := 0;
PIS.vPIS := 0;
end;
if (TabGlobal.DConf_NFe.CST_PIS.Conteudo='04') or
(TabGlobal.DConf_NFe.CST_PIS.Conteudo='06') or
(TabGlobal.DConf_NFe.CST_PIS.Conteudo='07') or
(TabGlobal.DConf_NFe.CST_PIS.Conteudo='08') or
(TabGlobal.DConf_NFe.CST_PIS.Conteudo='09') then
begin
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='04' then CST:=pis04; //EditPis.Text; //
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='06' then CST:=pis06;
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='07' then CST:=pis07;
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='08' then CST:=pis08;
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='09' then CST:=pis09;
PIS.vBC :=0; //
PIS.pPIS :=0; //
PIS.vPIS :=0; //
PIS.qBCProd :=0;
PIS.vAliqProd :=0;
PIS.vPIS :=0;
end;
if TabGlobal.DConf_NFe.CST_PIS.Conteudo='99' then
begin
CST:=pis99; //EditPis.Text; //
PIS.vBC :=0; //
PIS.pPIS :=0; //
PIS.vPIS :=0; //
PIS.qBCProd :=0;
PIS.vAliqProd :=0;
PIS.vPIS :=0;
end;
{ CST := pis99;
PIS.vBC := 0;
PIS.pPIS := 0;
PIS.vPIS := 0;
PIS.qBCProd := 0;
PIS.vAliqProd := 0;
PIS.vPIS := 0;
}
end;
with PISST do
begin
vBc := 0;
pPis := 0;
qBCProd := 0;
vAliqProd := 0;
vPIS := 0;
end;
with COFINS do
begin
if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='01') and
(TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo>0) then
begin
CST :=cof01;
COFINS.vBC := DNF_ITENS.TOTAL.Conteudo;
COFINS.pCOFINS := TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo;
COFINS.vCOFINS := ((TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100);
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
end;
if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='01') and
(TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo=0) then
begin
CST :=cof01;
COFINS.vBC := 0;
COFINS.pCOFINS := 0;
COFINS.vCOFINS := 0;
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
end;
if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='02') and
(TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo>0) then
begin
CST :=cof02;
COFINS.vBC := DNF_ITENS.TOTAL.Conteudo;
COFINS.pCOFINS := TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo;
COFINS.vCOFINS := ((TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo*DNF_ITENS.TOTAL.Conteudo)/100);
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
end;
if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='02') and
(TabGlobal.DConf_NFe.ALIQ_COFINS.Conteudo=0) then
begin
CST :=cof02;
COFINS.vBC := 0;
COFINS.pCOFINS := 0;
COFINS.vCOFINS := 0;
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
end;
if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='03' then
begin
CST :=cof03;
COFINS.vBC := 0;
COFINS.pCOFINS := 0;
COFINS.vCOFINS := 0;
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
end;
if (TabGlobal.DConf_NFe.CST_COFINS.Conteudo='04') or
(TabGlobal.DConf_NFe.CST_COFINS.Conteudo='06') or
(TabGlobal.DConf_NFe.CST_COFINS.Conteudo='07') or
(TabGlobal.DConf_NFe.CST_COFINS.Conteudo='08') or
(TabGlobal.DConf_NFe.CST_COFINS.Conteudo='09') then
begin
if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='04' then CST:=cof04;
if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='06' then CST:=cof06;
if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='07' then CST:=cof07;
if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='08' then CST:=cof08;
if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='09' then CST:=cof09;
COFINS.vBC := 0;
COFINS.pCOFINS := 0;
COFINS.vCOFINS := 0;
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
end;
if TabGlobal.DConf_NFe.CST_COFINS.Conteudo='99' then
begin
CST :=cof99;
COFINS.vBC := 0;
COFINS.pCOFINS := 0;
COFINS.vCOFINS := 0;
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
end;
{ CST := cof99;
COFINS.vBC := 0;
COFINS.pCOFINS := 0;
COFINS.vCOFINS := 0;
COFINS.qBCProd := 0;
COFINS.vAliqProd := 0;
}
end;
with COFINSST do
begin
vBC := 0;
pCOFINS := 0;
qBCProd := 0;
vAliqProd := 0;
vCOFINS := 0;
end;
//Grupo para serviços
{ with ISSQN do
begin
vBC := 0;
vAliq := 0;
vISSQN := 0;
cMunFG := 0;
cListServ := 0; // Preencha este campo usando a tabela disponível
// em http://www.planalto.gov.br/Ccivil_03/LE ... Lcp116.htm
end;}
end;
end ;
//deve ser aqui end do nf_itens
DNF_ITENS.Next;
end; //fim do dnf_itens
Total.ICMSTot.vBC := DNF.BASE_ICMS.Conteudo;
Total.ICMSTot.vICMS := DNF.VALOR_ICMS.Conteudo;
Total.ICMSTot.vBCST := DNF.BASE_SUBST.Conteudo;
Total.ICMSTot.vST := DNF.VALOR_SUBST.Conteudo;
Total.ICMSTot.vProd := (DNF.VALOR_PRODUTOS.Conteudo+DNF.VALOR_ISS.Conteudo);
Total.ICMSTot.vFrete := DNF.VALOR_FRETE.Conteudo;
Total.ICMSTot.vSeg := DNF.VALOR_SEGURO.Conteudo;
Total.ICMSTot.vDesc := DNF.VALOR_DESCONTO.Conteudo;
Total.ICMSTot.vII := 0;
Total.ICMSTot.vIPI := DNF.TOTAL_IPI.Conteudo;
Total.ICMSTot.vPIS := 0;
Total.ICMSTot.vCOFINS := 0;
Total.ICMSTot.vOutro := DNF.OUTRAS_DESPESAS.Conteudo;
Total.ICMSTot.vNF := DNF.TOTAL_NF.Conteudo;
Total.ISSQNtot.vServ := 0;
Total.ISSQNTot.vBC := 0;
Total.ISSQNTot.vISS := 0;
Total.ISSQNTot.vPIS := 0;
Total.ISSQNTot.vCOFINS := 0;
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;
PTabela(TabGlobal.DTransportes,['TRANSP_CODIGO'],[DNF.COD_TRANSP.Conteudo],
['TRANSP_NOME','TRANSP_UF','TRANSP_CNPJ','TRANSP_ENDERECO','TRANSP_MUNICIPIO','TRANSP_MUNICIPIO_UF','TRANSP_INSCRICAO','CARTEIRA_HABILITACAO','NOME_MOTORISTA','END_MOTORISTA','MUNICIPIO_MOTO','UF_MOTORISTA','CPF_MOTORISTA','TRANSP_RNTC','TRANSP_PROPRIETARIO'],CamposResultado_transp);
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
if DNF.FRETE_CONTA.Conteudo='0' then //,'0','1'); //+Separador; // 0=Emitente e 1=Destinatário
Transp.modFrete := mfContaEmitente
else if DNF.FRETE_CONTA.Conteudo='1' then
Transp.modFrete := mfContaDestinatario
else if DNF.FRETE_CONTA.Conteudo='2' then
Transp.modFrete := mfContaTerceiros;
docnpj1:=copy(TrocaString(CamposResultado_transp[2], '.', '', [rfReplaceAll, rfIgnoreCase]),1,15);
docnpj2:=copy(TrocaString(docnpj1, '-', '', [rfReplaceAll, rfIgnoreCase]),1,15);
//x04 cnpj e x05 cpf do campo cnpj cadastro transportadora transp_cnpj
if Length(docnpj2)>13 then
begin
Transp.Transporta.CNPJCPF :=iif(not VarIsNull(docnpj2),docnpj2,' '); // ou
end;
//nesse caso foi cadastrado o cpf do motorista
if Length(docnpj2)<14 then
begin
Transp.Transporta.CNPJCPF :=iif(not VarIsNull(docnpj2),docnpj2,' '); // ou
end;
// Transp.Transporta.CNPJCPF := '';
Transp.Transporta.xNome := iif(not VarIsNull(CamposResultado_transp[14]),RemoveAcentos(CamposResultado_transp[14]),' ');
Transp.Transporta.IE := iif(not VarIsNull(CamposResultado_transp[6]),CamposResultado_transp[6],'');
Transp.Transporta.xEnder := iif(not VarIsNull(CamposResultado_transp[3]),RemoveAcentos(CamposResultado_transp[3]),'');
Transp.Transporta.xMun := iif(not VarIsNull(CamposResultado_transp[4]),RemoveAcentos(CamposResultado_transp[4]),'');
Transp.Transporta.UF := iif(not VarIsNull(CamposResultado_transp[5]),CamposResultado_transp[5],' ');
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 := DNF.PLACA.Conteudo;
Transp.veicTransp.UF := iif(not VarIsNull(CamposResultado_transp[1]),CamposResultado_transp[1],Sistema.UfUsr);
Transp.veicTransp.RNTC := iif(not VarIsNull(CamposResultado_transp[13]),CamposResultado_transp[13],' ');
//Dados do Reboque
{ with Transp.Reboque.Add do
begin
placa := '';
UF := '';
RNTC := '';
end;}
with Transp.Vol.Add do
begin
qVol := StrToInt(dnf.QUANTIDADE.ValorString);
esp := RemoveAcentos(DNF.ESPECIE.Conteudo);
marca := RemoveAcentos(DNF.MARCA.Conteudo);
nVol := DNF.MARCA_NUMERO.Conteudo;
pesoL := StrToInt(DNF.PESO_LIQUIDO.ValorString);
pesoB := StrToInt(DNF.PESO_BRUTO.ValorString);
//Lacres do volume. Pode ser adicionado vários
//Lacres.Add.nLacre := '';
end;
Cobr.Fat.nFat := DNF.NF.ValorString; //'Numero da Fatura';
Cobr.Fat.vOrig := DNF.VALOR_PRODUTOS.Conteudo;
Cobr.Fat.vDesc := DNF.VALOR_DESCONTO.Conteudo;
Cobr.Fat.vLiq := DNF.TOTAL_NF.Conteudo;
with Cobr.Dup.Add do
begin
if DNF.DP_VALOR1.Conteudo>0 then
begin
nDup :=DNF.DUPL1.Conteudo;
dVenc :=DNF.VENCTO1.Conteudo;
vDup :=DNF.DP_VALOR1.Conteudo;
end;
if DNF.DP_VALOR2.Conteudo>0 then
begin
nDup :=DNF.DUPL2.Conteudo;
dVenc :=DNF.VENCTO2.Conteudo;
vDup :=DNF.DP_VALOR2.Conteudo;
end;
if DNF.DP_VALOR3.Conteudo>0 then
begin
nDup :=DNF.DUPL3.Conteudo;
dVenc :=DNF.VENCTO3.Conteudo;
vDup :=DNF.DP_VALOR3.Conteudo;
end;
if DNF.DP_VALOR4.Conteudo>0 then
begin
nDup :=DNF.DUPL4.Conteudo;
dVenc :=DNF.VENCTO4.Conteudo;
vDup :=DNF.DP_VALOR4.Conteudo;
end;
if DNF.DP_VALOR5.Conteudo>0 then
begin
nDup :=DNF.DUPL5.Conteudo;
dVenc :=DNF.VENCTO5.Conteudo;
vDup :=DNF.DP_VALOR5.Conteudo;
end;
if DNF.DP_VALOR6.Conteudo>0 then
begin
nDup :=DNF.DUPL6.Conteudo;
dVenc :=DNF.VENCTO6.Conteudo;
vDup :=DNF.DP_VALOR6.Conteudo;
end;
{ nDup := '1234';
dVenc := now+10;
vDup := 100;
}
end;
if DNF.PESSOA.Conteudo='F' then
begin
InfAdic.infCpl:=
iif(not VarIsNull(CamposResultado_cfop[0]),RemoveAcentos(CamposResultado_cfop[0]),'.')+' '+
iif(not VarIsNull(CamposResultado_cfop[1]),RemoveAcentos(CamposResultado_cfop[1]),'.')+' '+
RemoveAcentos(DNF.OBSERVACAO1.Conteudo)+' '+
RemoveAcentos(DNF.OBSERVACAO2.Conteudo)+' '+
RemoveAcentos(DNF.OBSERVACAO3.Conteudo)+' '+
RemoveAcentos(DNF.OBSERVACAO4.Conteudo)+' '+
RemoveAcentos(DNF.ADICIONAL1.Conteudo)+' '+
RemoveAcentos(DNF.ADICIONAL2.Conteudo)+' '+
iif(DNF.CARGA_NUMERO.Conteudo<>'','NUMERO CARGA: '+RemoveAcentos(DNF.CARGA_NUMERO.Conteudo),' ');
end else
begin
InfAdic.infCpl:=
iif(not VarIsNull(CamposResultado_cfop[2]),RemoveAcentos(CamposResultado_cfop[2]),'.')+' '+
iif(not VarIsNull(CamposResultado_cfop[3]),RemoveAcentos(CamposResultado_cfop[3]),'.')+' '+
RemoveAcentos(DNF.OBSERVACAO1.Conteudo)+' '+
RemoveAcentos(DNF.OBSERVACAO2.Conteudo)+' '+
RemoveAcentos(DNF.OBSERVACAO3.Conteudo)+' '+
RemoveAcentos(DNF.OBSERVACAO4.Conteudo)+' '+
RemoveAcentos(DNF.ADICIONAL1.Conteudo)+' '+
RemoveAcentos(DNF.ADICIONAL2.Conteudo)+' '+
iif(DNF.CARGA_NUMERO.Conteudo<>'','NUMERO CARGA: '+DNF.CARGA_NUMERO.Conteudo,' ');
end;
InfAdic.infAdFisco := '';
with InfAdic.obsCont.Add do
begin
xCampo := ''; //'ObsCont';
xTexto := ''; //'Texto';
end;
with InfAdic.obsFisco.Add do
begin
xCampo := ''; //'ObsFisco';
xTexto := ''; //'Texto';
end;
//Processo referenciado
{ with InfAdic.procRef.Add do
begin
nProc := '';
indProc := ipSEFAZ;
end; }
exporta.UFembarq := '';;
exporta.xLocEmbarq := '';
compra.xNEmp := '';
compra.xPed := '';
compra.xCont := '';
end;
end;