Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá a todos!

 

Estou tendo uma dificuldade para o correto preenchimento do endereço de entrega.
Estou emitindo NFe de Importação para entrega em um deposito terceirizado, o problema que na rotina TNFeW.GerarEntrega  "pcnNFeW.pas" os parâmetros que a rotina utiliza são do destinatário, não os parâmetros do endereço de entrega. Com isso eu defino o município, pais, CNPJ do endereço de entrega mais a rotina altera para :

<entrega>
<CNPJ/>
<xLgr>Rua Nome</xLgr>
<nro>1109</nro>
<xCpl>Complemento</xCpl>
<xBairro>Nome do Bairro</xBairro>
<cMun>9999999</cMun>
<xMun>EXTERIOR</xMun>
<UF>EX</UF>
</entrega>

Segue o código da rotina:

procedure TNFeW.GerarEntrega;
var
  cMun: integer;
  xMun: string;
  xUF: string;
begin
  if trim(nfe.Entrega.xLgr) <> '' then
  begin
    AjustarMunicipioUF(xUF, xMun, cMun, nfe.Dest.enderDest.cPais, nfe.Entrega.UF, nfe.Entrega.xMun, nfe.Entrega.cMun);
    Gerador.wGrupo('entrega', 'G01');
    Gerador.wCampoCNPJCPF('G02', 'G02a', nfe.Entrega.CNPJCPF, nfe.Dest.enderDest.cPais);
    Gerador.wCampo(tcStr, 'G03', 'xLgr   ', 02, 60, 1, nfe.Entrega.xLgr, DSC_XLGR);
    Gerador.wCampo(tcStr, 'G04', 'nro    ', 01, 60, 1, ExecutarAjusteTagNro(FOpcoes.FAjustarTagNro, nfe.Entrega.nro), DSC_NRO);
    Gerador.wCampo(tcStr, 'G05', 'xCpl   ', 01, 60, 0, nfe.Entrega.xCpl, DSC_XCPL);
    Gerador.wCampo(tcStr, 'G06', 'xBairro', 01, 60, 1, nfe.Entrega.xBairro, DSC_XBAIRRO);
    Gerador.wCampo(tcInt, 'G07', 'cMun   ', 01, 07, 1, cMun, DSC_CMUN);
    if not ValidarMunicipio(cMun) then
      Gerador.wAlerta('F07', 'cMun', DSC_CMUN, ERR_MSG_INVALIDO);
    Gerador.wCampo(tcStr, 'G08', 'xMun   ', 02, 60, 1, xMun, DSC_XMUN);
    Gerador.wCampo(tcStr, 'G09', 'UF     ', 02, 02, 1, xUF, DSC_UF);
    if not ValidarUF(xUF) then
      Gerador.wAlerta('G09', 'UF', DSC_UF, ERR_MSG_INVALIDO);
    Gerador.wGrupo('/entrega');
  end;
end;

Alguém poderia explicar porque a rotina verificar o endereço do destinatário e não o endereço de entrega?

Obrigado.
Ricardo

 

Postado

Olá Ítalo,

 

No caso de nota fiscal de importação o destinatário e empresa estrangeira e o endereço de entrega e no Brasil, por isso estou tendo o problema.

 

Emitente: Minha empresa
Destinatário: Empresa estrangeira
Endereço: endereço da empresa estrangeira
Endereço de Entrega: Endereço no Brasil.

 

Com isso a rotina não pode verificar essas propriedades com base no destinatário

e sim co m base no endereço de entrega.

Ricardo

Postado

O endereço de entrega não pode ficar atrelado ao destinatário, pois no caso de importação o destinatário e a empresa estrangeira e o endereço de entrega é no Brasil.

 

Ricardo

  • Moderadores
Postado

Altere a função GerarEntrega para o código abaixo e veja se o problema é resolvido.

 

procedure TNFeW.GerarEntrega;
var
  cMun: integer;
  xMun: string;
  xUF: string;
begin
  if trim(nfe.Entrega.xLgr) <> '' then
  begin
    Gerador.wGrupo('entrega', 'G01');
    Gerador.wCampoCNPJCPF('G02', 'G02a', nfe.Entrega.CNPJCPF, 1058);
    Gerador.wCampo(tcStr, 'G03', 'xLgr   ', 02, 60, 1, nfe.Entrega.xLgr, DSC_XLGR);
    Gerador.wCampo(tcStr, 'G04', 'nro    ', 01, 60, 1, ExecutarAjusteTagNro(FOpcoes.FAjustarTagNro, nfe.Entrega.nro), DSC_NRO);
    Gerador.wCampo(tcStr, 'G05', 'xCpl   ', 01, 60, 0, nfe.Entrega.xCpl, DSC_XCPL);
    Gerador.wCampo(tcStr, 'G06', 'xBairro', 01, 60, 1, nfe.Entrega.xBairro, DSC_XBAIRRO);
    Gerador.wCampo(tcInt, 'G07', 'cMun   ', 01, 07, 1, nfe.Entrega.cMun, DSC_CMUN);
    if not ValidarMunicipio(nfe.Entrega.cMun) then
      Gerador.wAlerta('F07', 'cMun', DSC_CMUN, ERR_MSG_INVALIDO);
    Gerador.wCampo(tcStr, 'G08', 'xMun   ', 02, 60, 1, nfe.Entrega.xMun, DSC_XMUN);
    Gerador.wCampo(tcStr, 'G09', 'UF     ', 02, 02, 1, nfe.Entrega.UF, DSC_UF);
    if not ValidarUF(nfe.Entrega.UF) then
      Gerador.wAlerta('G09', 'UF', DSC_UF, ERR_MSG_INVALIDO);
    Gerador.wGrupo('/entrega');
  end;
end;
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
  • Consultores
Postado

Bom dia André,

 

Notei que foi removida a linha que dependendo do código do pais ele mantem a UF, código do municipio, não teria como identificar se a nota é de importação ou não ?

 

Se for em vez de pegar o código do pais do destinatário usariamos o código do Brasil.

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

Olá Andre

A modificação apresentada por você funciona, pois eu fiz a geração da Nota Fiscal com uma modificação muito próxima a que você apresentou e funcionou perfeitamente.

 

Tem como colocar isso em produção?

 

Ricardo

  • 11 meses depois ...
Postado

Olá André e Ítalo,

 

Em nossa conversa nesse post em Abril/2013, questionei se seria possível subir a modificação do fonte como descrido pelo André, mais visto que até hoje não foi efetuada, vocês saberiam porque, pois continuo com o mesmo problema toda vez que tenho que atualizar o ACBr, tenho que alterar as linha indicada pelo André.

 

Obrigado.

Ricardo

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

The popup will be closed in 10 segundos...