Árvore de páginas

Ponto de Entrada

Descrição:

Este Ponto de Entrada será executado na rotina Escala Automática de Produtivos (OFIOM270) e permite inserir campos para gravação na tabela VOE

Localização:

Atualizações \ MovProdutivos \ Escala Automatica (OFIOM270)

Eventos:

DbSelectArea("VAI")

DbSetOrder(1)

DbSeek( xFilial("VAI") + cProd )

If !Empty(VAI->VAI_DATDEM) .and. dDtFi > VAI->VAI_DATDEM

MsgInfo(STR0031+DtoC(VAI->VAI_DATDEM),STR0016)

ElseIf !Empty(cProd)

For ni := 1 to nDias

lGrava := .f.

If FS_VERFERIADO(dDtIn+(ni-1)) // Feriados

If !Empty(cPFer)

lGrava := .t.

cCPer := cPFer

EndIf

Else // Dia Normal

nDia := Dow(dDtIn+(ni-1))

Do Case

Case nDia == 1 // Domingo

If !Empty(cPDom)

lGrava := .t.

cCPer := cPDom

EndIf

Case nDia == 2 // Segunda-Feira

If !Empty(cPSeg)

lGrava := .t.

cCPer := cPSeg

EndIf

Case nDia == 3 // Terca-Feira

If !Empty(cPTer)

lGrava := .t.

cCPer := cPTer

EndIf

Case nDia == 4 // Quarta-Feira

If !Empty(cPQua)

lGrava := .t.

cCPer := cPQua

EndIf

Case nDia == 5 // Quinta-Feira

If !Empty(cPQui)

lGrava := .t.

cCPer := cPQui

EndIf

Case nDia == 6 // Sexta-Feira

If !Empty(cPSex)

lGrava := .t.

cCPer := cPSex

EndIf

Case nDia == 7 // Sabado

If !Empty(cPSab)

lGrava := .t.

cCPer := cPSab

EndIf

EndCase

EndIf

If lGrava .and. cPAux # cCPer

cPAux := cCPer

DbSelectArea("VOE")

RecLock("VOE",.t.)

VOE->VOE_FILIAL := xFilial("VOE")

VOE->VOE_CODPRO := cProd

VOE->VOE_DATESC := dDtIn+(ni-1)

VOE->VOE_CODPER := cCPer

If lVOEFILPRO

VOE->VOE_FILPRO := cFilPro

Endif

// Insere Campos para gravação na tabela VOE (Escala de Produtivos)

If ExistBlock("OM270GRV")

ExecBlock("OM270GRV",.f.,.f.)

EndIf

MsUnlock()

EndIf

Next

MsgAlert(STR0028+cProd+STR0029,STR0016)

Else

MsgAlert(STR0030,STR0016)

EndIf

cProd := cPDom := cPSeg := cPTer := cPQua := cPQui := cPSex := cPSab := cPFer := cPAux := space(6)

cNome := space(50)

dDtIn := dDataBase+1

dDtFi := dDataBase+31

oDlg1:Refresh()

Return()

Programa Fonte:

OFIOM270.PRW

Função:

FS_ESCALAR()

Parâmetros:

N/A

Retorno:

N/A

Exemplo:

Include totvs.ch

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Insere Campos para gravação na tabela VOE (Escala de Produtivos) na rotina OFIOM270 (Escala Automática) //

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

User Function OM270GRV()


MsgAlert("Ponto de Entrada OM270GRV executado com sucesso!","Atenção")


Return