Histórico da Página
01. VISÃO GERAL
Linha de Produto: | Microsiga Protheus® |
Segmento: | Serviços |
Módulo: | SIGAGPE |
Função: | GPEA550 - Lançamentos Fixos |
Abrangências: | Microsiga Protheus 12 |
Versões: | Microsiga Protheus 12 |
Sistemas Operacionais: | Todos |
Compatível com as Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Todos |
02. DESCRIÇÃO
Função utilizada para manutenção de lançamentos fixos por funcionários via rotina automática (ExecAuto). Mais informações sobre a rotina em Lançamentos Fixos V12 - (GPEA550 - SIGAGPE - V12).
03. INFORMAÇÕES TÉCNICAS
nOpcAuto | Operação 4 - Inclusão/Alteração |
aCabAuto | Array com informações do funcionário a ser feita a manutenção dos lançamentos fixos aCabAuto[1] Filial |
aItemAuto | Array com os campos da tabela RG1 - Lançamentos Fixos a serem informados O array deve seguir o padrão exigido pela MsGetDAuto |
04. EXEMPLOS
Ao efetuar as manutenções, é necessário posicionar no funcionário a ser feito o lançamento conforme exemplos abaixo:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function fExecInc() 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 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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function fExecAlt() Local cFilialog := "D MG 01 " Local cMatric := "000002" Local aCabAuto := {} Local aItemAuto := {} Local aLinha := {} Local lAutom := .T. //execucao sem interface Local nOpcAuto := 4 Private lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cFilialog MODULO "GPE" 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 aadd(aLinha, { "LINPOS", "RG1_ORDEM", "002" }) // Identificando a linha da grid pela Ordem do lançamento //aadd(aLinha, { "AUTDELETA", "S", Nil }) // Uso em caso de exclusão de linha específica //Informações a serem alteradas aAdd(aLinha, { "RG1_VALOR", 500.00, Nil }) aadd(aItemAuto,aLinha) //Chamada do ExecAuto MsExecAuto({|a, b, c, d| GPEA550(a,b,c,d)}, nOpcAuto, lAutom, aCabAuto, aItemAuto) If !lMsErroAuto ConOut("Manutencao concluida!") Else MostraErro() EndIf EndIf ConOut("Fim : " + Time()) RESET ENVIRONMENT Return NIL |
*Para exclusão de um registro específico da RG1, utilizar a opção de alteração acima com os recursos LINPOS e AUTDELETA.
Utilizando a operação 5 - Exclusão é possível excluir todos os lançamentos de um mesmo funcionário, sem especificar a linha do grid.
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function fExecExcl() Local cFilialog := "D MG 01 " Local cMatric := "000002" Local aCabAuto := {} Local aItemAuto := {} // Enviar vazio Local lAutom := .T. // Execucao sem interface Local nOpcAuto := 5 // Identifica Exclusão Private lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cFilialog MODULO "GPE" 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 //Chamada do ExecAuto MsExecAuto({|a, b, c, d| GPEA550(a,b,c,d)}, nOpcAuto, lAutom, aCabAuto, aItemAuto) If !lMsErroAuto ConOut("Exclusao realizada!") Else MostraErro() EndIf EndIf ConOut("Fim : " + Time()) RESET ENVIRONMENT Return NIL |
Templatedocumentos |
---|