Ponto de Entrada
Descrição: | Este Ponto de Entrada está localizado na rotina Req Servicos/apont (OFIOM030), executado após gravação da alteração de um registro, tem como finalidade possibilitar customizações. |
Localização: | Atualizações \ Mov Oficina \ Req Servicos/apont (OFIOM030) |
Eventos: | // Altera Servico For i:=1 to Len(aServicos) DbSelectArea("VO4") DbSetOrder(8) If aServicos[i,2] # M->VO4_TIPTEM If !aServicos[i,1] Loop EndIf EndIf DbSeek(xFilial("VO4") + aServicos[i,10] ) Do While !Eof() .And. VO4->VO4_NOSNUM == aServicos[i,10] .And. VO4->VO4_FILIAL == xFilial("VO4") If VO4->VO4_TIPTEM == aServicos[i,2] .And. VO4->VO4_CODSER == aServicos[i,5] OFM0300011_PosicionaVO6( VO4->VO4_CODSER ) DbSelectArea("VO4") If !RecLock("VO4",.F.) Help(" ",1,"REGNLOCK") lRet := .f. DisarmTransaction() Break EndIf VO4->VO4_FILIAL := xFilial("VO4") VO4->VO4_TIPTEM := M->VO4_TIPTEM VO4->VO4_FATPAR := M->VO4_FATPAR VO4->VO4_LOJA := M->VO4_LOJA VO4->VO4_DEPINT := M->VO4_DEPINT VO4->VO4_DEPGAR := M->VO4_DEPGAR If !Empty(M->VO4_TIPSER) .And. VO4->VO4_TIPSER == aServicos[i,13] .And. aServicos[i,1] VO4->VO4_TIPSER := M->VO4_TIPSER EndIf If VO4->VO4_VHRDIG # "1" VO4->VO4_VALHOR := FG_ValHor(VO4->VO4_TIPTEM,OM030TPVLSRV(VO4->VO4_TIPTEM,VO4->VO4_NOSNUM),VO4->VO4_VHRDIG,VO4->VO4_VALHOR,,,VO4->VO4_TIPSER,VO4->VO4_FATPAR,VO4->VO4_LOJA) EndIf VO4->VO4_VALSER := VO6->VO6_VALSER // GRAVAR o Valor do Serviço MsUnLock() DbSelectArea("VFB") DbSetOrder(3) DbSeek(xFilial("VFB")+VO1->VO1_PROVEI+VO1->VO1_LOJPRO+VO1->VO1_CHAINT+VO1->VO1_NUMOSV+"S") While !Eof() .And. VFB->VFB_FILIAL+VFB->VFB_CODCLI+VFB->VFB_LOJA+VFB->VFB_CHAINT+VFB->VFB_NUMOSV+VFB->VFB_SERPEC == xFilial("VFB")+VO1->VO1_PROVEI+VO1->VO1_LOJPRO+VO1->VO1_CHAINT+VO1->VO1_NUMOSV+"S" If VFB->VFB_CODSER == aServicos[i,5] If !RecLock("VFB",.F.) Help(" ",1,"REGNLOCK") lRet := .f. DisarmTransaction() Break EndIf VFB->VFB_CODCLI := VO1->VO1_PROVEI VFB->VFB_LOJA := VO1->VO1_LOJPRO VFB->VFB_TIPTEM := M->VO4_TIPTEM MsUnlock() EndIf DbSelectArea("VFB") DbSkip() EndDo EndIf DbSelectArea("VO4") DbSkip() EndDo If aServicos[i,1] .and. VO2->(FieldPos("VO2_DATALT")) > 0 DbSelectArea("VO2") RecLock("VO2",.f.) VO2->VO2_DATALT := DDATABASE MsUnLock() EndIf // Alteração de Tipo de Tempo // Obs: FieldPos("VOU_SERINT") pois o campo é novo, antes o código não realizava essa alteração! If aServicos[i,1] .And. VOU->(FieldPos("VOU_SERINT")) > 0 // Verificar se o Serviço está Relacionado e então // alterar o Tipo de Tempo (o campo "VOU_TIPTEM" deve ser alterado) // VO1 DbSelectArea("VO1") DbSetOrder(1) // VO1_FILIAL + VO1_NUMOSV If DbSeek(xFilial("VO1") + VO1->VO1_NUMOSV) // VOU DbSelectArea("VOU") DbSetOrder(2) // VOU_FILIAL + VOU_CHASSI If DbSeek(xFilial("VOU") + VO1->VO1_CHASSI) While !VOU->(Eof()) .And. xFilial("VOU") == VOU->VOU_FILIAL .And. VO1->VO1_CHASSI == VOU->VOU_CHASSI .And. VO1->VO1_NUMOSV == VOU->VOU_NUMOSV If aServicos[i,5] == VOU->VOU_CODSER .And. aServicos[i,2] == VOU->VOU_TIPTEM RecLock("VOU", .F.) VOU->VOU_TIPTEM := M->VO4_TIPTEM MsUnlock() EndIf VOU->(dbSkip()) EndDo EndIf EndIf EndIf // Array If aServicos[i,1] .and. !Empty(M->VO4_TIPSER) aServicos[i,13] := M->VO4_TIPSER EndIf aServicos[i,1] := .F. aServicos[i,2] := M->VO4_TIPTEM aServicos[i,3] := M->VO4_FATPAR aServicos[i,4] := M->VO4_LOJA aServicos[i,7] := M->VO4_DEPINT aServicos[i,8] := M->VO4_DEPGAR Next If !(lLimCre) Help(" ",1,"CATALOGO") EndIf If !lOM030Auto oLbItens:SetFocus() EndIf // Ponto de Entrada para verificações customizadas após Gravação da Alteração realizada com sucesso If ExistBlock("OM030ADG") ExecBlock("OM030ADG",.f.,.f.) Endif End Transaction lMsHelpAuto := .f. |
Programa Fonte: | OFIOM030.PRW |
Função: | FS_ALTSRV() |
Parâmetros: | N/A |
Retorno: | N/A |
Exemplo:
Include totvs.ch
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ OM030ADG º Autor ³ MIL º Data ³ 21/08/2020 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ PE executado na rotina Rotina Req Servicos/apont (OFIOM030)º±±
±±º ³ para verificações customizadas após gravação da alteração º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function OM030ADG()
MsgAlert("Ponto de Entrada OM030ADG executado com sucesso!", "Atenção")
Return .t.