Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Protheus

Versões:

Todas

Ocorrência:

Rotina Automática (ExecAuto) - MDTA695 (Entrega de EPI por 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.

Informações

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
ExpA1ArrayChaves para identificar o funcionário a ser realizada a entrega do EPI.Nulo
ExpA2ArrayInformação dos EPIs a serem entregues ao funcionário.Nulo 
ExpA3NuméricoInforma qual ação a rotina automática irá tomar.Nulo 

Passo a passo:

Bloco de código
languagetext
titleExemplo
#Include 'Protheus.ch'

User Function Auto695()

    Local aFunc := {}
    Local aItem := {}

    Local nOpcao := 4

    Private lMSHelpAuto := .T. // Não mostrar erros na tela
    Private lMSErroAuto := .F. // Inicializa como falso, retorna verdadeiro se houver erro

    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', '06' , Nil },;
        { 'TNF_FORNEC', '01', Nil },;
        { 'TNF_LOJA', '01', Nil },;
        { 'TNF_NUMCAP', '123', Nil },;
        { 'TNF_MAT', '01', Nil },;
        { 'TNF_DTENTR', Date(), Nil },;
        { 'TNF_HRENTR', Time(), Nil },;
        { 'TNF_QTDENT', 1, Nil },;
        { 'TNF_MOTIVO', '01', Nil },;
        { 'TNF_LOCAL', '01', Nil },; // Integração com o estoque
        { 'TNF_INDDEV', '01', Nil },;
        { 'TNF_CODFUN', '01', Nil };
    } )

    dbSelectArea( 'SRA' )
    dbSetOrder( 1 )

    dbSelectArea( 'TNF' )

    MSExecAuto( { | x, z, y, w | mdta695( x, z, y, w ) }, , aFunc, aItem, nOpcao )

    If lMSErroAuto

        MostraErro()

    EndIf

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 não necessariamente é funcional e trata-se apenas de um exemplo orientativo de utilização.