Árvore de páginas

Versões comparadas

Chave

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

...

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.


Bloco de código
languagecpp
firstline1
titleExemplo:
linenumberstrue
#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", "ZZZZZZ"          ZZZZZZZZZZZZZZZ" },; // Ate o Produto ?
             {"MV_PAR03", "           "   "  },; // Da OP ?
             {"MV_PAR04", "ZZZZZZZZZZZZZZZZZZZZZZZZZ"     },; // 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", "ZZZZZZ"          ZZZZZZZZZZZZZZZ" },; // Ate o Produto ?
             {"MV_PAR03", "           "   "  },; // Da OP ?
             {"MV_PAR04", "ZZZZZZZZZZZZZZZZZZZZZZZZZ"     },; // 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:
Dica
titleExclusã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.