Linha de Produto: | Protheus |
Segmento: | Manufatura |
Módulo: | SIGAPCP - Planejamento e Controle da Produção |
Idiomas: | Português(Brasil) |
País(es): | Todos |
Banco(s) de Dados: | Todos |
Sistema(s) Operacional(is): | Todos |
Descrição: | O ponto de entrada MT680FINAL foi criado para que seja possível a alteração dos lotes dos empenhos a partir da tela do programa de Empenho Múltiplo (MATA381). Se o programa MATA681 for executado via Rotina Automática (EXECAUTO), esse ponto de entrada não tem validade, porque mesmo que retorne .T. (true), não será aberta a tela de empenho múltiplo. Porém, é possível efetuar a abertura da tela do Empenho Múltiplo (MATA381), depois da chamada do execauto (conforme exemplo 2). |
Localização: | Function RetPerMIt - A função em questão foi criada em todos os pontos do programa onde é possível manipular a variável "nPercPrM", de forma a deixar centralizado. |
Programa Fonte: | MATA680.PRX |
Retorno: | lAbre381 Retorna uma variável lógica, que indicará se será aberta ( .T. ) a tela de Empenho Múltiplo ou não ( .F. ). |
Exemplo 1:
#include 'protheus.ch'
#include 'parmtype.ch'
User Function MT680FINAL()
Local lAbre381 := .f.
If !Inclui
Return lAbre381
EndIf
cH6_OP := M->H6_OP
dbSelectArea("SD4")
dbSetOrder(2)
If dbSeek(xFilial("SD4")+cH6_OP)
While SD4->(!Eof()) .AND. SD4->D4_FILIAL == xFilial("SD4") .AND. SD4->D4_OP == cH6_OP
If Empty(SD4->D4_LOTECTL)
lAbre381 := .t. //Alimenta a variavel para chamar a tela de empenhos
Exit
EndIf
SD4->(dbSkip())
End
EndIf
Return lAbre381
Exemplo 2 (abertura da tela depois do autoexec):
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
User Function RMATA681()
Local aVetor := {}
Local dData
Local nOpc := 3
//definição de variáveis private necessárias para funcionamento do MATA381
PRIVATE INCLUI := .F.
PRIVATE ALTERA := .T.
lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" TABLES "SH6"
dData:=dDataBase
aVetor := {;
{"H6_OP" ,"00000101001 " ,NIL},;
{"H6_PRODUTO" ,"PA01 " ,NIL},;
{"H6_OPERAC" ,"01" ,NIL},;
{"H6_RECURSO" ,"1" ,NIL},;
{"H6_DTAPONT" ,dData ,NIL},;
{"H6_DATAINI" ,dData ,NIL},;
{"H6_HORAINI" ,"19:11" ,NIL},;
{"H6_DATAFIN" ,dData ,NIL},;
{"H6_HORAFIN" ,"19:20" ,NIL},;
{"H6_PT" ,'P' ,NIL},;
{"H6_LOCAL" ,"01" ,NIL},;
{"H6_QTDPROD" ,7 ,NIL}}
MSExecAuto({|x| mata681(x)},aVetor, nOpc)
//Chamada da tela MATA381 passando os dois primeiros parâmetros em branco (que são os parâmetros
//utilizados quando o MATA381 é executado via rotina automática), 4 (indicando tratar-se de modificação),
//e .T. indicando que deve abrir a tela já na grid de manutenção
MATA381(,,4,.T.)
If lMsErroAuto
Mostraerro()
Else
Alert("ok")
EndIf
Return