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-e)selecionar 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 momento em que o Código Produto é informado. |
---|
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: | (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).
Exemplo: | User Function LJContTg()
Local aRet := {} // Retorno do PE.
Local nMomento := ParamIxb[1] // Momento que estamos 1 = XML e 2 = Impressão.
Local cTag := ParamIxb[2] // Tag que será alimentada.
Sem parâmetros |
---|
Exemplo: | #INCLUDE "PROTHEUS.CH" User Function LJ7115() Local cTESRet := "" // Atribiu a TES que será retornada Local nPosProd := Ascan(aPosCpo,{|x| Alltrim(Upper(x[1])) == "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) | 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
Return aRet |
---|