Árvore de páginas

MATA651 - Ordens de produção prevista

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):


Nome
Tipo
Descrição
Default
Obrigatório
Referência

aInfo
Vetor

Array com as informações que serão usadas como filtro. Passar os dados de acordo com o pergunte do programa. 




X



nOpc
Numérico

Opção que será executada pela rotina automatica.

4 - Firmar OPs

5 - Excluir OPs




X



lExcSC
Lógico
Indica se deve excluir as solicitações de compra previstas.
.T.




Idiomas:Todos

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Descrição:
As ordens de produção geradas como "previstas", podem ser reclassificadas como "firmes" através desta rotina. Uma OP é considerada prevista enquanto não há absoluta certeza quanto à produção do item. Quando confirmada, a OP passa a ser "firme", ou seja, será liberada para a produção. Enquanto a OP estiver classificada como "prevista", todos os empenhos, solicitações e pedidos serão considerados também como previstos. Ao firmar a OP todos os itens relacionados a ela serão firmados.


Exemplo:
#INCLUDE "PROTHEUS.CH"

// Firmar OPs
User Function A651Auto()
    Local aInf   := {}
    Local lExcSC := .T.
    Local nOpc   := 4
        
    Private lMsErroAuto := .F.

    RpcSetType(3)
    RpcSetEnv("99","01")

    aInf := {{"MV_PAR01", "               " },; // Do Produto ?
             {"MV_PAR02", "ZZZZZZZZZZZZZZZ" },; // Ate o Produto ?
             {"MV_PAR03", "              "  },; // Da OP ?
             {"MV_PAR04", "ZZZZZZZZZZZZZZ"  },; // Ate a OP ?
             {"MV_PAR05", CTOD("01/01/2022")},; // Da Data de Entrega ?
             {"MV_PAR06", CTOD("31/12/2022")},; // Ate a Data de Entrega ?
             {"MV_PAR07", CTOD("01/01/2022")},; // Da Data de Inicio ?
             {"MV_PAR08", CTOD("31/12/2022")},; // Ate Data de Inicio ?
             {"MV_PAR09", 1};                   // Firma OPs Intermediarias ? (1 - Sim, 2 - Não)
            }
    
    MSExecAuto({|x,y,z| Mata651(x,y,z)}, aInf, nOpc, lExcSC)

    If lMsErroAuto
        MostraErro()  
    EndIf

    FwFreeArray(aInf)
Return Nil

// Excluir OPs
User Function A651Exclui()
    Local aInf   := {}
    Local lExcSC := .F.
    Local nOpc   := 5
        
    Private lMsErroAuto := .F.

    RpcSetType(3)
    RpcSetEnv("99","01")

    aInf := {{"MV_PAR01", "               " },; // Do Produto ?
             {"MV_PAR02", "ZZZZZZZZZZZZZZZ" },; // Ate o Produto ?
             {"MV_PAR03", "              "  },; // Da OP ?
             {"MV_PAR04", "ZZZZZZZZZZZZZZ"  },; // Ate a OP ?
             {"MV_PAR05", CTOD("01/01/2022")},; // Da Data de Entrega ?
             {"MV_PAR06", CTOD("31/12/2022")},; // Ate a Data de Entrega ?
             {"MV_PAR07", CTOD("01/01/2022")},; // Da Data de Inicio ?
             {"MV_PAR08", CTOD("31/12/2022")},; // Ate Data de Inicio ?
             {"MV_PAR09", 1};                   // Firma OPs Intermediarias ? (1 - Sim, 2 - Não)
            }
    
    MSExecAuto({|x,y,z| Mata651(x,y,z)}, aInf, nOpc, lExcSC)

    If lMsErroAuto
        MostraErro()  
    EndIf

    FwFreeArray(aInf)
Return Nil

Sintaxe:

A651Auto() → Nil

Retorno:

Nil (Nulo)

Observações:

Exclusão de OPs

Na operação de excluir OPs, deve levar em consideração o parâmetro lExcSC.

  • Quando verdadeiro (valor padrão) irá apagar as solicitações de compras previstas.
  • Quando falso não irá apagar as solicitações de compras.
  • Este parâmetro não leva em consideração solicitações de compra vinculadas a alguma ordem de produção (C1_OP). Neste caso a solicitação de compra será apagada junto com a ordem de produção, caso a OP entre nos filtros recebidos.