Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Utilização do MsDocument no ponto MTA094RO.

Dúvida
Como devo declarar a função MsDocument para que funcione corretamente na rotina MATA094?

Ambiente
Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - A partir da versão 11.80


Solução
Para a utilização deve seguir o exemplo abaixo.

#Include 'Protheus.ch'

User Function MTA094RO()

Private aRotina:= PARAMIXB[1]

Aadd(aRotina,{'MsDocument_',"U_MSdoc()", 0, 4,0,NIL})

//Validações do usuário

Return (aRotina)


User Function MSdoc()

Private aRotina := FWloadmenudef('MATA094')

MsDocument('SC7',SC7->(RecNo()), 4)

return .t.

 

Saiba Mais

MTA094RO

MsDocument

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

3 Comentários

  • Avatar
    Welinton Fernandes

    BOa tarde,

    Fiz conforme orientado, mas não funciona.
    Na tela de pedidos de compras, MATA120 funciona, masna tela de Liberação de Pedidos, MATA094 não funciona.
    O Pedido tem 6 itens e o conhecimento esta associado ao item 006.

    1
    Ações de comentário Permalink
  • Avatar
    Edgar Andrade

    Welinton tem que sempre anexar no item 001.

    0
    Ações de comentário Permalink
  • Avatar
    Sangar Zucchi (Editado )

    Segue um exemplo que eu desenvolvi:

     

    #INCLUDE "PROTHEUS.CH"


    /*/{Protheus.doc} MTA094RO
    O Ponto de Entrada MTA094RO, localizado na rotina de Liberação de Documento, permite adicionar opções no item Outras Ações.
    EVENTOS: O Ponto de Entrada MTA094RO será executado no momento em que é montado o Array aRotina dentro da função MenuDef().
    FONTE: MATA094.PRW
    PARÂMETROS: PARAMIXB[1] - Array com as opções que são chamadas dentro de Outras Ações.
    @type function
    @version 12.1.33
    @author Sangar Zucchi
    @since 26/05/2023
    @return array, Retorna o array com as novas opções de Outras Ações.
    /*/
    User Function MTA094RO()

        Private aRotina := PARAMIXB[1]

        //Incluindo a rotina para abertura do banco de conhecimento na MATA094
        Aadd(aRotina,{"Conhecimento","U_MsDocPC(SCR->CR_NUM)", 0, 2,0,NIL})

    Return aRotina


    /*/{Protheus.doc} MsDocPC
    Apresenta a tela de banco de conhecimento para o código de pedido de compra informado por parâmetro.
    @type function
    @version 12.1.33
    @author Sangar Zucchi
    @since 26/05/2023
    @param cNumPC, character, Número do PC para abrir a tela de banco de conhecimento
    @return logical, Indica se foi possível abrir (.T.) ou não (.F.) a tela de banco de conhecimento
    /*/
    User Function MsDocPC(cNumPC)

        Local lRet      := .F.
        Local aArea     := {}
        Local aAreaSC7  := {}
        Local aAreaSCR  := {}
        //Private aRotina := FWloadmenudef('MATA094')//Carregando o MenuDef do MVC da MATA094

        Default cNumPC  := ""

        //Salvando o ambiente de trabalho ativo
        aArea       := GetArea()
        aAreaSC7    := SC7->(GetArea())
        aAreaSCR    := SCR->(GetArea())

        //Posicionando no Pedido de Compra
        dbSelectArea("SC7")
        dbSetOrder(1)
        dbGoTop()//C7_FILIAL + C7_NUM + C7_ITEM + C7_SEQUEN
        If dbSeek(xFilial("SC7")+PADR(cNumPC,GetSX3Cache("C7_NUM","X3_TAMANHO")))
       
            //Abrindo a tela de banco de conhecimento em modo de "2 - Visualização"
            MsDocument("SC7",SC7->(RECNO()),2)
            lRet := .T.
       
        Else
           
            FWAlertInfo("Não foi possível localizar o pedido de compra: '"+cNumPC+"'!","[MTA094RO] PC NÃO ENCONTRADO")
            lRet := .F.

        EndIf

        //Restaurando o ambiente de trabalho ativo
        RestArea(aAreaSCR)
        RestArea(aAreaSC7)
        RestArea(aArea)

    Return lRet
    0
    Ações de comentário Permalink
Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _