Á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 fIncAutofExecInc()
	Local cFilialog	:= "D MG 01 "
	Local cMatric	:= "000002"
	Local aCabAuto	:= {}
 	Local aItemAuto := {}
	Local aLinha	:= {}
	Local lAutom	:= .T. //execucao sem interface
	Local nOpc		:= 4

	Private lMsErroAuto := .F.

	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cFilialog
		ConOut("Inicio: " + Time())

		dbSelectArea("SRA")
		dbSetOrder(1)
		If SRA->(MsSeek(xFilial() + cMatric))
			aadd(aCabAuto, { "RG1_FILIAL",	cFilialog,	Nil })		// Código da Filial
			aadd(aCabAuto, { "RG1_MAT",		cMatric,	Nil })		// Matrícula do funcionário

			//Campos RG1 a serem informados
			aadd(aLinha, { "RG1_ORDEM",		"001",				Nil	})	// Ordem do lançamento do funcionário
			aadd(aLinha, { "RG1_TPCALC",	"1",				Nil	})
			aadd(aLinha, { "RG1_PD",		"001",				Nil	})
			aadd(aLinha, { "RG1_VALOR",		1000.00,			Nil	})
			aadd(aLinha, { "RG1_DINIPG",	Ctod("02/02/2024"),	Nil	})
			aadd(aLinha, { "RG1_ROT",		"FOL",				Nil	})
			aadd(aItemAuto,aLinha)

			//Chama a rotina
			MsExecAuto({|a, b, c, d| GPEA550(a,b,c,d)}, nOpc, lAutom, aCabAuto, aItemAuto)

			//Faz a validacao
			If !lMsErroAuto
				ConOut("Inclusao efetuada!")
			Else
				MostraErro()
			EndIf
		EndIf
		ConOut("Fim : " + Time())

	RESET ENVIRONMENT

Return

    If !lMsErroAuto
		ConOut(PadC("Cadastro realizado!", 80))
	Else
		ConOut(PadC("Erro no cadastro!", 80))
	EndIf
	
	ConOut("Fim : " + Time())
	
	RESET ENVIRONMENT
	
Return NIL

 Nil


Para realizar uma edição em um registro específico da RG1, é necessário identificar o item pelo recurso LINPOS da MsGetDAuto

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

User Function fExecAlt()
 	Local cFilialog	:= "D MG 01 "
	Local aTurno cMatric	:= "000002" 
    Local aCabAuto	:= {}
	    Local aItensaItemAuto := {}
	Local aAuxaLinha	 := {}
	    Local nOpcAuto 	:= 04
	
	    Private lMsErroAuto := .F.
	
	    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" cFilialog MODULO "GPE"
	
	    ConOut("Inicio: " + Time())

	ConOutdbSelectArea(PadC("Rotina Automatica Tabela de Horário Padrão", 80))
	
	aAdd(aTurno, {"PJ_FILIAL", "D MG 01 ", Nil}) 	// Código da Filial
	aAdd(aTurno, {"PJ_TURNO" , 		"001", Nil}) 	"SRA")
    dbSetOrder(1)
    If SRA->(MsSeek(xFilial() + cMatric))
		aAdd(aCabAuto, { "RG1_FILIAL",	cFilialog,	Nil })    // Código doda TurnoFilial
		aAdd(aTurnoaCabAuto, { "PJRG1_SEMANAMAT", 		 "01", Nil}) 	// Sequência
	
	// Utilizar o campo Dia para posicionar dentro da linha desejada de cada sequência
	// Deve informar o dia por extenso e sem acentos (Domingo, Segunda, Terca... Sabado)
	aAdd(aAux, {cMatric,	Nil })    // Matrícula do funcionário

		aadd(aLinha, { "LINPOS", "PJRG1_DIAORDEM", "Segunda002" }) 	// PosicionaIdentificando naa linha
	
	// Adiciona os campos que serão alterados
	aAdd(aAux, {"PJ_ENTRA1" , 09.00, Nil }) // 1a Entrada
	aAdd(aAux, {"PJ_SAIDA1" , 12 da grid pela Ordem do lançamento
		// Informação a ser alterada
		aAdd(aLinha, { "RG1_VALOR", 500.00, Nil }) // 1a Saida
	aAdd(aAux, {"PJ_ENTRA2" , 13.00, Nil }) // 2a Entrada
	aAdd(aAux//aadd(aLinha, { "PJ_SAIDA2AUTDELETA" , 18.00"S", Nil }) 	//Caso 2a Saida
	
	Aaddaadd(aItensaItemAuto, aAuxaLinha)
	
	// Indica que será uma alteração
	nOpcAuto := 4
	
	//Chamada do ExecAuto
		MSExecAutoMsExecAuto( {|xa, b, yc, zd| PONA080GPEA550(x, y, za,b,c,d)}, aTurnonOpcAuto, aItens.T., nOpcAutoaCabAuto, aItemAuto)

	
	If !lMsErroAuto
			ConOut(PadC("CadastroManutencao realizadoconcluida!", 80))
		Else
		ConOut(PadC("Erro no cadastro!", 80)	MostraErro()
		EndIf
	EndIf
	
    ConOut("Fim : " + Time())
	
	    RESET ENVIRONMENT
	
   Return NIL


Utilizando a operação 5 - Exclusão é possível excluir todos os registros de um mesmo funcionário, sem especificar a linha do grid.
Para exclusão de um registro específico, utilizar a opção de alteração acima com os recursos LINPOS e AUTDELETA.

...