Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

MT680FINAL - Manipulação Apontamento

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

Ponto de Entrada

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