Page tree

Baixa de Pré-Requisições via Execauto

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

Estoque/Custos

Rotina:

Rotina

Nome Técnico

MATA185

Baixa de Pré-Requisições

País(es):

Todos

Banco(s) de Dados:

Todos

Tabelas Utilizadas:

SCP - Solicitações ao Armazém

SD3 - Movimentações Internas

AFH - Projeto x Solicitação Armazém

Sistema(s) Operacional(is):

Windows / Linux

Descrição

Executar a rotina automática Baixa de Pré-Requisições gerando as Requisições.

Tipo de execução para a rotina automática.
 1 = "Baixar"
 2 = "Estorno"
 5 = "Excluir"
 6 = "Encerrar"


Obs.: Os itens da baixa de pré-requisição podem ou não possuir vinculo com tarefas do módulo PMS, por esta razão em operações de inclusão podem ser passados os dados do projeto para atualização, caso não seja informado este Array com os dados da tabela AFH a baixa não ira atualização este vinculo.

Ponto de Entrada

Descrição:

Execauto de Baixa de Pré-Requisição

Localização:

MATA185()

Eventos:

1 = "Baixar"
2 = "Estorno"
5 = "Excluir"
6 = "Encerrar"

Função:

Informe o Nome do(s) produto(s) a ser utilizado ou “Todos”

Parâmetros:

Nome

Tipo

Descrição

Obrigatório

ExpA1

Array of Record

Array com lista de campos (SCP)

X

ExpA2

Array of Record

Array com lista de campos (SD3)

X

ExpN1NuméricoNumero da opcao selecionadaX
ExpA3Array of RecordArray contendo parametros p/ perguntas

ExpA4

Array of Record

Array com lista de campos (AFH)


 

Exemplo:

#Include 'Protheus.ch'

User Function MyMata185()

Local aCamposSCP
Local aCamposSD3

Local aRelProj
Local cNum := "000001" // No.da Requisicao
Local cItem := "01" // No.do Item da Req.
LOCAL aRetCQ := {}

RpcSetEnv("01", "01", "USUARIO", "SENHA")

dbSelectArea("SCP")

dbSetOrder(1)
If SCP->(dbSeek(xFilial("SCP")+cNum+cItem))
        aCamposSCP := { {"CP_NUM" ,SCP->CP_NUM ,Nil },;
                                      {"CP_ITEM" ,SCP->CP_ITEM ,Nil },;
                                      {"CP_QUANT" ,SCP->CP_QUANT ,Nil }}

         aCamposSD3 := { {"D3_TM" ,"501" ,Nil },; // Tipo do Mov.
                                      {"D3_COD" ,SCP->CP_PRODUTO,Nil },;
                                      {"D3_LOCAL" ,SCP->CP_LOCAL ,Nil },;
                                      {"D3_DOC" ,"" ,Nil },; // No.do Docto.
                                      {"D3_EMISSAO" ,DDATABASE ,Nil }}


       //Dados para atualização do vinculo com pms (opcional)
        aRelProj := {}
        aAdd(aRelProj,{})
        aAdd(aRelProj[1],{"AFH_PROJET" ,"Projeto1  " ,Nil })
        aAdd(aRelProj[1],{"AFH_TAREFA" ,"01.01       " ,Nil })
        aAdd(aRelProj[1],{"AFH_QBAIX" ,1 ,Nil })

        aAdd(aRelProj,{})
        aAdd(aRelProj[2],{"AFH_PROJ" ,"Projeto2  " ,Nil })
        aAdd(aRelProj[2],{"AFH_TAREFA" ,"01.01       " ,Nil })
        aAdd(aRelProj[2],{"AFH_QBAIX" ,2 ,Nil })



        lMSHelpAuto := .F.
        lMsErroAuto := .F.

        MSExecAuto({|v,x,y,z,w| mata185(v,x,y,z,w)},aCamposSCP,aCamposSD3,1,,aRelProj)   // 1 = BAIXA (ROT.AUT)

        If lMsErroAuto
                MostraErro()
        EndIF

EndIf

RpcClearEnv() 

Return Nil