Árvore de páginas

01. DADOS GERAIS


Descrição:Este ponto de entrada é chamado em pontos diferentes durante a geração do XML do cupom da venda, possibilitando a inserção de novos trechos conforme obrigações específicas.
Programa fonte:LOJNCFE.PRW
Parâmetros:
Parâmetro 01<tipo de documento>
Tipocaractere
DescriçãoTipo de documento que esta sendo gerado o XML, por exemplo: 65-NFCe
Parâmetro 02<Grupo TAG>
Tipocaractere
DescriçãoGrupo de TAG que o Ponto de Entrada esta localizado.
Retorno:Recebe uma string contendo o trecho a ser inserido no XML, conforme exemplo abaixo.
Exemplo:

Exemplo para atender venda de combustível:

User Function LJCUPXML()
Local cRetXML           := ""                   // Retorno do Ponto de Entrada
Local cModeloDoc    := ParamIXB[1]  // Modelo de documento do XML
Local cPontoXML      := ParamIXB[2]   // Ponto do XML em que o PE esta sendo chamado


If UPPER(cModeloDoc) == "65" // NFC-e
    If UPPER(cPontoXML) == "ICMS" // Itens
        // Neste trecho o P.E. estar posicionado no loop dos impostos dos itens
        // SitTrib 61
        cRetXML += "<ICMS61>"
        cRetXML += "<orig>0</orig>"
        cRetXML += "<CST>61</CST>"
        cRetXML += "<qBCMonoRet>"   + /*valor calculado*/  + "</qBCMonoRet>"
        cRetXML += "<adRemICMSRet>" + /*valor calculado*/ + "</adRemICMSRet>"
        cRetXML += "<vICMSMonoRet>" + /*valor calculado*/ + "</vICMSMonoRet>"
        cRetXML += "</ICMS61>"

    ElseIf UPPER(cPontoXML) == "ICMSTOT" // Totalizador
        // Neste trecho o P.E. esta posicionado no totalizador do ICMS
        cRetXML += "<qBCMonoRet>"   + /*valor calculado*/ + "</qBCMonoRet>"
        cRetXML += "<vICMSMonoRet>" + /*valor calculado*/ + "</vICMSMonoRet>""
    EndIf
EndIf

Return cRetXML


O fonte padrão irá receber o trecho retornado pelo P.E. e adicionar no XML que esta sendo gerado


IMPORTANTE: caso não seja necessário retornar informação para o produto que está sendo vendido para adicionar no XML, deve retornar string em branco " ".

Observações:
  • Como o registro está posicionado no momento da execução do ponto de entrada, é IMPORTANTE que as funções GetArea e RestArea sejam utilizadas;
  • A string retornada não pode conter caracteres de quebra de linhas (exemplo: CRLF);
  • Para saber quais informações devem ser retornadas, recomendamos a leitura das Normas Técnicas em vigor;