Árvore de páginas

Versões comparadas

Chave

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

A rotina MDTA695 permite a realização da entrega de Equipamentos de Proteção Individual (EPI) para os Funcionários de forma automática (ExecAuto).

Produto:

Protheus

Versões:

Todas

Ocorrência:

Rotina Automática (ExecAuto) - MDTA695 (

Entrega de

EPI

por

x Funcionário)

Ambiente:

SIGAMDT - Medicina e Segurança do Trabalho

Descrição:

Rotina Automática que permite o registro de uma entrega de Equipamento de Proteção Individual para o Funcionário.

info

A entrega de EPI registrada pela execução automática corresponde a uma entrega de EPI realizada manualmente pela rotina de Funcionário x EPIs (MDTA695)

Parâmetros:
NomeTipoDescriçãoConteúdo Padrão
ExpA1
aFuncArrayChaves para identificar o funcionário a ser realizada a entrega do EPI.Nulo
ExpA2
aItemArrayInformação dos EPIs a serem entregues ao funcionário.Nulo 
ExpA3
nOpcaoNuméricoInforma qual ação a rotina automática irá tomar.Nulo 
cPathCaractereInforma o caminho para salvar o relatório de inconsistências.Nulo

Passo a passo:

Bloco de código
languagetext
title

#Include "Protheus.ch"

User Function Auto695()

Local aFunc := {}
Local aItem := {}
Local nOpcao := 4

Private lMSHelpAuto := .T. // para nao mostrar os erro na tela
Private lMSErroAuto := .F. // inicializa como .F., volta .T. se houver erro

aAdd( aFunc, {"RA_MAT", '000002', Nil } )// Array com a chave, setando no funcionário a ser entregue o EPI.

//Dados dos EPI a ser entregue ao funcionário, deve se preencher no mínimo os campos obrigatórios para que ocorra a entrega.
aAdd( aItem, { {"TNF_CODEPI", '000000000000001' , Nil },;
{"TNF_FORNEC", '000001', Nil },;
{"TNF_LOJA", '00', Nil },;
{"TNF_MAT", '000002', Nil },;
{"TNF_DTENTR", Date(), Nil },;
{"TNF_HRENTR", Time(), Nil },;
{"TNF_QTDENT", 1, Nil }})

dbSelectArea("SRA")
dbSetOrder(1)
dbSelectArea("TNF")
MSExecAuto({|x,z,y,w| MDTA695(x,z,y,w)},, aFunc, aItem, nOpcao )

If lMSErroAuto
MostraErro()
EndIf

Exemplo
#Include 'protheus.ch'
#Include 'tbiconn.ch'

//---------------------------------------------------------------------
/*/{Documentação} Auto695

https://tdn.totvs.com/x/gvtZE

/*/
//---------------------------------------------------------------------
User Function Auto695()

    Local aFunc := {}

    Local aItem := {}

    Local nOpcao := 4

    //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Opções de apresentação/geração do log de erros disponíveis:
    // 1- Para o relatório aparecer em tela, descomente a variável na chamada da MSExecAuto.
    // 2- Para salvar o relatório em uma pasta específica dentro da pasta protheus_data, defina a variável (Ex: cPath := "\log_mdt")
    // 3- Em caso de nenhuma alteração, o relatório será salvo na pasta \execauto_mdt\epi dentro da pasta protheus_data
    //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Local cPath

    cPath := ''

    Private lMSHelpAuto := .T. // Não mostrar erros na tela

    Private lMSErroAuto := .F. // Inicializa como falso, retorna verdadeiro se houver erro

    /*PREPARE ENVIRONMENT EMPRESA 'T1' FILIAL 'D MG 01 '*/ // Utilizado para chamar diretamente a função

    aAdd( aFunc, { 'RA_MAT', '01', Nil } ) // Array com a chave, setando o funcionário a ser entregue o EPI

    // Dados dos EPI a ser entregue ao funcionário, deve-se preencher no mínimo os campos obrigatórios para que ocorra a entrega
    aAdd( aItem, {;
        { 'TNF_CODEPI', '01' , Nil },;
        { 'TNF_FORNEC', '01', Nil },;
        { 'TNF_LOJA', '01', Nil },;
        { 'TNF_MAT', '01', Nil },;
        { 'TNF_DTENTR', Date(), Nil },;
        { 'TNF_HRENTR', Time(), Nil },;
        { 'TNF_QTDENT', 1, Nil };
    } )

    aAdd( aItem, {;
        { 'TNF_CODEPI', '02' , Nil },;
        { 'TNF_FORNEC', '01', Nil },;
        { 'TNF_LOJA', '01', Nil },;
        { 'TNF_MAT', '01', Nil },;
        { 'TNF_DTENTR', Date(), Nil },;
        { 'TNF_HRENTR', Time(), Nil },;
        { 'TNF_QTDENT', 1, Nil };
    } )

    dbSelectArea( 'SRA' )

    dbSetOrder( 1 )

    dbSelectArea( 'TNF' )

    MSExecAuto( { | x, z, y, w, c | mdta695( x, z, y, w, c ) }, , aFunc, aItem, nOpcao, /*cPath*/ )

    //-----------------------------------------------------------------------------
    // A função MostrarErro() está sendo disparada diretamente no fonte, portanto,
    // ao disparar aqui a mesma apresentará uma tela em branco
    //-----------------------------------------------------------------------------

    /*
    If lMSErroAuto

        MostraErro()

    EndIf
    */

    /*RESET ENVIRONMENT*/ // Utilizado para chamar diretamente a função

Return

Return
Informações

O Modelo acima está baseado em campos padrões sem nenhuma integração ativa ou campos adicionais.

Sugere-se que o desenvolvedor efetue uma simulação manual, com as integrações ativas, e observe todos os campos que poderão ser obrigatórios e deverão ser adicionados em suas respectivas posições para evitar erro no momento da execução pela falta de campos.

O

modelo acima

exemplo não necessariamente é funcional e trata-se apenas de um exemplo orientativo de utilização.