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

Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Compras (SIGACOM) - MATA094 - Ejemplo de rutina automática para transferencia a superior de documentos.


Duda

¿Cómo utilizar la rutina automática para transferencia a superior de documentos. MATA094?


Ambiente
Cross Segmentos - TOTVS Backoffice (Línea Protheus) - MI - Compras (SIGACOM) - Todas las versiones 12

Pais: Todos

Solución

Esta rutina automática se ejecuta en MVC:

Ejemplo de transferencia a superior de documentos para la rutina MATA094

#INCLUDE 'RWMAKE.CH'
#INCLUDE 'TBICONN.CH'
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'
 
User Function MyExec094()
 
Local oModel094 := Nil      //-- Objeto que recibirá el modelo de la MATA094
Local cNum      := "PMSAM7" //-- Recibe el número del documento que se evaluará
Local cTipo     := "PC"     //-- Recibe el tipo del documento que se evaluará
Local cAprov    := "SALC14" //-- Recibe el código del aprobador del documento
Local cProxApr  := "000451" //superior
Local cGrupoAp  := "ROM049"
Local cJustif   := "Teste"
Local nLenSCR   := 0        //-- Control de tamaño del campo del documento
Local lOk       := .T.      //-- Control de validación del commit
Local aErro     := {}       //-- Recibe msg de error de procesamiento
 
//-- Inicia el entorno
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" USER "Administrador" PASSWORD "*" MODULO "COM"
     
nLenSCR := TamSX3("CR_NUM")[1] //-- Obtiene el tamaño del campo CR_NUM
DbSelectArea("SCR")
SCR->(DbSetOrder(3)) //-- CR_FILIAL+CR_TIPO+CR_NUM+CR_APROV
 
If SCR->(DbSeek(xFilial("SCR") + cTipo + Padr(cNum, nLenSCR) + cAprov))
 
    //-- Códigos de operaciones posibles:
    //--    "001" // Liberado
    //--    "002" // Revertir
    //--    "003" // Superior
    //--    "004" // Transferir Superior
    //--    "005" // Rechazado
    //--    "006" // Bloqueo
    //--    "007" // Visualización
 
    //-- Selecciona la operación de aprobación de documentos
    A094SetOp('004')
 
    //-- Carga el modelo de datos y selecciona la operación de aprobación (UPDATE)
    oModel094 := FWLoadModel('MATA094')
    oModel094:SetOperation( MODEL_OPERATION_UPDATE )
    oModel094:Activate()
 
    oModel094:GetModel("FieldSCR"):SetValue( 'CR_OBS' , cJustif )
 
    //-- Valida el formulario
    lOk := oModel094:VldData()
 
    If lOk
        //-- Si validó, graba el formulario
        lOk := oModel094:CommitData()
    EndIf
 
    //-- Evalúa errores
    If !lOk
        //-- Busca el Error del Modelo de Datos
        aErro := oModel094:GetErrorMessage()
                 
        //-- Elabora el texto que se mostrará en la pantalla
        AutoGrLog("Id de formulario de origen:" + ' [' + AllToChar(aErro[01]) + ']')
        AutoGrLog("Id del campo de origen: "     + ' [' + AllToChar(aErro[02]) + ']')
        AutoGrLog("Id del formulario de error: "  + ' [' + AllToChar(aErro[03]) + ']')
        AutoGrLog("Id del campo de error: "       + ' [' + AllToChar(aErro[04]) + ']')
        AutoGrLog("Id de error: "                + ' [' + AllToChar(aErro[05]) + ']')
        AutoGrLog("Mensaje del error: "          + ' [' + AllToChar(aErro[06]) + ']')
        AutoGrLog("Mensaje de la solución:"        + ' [' + AllToChar(aErro[07]) + ']')
        AutoGrLog("Valor atribuido: "           + ' [' + AllToChar(aErro[08]) + ']')
        AutoGrLog("Valor anterior: "            + ' [' + AllToChar(aErro[09]) + ']')
 
        //-- Muestra el mensaje de error
        MostraErro()
    EndIf
 
    //-- Desactiva el modelo de datos
    oModel094:DeActivate()
 
Else
    MsgInfo("¡Documento no encontrado!", "MyExec094")
EndIf
     
//-- Finaliza el entorno
RESET ENVIRONMENT
 
Return Nil

 

Conozca más.

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0

0 Comentarios

Inicie sesión para dejar un comentario.
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 _

Rellene los campos siguientes para iniciar el chat:

Chat _