Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

(Array) Array com os dados que serão alimentados no XML e quantidade de caractere que será impresso na DANFE. 

Deve ser retornado um array no seguinte formato: 

aRet[1][1] - (Caractere), com os dados que serão adicionados na Tag do XML.
aRet[1][2] - (Numérico), com a quantidade de caractere que será impresso na DANFE (NFC-e).

Nome:

LJContTgLJ7115

Descrição:

Este ponto de entrada permite adicionar informações em uma Tag do XML da NFC-e e a impressão de seu conteúdo da DANFE (NFC-eselecionar a TES conforme regra definida pelo Cliente). 
A chamada do ponto de entrada ocorre em dois momentos:

  • Momento 1: Montagem do XML da NFC-e
  • Momento 2: Impressão do Comprovante da NFC-e

É através do primeiro parâmetro passado no Ponto de Entrada que determina em que momento o ponto de entrada está sendo executado, sendo:

  • 1=Montagem do XML
  • 2=Impressão Cupom
Além deste, é passado também o segundo parâmetro que tem por objetivo identificar a tag em questão que será alimentada. Exemplo: "InfAdprod"

no momentos em que o item é informado.

Programa Fonte:LOJNFCELOJA701A.PRW
Parâmetros:

PARAMIXB[1] - (Numérico) com o momento que o ponto de entrada está sendo executado (1=XML e 2=Impressão)

PARAMIXB[2] - (Caractere) com a tag do XML em questão: Exemplo: InfAdprod

Retorno:Exemplo:Sem parâmetros
Retorno:TES definida pela regra do Cliente
Exemplo:

#INCLUDE "PROTHEUS.CH"

User Function LJ7115()
Local cTESRet   := ""                                                   User Function LJContTg()
Local aRet      := {}          // Retorno do PE.Atribiu a TES que será retornada
Local nMomento nPosProd    := ParamIxbAscan(aPosCpo,{|x| Alltrim(Upper(x[1] // Momento que estamos 1 = XML e 2 = Impressão.
Local cTag      := ParamIxb[2] // Tag que será alimentada. 

If nMomento ==  1 .And. cTag == "infAdProd"
    Aadd(aRet,{" Teste 123456789 teste ", 7}) 
ElseIf nMomento ==  2 .And. cTag == "infAdProd"   
    Aadd(aRet,{" Teste 123456789 teste ", 5})
EndIf

)) == "LR_PRODUTO"})    // Posicao da codigo do produto
Local nPosClEntr:= Ascan(aPosCpo,{|x| Alltrim(Upper(x[1])) == "LR_CLIENT"})        // Cliente de entrega
Local nPosLjEntr:= Ascan(aPosCpo,{|x| Alltrim(Upper(x[1])) == "LR_CLILOJA"})    // Filial do cliente de entrega

Local cProduto  := aCols[n,nPosProd]
Local cCliente  := aCols[n,nPosClEntr]
Local cLojaCli  := aCols[n,nPosLjEntr]

Local cTipOper  := "01"

If Empty(cCliente)
    cCliente  := M->LQ_CLIENTE
    cLojaCli  := M->LQ_LOJA 
EndIf
// Executa a função MatesInt para buscar TES Inteligente;
// Chamada de função MaTesInt é opcional, sendo possível definir de outra forma, conforme regra do Cliente.
cTESRet := MaTesInt( 2, cTipOper, cCliente, cLojaCli, "C", cProduto, NIL)

Return(cTESRet)Return aRet