Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagejava
firstline1
titleExemplo de Inclusão
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function fExecauto()
	
	Local aTurno := {}
	Local aItens := {}
	Local nOpcAuto := 0
	Local nI := 0
	Local cTipoDia
	Local cCodHe
	Local cCodHeNot
	
	Private lMsErroAuto := .F.
	
	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "GPE"
	
	ConOut("Inicio: " + Time())
	ConOut(PadC("Rotina Automatica Tabela de Horário Padrão", 80))
	
	aAdd(aTurno, {"PJ_FILIAL", xFilial("SPJ", "D MG 01"), Nil}) // Código da Filial
	aAdd(aTurno, {"PJ_TURNO" , "001", Nil}) 					// Código do Turno
	
	// For para facilitar o preenchimento dos campos

	For nI:=1 To 7
		aAdd( aItens,{})
		
		If nI == 1
			cTipoDia := "D"
			cCodHe := "2"
			cCodHeNot := "6"
		ElseIf nI == 7
			cTipoDia := "C"
			cCodHe := "3"
			cCodHeNot := "7"
		Else
			cTipoDia := "S"
			cCodHe := "1"
			cCodHeNot := "5"
		EndIf
		
		// Abaixo tem alguns campos, os demais campos da tabela podem ser adicionados conforme necessidade
		aAdd(aItens[nI], {"PJ_DIA"    , nI, Nil }) // Dia da Semana 1 = Domingo, 2 = Segunda...
		aAdd(aItens[nI], {"PJ_TPDIA"  , cTipoDia, Nil }) // Tipo Dia
		aAdd(aItens[nI], {"PJ_HORMENO", 05.00, Nil }) // Limite Inferior
		aAdd(aItens[nI], {"PJ_ENTRA1" , 09.00, Nil }) // 1a Entrada
		aAdd(aItens[nI], {"PJ_SAIDA1" , 12.00, Nil }) // 1a Saida
		aAdd(aItens[nI], {"PJ_ENTRA2" , 13.00, Nil }) // 2a Entrada
		aAdd(aItens[nI], {"PJ_SAIDA2" , 18.00, Nil }) // 2a Saida
		aAdd(aItens[nI], {"PJ_HORMAIS", 05.00, Nil }) // Limite Superior
		aAdd(aItens[nI], {"PJ_CODREF" , "", Nil }) // Codigo Refeicao
		aAdd(aItens[nI], {"PJ_TPEXT"  , cCodHe, Nil }) // Tipo Hora Extra Normal
		aAdd(aItens[nI], {"PJ_TPEXTN" , cCodHeNot, Nil }) // Tipo Hora Extra Noturna
		aAdd(aItens[nI], {"PJ_NONAHOR", "N", Nil }) // Nona Hora
		aAdd(aItens[nI], {"PJ_INTERV1", "S", Nil }) // 1a Saída Intervalo
	Next
	
	// Identifica que será uma inclusão
	nOpcAuto := 3
	
	//Chamada do ExecAuto
	MSExecAuto( {|x, y, z| PONA080(x, y, z)}, aTurno, aItens, nOpcAuto )
	
	If !lMsErroAuto
		ConOut(PadC("Cadastro realizado!", 80))
	Else
		ConOut(PadC("Erro no cadastro!", 80))
	EndIf
	
	ConOut("Fim : " + Time())
	
	RESET ENVIRONMENT
	
Return NIL


Para realizar uma edição é necessário posicionar no registro que será alterado, para isso utilizamos o LINPOS 

Bloco de código
languagejava
firstline1
titleExemplo de Alteração
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function fExecauto()
	
	Local aTurno := {}
	Local aItens := {}
	Local nOpcAuto := 0
	Local nI := 0
	Local cTipoDia
	Local cCodHe
	Local cCodHeNot
	
	Private lMsErroAuto := .F.
	
	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "GPE"
	
	ConOut("Inicio: " + Time())
	ConOut(PadC("Rotina Automatica Tabela de Horário Padrão", 80))
	
	aAdd(aTurno, {"PJ_FILIAL", xFilial("SPJ", "D MG 01"), Nil}) // Código da Filial
	aAdd(aTurno, {"PJ_TURNO" , "001", Nil}) 					// Código do Turno
	
	// For para facilitar o preenchimento dos campos

	For nI:=1 To 7
		aAdd( aItens,{})
		
		If nI == 1
			cTipoDia := "D"
			cCodHe := "2"
			cCodHeNot := "6"
		ElseIf nI == 7
			cTipoDia := "C"
			cCodHe := "3"
			cCodHeNot := "7"
		Else
			cTipoDia := "S"
			cCodHe := "1"
			cCodHeNot := "5"
		EndIf
		
		// Abaixo tem alguns campos, os demais campos da tabela podem ser adicionados conforme necessidade
		aAdd(aItens[nI], {"PJ_DIA"    , nI, Nil }) // Dia da Semana 1 = Domingo, 2 = Segunda...
		aAdd(aItens[nI], {"PJ_TPDIA"  , cTipoDia, Nil }) // Tipo Dia
		aAdd(aItens[nI], {"PJ_HORMENO", 05.00, Nil }) // Limite Inferior
		aAdd(aItens[nI], {"PJ_ENTRA1" , 09.00, Nil }) // 1a Entrada
		aAdd(aItens[nI], {"PJ_SAIDA1" , 12.00, Nil }) // 1a Saida
		aAdd(aItens[nI], {"PJ_ENTRA2" , 13.00, Nil }) // 2a Entrada
		aAdd(aItens[nI], {"PJ_SAIDA2" , 18.00, Nil }) // 2a Saida
		aAdd(aItens[nI], {"PJ_HORMAIS", 05.00, Nil }) // Limite Superior
		aAdd(aItens[nI], {"PJ_CODREF" , "", Nil }) // Codigo Refeicao
		aAdd(aItens[nI], {"PJ_TPEXT"  , cCodHe, Nil }) // Tipo Hora Extra Normal
		aAdd(aItens[nI], {"PJ_TPEXTN" , cCodHeNot, Nil }) // Tipo Hora Extra Noturna
		aAdd(aItens[nI], {"PJ_NONAHOR", "N", Nil }) // Nona Hora
		aAdd(aItens[nI], {"PJ_INTERV1", "S", Nil }) // 1a Saída Intervalo
	Next
	
	// Identifica que será uma inclusão
	nOpcAuto := 3
	
	//Chamada do ExecAuto
	MSExecAuto( {|x, y, z| PONA080(x, y, z)}, aTurno, aItens, nOpcAuto )
	
	If !lMsErroAuto
		ConOut(PadC("Cadastro realizado!", 80))
	Else
		ConOut(PadC("Erro no cadastro!", 80))
	EndIf
	
	ConOut("Fim : " + Time())
	
	RESET ENVIRONMENT
	
Return NIL


Utilizando a operação 5 - Exclusão é possível excluir todos os registros de uma mesma sequência, não sendo necessário enviar o aItens

Bloco de código
languagejava
firstline1
titleExemplo de Exclusão
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function fExecauto()
	
	Local aTurno := {}
	Local aItens := {}
	Local nOpcAuto := 0
	Local nI := 0
	Local cTipoDia
	Local cCodHe
	Local cCodHeNot
	
	Private lMsErroAuto := .F.
	
	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "GPE"
	
	ConOut("Inicio: " + Time())
	ConOut(PadC("Rotina Automatica Tabela de Horário Padrão", 80))
	
	aAdd(aTurno, {"PJ_FILIAL", xFilial("SPJ", "D MG 01"), Nil}) // Código da Filial
	aAdd(aTurno, {"PJ_TURNO" , "001", Nil}) 					// Código do Turno
	aAdd(aTurno, {"PJ_SEMANA", "01", Nil}) 						// Sequência
		
	// Identifica que será uma Exclusão
	nOpcAuto := 5
	
	//Chamada do ExecAuto
	MSExecAuto( {|x, y, z| PONA080(x, y, z)}, aTurno, aItens, nOpcAuto )
	
	If !lMsErroAuto
		ConOut(PadC("Cadastro realizado!", 80))
	Else
		ConOut(PadC("Erro no cadastro!", 80))
	EndIf
	
	ConOut("Fim : " + Time())
	
	RESET ENVIRONMENT
	
Return NIL

HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>