Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Backoffice
Módulo:Financeiro
Idiomas:Português
Função: Portal do Cliente

02. DESCRIÇÃO

O ponto de entrada PCREPORTS permite definir os relatórios que serão disponibilizados no menu de Relatórios do Portal do Cliente - SIGAFIN.

Parâmetros disponibilizados no ponto de entrada:

PARAMIXBTipoDescrição
1º PosiçãoArrayContém um Array com as chaves (FILIAL+CODIGO+LOJA) dos clientes selecionados no portal. 
  • Cada posição do Array contém um objeto Json com as propriedades: filial, codigo e loja.
2º PosiçãoCaracterUsuário de login do Portal do cliente


Retorno do ponto de entrada:

O ponto de entrada deve retornar um Array contendo em cada posição outro Array conforme a seguinte configuração:


Sub-ArrayObrigatoriedadeDescrição
1º PosiçãoObrigatórioNome do relatório (Nome que será apresentado no Portal do Cliente).
2º PosiçãoObrigatório

Nome da função que será chamada para geração do relatório. Deve retornar o caminho do arquivo gerado.

Atenção

  • Caso a função utilize namespace é necessário passar o nome completo com namespace
  • Caso seja uma User Function, não é necessário informar "U_" no nome da função
3º PosiçãoOpcionalÍcone que será apresentado no Portal do Cliente, utilizar os ícones disponíveis no link: https://po-ui.io/guides/icons. Caso não seja informado será utilizado o ícone po-icon po-icon-news como padrão.


Parâmetros disponíveis na função de download (Função informada no ponto de entrada):

As funções informadas no ponto de entrada (Função responsável pela geração do relatório) tem acesso aos mesmos parâmetros enviados no ponto de entrada.

PARAMIXBTipoDescrição
1º PosiçãoArray

Contém um Array com as chaves (FILIAL+CODIGO+LOJA) dos clientes selecionados no portal. 

  • Cada posição do Array contém um objeto Json com as propriedades: filial, codigo e loja.
2º PosiçãoCaracterUsuário de login do Portal do cliente


03.
EXEMPLO DE UTILIZAÇÃO

PCREPORTS
#Include "Protheus.ch"


/*/{Protheus.doc} User Function PCREPORTS
    Utilizado para criação do menu de relatorios no Portal do Cliente - FIN.

    O P.E deve retornar um array contendo os objetos para criação do menu,
    sendo a primeira posição o título do relatório, a segunda posição a função
    que será executada (Deve retornar o caminho para download do arquivo) e 
    a ultima posição (opcional) um icone conforme a lista: https://po-ui.io/guides/icons.

    @type Function
    @author Totvs
    @since 15/09/2023
    @version 1.0
    @see https://tdn.totvs.com/pages/viewpage.action?pageId=789976160
 /*/
User Function PCREPORTS()
	Local aRelatorios := {} as Array
    Local aClientes := PARAMIXB[1] as Array
    Local cUsuario := PARAMIXB[2] as Character
    Local nContador := 1 as Numeric
    
    If cUsuario <> "USER.BLOQ"
        For nContador := 1 to Len(aClientes)
            If aClientes[nContador]['codigo'] == '000002'
                AADD(aRelatorios, {'RELATORIO 01', 'PCRFUN1'}) //Nome da função sem U_
                AADD(aRelatorios, {'RELATORIO 02', 'PCRFUN2', "po-icon po-icon-credit-payment"}) //Nome da função sem U_
                Exit
            EndIf
        Next
    EndIf

Return aRelatorios

/*/{Protheus.doc} User Function PCRFUN1
    Retorna o caminho do arquivo gerado para download no Portal do Cliente - FIN.

    @type Function
    @author Totvs
    @since 15/09/2023
    @version 1.0
/*/
User Function PCRFUN1()
    Local cCaminho := "" as Character
    Local nContador := 1 as Numeric
    Local aClientes := PARAMIXB[1] as Array
    Local cUsuario := PARAMIXB[2] as Character

    If cUsuario <> "USER.BLOQ"
        For nContador := 1 to Len(aClientes)
            // Logica para geração do arquivo
        Next
    EndIf

    cCaminho := "/baseline/PCREPORTS_001.pdf"
Return cCaminho

/*/{Protheus.doc} User Function PCRFUN2
    Retorna o caminho do arquivo gerado para download no Portal do Cliente - FIN.

    @type Function
    @author Totvs
    @since 15/09/2023
    @version 1.0
/*/
User Function PCRFUN2()
    Local cCaminho := "" as Character
    Local nContador := 1 as Numeric
    Local aClientes := PARAMIXB[1] as Array
    Local cUsuario := PARAMIXB[2] as Character

    If cUsuario <> "USER.BLOQ"
        For nContador := 1 to Len(aClientes)
            // Logica para geração do arquivo
        Next
    EndIf

    cCaminho := "/baseline/PCREPORTS_002.pdf"
Return cCaminho